From 090a0bc77e1cd09237e533cf027015a7e1db4741 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Tue, 9 Jun 2026 14:32:50 -0700 Subject: [PATCH 01/36] update name from idaes to fi or flowsheet inspector --- extension/src/e2e/run_VSCode_in_electron.spec.ts | 8 ++++---- extension/src/test/extension.test.ts | 4 ++-- extension/src/web_view/web_view_panel.ts | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/extension/src/e2e/run_VSCode_in_electron.spec.ts b/extension/src/e2e/run_VSCode_in_electron.spec.ts index 089e59f..11fee92 100644 --- a/extension/src/e2e/run_VSCode_in_electron.spec.ts +++ b/extension/src/e2e/run_VSCode_in_electron.spec.ts @@ -72,11 +72,11 @@ test('extension loads in VS Code', async () => { ); await page.screenshot({ path: 'test-results/vscodeStart.png' }); - // click the IDAES Control icon in the activity bar (always directly visible - // because --extensions-dir isolates us from other extensions) - await page.locator('[aria-label="IDAES Control"]').first().click({ timeout: 15000 }); + // click the Flowsheet Inspector icon in the activity bar (always directly + // visible because --extensions-dir isolates us from other extensions) + await page.locator('[aria-label="Flowsheet Inspector"]').first().click({ timeout: 15000 }); - // verify the IDAES view container opened: its sidebar title shows the + // verify the view container opened: its sidebar title shows the // contributed view name "Run Control". await expect(page.locator('.part.sidebar .composite.title')) .toContainText('Run Control', { timeout: 15000 }); diff --git a/extension/src/test/extension.test.ts b/extension/src/test/extension.test.ts index 5af0632..63ded25 100644 --- a/extension/src/test/extension.test.ts +++ b/extension/src/test/extension.test.ts @@ -15,9 +15,9 @@ suite('Extension', () => { assert.strictEqual(ext!.isActive, true); }); - test('registers idaes commands', async () => { + test('registers flowsheet-inspector commands', async () => { const commands = await vscode.commands.getCommands(true); - assert.ok(commands.some(cmd => cmd.startsWith('idaes.'))); + assert.ok(commands.some(cmd => cmd.startsWith('flowsheet-inspector.'))); }); }); diff --git a/extension/src/web_view/web_view_panel.ts b/extension/src/web_view/web_view_panel.ts index e81aa64..12c55d5 100644 --- a/extension/src/web_view/web_view_panel.ts +++ b/extension/src/web_view/web_view_panel.ts @@ -31,7 +31,7 @@ export default async function openWebView(context: vscode.ExtensionContext, outp fileName = activatedFileName; } else { vscode.window.showErrorMessage('No active editor found and no activated flowsheet found either!'); - console.error('Idaes web view raise an error: fail to find or open the web view.'); + console.error('Flowsheet Inspector web view raise an error: fail to find or open the web view.'); return; } } else { @@ -40,8 +40,8 @@ export default async function openWebView(context: vscode.ExtensionContext, outp // Create a Webview Panel with split layout (top and bottom sections) const webViewPanel = vscode.window.createWebviewPanel( - 'idaes web view', - `Prommis Flowsheet Inspector - ${fileName.split('/').pop()}`, + 'fi.webView', + `Flowsheet Inspector - ${fileName.split('/').pop()}`, // vscode.ViewColumn.Beside, // Open beside current editor vscode.ViewColumn.Beside, // Open beside current editor // vscode.ViewColumn.Active, From c840409c471c2386a421d900da0a32345f4bf9d0 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Tue, 9 Jun 2026 14:59:08 -0700 Subject: [PATCH 02/36] Run fi-steps via the selected Python interpreter; rename IDAES->fi Use the VS Code Python extension's active interpreter to run fi-steps directly (no shell, no conda activate), fixing Windows conda/PATH pain and supporting any env manager (conda/venv/pyenv). Re-run steps and clear stale warnings when the user switches interpreter. Declare ms-python.python as an extension dependency. Also rename the IDAES-branded view ids/titles to fi / Flowsheet Inspector and ignore the bundled webview assets in eslint. --- extension/eslint.config.mjs | 2 +- extension/package.json | 25 ++-- extension/src/extension.ts | 21 ++- extension/src/tree_view/treeview.ts | 57 ++------ extension/src/util/activate_tab_handler.ts | 71 ++-------- extension/src/util/extension_initial_check.ts | 42 ++++++ extension/src/util/python_env.ts | 129 ++++++++++++++++++ extension/src/util/run_fi_steps.ts | 62 +++++++++ 8 files changed, 289 insertions(+), 120 deletions(-) create mode 100644 extension/src/util/python_env.ts create mode 100644 extension/src/util/run_fi_steps.ts diff --git a/extension/eslint.config.mjs b/extension/eslint.config.mjs index 70cba4c..078fb40 100644 --- a/extension/eslint.config.mjs +++ b/extension/eslint.config.mjs @@ -1,7 +1,7 @@ import typescriptEslint from "typescript-eslint"; export default [{ - ignores: ["out/**", "node_modules/**"], + ignores: ["out/**", "node_modules/**", "src/webview_template/**"], }, { files: ["src/**/*.ts"], }, { diff --git a/extension/package.json b/extension/package.json index a3584d2..fd834fa 100644 --- a/extension/package.json +++ b/extension/package.json @@ -16,25 +16,32 @@ "url": "https://github.com/prommis/flowsheet-inspector" }, "activationEvents": [ - "onView:idaes.treeView", - "onView:idaes.webView" + "onView:fi.treeView", + "onView:fi.webView" + ], + "extensionDependencies": [ + "ms-python.python" ], "main": "./out/extension.js", "contributes": { "commands": [ { "command": "flowsheet-inspector.start", - "title": "IDAES Start" + "title": "Flowsheet Inspector: Start" }, { "command": "flowsheet-inspector.openWebView", - "title": "Open IDAES Flowsheet Inspector", + "title": "Open Flowsheet Inspector", "icon": "$(open-preview)" }, { "command": "flowsheet-inspector.reloadWebview", - "title": "IDAES: Reload Webview (Dev)", + "title": "Flowsheet Inspector: Reload Webview (Dev)", "icon": "$(refresh)" + }, + { + "command": "flowsheet-inspector.logPythonEnv", + "title": "Flowsheet Inspector: Log Active Python Env (Dev)" } ], "keybindings": [ @@ -59,16 +66,16 @@ "viewsContainers": { "activitybar": [ { - "id": "idaes-activity-bar", - "title": "IDAES Control", + "id": "fi-activity-bar", + "title": "Flowsheet Inspector", "icon": "resources/prommis_icon.svg" } ] }, "views": { - "idaes-activity-bar": [ + "fi-activity-bar": [ { - "id": "idaes.treeView", + "id": "fi.treeView", "name": "Run Control", "icon": "resources/prommis_icon.svg", "type": "webview" diff --git a/extension/src/extension.ts b/extension/src/extension.ts index f883304..70a7d3d 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -8,6 +8,7 @@ import openWebView from './web_view/web_view_panel'; import treeview from './tree_view/treeview'; import activateTabListener from './util/activate_tab_handler'; import { startHistoryPolling } from './util/flowsheet_history_polling'; +import { getActivePythonEnv } from './util/python_env'; // This method is called when your extension is activated // Your extension is activated the very first time the command is executed @@ -76,9 +77,9 @@ export function activate(context: vscode.ExtensionContext) { vscode.window.showInformationMessage('Flowsheet-inspector is started!'); }); - // Register the IDAES Tree View in the sidebar + // Register the Flowsheet Inspector Tree View in the sidebar const treeView = vscode.window.registerWebviewViewProvider( - 'idaes.treeView', + 'fi.treeView', treeview(context), { webviewOptions: { retainContextWhenHidden: true } @@ -110,8 +111,22 @@ export function activate(context: vscode.ExtensionContext) { vscode.window.showInformationMessage('🔄 Webview reloaded!'); }); + /** + * PoC / debug: log the Python environment VS Code currently has selected. + * Verifies we can resolve the user's interpreter without conda activate. + */ + const logPythonEnvCommand = vscode.commands.registerCommand('flowsheet-inspector.logPythonEnv', async () => { + const env = await getActivePythonEnv(); + if (!env) { + vscode.window.showWarningMessage('No active Python environment (is the Python extension installed and an interpreter selected?)'); + return; + } + console.log('[python_env] resolved active env:', JSON.stringify(env, null, 2)); + vscode.window.showInformationMessage(`Python env: ${env.type ?? 'unknown'} — ${env.interpreterPath}`); + }); + - context.subscriptions.push(initialExtensionCommand, registerWebView, treeView, reloadWebviewCommand); + context.subscriptions.push(initialExtensionCommand, registerWebView, treeView, reloadWebviewCommand, logPythonEnvCommand); } // This method is called when your extension is deactivated diff --git a/extension/src/tree_view/treeview.ts b/extension/src/tree_view/treeview.ts index 76d2064..3fa7403 100644 --- a/extension/src/tree_view/treeview.ts +++ b/extension/src/tree_view/treeview.ts @@ -1,15 +1,14 @@ import * as vscode from 'vscode'; import * as path from 'path'; -import * as cp from 'child_process'; import { isWrappedFlowsheet } from '../util/validate_flowsheet'; import { getReactTemplate } from '../util/get_webview_template'; -import { IExtensionConfig } from '../interface'; import { registerWebview } from '../util/webview_handler'; import { trimFileName } from '../util/trim_file_name'; import { readExtensionConfig, updateExtensionConfig } from '../util/extensionHandler'; import webviewReceiveMessageHandler from "../util/webview_receive_message_handler"; -import { checkExtensionConfigEnv } from '../util/extension_initial_check'; -import { buildCommandChain, getPlatform, getSpawnArgs, getSpawnOptions } from '../util/platform_config'; +import { checkActivePythonEnv } from '../util/extension_initial_check'; +import { runFiSteps } from '../util/run_fi_steps'; +import { getPlatform } from '../util/platform_config'; export default function treeview(context: vscode.ExtensionContext) { return { @@ -99,8 +98,8 @@ export default function treeview(context: vscode.ExtensionContext) { time: new Date().toISOString(), }); - // 4. Run environment pre-checks - const envCheck = await checkExtensionConfigEnv(extensionConfigData); + // 4. Run environment pre-checks against the selected interpreter + const envCheck = await checkActivePythonEnv(fileName ? vscode.Uri.file(fileName) : undefined); if (!envCheck.success) { webviewView.webview.postMessage({ type: 'switch_tab', @@ -113,49 +112,10 @@ export default function treeview(context: vscode.ExtensionContext) { return; } - // 5. Run fi-steps to get flowsheet step info - const sorceCommand = extensionConfigData.sorce_treminal; - const activateCommand = extensionConfigData.activate_command; - const shellType = extensionConfigData.shell; - - const commandFiSteps = buildCommandChain([sorceCommand, activateCommand, `fi-steps --fs "${fileName}" -t json`]); - + // 5. Run fi-steps with the selected interpreter to get step info let resolvedStepsData: any = null; try { - resolvedStepsData = await new Promise((resolve, reject) => { - const { shell: resolvedShell, args: shellArgs } = getSpawnArgs(shellType, commandFiSteps); - console.log(`[fi-steps] Spawning: ${resolvedShell} ${JSON.stringify(shellArgs)}`); - const child = cp.spawn(resolvedShell, shellArgs, { - stdio: 'pipe' as const, - windowsHide: true, - }); - let stdout = ''; - let stderr = ''; - child.stdout.on('data', (d) => { stdout += d.toString(); }); - child.stderr.on('data', (d) => { stderr += d.toString(); }); - child.on('close', (code) => { - if (code !== 0) { - const errDetail = stderr.trim() || stdout.trim() || '(no output)'; - reject(new Error(`fi-steps failed (exit ${code}): ${errDetail}`)); - return; - } - try { - // fi-steps outputs a JSON array to stdout, but shell banners - // from .zshrc/.bashrc may precede it. Extract the JSON line. - const lines = stdout.trim().split('\n'); - const jsonLine = lines.reverse().find(l => l.trim().startsWith('[')); - if (!jsonLine) { - reject(new Error(`No JSON array found in fi-steps output.\nSTDOUT: ${stdout.trim().slice(0, 500)}\nSTDERR: ${stderr.trim().slice(0, 500)}`)); - return; - } - const steps = JSON.parse(jsonLine.trim()); - resolve({ classname: 'FlowsheetRunner', steps }); - } catch (e) { - reject(new Error(`Failed to parse fi-steps output: ${e}`)); - } - }); - child.on('error', reject); - }); + resolvedStepsData = await runFiSteps(fileName); console.log(resolvedStepsData); } catch (err: any) { console.error(`Error running fi-steps during tree view load: ${err.message}`); @@ -163,7 +123,7 @@ export default function treeview(context: vscode.ExtensionContext) { type: 'switch_tab', activate_tab_name: trimFileName(fileName), idaesRunInfo: null, - initError: `Failed to load flowsheet info: ${err.message}. Please check your configuration.`, + initError: `Failed to load flowsheet info: ${err.message}`, isLoading: false, time: new Date().toISOString(), }); @@ -175,6 +135,7 @@ export default function treeview(context: vscode.ExtensionContext) { type: 'switch_tab', activate_tab_name: trimFileName(fileName), idaesRunInfo: resolvedStepsData || null, + initError: null, isLoading: false, time: new Date().toISOString(), }); diff --git a/extension/src/util/activate_tab_handler.ts b/extension/src/util/activate_tab_handler.ts index 9616a1b..09877b6 100644 --- a/extension/src/util/activate_tab_handler.ts +++ b/extension/src/util/activate_tab_handler.ts @@ -1,11 +1,10 @@ import * as vscode from 'vscode'; -import * as cp from 'child_process'; import { brodcastMessage, activateWebviews } from './webview_handler'; import { isWrappedFlowsheet } from './validate_flowsheet'; import { trimFileName } from './trim_file_name'; -import { readExtensionConfig } from './extensionHandler'; -import { checkExtensionConfigEnv } from './extension_initial_check'; -import { buildCommandChain, getSpawnArgs, getSpawnOptions } from './platform_config'; +import { checkActivePythonEnv } from './extension_initial_check'; +import { runFiSteps } from './run_fi_steps'; +import { onDidChangeActivePythonEnv } from './python_env'; function getOpenPythonFiles() { const pyFiles: { name: string, path: string }[] = []; @@ -75,22 +74,6 @@ export default function activateTabListener(context: vscode.ExtensionContext) { return; } - const extensionConfigData = readExtensionConfig(context); - if (!extensionConfigData) { - vscode.window.showErrorMessage("Config not found when switching tabs. Please set the config first."); - brodcastMessage( - { - type: 'switch_tab', - message: `switch tab from ${previousActivatedFileName} to ${currentActivateTabFileName}`, - activate_tab_name: activateFileName, - idaesRunInfo: null, - open_python_files: getOpenPythonFiles(), - time: new Date().toISOString(), - } - ); - return; - } - brodcastMessage( { @@ -103,7 +86,7 @@ export default function activateTabListener(context: vscode.ExtensionContext) { } ); - const envCheck = await checkExtensionConfigEnv(extensionConfigData); + const envCheck = await checkActivePythonEnv(vscode.Uri.file(currentActivateTabFileName)); if (!envCheck.success) { brodcastMessage({ type: 'switch_tab', @@ -117,46 +100,9 @@ export default function activateTabListener(context: vscode.ExtensionContext) { return; } - const sorceCommand = extensionConfigData.sorce_treminal; - const activateCommand = extensionConfigData.activate_command; - const shellType = extensionConfigData.shell; - - const commandFiSteps = buildCommandChain([sorceCommand, activateCommand, `fi-steps --fs "${currentActivateTabFileName}" -t json`]); - let stepsData: any; try { - stepsData = await new Promise((resolve, reject) => { - const { shell: resolvedShell, args: shellArgs } = getSpawnArgs(shellType, commandFiSteps); - console.log(`[fi-steps] Spawning: ${resolvedShell} ${JSON.stringify(shellArgs)}`); - const child = cp.spawn(resolvedShell, shellArgs, { - stdio: 'pipe' as const, - windowsHide: true, - }); - let stdout = ''; - let stderr = ''; - child.stdout.on('data', (d) => { stdout += d.toString(); }); - child.stderr.on('data', (d) => { stderr += d.toString(); }); - child.on('close', (code) => { - if (code !== 0) { - const errDetail = stderr.trim() || stdout.trim() || '(no output)'; - reject(new Error(`fi-steps failed (exit ${code}): ${errDetail}`)); - return; - } - try { - const lines = stdout.trim().split('\n'); - const jsonLine = lines.reverse().find(l => l.trim().startsWith('[')); - if (!jsonLine) { - reject(new Error(`No JSON array found in fi-steps output.\nSTDOUT: ${stdout.trim().slice(0, 500)}\nSTDERR: ${stderr.trim().slice(0, 500)}`)); - return; - } - const steps = JSON.parse(jsonLine.trim()); - resolve({ classname: 'FlowsheetRunner', steps }); - } catch (e) { - reject(new Error(`Failed to parse fi-steps output: ${e}`)); - } - }); - child.on('error', reject); - }); + stepsData = await runFiSteps(currentActivateTabFileName); } catch (err: any) { console.error(`Error running fi-steps during tab switch: ${err.message}`); stepsData = null; @@ -183,6 +129,7 @@ export default function activateTabListener(context: vscode.ExtensionContext) { message: `switch tab from ${previousActivatedFileName} to ${currentActivateTabFileName}`, activate_tab_name: activateFileName, idaesRunInfo: stepsData, + initError: null, isLoading: false, open_python_files: getOpenPythonFiles(), time: new Date().toISOString(), @@ -199,6 +146,12 @@ export default function activateTabListener(context: vscode.ExtensionContext) { vscode.window.onDidChangeActiveTextEditor(handleActiveEditor, null, context.subscriptions); + // Re-run steps when the user switches Python interpreter, so fixing the env + // (or any interpreter change) immediately refreshes the view — clearing a + // stale "package not installed" warning instead of stranding the user. + onDidChangeActivePythonEnv(() => handleActiveEditor(vscode.window.activeTextEditor)) + .then((disposable) => { if (disposable) { context.subscriptions.push(disposable); } }); + // Fire immediately for the file already open when the extension first activates handleActiveEditor(vscode.window.activeTextEditor); } \ No newline at end of file diff --git a/extension/src/util/extension_initial_check.ts b/extension/src/util/extension_initial_check.ts index 594cbef..72eeaec 100644 --- a/extension/src/util/extension_initial_check.ts +++ b/extension/src/util/extension_initial_check.ts @@ -1,11 +1,53 @@ import * as cp from 'child_process'; import * as fs from 'fs'; +import * as vscode from 'vscode'; import { IExtensionConfig } from '../interface'; import { isWindows, buildCommandChain, getDefaultShellConfig } from './platform_config'; +import { getActivePythonEnv, activatedProcessEnv } from './python_env'; let lastCheckedConfigStr = ""; let lastCheckResult: { success: boolean; errorMsg?: string } | null = null; +/** + * Verifies the Python environment VS Code currently has selected can run the + * flowsheet tools — using the interpreter directly (no shell / conda activate). + * + * 1. an interpreter is selected (Python extension active) + * 2. `import idaes` succeeds + * 3. `import idaes_fi` succeeds + */ +export async function checkActivePythonEnv(resource?: vscode.Uri): Promise<{ success: boolean; errorMsg?: string }> { + const env = await getActivePythonEnv(resource); + if (!env) { + return { + success: false, + errorMsg: 'No Python interpreter selected. Use "Python: Select Interpreter" (bottom-right status bar) to pick the environment with Flowsheet Inspector installed.', + }; + } + + const childEnv = activatedProcessEnv(env); + const runImport = (module: string): Promise => { + return new Promise((resolve, reject) => { + cp.execFile(env.interpreterPath, ['-c', `import ${module}`], { windowsHide: true, env: childEnv }, (error, _stdout, stderr) => { + if (error) { reject(new Error(stderr || error.message)); } else { resolve(); } + }); + }); + }; + + try { + await runImport('idaes'); + } catch { + return { success: false, errorMsg: `IDAES is not installed in the selected environment (${env.name ?? env.interpreterPath}).\nInstall it, or pick a different interpreter.` }; + } + try { + await runImport('idaes_fi'); + } catch { + return { success: false, errorMsg: `'idaes-fi' is missing in the selected environment (${env.name ?? env.interpreterPath}).\nRun 'pip install idaes-fi', or pick a different interpreter.` }; + } + + return { success: true }; +} + /** * Check if a shell executable exists on the system. * - Unix: uses fs.existsSync (absolute path like /bin/zsh) diff --git a/extension/src/util/python_env.ts b/extension/src/util/python_env.ts new file mode 100644 index 0000000..1c0598d --- /dev/null +++ b/extension/src/util/python_env.ts @@ -0,0 +1,129 @@ +/** + * Resolves the Python environment the user has selected in VS Code, via the + * official Python extension (`ms-python.python`) API. + * + * This lets us run fi-steps / fi-run with the user's chosen interpreter + * directly — no `conda activate`, no shell init, no PowerShell ExecutionPolicy + * changes. The Python extension already normalizes conda / venv / pyenv / + * poetry / global into a single interpreter path, so we get support for ALL + * environment managers for free and stay in sync with the user's selection. + */ +import * as vscode from 'vscode'; +import * as path from 'path'; +import { isWindows } from './platform_config'; + +/** Minimal shape of the bits of the Python extension API we use. */ +interface IPythonEnvApi { + environments: { + getActiveEnvironmentPath(resource?: vscode.Uri): { id: string; path: string }; + resolveEnvironment(env: { id: string; path: string } | string): Promise<{ + executable: { uri?: vscode.Uri; sysPrefix?: string }; + environment?: { type?: string; folderUri?: vscode.Uri; name?: string }; + } | undefined>; + onDidChangeActiveEnvironmentPath: vscode.Event<{ id: string; path: string; resource?: vscode.Uri }>; + }; +} + +/** Returns the Python extension API, activating it if needed. */ +async function getPythonApi(): Promise { + const ext = vscode.extensions.getExtension('ms-python.python'); + if (!ext) { + return undefined; + } + if (!ext.isActive) { + await ext.activate(); + } + return ext.exports as IPythonEnvApi; +} + +/** + * Subscribe to "user changed the selected interpreter" events. Returns a + * Disposable (or undefined if the Python extension isn't available). + */ +export async function onDidChangeActivePythonEnv(listener: () => void): Promise { + const api = await getPythonApi(); + if (!api?.environments?.onDidChangeActiveEnvironmentPath) { + return undefined; + } + return api.environments.onDidChangeActiveEnvironmentPath(() => listener()); +} + +export interface IResolvedPythonEnv { + /** Absolute path to the interpreter (python / python.exe). */ + interpreterPath: string; + /** Environment prefix (root dir), if known. */ + prefix?: string; + /** Environment manager type, e.g. "Conda", "VirtualEnvironment", "Pyenv". */ + type?: string; + /** Display name, if any. */ + name?: string; + /** Dir that holds console-script entry points (Scripts on Windows, bin on Unix). */ + binDir: string; + /** + * PATH segments to prepend to a child process env to mimic activation, + * so compiled deps (and their DLLs on Windows) resolve correctly. + */ + pathPrepend: string[]; +} + +/** + * Returns the active Python environment, or undefined if the Python extension + * is not installed or no interpreter is selected. + */ +export async function getActivePythonEnv(resource?: vscode.Uri): Promise { + const api = await getPythonApi(); + if (!api?.environments?.getActiveEnvironmentPath) { + return undefined; + } + + const envPath = api.environments.getActiveEnvironmentPath(resource); + if (!envPath?.path) { + return undefined; + } + + const resolved = await api.environments.resolveEnvironment(envPath); + const interpreterPath = resolved?.executable?.uri?.fsPath ?? envPath.path; + const prefix = resolved?.environment?.folderUri?.fsPath + ?? resolved?.executable?.sysPrefix + // Fall back to deriving the prefix from the interpreter location. + ?? (isWindows() ? path.dirname(interpreterPath) : path.dirname(path.dirname(interpreterPath))); + + const binDir = isWindows() ? path.join(prefix, 'Scripts') : path.join(prefix, 'bin'); + + // Mimic the PATH changes that `conda activate` / venv activation make, so + // the env's binaries and their compiled-dependency DLLs are found. + const pathPrepend = isWindows() + ? [prefix, path.join(prefix, 'Library', 'bin'), path.join(prefix, 'Library', 'mingw-w64', 'bin'), binDir] + : [binDir]; + + return { + interpreterPath, + prefix, + type: resolved?.environment?.type, + name: resolved?.environment?.name, + binDir, + pathPrepend, + }; +} + +/** + * Full path to a console-script entry point installed in the active env + * (e.g. fi-steps / fi-run). Adds `.exe` on Windows. + */ +export function pythonToolPath(env: IResolvedPythonEnv, tool: string): string { + return path.join(env.binDir, isWindows() ? `${tool}.exe` : tool); +} + +/** + * Returns a child-process env that mimics environment activation by prepending + * the env's dirs to PATH — so the tool's compiled dependencies (and their DLLs + * on Windows) resolve. Handles the Windows `Path` vs `PATH` casing correctly. + */ +export function activatedProcessEnv(env: IResolvedPythonEnv): NodeJS.ProcessEnv { + const result: NodeJS.ProcessEnv = { ...process.env }; + const sep = path.delimiter; + const prepend = env.pathPrepend.join(sep); + const pathKey = Object.keys(result).find((k) => k.toLowerCase() === 'path') ?? 'PATH'; + result[pathKey] = prepend + sep + (result[pathKey] ?? ''); + return result; +} diff --git a/extension/src/util/run_fi_steps.ts b/extension/src/util/run_fi_steps.ts new file mode 100644 index 0000000..9c72915 --- /dev/null +++ b/extension/src/util/run_fi_steps.ts @@ -0,0 +1,62 @@ +/** + * Runs `fi-steps` for a flowsheet file using the Python interpreter the user + * has selected in VS Code — no shell, no `conda activate`, no config. + * + * Shared by the tree view (startup) and the tab-switch handler, which + * previously duplicated this spawn logic with a config-built shell command. + */ +import * as vscode from 'vscode'; +import * as cp from 'child_process'; +import { getActivePythonEnv, pythonToolPath, activatedProcessEnv } from './python_env'; + +export interface IFiStepsResult { + classname: string; + steps: unknown; +} + +const NO_INTERPRETER_MSG = + 'No Python interpreter selected. Pick the environment with Flowsheet Inspector ' + + 'installed via the Python: Select Interpreter command (bottom-right status bar).'; + +export async function runFiSteps(fileName: string): Promise { + const env = await getActivePythonEnv(fileName ? vscode.Uri.file(fileName) : undefined); + if (!env) { + throw new Error(NO_INTERPRETER_MSG); + } + + const fiSteps = pythonToolPath(env, 'fi-steps'); + + return new Promise((resolve, reject) => { + const child = cp.spawn(fiSteps, ['--fs', fileName, '-t', 'json'], { + stdio: 'pipe', + windowsHide: true, + env: activatedProcessEnv(env), + }); + + let stdout = ''; + let stderr = ''; + child.stdout.on('data', (d) => { stdout += d.toString(); }); + child.stderr.on('data', (d) => { stderr += d.toString(); }); + child.on('error', reject); + child.on('close', (code) => { + if (code !== 0) { + const errDetail = stderr.trim() || stdout.trim() || '(no output)'; + reject(new Error(`fi-steps failed (exit ${code}): ${errDetail}`)); + return; + } + try { + // fi-steps outputs a JSON array; any leading log lines are skipped + // by scanning from the end for the line that starts with '['. + const lines = stdout.trim().split('\n'); + const jsonLine = lines.reverse().find((l) => l.trim().startsWith('[')); + if (!jsonLine) { + reject(new Error(`No JSON array found in fi-steps output.\nSTDOUT: ${stdout.trim().slice(0, 500)}\nSTDERR: ${stderr.trim().slice(0, 500)}`)); + return; + } + resolve({ classname: 'FlowsheetRunner', steps: JSON.parse(jsonLine.trim()) }); + } catch (e) { + reject(new Error(`Failed to parse fi-steps output: ${e}`)); + } + }); + }); +} From d3fc30216ffcc3eda3e257877071b55c1c8f0335 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Wed, 10 Jun 2026 10:23:32 -0700 Subject: [PATCH 03/36] build --- .../webview_new/assets/index-BTH2qq4g.css | 1 - .../webview_new/assets/index-BiFXKZBy.css | 1 + .../{index-Cz14s3O5.js => index-munTRrqv.js} | 588 +++++++++--------- .../webview_template/webview_new/index.html | 4 +- 4 files changed, 297 insertions(+), 297 deletions(-) delete mode 100644 extension/src/webview_template/webview_new/assets/index-BTH2qq4g.css create mode 100644 extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css rename extension/src/webview_template/webview_new/assets/{index-Cz14s3O5.js => index-munTRrqv.js} (84%) diff --git a/extension/src/webview_template/webview_new/assets/index-BTH2qq4g.css b/extension/src/webview_template/webview_new/assets/index-BTH2qq4g.css deleted file mode 100644 index c14e990..0000000 --- a/extension/src/webview_template/webview_new/assets/index-BTH2qq4g.css +++ /dev/null @@ -1 +0,0 @@ -*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_oadmh_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_oadmh_12,._flowsheet_steps_container_oadmh_18{display:flex;flex-direction:column;gap:10px}._step_selector_container_oadmh_24{display:flex;flex-direction:row;gap:10px}._open_results_view_label_oadmh_30{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_oadmh_37{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_oadmh_37:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_oadmh_37:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_oadmh_65{width:100%}._open_results_view_select_oadmh_69{width:100%;min-width:200px;height:40px;padding:5px 30px 5px 10px;border:1px solid #05d868;border-radius:5px;color:#05d868;background-color:var(--vscode-sideBar-background);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2305d868' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}._view_switch_container_oadmh_84{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_oadmh_84 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_oadmh_84 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_oadmh_84 li._active_oadmh_112{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css b/extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css new file mode 100644 index 0000000..b28b9e6 --- /dev/null +++ b/extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css @@ -0,0 +1 @@ +*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_v3h5x_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_v3h5x_12,._flowsheet_steps_container_v3h5x_18{display:flex;flex-direction:column;gap:10px}._step_selector_container_v3h5x_24{display:flex;flex-direction:row;gap:10px}._python_env_container_v3h5x_30{margin-bottom:20px}._python_env_label_v3h5x_34{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._dropdown_select_v3h5x_41{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_v3h5x_51{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_v3h5x_58{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_v3h5x_58:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_v3h5x_58:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_v3h5x_86{width:100%}._open_results_view_select_v3h5x_90{width:100%;min-width:200px;height:40px;padding:5px 30px 5px 10px;border:1px solid #05d868;border-radius:5px;color:#05d868;background-color:var(--vscode-sideBar-background);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2305d868' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}._view_switch_container_v3h5x_105{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_v3h5x_105 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_v3h5x_105 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_v3h5x_105 li._active_v3h5x_133{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-Cz14s3O5.js b/extension/src/webview_template/webview_new/assets/index-munTRrqv.js similarity index 84% rename from extension/src/webview_template/webview_new/assets/index-Cz14s3O5.js rename to extension/src/webview_template/webview_new/assets/index-munTRrqv.js index f58ffec..70f1421 100644 --- a/extension/src/webview_template/webview_new/assets/index-Cz14s3O5.js +++ b/extension/src/webview_template/webview_new/assets/index-munTRrqv.js @@ -1,18 +1,18 @@ -var Rde=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var nnt=Rde((oo,lo)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var d6={exports:{}},Zy={};var _F;function Nde(){if(_F)return Zy;_F=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Zy.Fragment=e,Zy.jsx=r,Zy.jsxs=r,Zy}var AF;function Mde(){return AF||(AF=1,d6.exports=Nde()),d6.exports}var Le=Mde(),f6={exports:{}},Dr={};var LF;function Ode(){if(LF)return Dr;LF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function S(){}S.prototype=x.prototype;function T(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}var E=T.prototype=new S;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function R(){}var k={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(P,H,X){var Z=X.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:X}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(X){return H[X]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(R,R):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,X,Z,j){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,X,Z,j)}}if(Q)return j=j(P),Q=Z===""?"."+D(P,0):Z,_(j)?(X="",Q!=null&&(X=Q.replace(z,"$&/")+"/"),N(j,H,X,"",function(ae){return ae})):j!=null&&($(j)&&(j=F(j,X+(j.key==null||P&&P.key===j.key?"":(""+j.key).replace(z,"$&/")+"/")+Q)),H.push(j)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(X,M))Zi(j,X)?(N[V]=j,N[Z]=M,V=Z):(N[V]=X,N[H]=M,V=H);else if(Zi(j,M))N[V]=j,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,R||(R=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var R=!1,k=-1,L=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():R=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(S(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,R||(R=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(m6)),m6}var NF;function Bde(){return NF||(NF=1,g6.exports=Ide()),g6.exports}var y6={exports:{}},Ma={};var MF;function Pde(){if(MF)return Ma;MF=1;var t=dD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),y6.exports=Pde(),y6.exports}var IF;function $de(){if(IF)return Qy;IF=1;var t=Bde(),e=dD(),r=Fde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function X(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),j=P(null),ee=P(null),Q=P(null);function he(g,y){switch(X(ee,y),X(j,g),X(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?KP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=KP(y),g=ZP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),X(Z,g)}function te(){H(Z),H(j),H(ee)}function ae(g){g.memoizedState!==null&&X(Q,g);var y=Z.current,w=ZP(y,g.type);y!==w&&(X(j,g),X(Z,w))}function ie(g){j.current===g&&(H(Z),H(j)),Q.current===g&&(H(Q),Yy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1()=>(e||t((e={exports:{}}).exports,e),e.exports);var snt=Rde((lo,co)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var d6={exports:{}},Zy={};var _F;function Nde(){if(_F)return Zy;_F=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Zy.Fragment=e,Zy.jsx=r,Zy.jsxs=r,Zy}var AF;function Mde(){return AF||(AF=1,d6.exports=Nde()),d6.exports}var Le=Mde(),f6={exports:{}},Dr={};var LF;function Ode(){if(LF)return Dr;LF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=x.prototype;function T(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}var E=T.prototype=new C;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function R(){}var k={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(P,H,X){var Z=X.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:X}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(X){return H[X]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(R,R):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,X,Z,j){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,X,Z,j)}}if(Q)return j=j(P),Q=Z===""?"."+D(P,0):Z,_(j)?(X="",Q!=null&&(X=Q.replace(z,"$&/")+"/"),N(j,H,X,"",function(ae){return ae})):j!=null&&($(j)&&(j=F(j,X+(j.key==null||P&&P.key===j.key?"":(""+j.key).replace(z,"$&/")+"/")+Q)),H.push(j)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(X,M))Zi(j,X)?(N[V]=j,N[Z]=M,V=Z):(N[V]=X,N[H]=M,V=H);else if(Zi(j,M))N[V]=j,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,R||(R=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var R=!1,k=-1,L=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():R=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(C(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,R||(R=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(m6)),m6}var NF;function Bde(){return NF||(NF=1,g6.exports=Ide()),g6.exports}var y6={exports:{}},Ma={};var MF;function Pde(){if(MF)return Ma;MF=1;var t=dD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),y6.exports=Pde(),y6.exports}var IF;function $de(){if(IF)return Qy;IF=1;var t=Bde(),e=dD(),r=Fde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function X(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),j=P(null),ee=P(null),Q=P(null);function he(g,y){switch(X(ee,y),X(j,g),X(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?KP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=KP(y),g=ZP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),X(Z,g)}function te(){H(Z),H(j),H(ee)}function ae(g){g.memoizedState!==null&&X(Q,g);var y=Z.current,w=ZP(y,g.type);y!==w&&(X(j,g),X(Z,w))}function ie(g){j.current===g&&(H(Z),H(j)),Q.current===g&&(H(Q),Yy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1)":-1G||Ve[A]!==ut[G]){var Tt=` `+Ve[A].replace(" at new "," at ");return g.displayName&&Tt.includes("")&&(Tt=Tt.replace("",g.displayName)),Tt}while(1<=A&&0<=G);break}}}finally{Me=!1,Error.prepareStackTrace=w}return(w=g?g.displayName||g.name:"")?pe(w):""}function He(g,y){switch(g.tag){case 26:case 27:case 5:return pe(g.type);case 16:return pe("Lazy");case 13:return g.child!==y&&y!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return $e(g.type,!1);case 11:return $e(g.type.render,!1);case 1:return $e(g.type,!0);case 31:return pe("Activity");default:return""}}function Ae(g){try{var y="",w=null;do y+=He(g,w),w=g,g=g.return;while(g);return y}catch(A){return` Error generating stack: `+A.message+` -`+A.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var A=g.pendingLanes;if(A===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=A&134217727;return ge!==0?(A=ge&~W,A!==0?G=qe(A):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=A&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=A&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,A,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function Yo(g,y,w,A,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Vn(y)):g.value!==""+Vn(y)&&(g.value=""+Vn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Vn(y)):w!=null?Md(g,re,Vn(w)):A!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Vn(ge):g.removeAttribute("name")}function j0(g,y,w,A,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Vn(w):"",y=y!=null?""+Vn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}A=A??G,A=typeof A!="function"&&typeof A!="symbol"&&!!A,g.checked=ge?g.checked:!!A,g.defaultChecked=!!A,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,A){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,A,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=A}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var A=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(A)||(A=tp,"selectionStart"in A&&TE(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),vy&&yy(vy,A)||(vy=A,A=_4(wE,"onSelect"),0>=re,G-=re,El=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),je=W(Eh,je,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return Xr&&kc(rt,Or),fr}for(lr=A(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),Xr&&kc(rt,Or),fr}function Sn(rt,je,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;je!==null;){if(je.key===fr){if(fr=ct.type,fr===v){if(je.tag===7){w(rt,je.sibling),Ct=G(je,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(je.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===L&&Hd(fr)===je.type){w(rt,je.sibling),Ct=G(je,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,je);break}else y(rt,je);je=je.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;je!==null;){if(je.key===fr)if(je.tag===4&&je.stateNode.containerInfo===ct.containerInfo&&je.stateNode.implementation===ct.implementation){w(rt,je.sibling),Ct=G(je,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,je);break}else y(rt,je);je=je.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case L:return ct=Hd(ct),Sn(rt,je,ct,Ct)}if(I(ct))return ir(rt,je,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,je,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,je,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,je,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,je!==null&&je.tag===6?(w(rt,je.sibling),Ct=G(je,ct),Ct.return=rt,rt=Ct):(w(rt,je),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,je)}return function(rt,je,ct,Ct){try{Cy=0;var fr=Sn(rt,je,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===jx)throw lr;var rn=Ys(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var A=g.updateQueue;if(A===null)return null;if(A=A.shared,(un&2)!==0){var G=A.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),A.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,A,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,A=g.alternate;if(A!==null&&(A=A.updateQueue,w===A)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:A.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:A.shared,callbacks:A.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,A){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(A&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,A);Ry(g,y,Tt,Qs(g))}else Ry(g,y,A,Qs(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Qs())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,A){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(A)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Qs())}function ck(){return ga(Yy)}function SB(){return wi().memoizedState}function EB(){return wi().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Qs();g=ch(w);var A=uh(y,g,w);A!==null&&(_s(A,y,w),Ey(A,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var A=Qs();w={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,A),w!==null&&(_s(w,g,A),AB(w,y,A)))}function kB(g,y,w){var A=Qs();Ry(g,y,w,A)}function Ry(g,y,w,A){var G={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ws(ge,re))return Vx(g,y,G,0),An===null&&qx(),!1}catch{}if(w=_E(g,y,G,A),w!==null)return _s(w,g,A),AB(w,y,A),!0}return!1}function uk(g,y,w,A){if(A={lane:2,revertLane:Vk(),gesture:null,action:A,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,A,2),y!==null&&_s(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}var Dy={readContext:ga,use:i4,useCallback:di,useContext:di,useEffect:di,useImperativeHandle:di,useLayoutEffect:di,useInsertionEffect:di,useMemo:di,useReducer:di,useRef:di,useState:di,useDebugValue:di,useDeferredValue:di,useTransition:di,useSyncExternalStore:di,useId:di,useHostTransitionStatus:di,useFormState:di,useActionState:di,useOptimistic:di,useMemoCache:di,useCacheRefresh:di};Dy.useEffectEvent=di;var LB={readContext:ga,use:i4,useCallback:function(g,y){return ja().memoizedState=[g,y===void 0?null:y],g},useContext:ga,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=ja();y=y===void 0?null:y;var A=g();if(Xd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[A,y],A},useReducer:function(g,y,w){var A=ja();if(w!==void 0){var G=w(y);if(Xd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return A.memoizedState=A.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},A.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[A.memoizedState,g]},useRef:function(g){var y=ja();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=ja();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),ja().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var A=Mr,G=ja();if(Xr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),An===null)throw Error(n(349));(Hr&127)!==0||KI(A,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,A,W,g),[g]),A.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,A,W,w,y),null),w},useId:function(){var g=ja(),y=An.identifierPrefix;if(Xr){var w=kl,A=El;w=(A&~(1<<32-we(A)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof A.is=="string"?re.createElement("select",{is:A.is}):re.createElement("select"),A.multiple?W.multiple=!0:A.size&&(W.size=A.size);break;default:W=typeof A.is=="string"?re.createElement(G,{is:A.is}):re.createElement(G)}}W[nt]=y,W[st]=A;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(ya(W,G,A),G){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break e;case"img":A=!0;break e;default:A=!1}A&&Nc(y)}}return Fn(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==A&&Nc(y);else{if(typeof A!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,A=null,G=pa,G!==null)switch(G.tag){case 27:case 5:A=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||A!==null&&A.suppressHydrationWarning===!0||XP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(A),g[nt]=y,y.stateNode=g}return Fn(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(A=op(y),w!==null){if(g===null){if(!A)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(js(y),y):(js(y),null);if((y.flags&128)!==0)throw Error(n(558))}return Fn(y),null;case 13:if(A=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),A!==null&&A.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(js(y),y):(js(y),null)}return js(y),(y.flags&128)!==0?(y.lanes=w,y):(w=A!==null,g=g!==null&&g.memoizedState!==null,w&&(A=y.child,G=null,A.alternate!==null&&A.alternate.memoizedState!==null&&A.alternate.memoizedState.cachePool!==null&&(G=A.alternate.memoizedState.cachePool.pool),W=null,A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(W=A.memoizedState.cachePool.pool),W!==G&&(A.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),Fn(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),Fn(y),null;case 10:return Ac(y.type),Fn(y),null;case 19:if(H(Ti),A=y.memoizedState,A===null)return Fn(y),null;if(G=(y.flags&128)!==0,W=A.rendering,W===null)if(G)My(A,!1);else{if(fi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(A,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return X(Ti,Ti.current&1|2),Xr&&kc(y,A.treeForkCount),y.child}g=g.sibling}A.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(A,!0),A.tail===null&&A.tailMode==="hidden"&&!W.alternate&&!Xr)return Fn(y),null}else 2*Ge()-A.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304);A.isBackwards?(W.sibling=y.child,y.child=W):(g=A.last,g!==null?g.sibling=W:y.child=W,A.last=W)}return A.tail!==null?(g=A.tail,A.rendering=g,A.tail=g.sibling,A.renderingStartTime=Ge(),g.sibling=null,w=Ti.current,X(Ti,G?w&1|2:w&1),Xr&&kc(y,A.treeForkCount),g):(Fn(y),null);case 22:case 23:return js(y),YE(),A=y.memoizedState!==null,g!==null?g.memoizedState!==null!==A&&(y.flags|=8192):A&&(y.flags|=8192),A?(w&536870912)!==0&&(y.flags&128)===0&&(Fn(y),y.subtreeFlags&6&&(y.flags|=8192)):Fn(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),A=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(A=y.memoizedState.cachePool.pool),A!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Ri),Fn(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Ri),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(js(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(js(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(Ti),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return js(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Ri),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Ri),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&js(y);break;case 13:js(y);break;case 19:H(Ti);break;case 10:Ac(y.type);break;case 22:case 23:js(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Ri)}}function Oy(g,y){try{var w=y.updateQueue,A=w!==null?w.lastEffect:null;if(A!==null){var G=A.next;w=G;do{if((w.tag&g)===g){A=void 0;var W=w.create,re=w.inst;A=W(),re.destroy=A}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var A=y.updateQueue,G=A!==null?A.lastEffect:null;if(G!==null){var W=G.next;A=W;do{if((A.tag&g)===g){var re=A.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}A=A.next}while(A!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(A){xn(g,g.return,A)}}}function tP(g,y,w){w.props=jd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(A){xn(g,y,A)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var A=g.stateNode;break;case 30:A=g.stateNode;break;default:A=g.stateNode}typeof w=="function"?g.refCleanup=w(A):w.current=A}}catch(G){xn(g,y,G)}}function _l(g,y){var w=g.ref,A=g.refCleanup;if(w!==null)if(typeof A=="function")try{A()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,A=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&A.focus();break e;case"img":w.src?A.src=w.src:w.srcSet&&(A.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var A=g.stateNode;Jhe(A,g.type,w,y),A[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=Ts));else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var A=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);ya(y,A,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Mi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,ia=null;function Nhe(g,y){if(g=g.containerInfo,jk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var A=w.getSelection&&w.getSelection();if(A&&A.rangeCount!==0){w=A.anchorNode;var G=A.anchorOffset,W=A.focusNode;A=A.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||A!==0&&_t.nodeType!==3||(Ve=re+A),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===A&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,ia=y;ia!==null;)if(y=ia,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,ia=g;else for(;ia!==null;){switch(y=ia,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),ya(W,A,w),W[nt]=g,Cr(W),A=W;break e;case"link":var re=hF("link","href",G).get(A+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),je=gI(ge,Sn);if(rt&&je&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==je.node||yt.focusOffset!==je.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(je.node,je.offset)):(ct.setEnd(je.node,je.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!jk,Kk=jk=null}finally{un=G,B.p=A,N.T=w}}g.current=y,Hi=2}}function NP(){if(Hi===2){Hi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var A=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=A,N.T=w}}Hi=3}}function MP(){if(Hi===4||Hi===3){Hi=0,De();var g=yh,y=Tp,w=Fc,A=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Hi=5:(Hi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(A!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Hi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=A,OP(g,y)}}function BP(g,y,w){y=wo(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Al(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var A=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&(mh===null||!mh.has(A))){g=wo(w,g),w=PB(2),A=uh(y,w,2),A!==null&&(FB(w,A,y,g),At(A,2),Al(A));break}}y=y.return}}function $k(g,y,w){var A=g.pingCache;if(A===null){A=g.pingCache=new Ihe;var G=new Set;A.set(y,G)}else G=A.get(y),G===void 0&&(G=new Set,A.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var A=g.pingCache;A!==null&&A.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,An===g&&(Hr&w)===w&&(fi===4||fi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Al(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Al(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var A=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:A=g.stateNode;break;case 22:A=g.stateNode._retryCache;break;default:throw Error(n(314))}A!==null&&A.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Al(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,A=S4;A!==null;){if(g!==0){var G=A.pendingLanes;if(G===0)var W=0;else{var re=A.suspendedLanes,ge=A.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(A,W))}else W=Hr,W=lt(A,A===An?W:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),(W&3)===0||ve(A,W)||(w=!0,qP(A,W));A=A.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,A=S4;A!==null;){var G=A.next,W=$P(A,y);W===0?(A.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=A,(g!==0||(W&3)!==0)&&(E4=!0)),A=G}Hi!==0&&Hi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,A=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&jP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var A=Ep;if(A&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},A.querySelector(G)===null&&(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var A=Ep;if(A&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Ao.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Ao.set(W,g),A.querySelector(G)!==null||y==="style"&&A.querySelector(Hy(W))||y==="script"&&A.querySelector(Wy(W))||(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var A=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(A)+'"][href="'+cn(g)+'"]',W=G;switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Ao.has(W)&&(g=d({rel:"modulepreload",href:g},y),Ao.set(W,g),w.querySelector(G)===null)){switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}A=w.createElement("link"),ya(A,"link",g),Cr(A),w.head.appendChild(A)}}}function pde(g,y,w){$c.S(g,y,w);var A=Ep;if(A&&g){var G=_r(A).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=A.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Ao.get(W))&&n6(g,w);var Ve=re=A.createElement("link");Cr(Ve),ya(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,A)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Ao.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Ao.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function lF(g,y,w,A){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,A=w.get(y),A||(A={type:"style",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Ao.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Ao.set(g,w),W||yde(G,g,w,re.state))),y&&A===null)throw Error(n(528,""));return re}if(y&&A!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,A=w.get(y),A||(A={type:"script",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,A){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?A.loading=1:(y=g.createElement("link"),A.preload=y,y.addEventListener("load",function(){return A.loading|=1}),y.addEventListener("error",function(){return A.loading|=2}),ya(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var A=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(A)return y.instance=A,Cr(A),A;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return A=(g.ownerDocument||g).createElement("style"),Cr(A),ya(A,"style",G),R4(A,w.precedence,g),y.instance=A;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;A=cF(w),(G=Ao.get(G))&&n6(A,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(A=w,(G=Ao.get(W))&&(A=d({},w),i6(A,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),ya(G,"link",A),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(A=y.instance,y.state.loading|=4,R4(A,w.precedence,g));return y.instance}function R4(g,y,w){for(var A=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=A.length?A[A.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,A){if(w.type==="stylesheet"&&(typeof A.media!="string"||matchMedia(A.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(A.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,A=cF(A),(G=Ao.get(G))&&n6(A,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(A),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var A=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Ra=Kt.createContext({});function Vde({children:t}){const[e,r]=Kt.useState(!0),[n,i]=Kt.useState({classname:"",steps:[]}),[a,s]=Kt.useState([]),[o,l]=Kt.useState(!1),[u,h]=Kt.useState(null),[d,f]=Kt.useState(""),[p,m]=Kt.useState(""),[v,b]=Kt.useState(""),[x,S]=Kt.useState(null),[T,E]=Kt.useState([]),[_,R]=Kt.useState([]),[k,L]=Kt.useState("error"),[O,F]=Kt.useState(null),[$,q]=Kt.useState([]),[z,D]=Kt.useState(null),[I,N]=Kt.useState("");return Le.jsx(Ra.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:S,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:R,activeLogTab:k,setActiveLogTab:L,initError:O,setInitError:F,openPythonFiles:$,setOpenPythonFiles:q,idaesHistoryList:z,setIdaesHistoryList:D,osPlatform:I,setOsPlatform:N},children:t})}function Gde(){return acquireVsCodeApi()}const Ql=Gde(),Ude="_tree_app_container_oadmh_1",Hde="_flowsheet_steps_main_container_oadmh_12",Wde="_step_selector_container_oadmh_24",Yde="_step_selector_checkbox_oadmh_37",Xde="_open_results_view_container_oadmh_65",jde="_open_results_view_select_oadmh_69",Kde="_view_switch_container_oadmh_84",Zde="_active_oadmh_112",Vl={tree_app_container:Ude,flowsheet_steps_main_container:Hde,step_selector_container:Wde,step_selector_checkbox:Yde,open_results_view_container:Xde,open_results_view_select:jde,view_switch_container:Kde,active:Zde},Qde="_config_title_8m99f_1",Jde="_config_control_8m99f_7",efe="_update_button_8m99f_20",tfe="_button_group_8m99f_25",rfe="_cancel_button_8m99f_31",kh={config_title:Qde,config_control:Jde,update_button:efe,button_group:tfe,cancel_button:rfe};function nfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=Kt.useContext(Ra),[i,a]=Kt.useState(null);Kt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),Ql.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),Ql.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),Ql.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return Kt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Le.jsxs("div",{children:[Le.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Le.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Le.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Le.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Le.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Le.jsxs("div",{className:`${kh.button_group}`,children:[Le.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Le.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const ife="_run_flowsheet_section_ajmxp_1",afe="_run_flowsheet_button_container_ajmxp_4",sfe="_run_flowsheet_button_ajmxp_4",ofe="_run_flowsheet_animation_container_ajmxp_28",lfe="_running_time_container_ajmxp_35",cfe="_running_timer_container_hidden_ajmxp_42",ufe="_running_time_label_ajmxp_46",hfe="_running_dots_ajmxp_50",dfe="_running_time_ajmxp_35",ffe="_cancel_flowsheet_run_btn_ajmxp_60",pfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Lo={run_flowsheet_section:ife,run_flowsheet_button_container:afe,run_flowsheet_button:sfe,run_flowsheet_animation_container:ofe,running_time_container:lfe,running_timer_container_hidden:cfe,running_time_label:ufe,running_dots:hfe,running_time:dfe,cancel_flowsheet_run_btn:ffe,cancel_flowsheet_run_btn_hidden:pfe};function gfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=Kt.useContext(Ra),[l,u]=Kt.useState(0),[h,d]=Kt.useState("."),[f,p]=Kt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";Ql.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),Ql.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};Kt.useEffect(()=>{const x=S=>{const T=S.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),Kt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(S=>S+1),d(S=>S==="."?"..":S===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const S=Math.floor(x/60),T=x%60;return`${S.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Le.jsxs("section",{className:`${Lo.run_flowsheet_section}`,children:[Le.jsxs("div",{className:`${Lo.run_flowsheet_button_container}`,children:[Le.jsxs("button",{className:`${Lo.run_flowsheet_button} ${r?Lo.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Le.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Le.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Le.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Le.jsx("button",{onClick:()=>v(),className:` - ${r?Lo.cancel_flowsheet_run_btn:Lo.cancel_flowsheet_run_btn_hidden} - `,children:"Cancel"}),Le.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Le.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Le.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Le.jsx("div",{className:`${Lo.run_flowsheet_animation_container}`,children:Le.jsxs("div",{className:` - ${r?Lo.running_time_container:Lo.running_timer_container_hidden} - `,children:[Le.jsxs("p",{className:`${Lo.running_time_label}`,children:["Running",Le.jsx("span",{className:`${Lo.running_dots}`,children:h})]}),Le.jsx("p",{className:`${Lo.running_time}`,children:b(l)})]})})]})}const mfe="_navContainer_1o0u5_1",yfe={navContainer:mfe};function vfe({setShowConfig:t}){return Le.jsx("nav",{className:yfe.navContainer,children:Le.jsx(gfe,{setShowConfig:t})})}function bfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,openPythonFiles:a,activateFileName:s}=Kt.useContext(Ra),[o,l]=Kt.useState([]),u=p=>{Ql.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:p})},h=p=>{const m=p.target.value;m&&Ql.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:m})},d=(p,m)=>{let v=[];p.target.checked?v=Array.from({length:m+1},(x,S)=>S):(v=Array.from({length:m},(x,S)=>S),v=v.sort((x,S)=>x-S)),l(v);const b=v.map(x=>t.steps[x]).filter(Boolean);r(b)},f=()=>{if(n)return console.log("loading idaes-extension-steps"),Le.jsx("div",{children:Le.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Le.jsx("div",{style:{padding:"10px",backgroundColor:"var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, 0.1))",border:"1px solid var(--vscode-inputValidation-errorBorder, red)",color:"var(--vscode-errorForeground, red)",borderRadius:"4px",marginTop:"15px"},children:Le.jsx("p",{style:{margin:0,fontWeight:"bold",whiteSpace:"pre-wrap"},children:i})});if(!t)return Le.jsx("div",{children:Le.jsx("p",{children:"Loading config data..."})});const p=Object.keys(t);if(!p.includes("steps"))return Le.jsxs("div",{children:[Le.jsx("h2",{children:"Steps Display"}),Le.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(p.includes("steps")&&p.length===0)return Le.jsxs("div",{children:[Le.jsx("h2",{children:"Step Display"}),Le.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(p.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((v,b)=>Le.jsxs("div",{className:`${Vl.step_selector_container}`,children:[Le.jsx("input",{type:"checkbox",id:`step_${b}`,className:`${Vl.step_selector_checkbox}`,checked:o.includes(b),onChange:x=>d(x,b)}),Le.jsx("label",{htmlFor:`${b}`,children:v})]},v+b))};return Kt.useEffect(()=>{console.log("Selected steps:",o)},[o]),Le.jsxs("div",{className:`${Vl.flowsheet_steps_main_container}`,children:[Le.jsxs("div",{style:{marginBottom:"20px"},children:[Le.jsx("label",{style:{display:"block",margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Flowsheet to inspect:"}),Le.jsxs("select",{style:{width:"100%",padding:"6px",backgroundColor:"var(--vscode-dropdown-background)",color:"var(--vscode-dropdown-foreground)",border:"1px solid var(--vscode-dropdown-border)",borderRadius:"2px",cursor:"pointer"},onChange:h,value:a?.find(p=>p.name===s)?.path||"",children:[Le.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),a?.map((p,m)=>Le.jsx("option",{value:p.path,children:p.name},m))]}),Le.jsx("p",{style:{margin:"5px 0 0 0",fontSize:"11px",color:"var(--vscode-descriptionForeground, #cccccc)",fontStyle:"italic"},children:"Open the flowsheet in editor to select"})]}),Le.jsx("p",{style:{margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Select Steps to Run:"}),Le.jsx("div",{className:`${Vl.steps_container}`,children:f()}),Le.jsxs("div",{style:{marginTop:"15px",display:"flex",flexDirection:"column",gap:"15px"},children:[Le.jsx(vfe,{setShowConfig:e}),Le.jsx("div",{className:`${Vl.open_results_view_container}`,children:Le.jsx("button",{className:`${Vl.open_results_view_select}`,style:{width:"100%",padding:"8px",backgroundColor:"transparent",border:"1px solid var(--vscode-editor-foreground)",color:"var(--vscode-editor-foreground)",cursor:"pointer",borderRadius:"4px",display:"flex",justifyContent:"center",alignItems:"center",gap:"8px",backgroundImage:"none"},onClick:()=>u("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function xfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=Kt.useContext(Ra),[n,i]=Kt.useState(!1);return Kt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Le.jsxs(Le.Fragment,{children:[Le.jsxs("h2",{children:["Current Files is: ",e]}),Le.jsx("div",{style:{display:n?"block":"none"},children:Le.jsx(nfe,{setShowConfig:i})}),Le.jsx("div",{style:{display:n?"none":"block"},children:Le.jsx(bfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Tfe="_container_1qs3w_1",wfe="_controlBar_1qs3w_10",Cfe="_searchBox_1qs3w_18",Sfe="_actionGroup_1qs3w_42",Efe="_runCount_1qs3w_50",kfe="_tableContainer_1qs3w_70",_fe="_headerRow_1qs3w_76",Afe="_dataRowContainer_1qs3w_89",Lfe="_dataRow_1qs3w_89",Rfe="_colStatus_1qs3w_119",Dfe="_colTime_1qs3w_124",Nfe="_colTags_1qs3w_128",Mfe="_tagBadge_1qs3w_134",Ofe="_emptyMessage_1qs3w_143",Ife="_cssTooltip_1qs3w_175",Bfe="_colFlowsheet_1qs3w_211",Pfe="_flowsheetText_1qs3w_216",Ffe="_pathTooltip_1qs3w_225",Dn={container:Tfe,controlBar:wfe,searchBox:Cfe,actionGroup:Sfe,runCount:Efe,tableContainer:kfe,headerRow:_fe,dataRowContainer:Afe,dataRow:Lfe,colStatus:Rfe,colTime:Dfe,colTags:Nfe,tagBadge:Mfe,emptyMessage:Ofe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Ife,colFlowsheet:Bfe,flowsheetText:Pfe,pathTooltip:Ffe};function $fe(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function zfe(){const{idaesHistoryList:t}=Kt.useContext(Ra),[e,r]=Kt.useState(""),n=Kt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&Ql.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Le.jsxs("div",{className:Dn.container,children:[Le.jsxs("div",{className:Dn.controlBar,children:[Le.jsx("input",{type:"text",className:Dn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Le.jsx("div",{className:Dn.actionGroup,children:Le.jsxs("span",{className:Dn.runCount,children:["Runs: ",n.length]})})]}),Le.jsxs("div",{className:Dn.tableContainer,children:[Le.jsxs("div",{className:Dn.headerRow,children:[Le.jsx("div",{className:Dn.colStatus,children:"Status"}),Le.jsx("div",{className:Dn.colTime,children:"Since"}),Le.jsx("div",{children:"Flowsheet"}),Le.jsx("div",{className:Dn.colTags,children:"Tags"})]}),Le.jsxs("div",{className:Dn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Le.jsxs("div",{className:Dn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Le.jsx("div",{className:Dn.colStatus,children:a.status?Le.jsx("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--success"]}`,children:"✓"}):Le.jsxs("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Le.jsx("span",{className:Dn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Le.jsx("div",{className:Dn.colTime,children:$fe(a.created)}),Le.jsxs("div",{className:Dn.colFlowsheet,children:[Le.jsx("span",{className:Dn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Le.jsx("div",{className:Dn.pathTooltip,children:l})]}),Le.jsx("div",{className:Dn.colTags,children:Le.jsx("span",{className:Dn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Le.jsx("div",{className:Dn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Le.jsxs("div",{className:Dn.emptyMessage,children:[Le.jsx("div",{children:"No historical runs found across any flowsheet."}),Le.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Le.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function qfe(){const[t,e]=Kt.useState("runFlowsheet"),r=n=>{e(n)};return Le.jsxs("div",{className:`${Vl.tree_app_container}`,children:[Le.jsxs("ul",{className:Vl.view_switch_container,children:[Le.jsx("li",{className:t==="runFlowsheet"?Vl.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Le.jsx("li",{className:t==="loadFlowsheet"?Vl.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Le.jsx(xfe,{}),t==="loadFlowsheet"&&Le.jsx(zfe,{})]})}function Vfe(){const[t,e]=Kt.useState(!1),{editorContent:r,activateFileName:n}=Kt.useContext(Ra),i=()=>{e(!t)};return Le.jsxs("div",{children:[Le.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Le.jsxs("div",{style:{display:t?"block":"none"},children:[Le.jsx("h1",{children:"Editor Page "}),Le.jsxs("h2",{children:["File: ",n]}),Le.jsx("pre",{children:r})]})]})}const Gfe="modulepreload",Ufe=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=Ufe(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":Gfe,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},Hfe=t3.exports,FF;function Wfe(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(Hfe,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,S={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;R[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(L(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=L,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)jY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)jY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:C((...t)=>{},"trace"),debug:C((...t)=>{},"debug"),info:C((...t)=>{},"info"),warn:C((...t)=>{},"warn"),error:C((...t)=>{},"error"),fatal:C((...t)=>{},"fatal")},fD=C(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Ro("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Ro("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Ro("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Ro("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Ro("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Ro("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Ro("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Ro("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Ro("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Ro("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Ro("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Ro("TRACE")))},"setLogLevel"),Ro=C(t=>`%c${sa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},jfe={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:Xfe,unit:jfe},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Ba={ALL:0,RGB:1,HSL:2};let Kfe=class{constructor(){this.type=Ba.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Ba.ALL}is(e){return this.type===e}};class Zfe{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new Kfe}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Ba.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Ba.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Ba.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Ba.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Ba.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Ba.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Ba.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new Zfe({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},jv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(jv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},bl={format:{keyword:S2,hex:Lg,rgb:jv,rgba:jv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||jv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Ba.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?jv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=bl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return bl.stringify(r)},hl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return bl.stringify(i)},pD=(t,e)=>kr.lang.round(bl.parse(t)[e]),Qfe=t=>{const{r:e,g:r,b:n}=bl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},Jfe=t=>Qfe(t)>=.5,ms=t=>!Jfe(t),gD=(t,e,r)=>{const n=bl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),bl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=bl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},e0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=bl.parse(t),{r:o,g:l,b:u,a:h}=bl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,S=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return hl(x,S,T,E)},tt=(t,e=100)=>{const r=bl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,e0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:t0e,getPrototypeOf:r0e,getOwnPropertyDescriptor:n0e}=Object;let{freeze:hs,seal:Vo,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;hs||(hs=function(e){return e});Vo||(Vo=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(t0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function c0e(t){for(let e=0;e/gm),p0e=Vo(/\$\{[\w\W]*/gm),g0e=Vo(/^data-[\-\w.\u00B7-\uFFFF]+$/),m0e=Vo(/^aria-[\-\w]+$/),QY=Vo(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),y0e=Vo(/^(?:\w+script|data):/i),v0e=Vo(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Vo(/^html$/i),b0e=Vo(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:m0e,ATTR_WHITESPACE:v0e,CUSTOM_ELEMENT:b0e,DATA_ATTR:g0e,DOCTYPE_NAME:JY,ERB_EXPR:f0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:y0e,MUSTACHE_EXPR:d0e,TMPLIT_EXPR:p0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},x0e=function(){return typeof window>"u"?null:window},T0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function eX(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x0e();const e=vt=>eX(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),S=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:R,createNodeIterator:k,createDocumentFragment:L,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&R&&R.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let X=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let j=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Ae=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},Xe=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Ml(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=el(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,X=el(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=el(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=el(Ne,"ADD_URI_SAFE_ATTR")?Fr(Ml(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=el(Ne,"ADD_DATA_URI_TAGS")?Fr(Ml(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,Xe=el(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=el(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Ml({}),Q=el(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Ml({}),Ye=el(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Ae=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,j=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Ae=!0),Ye&&(P=Fr({},GF),X=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(X,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(X,C6),Fr(X,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(X,C6),Fr(X,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(X,HF),Fr(X,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Ml(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(X===Z&&(X=Ml(X)),Fr(X,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(Xe===at&&(Xe=Ml(Xe)),Fr(Xe,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(Xe===at&&(Xe=Ml(Xe)),Fr(Xe,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=T0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));hs&&hs(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,...u0e]),St=Fr({},[...w6,...h0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Ae||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=R.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Ka(/<[/\w!]/g,Ne.innerHTML)&&Ka(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Ka(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt)))return!1;if(Ge&&!Xe[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=S(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Bn=v(_r[Qr],!0);Bn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Bn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Ka(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Ka(I,ft))){if(!(te&&Ka(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!X[ft]||Q[ft]){if(!(Ut(Ne)&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Ne)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ne))&&(j.attributeNameCheck instanceof RegExp&&Ka(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft,Ne))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Ka(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&s0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Ka(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Bn}=_r,_n=Qe(Cr),Jn=Bn;let Ur=Cr==="value"?Jn:o0e(Jn);if(Rt.attrName=_n,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(_n==="id"||_n==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Ka(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(_n==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Ka(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,_n,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,_n)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==Jn)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Bn=Qe(vt.nodeName);if(!P[Bn]||ee[Bn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Ae&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Ae?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Ae){if(me){ft.normalize();let Bn=ft.innerHTML;Jy([q,z,D],_n=>{Bn=Lp(Bn,_n," ")}),ft.innerHTML=Bn}if(Oe)for(_r=L.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(X.shadowroot||X.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Ka(JY,ft.ownerDocument.doctype.name)&&(Qr=" -`+Qr),me&&Jy([q,z,D],Bn=>{Qr=Lp(Qr,Bn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=i0e($[vt],Ne);return ft===-1?void 0:a0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=eX(),tX=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,w0e=/\s*%%.*\n/gm,Wg,rX=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},C(Wg,"UnknownDiagramError"),Wg),Jf={},mD=C(function(t,e){t=t.replace(tX,"").replace(E2,"").replace(w0e,` -`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rX(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=C((...t)=>{for(const{id:e,detector:r,loader:n}of t)nX(e,r,n)},"registerLazyLoadedDiagrams"),nX=C((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),C0e=C(t=>Jf[t].loader,"getDiagramLoader"),UA=C((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),ki=UA,oc="#ffffff",lc="#f2f2f2",wr=C((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,S0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(Yg,"Theme"),Yg),E0e=C(t=>{const e=new S0e;return e.calculate(t),e},"getThemeVariables"),Xg,k0e=(Xg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=hl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=hl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=hl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(Xg,"Theme"),Xg),_0e=C(t=>{const e=new k0e;return e.calculate(t),e},"getThemeVariables"),jg,A0e=(jg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=hl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(jg,"Theme"),jg),Hb=C(t=>{const e=new A0e;return e.calculate(t),e},"getThemeVariables"),Kg,L0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(Kg,"Theme"),Kg),R0e=C(t=>{const e=new L0e;return e.calculate(t),e},"getThemeVariables"),Zg,D0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(Zg,"Theme"),Zg),N0e=C(t=>{const e=new D0e;return e.calculate(t),e},"getThemeVariables"),Qg,M0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(Qg,"Theme"),Qg),O0e=C(t=>{const e=new M0e;return e.calculate(t),e},"getThemeVariables"),Jg,I0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=hl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(Jg,"Theme"),Jg),B0e=C(t=>{const e=new I0e;return e.calculate(t),e},"getThemeVariables"),e1,P0e=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(e1,"Theme"),e1),F0e=C(t=>{const e=new P0e;return e.calculate(t),e},"getThemeVariables"),t1,$0e=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=hl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(t1,"Theme"),t1),z0e=C(t=>{const e=new $0e;return e.calculate(t),e},"getThemeVariables"),r1,q0e=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(r1,"Theme"),r1),V0e=C(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),n1,G0e=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=hl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},C(n1,"Theme"),n1),U0e=C(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:E0e},dark:{getThemeVariables:_0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:R0e},neutral:{getThemeVariables:N0e},neo:{getThemeVariables:O0e},"neo-dark":{getThemeVariables:B0e},redux:{getThemeVariables:F0e},"redux-dark":{getThemeVariables:z0e},"redux-color":{getThemeVariables:V0e},"redux-dark-color":{getThemeVariables:U0e}},Js={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},iX={...Js,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...Js.sequence,messageFont:C(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:C(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:C(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Js.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Js.c4,useWidth:void 0,personFont:C(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Js.flowchart,inheritDir:!1},external_personFont:C(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:C(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:C(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:C(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:C(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:C(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:C(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:C(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:C(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:C(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:C(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:C(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:C(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:C(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:C(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:C(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:C(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:C(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:C(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:C(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:C(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Js.pie,useWidth:984},xyChart:{...Js.xyChart,useWidth:void 0},requirement:{...Js.requirement,useWidth:void 0},packet:{...Js.packet},treeView:{...Js.treeView,useWidth:void 0},radar:{...Js.radar},ishikawa:{...Js.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Js.venn}},aX=C((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aX(t[n],"")]:[...r,e+n],[]),"keyify"),H0e=new Set(aX(iX,"")),Vr=iX,h5=C(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!H0e.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=W0e(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),W0e=C(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ds=ki({},tm),d5,e0=[],k2=ki({},tm),gC=C((t,e)=>{let r=ki({},t),n={};for(const i of e)lX(i),n=ki(n,i);if(r=ki(r,n),n.theme&&n.theme in xu){const i=ki({},d5),a=ki(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uX(k2),k2},"updateCurrentConfig"),Y0e=C(t=>(Ds=ki({},tm),Ds=ki(Ds,t),t.theme&&xu[t.theme]&&(Ds.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ds,e0),Ds),"setSiteConfig"),X0e=C(t=>{d5=ki({},t)},"saveConfigFromInitialize"),j0e=C(t=>(Ds=ki(Ds,t),gC(Ds,e0),Ds),"updateSiteConfig"),sX=C(()=>ki({},Ds),"getSiteConfig"),oX=C(t=>(uX(t),ki(k2,t),gr()),"setConfig"),gr=C(()=>ki({},k2),"getConfig"),lX=C(t=>{t&&(["secure",...Ds.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lX(t[e])}))},"sanitize"),K0e=C(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ds,e0)},"addDirective"),f5=C((t=Ds)=>{e0=[],gC(t,e0)},"reset"),Z0e={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},XF={},cX=C(t=>{XF[t]||(oe.warn(Z0e[t]),XF[t]=!0)},"issueWarning"),uX=C(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cX("LAZY_LOAD_DEPRECATED")},"checkConfig"),Q0e=C(()=>{let t={};d5&&(t=ki(t,d5));for(const e of e0)t=ki(t,e);return t},"getUserDefinedConfig"),gn=C(t=>(t.flowchart?.htmlLabels!=null&&cX("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,J0e=C(t=>t?fX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),epe=(()=>{let t=!1;return()=>{t||(hX(),t=!0)}})();function hX(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}C(hX,"setupDompurifyHooks");var dX=C(t=>(epe(),Qh.sanitize(t)),"removeScript"),jF=C((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dX(t):r!=="loose"&&(t=fX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=ipe(t))}return t},"sanitizeMore"),Jr=C((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(jF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(jF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),tpe=C((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),rpe=C(t=>Bm.test(t),"hasBreaks"),npe=C(t=>t.split(Bm),"splitBreaks"),ipe=C(t=>t.replace(/#br#/g,"
"),"placeholderToBreak"),fX=C(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=C(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),ape=C(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),spe=C(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=C(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),ope=C((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),lpe=C(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=C(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Li=C(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=C(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),cpe=C(async(t,e)=>{if(!Li(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>I_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Li(i)?`
${i}
`:`
${i}
`).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=C(async(t,e)=>Jr(await cpe(t,e),e),"renderKatexSanitized"),$t={getRows:J0e,sanitizeText:Jr,sanitizeTextOrArray:tpe,hasBreaks:rpe,splitBreaks:npe,lineBreakRegex:Bm,removeScript:dX,getUrl:mC,evaluate:Pu,getMax:ape,getMin:spe},upe=C(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),hpe=C(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Gi=C(function(t,e,r,n){const i=hpe(e,r,n);upe(t,i)},"configureSvgSize"),Pm=C(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Gi(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},dpe=C((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { +`+A.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var A=g.pendingLanes;if(A===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=A&134217727;return ge!==0?(A=ge&~W,A!==0?G=qe(A):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=A&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=A&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,A,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function Xo(g,y,w,A,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Vn(y)):g.value!==""+Vn(y)&&(g.value=""+Vn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Vn(y)):w!=null?Md(g,re,Vn(w)):A!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Vn(ge):g.removeAttribute("name")}function j0(g,y,w,A,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Vn(w):"",y=y!=null?""+Vn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}A=A??G,A=typeof A!="function"&&typeof A!="symbol"&&!!A,g.checked=ge?g.checked:!!A,g.defaultChecked=!!A,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,A){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,A,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=A}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var A=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(A)||(A=tp,"selectionStart"in A&&TE(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),vy&&yy(vy,A)||(vy=A,A=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),je=W(Eh,je,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return Xr&&kc(rt,Or),fr}for(lr=A(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),Xr&&kc(rt,Or),fr}function Sn(rt,je,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;je!==null;){if(je.key===fr){if(fr=ct.type,fr===v){if(je.tag===7){w(rt,je.sibling),Ct=G(je,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(je.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===L&&Hd(fr)===je.type){w(rt,je.sibling),Ct=G(je,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,je);break}else y(rt,je);je=je.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;je!==null;){if(je.key===fr)if(je.tag===4&&je.stateNode.containerInfo===ct.containerInfo&&je.stateNode.implementation===ct.implementation){w(rt,je.sibling),Ct=G(je,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,je);break}else y(rt,je);je=je.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case L:return ct=Hd(ct),Sn(rt,je,ct,Ct)}if(I(ct))return ir(rt,je,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,je,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,je,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,je,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,je!==null&&je.tag===6?(w(rt,je.sibling),Ct=G(je,ct),Ct.return=rt,rt=Ct):(w(rt,je),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,je)}return function(rt,je,ct,Ct){try{Cy=0;var fr=Sn(rt,je,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===jx)throw lr;var rn=Xs(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var A=g.updateQueue;if(A===null)return null;if(A=A.shared,(un&2)!==0){var G=A.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),A.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,A,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,A=g.alternate;if(A!==null&&(A=A.updateQueue,w===A)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:A.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:A.shared,callbacks:A.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,A){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(A&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,A);Ry(g,y,Tt,Js(g))}else Ry(g,y,A,Js(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Js())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,A){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(A)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Js())}function ck(){return ga(Yy)}function SB(){return wi().memoizedState}function EB(){return wi().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Js();g=ch(w);var A=uh(y,g,w);A!==null&&(_s(A,y,w),Ey(A,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var A=Js();w={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,A),w!==null&&(_s(w,g,A),AB(w,y,A)))}function kB(g,y,w){var A=Js();Ry(g,y,w,A)}function Ry(g,y,w,A){var G={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ys(ge,re))return Vx(g,y,G,0),An===null&&qx(),!1}catch{}if(w=_E(g,y,G,A),w!==null)return _s(w,g,A),AB(w,y,A),!0}return!1}function uk(g,y,w,A){if(A={lane:2,revertLane:Vk(),gesture:null,action:A,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,A,2),y!==null&&_s(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}var Dy={readContext:ga,use:i4,useCallback:di,useContext:di,useEffect:di,useImperativeHandle:di,useLayoutEffect:di,useInsertionEffect:di,useMemo:di,useReducer:di,useRef:di,useState:di,useDebugValue:di,useDeferredValue:di,useTransition:di,useSyncExternalStore:di,useId:di,useHostTransitionStatus:di,useFormState:di,useActionState:di,useOptimistic:di,useMemoCache:di,useCacheRefresh:di};Dy.useEffectEvent=di;var LB={readContext:ga,use:i4,useCallback:function(g,y){return ja().memoizedState=[g,y===void 0?null:y],g},useContext:ga,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=ja();y=y===void 0?null:y;var A=g();if(Xd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[A,y],A},useReducer:function(g,y,w){var A=ja();if(w!==void 0){var G=w(y);if(Xd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return A.memoizedState=A.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},A.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[A.memoizedState,g]},useRef:function(g){var y=ja();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=ja();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),ja().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var A=Mr,G=ja();if(Xr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),An===null)throw Error(n(349));(Hr&127)!==0||KI(A,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,A,W,g),[g]),A.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,A,W,w,y),null),w},useId:function(){var g=ja(),y=An.identifierPrefix;if(Xr){var w=Al,A=_l;w=(A&~(1<<32-we(A)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof A.is=="string"?re.createElement("select",{is:A.is}):re.createElement("select"),A.multiple?W.multiple=!0:A.size&&(W.size=A.size);break;default:W=typeof A.is=="string"?re.createElement(G,{is:A.is}):re.createElement(G)}}W[nt]=y,W[st]=A;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(ya(W,G,A),G){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break e;case"img":A=!0;break e;default:A=!1}A&&Nc(y)}}return Fn(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==A&&Nc(y);else{if(typeof A!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,A=null,G=pa,G!==null)switch(G.tag){case 27:case 5:A=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||A!==null&&A.suppressHydrationWarning===!0||XP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(A),g[nt]=y,y.stateNode=g}return Fn(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(A=op(y),w!==null){if(g===null){if(!A)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Ks(y),y):(Ks(y),null);if((y.flags&128)!==0)throw Error(n(558))}return Fn(y),null;case 13:if(A=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),A!==null&&A.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Ks(y),y):(Ks(y),null)}return Ks(y),(y.flags&128)!==0?(y.lanes=w,y):(w=A!==null,g=g!==null&&g.memoizedState!==null,w&&(A=y.child,G=null,A.alternate!==null&&A.alternate.memoizedState!==null&&A.alternate.memoizedState.cachePool!==null&&(G=A.alternate.memoizedState.cachePool.pool),W=null,A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(W=A.memoizedState.cachePool.pool),W!==G&&(A.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),Fn(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),Fn(y),null;case 10:return Ac(y.type),Fn(y),null;case 19:if(H(Ti),A=y.memoizedState,A===null)return Fn(y),null;if(G=(y.flags&128)!==0,W=A.rendering,W===null)if(G)My(A,!1);else{if(fi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(A,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return X(Ti,Ti.current&1|2),Xr&&kc(y,A.treeForkCount),y.child}g=g.sibling}A.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(A,!0),A.tail===null&&A.tailMode==="hidden"&&!W.alternate&&!Xr)return Fn(y),null}else 2*Ge()-A.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304);A.isBackwards?(W.sibling=y.child,y.child=W):(g=A.last,g!==null?g.sibling=W:y.child=W,A.last=W)}return A.tail!==null?(g=A.tail,A.rendering=g,A.tail=g.sibling,A.renderingStartTime=Ge(),g.sibling=null,w=Ti.current,X(Ti,G?w&1|2:w&1),Xr&&kc(y,A.treeForkCount),g):(Fn(y),null);case 22:case 23:return Ks(y),YE(),A=y.memoizedState!==null,g!==null?g.memoizedState!==null!==A&&(y.flags|=8192):A&&(y.flags|=8192),A?(w&536870912)!==0&&(y.flags&128)===0&&(Fn(y),y.subtreeFlags&6&&(y.flags|=8192)):Fn(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),A=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(A=y.memoizedState.cachePool.pool),A!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Ri),Fn(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Ri),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Ks(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Ks(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(Ti),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Ks(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Ri),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Ri),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Ks(y);break;case 13:Ks(y);break;case 19:H(Ti);break;case 10:Ac(y.type);break;case 22:case 23:Ks(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Ri)}}function Oy(g,y){try{var w=y.updateQueue,A=w!==null?w.lastEffect:null;if(A!==null){var G=A.next;w=G;do{if((w.tag&g)===g){A=void 0;var W=w.create,re=w.inst;A=W(),re.destroy=A}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var A=y.updateQueue,G=A!==null?A.lastEffect:null;if(G!==null){var W=G.next;A=W;do{if((A.tag&g)===g){var re=A.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}A=A.next}while(A!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(A){xn(g,g.return,A)}}}function tP(g,y,w){w.props=jd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(A){xn(g,y,A)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var A=g.stateNode;break;case 30:A=g.stateNode;break;default:A=g.stateNode}typeof w=="function"?g.refCleanup=w(A):w.current=A}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,A=g.refCleanup;if(w!==null)if(typeof A=="function")try{A()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,A=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&A.focus();break e;case"img":w.src?A.src=w.src:w.srcSet&&(A.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var A=g.stateNode;Jhe(A,g.type,w,y),A[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=Ts));else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var A=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);ya(y,A,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Mi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,ia=null;function Nhe(g,y){if(g=g.containerInfo,jk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var A=w.getSelection&&w.getSelection();if(A&&A.rangeCount!==0){w=A.anchorNode;var G=A.anchorOffset,W=A.focusNode;A=A.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||A!==0&&_t.nodeType!==3||(Ve=re+A),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===A&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,ia=y;ia!==null;)if(y=ia,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,ia=g;else for(;ia!==null;){switch(y=ia,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),ya(W,A,w),W[nt]=g,Cr(W),A=W;break e;case"link":var re=hF("link","href",G).get(A+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),je=gI(ge,Sn);if(rt&&je&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==je.node||yt.focusOffset!==je.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(je.node,je.offset)):(ct.setEnd(je.node,je.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!jk,Kk=jk=null}finally{un=G,B.p=A,N.T=w}}g.current=y,Hi=2}}function NP(){if(Hi===2){Hi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var A=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=A,N.T=w}}Hi=3}}function MP(){if(Hi===4||Hi===3){Hi=0,De();var g=yh,y=Tp,w=Fc,A=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Hi=5:(Hi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(A!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Hi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=A,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var A=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&(mh===null||!mh.has(A))){g=Co(w,g),w=PB(2),A=uh(y,w,2),A!==null&&(FB(w,A,y,g),At(A,2),Rl(A));break}}y=y.return}}function $k(g,y,w){var A=g.pingCache;if(A===null){A=g.pingCache=new Ihe;var G=new Set;A.set(y,G)}else G=A.get(y),G===void 0&&(G=new Set,A.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var A=g.pingCache;A!==null&&A.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,An===g&&(Hr&w)===w&&(fi===4||fi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var A=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:A=g.stateNode;break;case 22:A=g.stateNode._retryCache;break;default:throw Error(n(314))}A!==null&&A.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,A=S4;A!==null;){if(g!==0){var G=A.pendingLanes;if(G===0)var W=0;else{var re=A.suspendedLanes,ge=A.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(A,W))}else W=Hr,W=lt(A,A===An?W:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),(W&3)===0||ve(A,W)||(w=!0,qP(A,W));A=A.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,A=S4;A!==null;){var G=A.next,W=$P(A,y);W===0?(A.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=A,(g!==0||(W&3)!==0)&&(E4=!0)),A=G}Hi!==0&&Hi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,A=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&jP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var A=Ep;if(A&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},A.querySelector(G)===null&&(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var A=Ep;if(A&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),A.querySelector(G)!==null||y==="style"&&A.querySelector(Hy(W))||y==="script"&&A.querySelector(Wy(W))||(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var A=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(A)+'"][href="'+cn(g)+'"]',W=G;switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}A=w.createElement("link"),ya(A,"link",g),Cr(A),w.head.appendChild(A)}}}function pde(g,y,w){$c.S(g,y,w);var A=Ep;if(A&&g){var G=_r(A).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=A.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=A.createElement("link");Cr(Ve),ya(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,A)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function lF(g,y,w,A){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,A=w.get(y),A||(A={type:"style",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&A===null)throw Error(n(528,""));return re}if(y&&A!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,A=w.get(y),A||(A={type:"script",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,A){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?A.loading=1:(y=g.createElement("link"),A.preload=y,y.addEventListener("load",function(){return A.loading|=1}),y.addEventListener("error",function(){return A.loading|=2}),ya(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var A=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(A)return y.instance=A,Cr(A),A;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return A=(g.ownerDocument||g).createElement("style"),Cr(A),ya(A,"style",G),R4(A,w.precedence,g),y.instance=A;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;A=cF(w),(G=Lo.get(G))&&n6(A,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(A=w,(G=Lo.get(W))&&(A=d({},w),i6(A,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),ya(G,"link",A),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(A=y.instance,y.state.loading|=4,R4(A,w.precedence,g));return y.instance}function R4(g,y,w){for(var A=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=A.length?A[A.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,A){if(w.type==="stylesheet"&&(typeof A.media!="string"||matchMedia(A.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(A.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,A=cF(A),(G=Lo.get(G))&&n6(A,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(A),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var A=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Ra=Kt.createContext({});function Vde({children:t}){const[e,r]=Kt.useState(!0),[n,i]=Kt.useState({classname:"",steps:[]}),[a,s]=Kt.useState([]),[o,l]=Kt.useState(!1),[u,h]=Kt.useState(null),[d,f]=Kt.useState(""),[p,m]=Kt.useState(""),[v,b]=Kt.useState(""),[x,C]=Kt.useState(null),[T,E]=Kt.useState([]),[_,R]=Kt.useState([]),[k,L]=Kt.useState("error"),[O,F]=Kt.useState(null),[$,q]=Kt.useState([]),[z,D]=Kt.useState(null),[I,N]=Kt.useState(""),[B,M]=Kt.useState(null);return Le.jsx(Ra.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:R,activeLogTab:k,setActiveLogTab:L,initError:O,setInitError:F,openPythonFiles:$,setOpenPythonFiles:q,idaesHistoryList:z,setIdaesHistoryList:D,osPlatform:I,setOsPlatform:N,pythonEnvInfo:B,setPythonEnvInfo:M},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_v3h5x_1",Hde="_flowsheet_steps_main_container_v3h5x_12",Wde="_step_selector_container_v3h5x_24",Yde="_python_env_container_v3h5x_30",Xde="_python_env_label_v3h5x_34",jde="_dropdown_select_v3h5x_41",Kde="_step_selector_checkbox_v3h5x_58",Zde="_open_results_view_container_v3h5x_86",Qde="_open_results_view_select_v3h5x_90",Jde="_view_switch_container_v3h5x_105",efe="_active_v3h5x_133",Rs={tree_app_container:Ude,flowsheet_steps_main_container:Hde,step_selector_container:Wde,python_env_container:Yde,python_env_label:Xde,dropdown_select:jde,step_selector_checkbox:Kde,open_results_view_container:Zde,open_results_view_select:Qde,view_switch_container:Jde,active:efe},tfe="_config_title_8m99f_1",rfe="_config_control_8m99f_7",nfe="_update_button_8m99f_20",ife="_button_group_8m99f_25",afe="_cancel_button_8m99f_31",kh={config_title:tfe,config_control:rfe,update_button:nfe,button_group:ife,cancel_button:afe};function sfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=Kt.useContext(Ra),[i,a]=Kt.useState(null);Kt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return Kt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Le.jsxs("div",{children:[Le.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Le.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Le.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Le.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Le.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Le.jsxs("div",{className:`${kh.button_group}`,children:[Le.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Le.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const ofe="_run_flowsheet_section_ajmxp_1",lfe="_run_flowsheet_button_container_ajmxp_4",cfe="_run_flowsheet_button_ajmxp_4",ufe="_run_flowsheet_animation_container_ajmxp_28",hfe="_running_time_container_ajmxp_35",dfe="_running_timer_container_hidden_ajmxp_42",ffe="_running_time_label_ajmxp_46",pfe="_running_dots_ajmxp_50",gfe="_running_time_ajmxp_35",mfe="_cancel_flowsheet_run_btn_ajmxp_60",yfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:ofe,run_flowsheet_button_container:lfe,run_flowsheet_button:cfe,run_flowsheet_animation_container:ufe,running_time_container:hfe,running_timer_container_hidden:dfe,running_time_label:ffe,running_dots:pfe,running_time:gfe,cancel_flowsheet_run_btn:mfe,cancel_flowsheet_run_btn_hidden:yfe};function vfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=Kt.useContext(Ra),[l,u]=Kt.useState(0),[h,d]=Kt.useState("."),[f,p]=Kt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};Kt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),Kt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Le.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Le.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Le.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Le.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Le.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Le.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Le.jsx("button",{onClick:()=>v(),className:` + ${r?Ro.cancel_flowsheet_run_btn:Ro.cancel_flowsheet_run_btn_hidden} + `,children:"Cancel"}),Le.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Le.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Le.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Le.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:Le.jsxs("div",{className:` + ${r?Ro.running_time_container:Ro.running_timer_container_hidden} + `,children:[Le.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Le.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Le.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const bfe="_navContainer_1o0u5_1",xfe={navContainer:bfe};function Tfe({setShowConfig:t}){return Le.jsx("nav",{className:xfe.navContainer,children:Le.jsx(vfe,{setShowConfig:t})})}function wfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,openPythonFiles:a,activateFileName:s,pythonEnvInfo:o}=Kt.useContext(Ra),[l,u]=Kt.useState([]),h=v=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:v})},d=v=>{const b=v.target.value;b&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:b})},f=v=>{const b=v.target.value;b&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:b})},p=(v,b)=>{let x=[];v.target.checked?x=Array.from({length:b+1},(T,E)=>E):(x=Array.from({length:b},(T,E)=>E),x=x.sort((T,E)=>T-E)),u(x);const C=x.map(T=>t.steps[T]).filter(Boolean);r(C)},m=()=>{if(n)return console.log("loading idaes-extension-steps"),Le.jsx("div",{children:Le.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Le.jsx("div",{style:{padding:"10px",backgroundColor:"var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, 0.1))",border:"1px solid var(--vscode-inputValidation-errorBorder, red)",color:"var(--vscode-errorForeground, red)",borderRadius:"4px",marginTop:"15px"},children:Le.jsx("p",{style:{margin:0,fontWeight:"bold",whiteSpace:"pre-wrap"},children:i})});if(!t)return Le.jsx("div",{children:Le.jsx("p",{children:"Loading config data..."})});const v=Object.keys(t);if(!v.includes("steps"))return Le.jsxs("div",{children:[Le.jsx("h2",{children:"Steps Display"}),Le.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(v.includes("steps")&&v.length===0)return Le.jsxs("div",{children:[Le.jsx("h2",{children:"Step Display"}),Le.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(v.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((x,C)=>Le.jsxs("div",{className:`${Rs.step_selector_container}`,children:[Le.jsx("input",{type:"checkbox",id:`step_${C}`,className:`${Rs.step_selector_checkbox}`,checked:l.includes(C),onChange:T=>p(T,C)}),Le.jsx("label",{htmlFor:`${C}`,children:x})]},x+C))};return Kt.useEffect(()=>{console.log("Selected steps:",l)},[l]),Le.jsxs("div",{className:`${Rs.flowsheet_steps_main_container}`,children:[Le.jsxs("div",{style:{marginBottom:"20px"},children:[Le.jsx("label",{style:{display:"block",margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Flowsheet to inspect:"}),Le.jsxs("select",{className:Rs.dropdown_select,onChange:d,value:a?.find(v=>v.name===s)?.path||"",children:[Le.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),a?.map((v,b)=>Le.jsx("option",{value:v.path,children:v.name},b))]}),Le.jsx("p",{style:{margin:"5px 0 0 0",fontSize:"11px",color:"var(--vscode-descriptionForeground, #cccccc)",fontStyle:"italic"},children:"Open the flowsheet in editor to select"})]}),Le.jsxs("div",{className:Rs.python_env_container,children:[Le.jsx("label",{className:Rs.python_env_label,children:"Current Python:"}),Le.jsxs("select",{className:Rs.dropdown_select,onChange:f,value:o?.current?.path||"",children:[Le.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),o?.envs.map((v,b)=>Le.jsx("option",{value:v.path,children:v.label},b))]})]}),Le.jsx("p",{style:{margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Select Steps to Run:"}),Le.jsx("div",{className:`${Rs.steps_container}`,children:m()}),Le.jsxs("div",{style:{marginTop:"15px",display:"flex",flexDirection:"column",gap:"15px"},children:[Le.jsx(Tfe,{setShowConfig:e}),Le.jsx("div",{className:`${Rs.open_results_view_container}`,children:Le.jsx("button",{className:`${Rs.open_results_view_select}`,style:{width:"100%",padding:"8px",backgroundColor:"transparent",border:"1px solid var(--vscode-editor-foreground)",color:"var(--vscode-editor-foreground)",cursor:"pointer",borderRadius:"4px",display:"flex",justifyContent:"center",alignItems:"center",gap:"8px",backgroundImage:"none"},onClick:()=>h("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Cfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=Kt.useContext(Ra),[n,i]=Kt.useState(!1);return Kt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Le.jsxs(Le.Fragment,{children:[Le.jsxs("h2",{children:["Current Files is: ",e]}),Le.jsx("div",{style:{display:n?"block":"none"},children:Le.jsx(sfe,{setShowConfig:i})}),Le.jsx("div",{style:{display:n?"none":"block"},children:Le.jsx(wfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Sfe="_container_1qs3w_1",Efe="_controlBar_1qs3w_10",kfe="_searchBox_1qs3w_18",_fe="_actionGroup_1qs3w_42",Afe="_runCount_1qs3w_50",Lfe="_tableContainer_1qs3w_70",Rfe="_headerRow_1qs3w_76",Dfe="_dataRowContainer_1qs3w_89",Nfe="_dataRow_1qs3w_89",Mfe="_colStatus_1qs3w_119",Ofe="_colTime_1qs3w_124",Ife="_colTags_1qs3w_128",Bfe="_tagBadge_1qs3w_134",Pfe="_emptyMessage_1qs3w_143",Ffe="_cssTooltip_1qs3w_175",$fe="_colFlowsheet_1qs3w_211",zfe="_flowsheetText_1qs3w_216",qfe="_pathTooltip_1qs3w_225",Dn={container:Sfe,controlBar:Efe,searchBox:kfe,actionGroup:_fe,runCount:Afe,tableContainer:Lfe,headerRow:Rfe,dataRowContainer:Dfe,dataRow:Nfe,colStatus:Mfe,colTime:Ofe,colTags:Ife,tagBadge:Bfe,emptyMessage:Pfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Ffe,colFlowsheet:$fe,flowsheetText:zfe,pathTooltip:qfe};function Vfe(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function Gfe(){const{idaesHistoryList:t}=Kt.useContext(Ra),[e,r]=Kt.useState(""),n=Kt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Le.jsxs("div",{className:Dn.container,children:[Le.jsxs("div",{className:Dn.controlBar,children:[Le.jsx("input",{type:"text",className:Dn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Le.jsx("div",{className:Dn.actionGroup,children:Le.jsxs("span",{className:Dn.runCount,children:["Runs: ",n.length]})})]}),Le.jsxs("div",{className:Dn.tableContainer,children:[Le.jsxs("div",{className:Dn.headerRow,children:[Le.jsx("div",{className:Dn.colStatus,children:"Status"}),Le.jsx("div",{className:Dn.colTime,children:"Since"}),Le.jsx("div",{children:"Flowsheet"}),Le.jsx("div",{className:Dn.colTags,children:"Tags"})]}),Le.jsxs("div",{className:Dn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Le.jsxs("div",{className:Dn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Le.jsx("div",{className:Dn.colStatus,children:a.status?Le.jsx("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--success"]}`,children:"✓"}):Le.jsxs("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Le.jsx("span",{className:Dn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Le.jsx("div",{className:Dn.colTime,children:Vfe(a.created)}),Le.jsxs("div",{className:Dn.colFlowsheet,children:[Le.jsx("span",{className:Dn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Le.jsx("div",{className:Dn.pathTooltip,children:l})]}),Le.jsx("div",{className:Dn.colTags,children:Le.jsx("span",{className:Dn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Le.jsx("div",{className:Dn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Le.jsxs("div",{className:Dn.emptyMessage,children:[Le.jsx("div",{children:"No historical runs found across any flowsheet."}),Le.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Le.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function Ufe(){const[t,e]=Kt.useState("runFlowsheet"),r=n=>{e(n)};return Le.jsxs("div",{className:`${Rs.tree_app_container}`,children:[Le.jsxs("ul",{className:Rs.view_switch_container,children:[Le.jsx("li",{className:t==="runFlowsheet"?Rs.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Le.jsx("li",{className:t==="loadFlowsheet"?Rs.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Le.jsx(Cfe,{}),t==="loadFlowsheet"&&Le.jsx(Gfe,{})]})}function Hfe(){const[t,e]=Kt.useState(!1),{editorContent:r,activateFileName:n}=Kt.useContext(Ra),i=()=>{e(!t)};return Le.jsxs("div",{children:[Le.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Le.jsxs("div",{style:{display:t?"block":"none"},children:[Le.jsx("h1",{children:"Editor Page "}),Le.jsxs("h2",{children:["File: ",n]}),Le.jsx("pre",{children:r})]})]})}const Wfe="modulepreload",Yfe=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=Yfe(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":Wfe,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},Xfe=t3.exports,FF;function jfe(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(Xfe,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;R[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(L(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=L,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)jY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)jY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${sa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},Qfe={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:Zfe,unit:Qfe},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Ba={ALL:0,RGB:1,HSL:2};let Jfe=class{constructor(){this.type=Ba.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Ba.ALL}is(e){return this.type===e}};class e0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new Jfe}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Ba.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Ba.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Ba.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Ba.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Ba.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Ba.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Ba.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new e0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},jv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(jv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:jv,rgba:jv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||jv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Ba.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?jv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),t0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},r0e=t=>t0e(t)>=.5,ms=t=>!r0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},n0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,n0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:i0e,getPrototypeOf:a0e,getOwnPropertyDescriptor:s0e}=Object;let{freeze:hs,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;hs||(hs=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(i0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function d0e(t){for(let e=0;e/gm),y0e=Go(/\$\{[\w\W]*/gm),v0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),b0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),x0e=Go(/^(?:\w+script|data):/i),T0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),w0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:b0e,ATTR_WHITESPACE:T0e,CUSTOM_ELEMENT:w0e,DATA_ATTR:v0e,DOCTYPE_NAME:JY,ERB_EXPR:m0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:x0e,MUSTACHE_EXPR:g0e,TMPLIT_EXPR:y0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},C0e=function(){return typeof window>"u"?null:window},S0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function eX(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C0e();const e=vt=>eX(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:R,createNodeIterator:k,createDocumentFragment:L,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&R&&R.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let X=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let j=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Ae=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},Xe=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,X=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,Xe=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Ae=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,j=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Ae=!0),Ye&&(P=Fr({},GF),X=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(X,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(X,C6),Fr(X,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(X,C6),Fr(X,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(X,HF),Fr(X,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(X===Z&&(X=Il(X)),Fr(X,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=S0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));hs&&hs(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,...f0e]),St=Fr({},[...w6,...p0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Ae||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=R.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Ka(/<[/\w!]/g,Ne.innerHTML)&&Ka(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Ka(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt)))return!1;if(Ge&&!Xe[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Bn=v(_r[Qr],!0);Bn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Bn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Ka(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Ka(I,ft))){if(!(te&&Ka(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!X[ft]||Q[ft]){if(!(Ut(Ne)&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Ne)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ne))&&(j.attributeNameCheck instanceof RegExp&&Ka(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft,Ne))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Ka(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&c0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Ka(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Bn}=_r,_n=Qe(Cr),Jn=Bn;let Ur=Cr==="value"?Jn:u0e(Jn);if(Rt.attrName=_n,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(_n==="id"||_n==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Ka(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(_n==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Ka(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,_n,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,_n)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==Jn)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Bn=Qe(vt.nodeName);if(!P[Bn]||ee[Bn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Ae&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Ae?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Ae){if(me){ft.normalize();let Bn=ft.innerHTML;Jy([q,z,D],_n=>{Bn=Lp(Bn,_n," ")}),ft.innerHTML=Bn}if(Oe)for(_r=L.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(X.shadowroot||X.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Ka(JY,ft.ownerDocument.doctype.name)&&(Qr=" +`+Qr),me&&Jy([q,z,D],Bn=>{Qr=Lp(Qr,Bn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=o0e($[vt],Ne);return ft===-1?void 0:l0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=eX(),tX=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,E0e=/\s*%%.*\n/gm,Wg,rX=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tX,"").replace(E2,"").replace(E0e,` +`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rX(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nX(e,r,n)},"registerLazyLoadedDiagrams"),nX=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),k0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),ki=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,_0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),A0e=S(t=>{const e=new _0e;return e.calculate(t),e},"getThemeVariables"),Xg,L0e=(Xg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),R0e=S(t=>{const e=new L0e;return e.calculate(t),e},"getThemeVariables"),jg,D0e=(jg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),Hb=S(t=>{const e=new D0e;return e.calculate(t),e},"getThemeVariables"),Kg,N0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),M0e=S(t=>{const e=new N0e;return e.calculate(t),e},"getThemeVariables"),Zg,O0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),I0e=S(t=>{const e=new O0e;return e.calculate(t),e},"getThemeVariables"),Qg,B0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),P0e=S(t=>{const e=new B0e;return e.calculate(t),e},"getThemeVariables"),Jg,F0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),$0e=S(t=>{const e=new F0e;return e.calculate(t),e},"getThemeVariables"),e1,z0e=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),q0e=S(t=>{const e=new z0e;return e.calculate(t),e},"getThemeVariables"),t1,V0e=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),G0e=S(t=>{const e=new V0e;return e.calculate(t),e},"getThemeVariables"),r1,U0e=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),H0e=S(t=>{const e=new U0e;return e.calculate(t),e},"getThemeVariables"),n1,W0e=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),Y0e=S(t=>{const e=new W0e;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:A0e},dark:{getThemeVariables:R0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:M0e},neutral:{getThemeVariables:I0e},neo:{getThemeVariables:P0e},"neo-dark":{getThemeVariables:$0e},redux:{getThemeVariables:q0e},"redux-dark":{getThemeVariables:G0e},"redux-color":{getThemeVariables:H0e},"redux-dark-color":{getThemeVariables:Y0e}},eo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},iX={...eo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...eo.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...eo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...eo.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...eo.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...eo.pie,useWidth:984},xyChart:{...eo.xyChart,useWidth:void 0},requirement:{...eo.requirement,useWidth:void 0},packet:{...eo.packet},treeView:{...eo.treeView,useWidth:void 0},radar:{...eo.radar},ishikawa:{...eo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...eo.venn}},aX=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aX(t[n],"")]:[...r,e+n],[]),"keyify"),X0e=new Set(aX(iX,"")),Vr=iX,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!X0e.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=j0e(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),j0e=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ns=ki({},tm),d5,e0=[],k2=ki({},tm),gC=S((t,e)=>{let r=ki({},t),n={};for(const i of e)lX(i),n=ki(n,i);if(r=ki(r,n),n.theme&&n.theme in xu){const i=ki({},d5),a=ki(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uX(k2),k2},"updateCurrentConfig"),K0e=S(t=>(Ns=ki({},tm),Ns=ki(Ns,t),t.theme&&xu[t.theme]&&(Ns.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ns,e0),Ns),"setSiteConfig"),Z0e=S(t=>{d5=ki({},t)},"saveConfigFromInitialize"),Q0e=S(t=>(Ns=ki(Ns,t),gC(Ns,e0),Ns),"updateSiteConfig"),sX=S(()=>ki({},Ns),"getSiteConfig"),oX=S(t=>(uX(t),ki(k2,t),gr()),"setConfig"),gr=S(()=>ki({},k2),"getConfig"),lX=S(t=>{t&&(["secure",...Ns.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lX(t[e])}))},"sanitize"),J0e=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ns,e0)},"addDirective"),f5=S((t=Ns)=>{e0=[],gC(t,e0)},"reset"),epe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},XF={},cX=S(t=>{XF[t]||(oe.warn(epe[t]),XF[t]=!0)},"issueWarning"),uX=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cX("LAZY_LOAD_DEPRECATED")},"checkConfig"),tpe=S(()=>{let t={};d5&&(t=ki(t,d5));for(const e of e0)t=ki(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cX("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,rpe=S(t=>t?fX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),npe=(()=>{let t=!1;return()=>{t||(hX(),t=!0)}})();function hX(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hX,"setupDompurifyHooks");var dX=S(t=>(npe(),Qh.sanitize(t)),"removeScript"),jF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dX(t):r!=="loose"&&(t=fX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=ope(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(jF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(jF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),ipe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),ape=S(t=>Bm.test(t),"hasBreaks"),spe=S(t=>t.split(Bm),"splitBreaks"),ope=S(t=>t.replace(/#br#/g,"
"),"placeholderToBreak"),fX=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),lpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),cpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),upe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),hpe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Li=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),dpe=S(async(t,e)=>{if(!Li(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>F_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Li(i)?`
${i}
`:`
${i}
`).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await dpe(t,e),e),"renderKatexSanitized"),$t={getRows:rpe,sanitizeText:Jr,sanitizeTextOrArray:ipe,hasBreaks:ape,splitBreaks:spe,lineBreakRegex:Bm,removeScript:dX,getUrl:mC,evaluate:Pu,getMax:lpe,getMin:cpe},fpe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),ppe=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Gi=S(function(t,e,r,n){const i=ppe(e,r,n);fpe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Gi(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},gpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -130,44 +130,44 @@ Error generating stack: `+A.message+` } ${e} -`},"getStyles"),fpe=C((t,e)=>{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),ppe=dpe,yD={};fC(yD,{clear:()=>jn,getAccDescription:()=>ui,getAccTitle:()=>li,getDiagramTitle:()=>Kn,setAccDescription:()=>ci,setAccTitle:()=>Xn,setDiagramTitle:()=>oi});var vD="",bD="",xD="",TD=C(t=>Jr(t,gr()),"sanitizeText"),jn=C(()=>{vD="",xD="",bD=""},"clear"),Xn=C(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),li=C(()=>vD,"getAccTitle"),ci=C(t=>{xD=TD(t).replace(/\n\s+/g,` -`)},"setAccDescription"),ui=C(()=>xD,"getAccDescription"),oi=C(t=>{bD=TD(t)},"setDiagramTitle"),Kn=C(()=>bD,"getDiagramTitle"),ZF=oe,gpe=fD,Pe=gr,YA=oX,pX=tm,wD=C(t=>Jr(t,Pe()),"sanitizeText"),gX=Pm,mpe=C(()=>yD,"getCommonDb"),p5={},g5=C((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nX(t,r),fpe(t,e.styles),e.injectUtils?.(ZF,gpe,Pe,wD,gX,mpe(),()=>{})},"registerDiagram"),XA=C(t=>{if(t in p5)return p5[t];throw new ype(t)},"getDiagram"),i1,ype=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},C(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function vpe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===vpe?t:bpe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function bpe(){return 0}function xpe(t){return t===null?NaN:+t}const Tpe=CD(a3),wpe=Tpe.right;CD(xpe).center;class QF extends Map{constructor(e,r=Epe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(Cpe(this,e),r)}delete(e){return super.delete(Spe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function Cpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Spe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Epe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const kpe=Math.sqrt(50),_pe=Math.sqrt(10),Ape=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=kpe?10:a>=_pe?5:a>=Ape?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function Dpe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Npe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function Ppe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Fpe(){return!this.__axis}function mX(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?Ope:Ipe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Mpe),b=Math.max(a,0)+o,x=e.range(),S=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?Ppe:Bpe)(e.copy(),l),_=p.selection?p.selection():p,R=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),L=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(R=R.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),L=L.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),L.remove(),R.attr("d",t===G4||t===S6?s?"M"+u*s+","+S+"H"+l+"V"+T+"H"+u*s:"M"+l+","+S+"V"+T:s?"M"+S+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+S+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(Fpe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function $pe(t){return mX(s3,t)}function zpe(t){return mX(ZA,t)}var qpe={value:()=>{}};function yX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yX.prototype={constructor:o3,on:function(t,e){var r=this._,n=Vpe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function Upe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function Hpe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vX(t){var e=vC(t);return(e.local?Hpe:Upe)(e)}function Wpe(){}function SD(t){return t==null?Wpe:function(){return this.querySelector(t)}}function Ype(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=S+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function vge(t){t||(t=bge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function xge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Tge(){return Array.from(this)}function wge(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Mge:typeof e=="function"?Ige:Oge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||CX(t).getComputedStyle(t,null).getPropertyValue(e)}function Pge(t){return function(){delete this[t]}}function Fge(t,e){return function(){this[t]=e}}function $ge(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function zge(t,e){return arguments.length>1?this.each((e==null?Pge:typeof e=="function"?$ge:Fge)(t,e)):this.node()[t]}function SX(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new EX(t)}function EX(t){this._node=t,this._names=SX(t.getAttribute("class")||"")}EX.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kX(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function p1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=C1e.exec(t))?new qa(e[1],e[2],e[3],1):(e=S1e.exec(t))?new qa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=E1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=k1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=_1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=A1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new qa(NaN,NaN,NaN,0):null}function s$(t){return new qa(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new qa(t,e,r,n)}function RX(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new qa(t.r,t.g,t.b,t.opacity)):new qa}function JA(t,e,r,n){return arguments.length===1?RX(t):new qa(t,e,r,n??1)}function qa(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Xb(qa,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new qa(Xf(this.r),Xf(this.g),Xf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:D1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function D1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${Xf(this.r)}, ${Xf(this.g)}, ${Xf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Xf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Xf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ol(t,e,r,n)}function DX(t){if(t instanceof ol)return new ol(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ol;if(t instanceof ol)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ol(s,o,l,t.opacity)}function N1e(t,e,r,n){return arguments.length===1?DX(t):new ol(t,e,r,n??1)}function ol(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Xb(ol,N1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ol(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ol(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new qa(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ol(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const M1e=Math.PI/180,O1e=180/Math.PI,x5=18,NX=.96422,MX=1,OX=.82521,IX=4/29,Dg=6/29,BX=3*Dg*Dg,I1e=Dg*Dg*Dg;function PX(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return FX(t);t instanceof qa||(t=RX(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/MX),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/NX),s=k6((.0139322*e+.0971045*r+.7141733*n)/OX)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function B1e(t,e,r,n){return arguments.length===1?PX(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Xb(ec,B1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=NX*_6(e),t=MX*_6(t),r=OX*_6(r),new qa(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>I1e?Math.pow(t,1/3):t/BX+IX}function _6(t){return t>Dg?t*t*t:BX*(t-IX)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function P1e(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=PX(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $X(t,e){return function(r){return t+r*e}}function F1e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function $1e(t,e){var r=e-t;return r?$X(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function z1e(t){return(t=+t)==1?_2:function(e,r){return r-e?F1e(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$X(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=z1e(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function q1e(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:il(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:il(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:il(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:il(u,d)},{i:v-2,x:il(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{rme()}finally{nm=0,ime(),r0=0}}function nme(){var t=q2.now(),e=t-C5;e>GX&&(TC-=e,C5=t)}function ime(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(nme,GX)),nm=1,UX(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var ame=yX("start","end","cancel","interrupt"),sme=[],WX=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;ome(t,r,{name:e,index:n,group:i,on:ame,tween:sme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:WX})}function AD(t,e){var r=wl(t,e);if(r.state>WX)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=wl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function wl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function ome(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=HX(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function Fme(t,e,r){var n,i,a=Pme(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function $me(t,e){var r=this._id;return arguments.length<2?wl(this.node(),r).on.on(t):this.each(Fme(r,t,e))}function zme(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function qme(){return this.on("end.remove",zme(this._id))}function Vme(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return KX;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),S=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*S)))/2),E=T/S,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>fye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function mye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function yye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function vye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var bye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=bye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function xye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function Tye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:mye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:Tye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function wye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:yye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:vye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,S=d.width,T=d.comma,E=d.precision,_=d.trim,R=d.type;R==="n"?(T=!0,R="g"):y$[R]||(E===void 0&&(E=12),_=!0,R="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():""),L=(b==="$"?n:/[%p]/.test(R)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[R],F=/[defgprs%]/.test(R);E=E===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=L,I,N,B;if(R==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=xye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(R==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,ZX;Cye({thousands:",",grouping:[3],currency:["$",""]});function Cye(t){return Y4=wye(t),Of=Y4.format,ZX=Y4.formatPrefix,Y4}function Sye(t){return Math.max(0,-im(Math.abs(t)))}function Eye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function kye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function _ye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Aye(){return this.eachAfter(_ye)}function Lye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Rye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Dye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Oye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Iye(t){for(var e=this,r=Bye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function Bye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function Pye(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function Fye(){return Array.from(this)}function $ye(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function zye(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*qye(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(Wye)}function Vye(){return DD(this).eachBefore(Hye)}function Gye(t){return t.children}function Uye(t){return Array.isArray(t)?t[1]:null}function Hye(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Wye(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Aye,each:Lye,eachAfter:Dye,eachBefore:Rye,find:Nye,sum:Mye,sort:Oye,path:Iye,ancestors:Pye,descendants:Fye,leaves:$ye,links:zye,copy:Vye,[Symbol.iterator]:qye};function Yye(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function Xye(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function jye(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oS&&(S=u),R=b*b*_,T=Math.max(S/R,R/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(Zye);function eve(){var t=Jye,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(Xye),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function ive(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?ave:ive,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),il)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,rve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=X1e,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function JX(){return sve()(vg,vg)}function ove(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Eye(i,s))&&(n.precision=a),ZX(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=kye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=Sye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function lve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Lpe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return ove(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=jA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=JX();return t.copy=function(){return QX(t,am())},CC.apply(t,arguments),lve(t)}function cve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(ura(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=ra(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?ra(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,Fo=pu*60,gu=Fo*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=ra(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*Fo)},(t,e)=>(e-t)/Fo,t=>t.getMinutes());V2.range;const uve=ra(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Fo)},(t,e)=>(e-t)/Fo,t=>t.getUTCMinutes());uve.range;const G2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*Fo)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const hve=ra(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());hve.range;const n0=ra(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Fo)/Lu,t=>t.getDate()-1);n0.range;const MD=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const dve=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));dve.range;function A0(t){return ra(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*Fo)/ND)}const jb=A0(0),U2=A0(1),ej=A0(2),tj=A0(3),i0=A0(4),rj=A0(5),nj=A0(6);jb.range;U2.range;ej.range;tj.range;i0.range;rj.range;nj.range;function L0(t){return ra(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const ij=L0(0),L5=L0(1),fve=L0(2),pve=L0(3),om=L0(4),gve=L0(5),mve=L0(6);ij.range;L5.range;fve.range;pve.range;om.range;gve.range;mve.range;const H2=ra(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const yve=ra(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());yve.range;const Ru=ra(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=ra(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function vve(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,Fo],[a,5,5*Fo],[a,15,15*Fo],[a,30,30*Fo],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function L(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=S.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return L(te,e,ae,ie)}function I(te,ae,ie){return L(te,r,ae,ie)}function N(te,ae,ie){return L(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function X(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function j(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=R(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=R(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ua=/^\s*\d+/,wve=/^%/,Cve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Eve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function kve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function _ve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Ave(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Lve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ua.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Rve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Dve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Nve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Mve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Ove(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Ive(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Bve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Pve(t,e,r){var n=ua.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Fve(t,e,r){var n=wve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function $ve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function zve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function qve(t,e){return sn(t.getHours(),e,2)}function Vve(t,e){return sn(t.getHours()%12||12,e,2)}function Gve(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aj(t,e){return sn(t.getMilliseconds(),e,3)}function Uve(t,e){return aj(t,e)+"000"}function Hve(t,e){return sn(t.getMonth()+1,e,2)}function Wve(t,e){return sn(t.getMinutes(),e,2)}function Yve(t,e){return sn(t.getSeconds(),e,2)}function Xve(t){var e=t.getDay();return e===0?7:e}function jve(t,e){return sn(jb.count(Ru(t)-1,t),e,2)}function sj(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function Kve(t,e){return t=sj(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function Zve(t){return t.getDay()}function Qve(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function Jve(t,e){return sn(t.getFullYear()%100,e,2)}function e2e(t,e){return t=sj(t),sn(t.getFullYear()%100,e,2)}function t2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function r2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function n2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function i2e(t,e){return sn(t.getUTCHours(),e,2)}function a2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function s2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oj(t,e){return sn(t.getUTCMilliseconds(),e,3)}function o2e(t,e){return oj(t,e)+"000"}function l2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function c2e(t,e){return sn(t.getUTCMinutes(),e,2)}function u2e(t,e){return sn(t.getUTCSeconds(),e,2)}function h2e(t){var e=t.getUTCDay();return e===0?7:e}function d2e(t,e){return sn(ij.count(a0(t)-1,t),e,2)}function lj(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function f2e(t,e){return t=lj(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function p2e(t){return t.getUTCDay()}function g2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function m2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function y2e(t,e){return t=lj(t),sn(t.getUTCFullYear()%100,e,2)}function v2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function b2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function x2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;T2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function T2e(t){return Rp=Tve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function w2e(t){return new Date(t)}function C2e(t){return t instanceof Date?+t:+new Date(+t)}function cj(t,e,r,n,i,a,s,o,l,u){var h=JX(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),S=u("%b %d"),T=u("%B"),E=u("%Y");function _(R){return(l(R)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uj(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new gye(e)}function L2e(t){return t.innerRadius}function R2e(t){return t.outerRadius}function D2e(t){return t.startAngle}function N2e(t){return t.endAngle}function M2e(t){return t&&t.padAngle}function O2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(L=F,O=$),{cx:L,cy:O,x01:-h,y01:-d,x11:L*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=L2e,e=R2e,r=Ei(0),n=null,i=D2e,a=N2e,s=M2e,o=null,l=uj(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pPa))o.moveTo(0,0);else if(b>u3-Pa)o.moveTo(p*Qd(m),p*Ll(m)),o.arc(0,0,p,m,v,!x),f>Pa&&(o.moveTo(f*Qd(v),f*Ll(v)),o.arc(0,0,f,v,m,x));else{var S=m,T=v,E=m,_=v,R=b,k=b,L=s.apply(this,arguments)/2,O=L>Pa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Pa){var I=I$(O/f*Ll(L)),N=I$(O/p*Ll(L));(R-=I*2)>Pa?(I*=x?1:-1,E+=I,_-=I):(R=0,E=_=(m+v)/2),(k-=N*2)>Pa?(N*=x?1:-1,S+=N,T-=N):(k=0,S=T=(m+v)/2)}var B=p*Qd(S),M=p*Ll(S),V=f*Qd(_),U=f*Ll(_);if(F>Pa){var P=p*Qd(T),H=p*Ll(T),X=f*Qd(E),Z=f*Ll(E),j;if(bPa?q>Pa?(z=X4(X,Z,B,M,p,q,x),D=X4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qPa)||!(R>Pa)?o.lineTo(V,U):$>Pa?(z=X4(V,U,P,H,f,-$,x),D=X4(B,M,X,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function F2e(t){return t}function $2e(){var t=F2e,e=P2e,r=null,n=Ei(0),i=Ei(u3),a=Ei(0);function s(o){var l,u=(o=hj(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,S=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=S*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,R){return e(m[_],m[R])}):r!=null&&p.sort(function(_,R){return r(o[_],o[R])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:S};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:Ei(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ei(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ei(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:Ei(+o),s):a},s}class fj{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pj(t){return new fj(t,!0)}function gj(t){return new fj(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function X2(t){return new SC(t)}function mj(t){this._context=t}mj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function z2e(t){return new mj(t)}function yj(t){this._context=t}yj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function q2e(t){return new yj(t)}function vj(t,e){this._basis=new SC(t),this._beta=e}vj.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const V2e=(function t(e){function r(n){return e===1?new SC(n):new vj(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bj=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const G2e=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const U2e=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Pa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Pa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xj(t,e){this._context=t,this._alpha=e}xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Tj=(function t(e){function r(n){return e?new xj(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wj(t,e){this._context=t,this._alpha=e}wj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const H2e=(function t(e){function r(n){return e?new wj(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Cj(t,e){this._context=t,this._alpha=e}Cj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const W2e=(function t(e){function r(n){return e?new Cj(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Sj(t){this._context=t}Sj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Y2e(t){return new Sj(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function Ej(t){this._context=new kj(t)}(Ej.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kj(t){this._context=t}kj.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _j(t){return new O5(t)}function Aj(t){return new Ej(t)}function Lj(t){this._context=t}Lj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Dj(t){return new EC(t,.5)}function Nj(t){return new EC(t,0)}function Mj(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Vs=C(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}C(FD,"isNothing");function Oj(t){return typeof t=="object"&&t!==null}C(Oj,"isObject");function Ij(t){return Array.isArray(t)?t:FD(t)?[]:[t]}C(Ij,"toArray");function Bj(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;r{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),ype=gpe,yD={};fC(yD,{clear:()=>jn,getAccDescription:()=>ui,getAccTitle:()=>li,getDiagramTitle:()=>Kn,setAccDescription:()=>ci,setAccTitle:()=>Xn,setDiagramTitle:()=>oi});var vD="",bD="",xD="",TD=S(t=>Jr(t,gr()),"sanitizeText"),jn=S(()=>{vD="",xD="",bD=""},"clear"),Xn=S(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),li=S(()=>vD,"getAccTitle"),ci=S(t=>{xD=TD(t).replace(/\n\s+/g,` +`)},"setAccDescription"),ui=S(()=>xD,"getAccDescription"),oi=S(t=>{bD=TD(t)},"setDiagramTitle"),Kn=S(()=>bD,"getDiagramTitle"),ZF=oe,vpe=fD,Pe=gr,YA=oX,pX=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gX=Pm,bpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nX(t,r),mpe(t,e.styles),e.injectUtils?.(ZF,vpe,Pe,wD,gX,bpe(),()=>{})},"registerDiagram"),XA=S(t=>{if(t in p5)return p5[t];throw new xpe(t)},"getDiagram"),i1,xpe=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Tpe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Tpe?t:wpe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function wpe(){return 0}function Cpe(t){return t===null?NaN:+t}const Spe=CD(a3),Epe=Spe.right;CD(Cpe).center;class QF extends Map{constructor(e,r=Ape){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(kpe(this,e),r)}delete(e){return super.delete(_pe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function kpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function _pe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Ape(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Lpe=Math.sqrt(50),Rpe=Math.sqrt(10),Dpe=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Lpe?10:a>=Rpe?5:a>=Dpe?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function Ope(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Ipe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function zpe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function qpe(){return!this.__axis}function mX(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?Ppe:Fpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Bpe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?zpe:$pe)(e.copy(),l),_=p.selection?p.selection():p,R=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),L=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(R=R.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),L=L.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),L.remove(),R.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(qpe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function Vpe(t){return mX(s3,t)}function Gpe(t){return mX(ZA,t)}var Upe={value:()=>{}};function yX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yX.prototype={constructor:o3,on:function(t,e){var r=this._,n=Hpe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function Ype(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function Xpe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vX(t){var e=vC(t);return(e.local?Xpe:Ype)(e)}function jpe(){}function SD(t){return t==null?jpe:function(){return this.querySelector(t)}}function Kpe(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Tge(t){t||(t=wge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function Cge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Sge(){return Array.from(this)}function Ege(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Bge:typeof e=="function"?Fge:Pge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||CX(t).getComputedStyle(t,null).getPropertyValue(e)}function zge(t){return function(){delete this[t]}}function qge(t,e){return function(){this[t]=e}}function Vge(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Gge(t,e){return arguments.length>1?this.each((e==null?zge:typeof e=="function"?Vge:qge)(t,e)):this.node()[t]}function SX(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new EX(t)}function EX(t){this._node=t,this._names=SX(t.getAttribute("class")||"")}EX.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kX(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function y1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=k1e.exec(t))?new qa(e[1],e[2],e[3],1):(e=_1e.exec(t))?new qa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=A1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=L1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=R1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=D1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new qa(NaN,NaN,NaN,0):null}function s$(t){return new qa(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new qa(t,e,r,n)}function RX(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new qa(t.r,t.g,t.b,t.opacity)):new qa}function JA(t,e,r,n){return arguments.length===1?RX(t):new qa(t,e,r,n??1)}function qa(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Xb(qa,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new qa(Xf(this.r),Xf(this.g),Xf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:O1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function O1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${Xf(this.r)}, ${Xf(this.g)}, ${Xf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Xf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Xf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function DX(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function I1e(t,e,r,n){return arguments.length===1?DX(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Xb(ll,I1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new qa(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const B1e=Math.PI/180,P1e=180/Math.PI,x5=18,NX=.96422,MX=1,OX=.82521,IX=4/29,Dg=6/29,BX=3*Dg*Dg,F1e=Dg*Dg*Dg;function PX(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return FX(t);t instanceof qa||(t=RX(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/MX),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/NX),s=k6((.0139322*e+.0971045*r+.7141733*n)/OX)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function $1e(t,e,r,n){return arguments.length===1?PX(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Xb(ec,$1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=NX*_6(e),t=MX*_6(t),r=OX*_6(r),new qa(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>F1e?Math.pow(t,1/3):t/BX+IX}function _6(t){return t>Dg?t*t*t:BX*(t-IX)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function z1e(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=PX(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $X(t,e){return function(r){return t+r*e}}function q1e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function V1e(t,e){var r=e-t;return r?$X(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function G1e(t){return(t=+t)==1?_2:function(e,r){return r-e?q1e(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$X(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=G1e(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function U1e(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{ame()}finally{nm=0,ome(),r0=0}}function sme(){var t=q2.now(),e=t-C5;e>GX&&(TC-=e,C5=t)}function ome(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(sme,GX)),nm=1,UX(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var lme=yX("start","end","cancel","interrupt"),cme=[],WX=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;ume(t,r,{name:e,index:n,group:i,on:lme,tween:cme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:WX})}function AD(t,e){var r=Sl(t,e);if(r.state>WX)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function ume(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=HX(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function qme(t,e,r){var n,i,a=zme(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function Vme(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(qme(r,t,e))}function Gme(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Ume(){return this.on("end.remove",Gme(this._id))}function Hme(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return KX;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>mye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function bye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function xye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Tye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var wye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=wye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Cye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function Sye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:bye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:Sye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Eye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:xye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Tye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,R=d.type;R==="n"?(T=!0,R="g"):y$[R]||(E===void 0&&(E=12),_=!0,R="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():""),L=(b==="$"?n:/[%p]/.test(R)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[R],F=/[defgprs%]/.test(R);E=E===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=L,I,N,B;if(R==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=Cye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(R==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,ZX;kye({thousands:",",grouping:[3],currency:["$",""]});function kye(t){return Y4=Eye(t),Of=Y4.format,ZX=Y4.formatPrefix,Y4}function _ye(t){return Math.max(0,-im(Math.abs(t)))}function Aye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function Lye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function Rye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Dye(){return this.eachAfter(Rye)}function Nye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Mye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Oye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Pye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Fye(t){for(var e=this,r=$ye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function $ye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function zye(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function qye(){return Array.from(this)}function Vye(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Gye(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*Uye(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(jye)}function Hye(){return DD(this).eachBefore(Xye)}function Wye(t){return t.children}function Yye(t){return Array.isArray(t)?t[1]:null}function Xye(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function jye(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Dye,each:Nye,eachAfter:Oye,eachBefore:Mye,find:Iye,sum:Bye,sort:Pye,path:Fye,ancestors:zye,descendants:qye,leaves:Vye,links:Gye,copy:Hye,[Symbol.iterator]:Uye};function Kye(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function Zye(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Qye(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),R=b*b*_,T=Math.max(C/R,R/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(eve);function nve(){var t=rve,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(Zye),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function ove(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?lve:ove,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,ave),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=Z1e,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function JX(){return cve()(vg,vg)}function uve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Aye(i,s))&&(n.precision=a),ZX(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Lye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=_ye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function hve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Npe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return uve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=jA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=JX();return t.copy=function(){return QX(t,am())},CC.apply(t,arguments),hve(t)}function dve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(ura(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=ra(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?ra(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=ra(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const fve=ra(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());fve.range;const G2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const pve=ra(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());pve.range;const n0=ra(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const gve=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));gve.range;function A0(t){return ra(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const jb=A0(0),U2=A0(1),ej=A0(2),tj=A0(3),i0=A0(4),rj=A0(5),nj=A0(6);jb.range;U2.range;ej.range;tj.range;i0.range;rj.range;nj.range;function L0(t){return ra(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const ij=L0(0),L5=L0(1),mve=L0(2),yve=L0(3),om=L0(4),vve=L0(5),bve=L0(6);ij.range;L5.range;mve.range;yve.range;om.range;vve.range;bve.range;const H2=ra(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const xve=ra(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());xve.range;const Ru=ra(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=ra(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Tve(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function L(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return L(te,e,ae,ie)}function I(te,ae,ie){return L(te,r,ae,ie)}function N(te,ae,ie){return L(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function X(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function j(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=R(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=R(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ua=/^\s*\d+/,Eve=/^%/,kve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Ave(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Lve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Rve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Dve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Nve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ua.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Mve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Ove(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Ive(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Bve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Pve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Fve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function $ve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function zve(t,e,r){var n=ua.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function qve(t,e,r){var n=Eve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Vve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function Uve(t,e){return sn(t.getHours(),e,2)}function Hve(t,e){return sn(t.getHours()%12||12,e,2)}function Wve(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aj(t,e){return sn(t.getMilliseconds(),e,3)}function Yve(t,e){return aj(t,e)+"000"}function Xve(t,e){return sn(t.getMonth()+1,e,2)}function jve(t,e){return sn(t.getMinutes(),e,2)}function Kve(t,e){return sn(t.getSeconds(),e,2)}function Zve(t){var e=t.getDay();return e===0?7:e}function Qve(t,e){return sn(jb.count(Ru(t)-1,t),e,2)}function sj(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function Jve(t,e){return t=sj(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function e2e(t){return t.getDay()}function t2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function r2e(t,e){return sn(t.getFullYear()%100,e,2)}function n2e(t,e){return t=sj(t),sn(t.getFullYear()%100,e,2)}function i2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function a2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function s2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function o2e(t,e){return sn(t.getUTCHours(),e,2)}function l2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function c2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oj(t,e){return sn(t.getUTCMilliseconds(),e,3)}function u2e(t,e){return oj(t,e)+"000"}function h2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function d2e(t,e){return sn(t.getUTCMinutes(),e,2)}function f2e(t,e){return sn(t.getUTCSeconds(),e,2)}function p2e(t){var e=t.getUTCDay();return e===0?7:e}function g2e(t,e){return sn(ij.count(a0(t)-1,t),e,2)}function lj(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function m2e(t,e){return t=lj(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function y2e(t){return t.getUTCDay()}function v2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function b2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function x2e(t,e){return t=lj(t),sn(t.getUTCFullYear()%100,e,2)}function T2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function w2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function C2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;S2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function S2e(t){return Rp=Sve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function E2e(t){return new Date(t)}function k2e(t){return t instanceof Date?+t:+new Date(+t)}function cj(t,e,r,n,i,a,s,o,l,u){var h=JX(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(R){return(l(R)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uj(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new vye(e)}function N2e(t){return t.innerRadius}function M2e(t){return t.outerRadius}function O2e(t){return t.startAngle}function I2e(t){return t.endAngle}function B2e(t){return t&&t.padAngle}function P2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(L=F,O=$),{cx:L,cy:O,x01:-h,y01:-d,x11:L*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=N2e,e=M2e,r=Ei(0),n=null,i=O2e,a=I2e,s=B2e,o=null,l=uj(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pPa))o.moveTo(0,0);else if(b>u3-Pa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Pa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,R=b,k=b,L=s.apply(this,arguments)/2,O=L>Pa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Pa){var I=I$(O/f*Dl(L)),N=I$(O/p*Dl(L));(R-=I*2)>Pa?(I*=x?1:-1,E+=I,_-=I):(R=0,E=_=(m+v)/2),(k-=N*2)>Pa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Pa){var P=p*Qd(T),H=p*Dl(T),X=f*Qd(E),Z=f*Dl(E),j;if(bPa?q>Pa?(z=X4(X,Z,B,M,p,q,x),D=X4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qPa)||!(R>Pa)?o.lineTo(V,U):$>Pa?(z=X4(V,U,P,H,f,-$,x),D=X4(B,M,X,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function q2e(t){return t}function V2e(){var t=q2e,e=z2e,r=null,n=Ei(0),i=Ei(u3),a=Ei(0);function s(o){var l,u=(o=hj(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,R){return e(m[_],m[R])}):r!=null&&p.sort(function(_,R){return r(o[_],o[R])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:Ei(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ei(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ei(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:Ei(+o),s):a},s}class fj{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pj(t){return new fj(t,!0)}function gj(t){return new fj(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function X2(t){return new SC(t)}function mj(t){this._context=t}mj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function G2e(t){return new mj(t)}function yj(t){this._context=t}yj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function U2e(t){return new yj(t)}function vj(t,e){this._basis=new SC(t),this._beta=e}vj.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const H2e=(function t(e){function r(n){return e===1?new SC(n):new vj(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bj=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const W2e=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Y2e=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Pa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Pa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xj(t,e){this._context=t,this._alpha=e}xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Tj=(function t(e){function r(n){return e?new xj(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wj(t,e){this._context=t,this._alpha=e}wj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const X2e=(function t(e){function r(n){return e?new wj(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Cj(t,e){this._context=t,this._alpha=e}Cj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const j2e=(function t(e){function r(n){return e?new Cj(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Sj(t){this._context=t}Sj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function K2e(t){return new Sj(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function Ej(t){this._context=new kj(t)}(Ej.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kj(t){this._context=t}kj.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _j(t){return new O5(t)}function Aj(t){return new Ej(t)}function Lj(t){this._context=t}Lj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Dj(t){return new EC(t,.5)}function Nj(t){return new EC(t,0)}function Mj(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Gs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function Oj(t){return typeof t=="object"&&t!==null}S(Oj,"isObject");function Ij(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(Ij,"toArray");function Bj(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;ro&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}C(h3,"getLine");function d3(t,e){return Zi.repeat(" ",e-t.length)+t}C(d3,"padStart");function $j(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Zi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` +`+t.mark.snippet),n+" "+r):n}S($D,"formatError");function cm(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=$D(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}S(cm,"YAMLException$1");cm.prototype=Object.create(Error.prototype);cm.prototype.constructor=cm;cm.prototype.toString=S(function(e){return this.name+": "+$D(this,e)},"toString");var Is=cm;function h3(t,e,r,n,i){var a="",s="",o=Math.floor(i/2)-1;return n-e>o&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(h3,"getLine");function d3(t,e){return Zi.repeat(" ",e-t.length)+t}S(d3,"padStart");function $j(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Zi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` `+o;for(u=h3(t.buffer,n[s],i[s],t.position,d),o+=Zi.repeat(" ",e.indent)+d3((t.line+1).toString(),h)+" | "+u.str+` `,o+=Zi.repeat("-",e.indent+h+3+u.pos)+`^ `,l=1;l<=e.linesAfter&&!(s+l>=i.length);l++)u=h3(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),d),o+=Zi.repeat(" ",e.indent)+d3((t.line+l+1).toString(),h)+" | "+u.str+` -`;return o.replace(/\n$/,"")}C($j,"makeSnippet");var ebe=$j,tbe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],rbe=["scalar","sequence","mapping"];function zj(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}C(zj,"compileStyleAliases");function qj(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(tbe.indexOf(r)===-1)throw new Os('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=zj(e.styleAliases||null),rbe.indexOf(this.kind)===-1)throw new Os('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}C(qj,"Type$1");var Va=qj;function u8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}C(u8,"compileList");function Vj(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(C(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:C(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:C(function(t){return t.toString(10)},"decimal"),hexadecimal:C(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),hbe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!hbe.test(t)||t[t.length-1]==="_")}C(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}C(rK,"constructYamlFloat");var dbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Zi.isNegativeZero(t))return"-0.0";return r=t.toString(10),dbe.test(r)?r.replace("e",".e"):r}C(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Zi.isNegativeZero(t))}C(iK,"isFloat");var fbe=new Va("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=obe.extend({implicit:[lbe,cbe,ube,fbe]}),pbe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}C(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}C(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}C(uK,"representYamlTimestamp");var gbe=new Va("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}C(hK,"resolveYamlMerge");var mbe=new Va("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}C(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}C(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}C(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}C(gK,"isBinary");var ybe=new Va("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),vbe=Object.prototype.hasOwnProperty,bbe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}C(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}C(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}C(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=ebe(r),new Os(e,r)}C(VD,"generateError");function hr(t,e){throw VD(t,e)}C(hr,"throwError");function j2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}C(j2,"throwWarning");var q$={YAML:C(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&j2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:C(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Zi.repeat(` -`,e-1))}C(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),ss(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),ss(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),ss(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),ss(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(dl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,_i(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}C(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else dl(r)?(Tu(t,n,i,!0),_C(t,_i(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}C(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),dl(o))_i(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else dl(o)?(Tu(t,r,n,!0),_C(t,_i(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}C(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,S;if(S=t.input.charCodeAt(t.position),S===91)h=93,p=!1,o=[];else if(S===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),S=t.input.charCodeAt(++t.position);S!==0;){if(_i(t,!0,e),S=t.input.charCodeAt(t.position),S===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?S===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,S===63&&(u=t.input.charCodeAt(t.position+1),ss(u)&&(d=f=!0,t.position++,_i(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,_i(t,!0,e),S=t.input.charCodeAt(t.position),(f||t.line===n)&&S===58&&(d=!0,S=t.input.charCodeAt(++t.position),_i(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),_i(t,!0,e),S=t.input.charCodeAt(t.position),S===44?(r=!0,S=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}C(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Ebe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!dl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),dl(d)){l++;continue}if(t.lineIndent=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),pbe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!pbe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var gbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Zi.isNegativeZero(t))return"-0.0";return r=t.toString(10),gbe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Zi.isNegativeZero(t))}S(iK,"isFloat");var mbe=new Va("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=ube.extend({implicit:[hbe,dbe,fbe,mbe]}),ybe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var vbe=new Va("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var bbe=new Va("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(gK,"isBinary");var xbe=new Va("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),Tbe=Object.prototype.hasOwnProperty,wbe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=nbe(r),new Is(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function j2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(j2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&j2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Zi.repeat(` +`,e-1))}S(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),ss(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),ss(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),ss(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),ss(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(pl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,_i(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else pl(r)?(Tu(t,n,i,!0),_C(t,_i(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),pl(o))_i(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else pl(o)?(Tu(t,r,n,!0),_C(t,_i(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(_i(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),ss(u)&&(d=f=!0,t.position++,_i(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,_i(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),_i(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),_i(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Abe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!pl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),pl(d)){l++;continue}if(t.lineIndente)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),_i(t,!0,-1),S=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&S!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}C(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(_i(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!ss(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!dl(s));break}if(dl(s))break;for(r=t.position;s!==0&&!ss(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):j2(t,'unknown document directive "'+n+'"')}if(_i(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,_i(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),_i(t,!0,-1),t.checkLineBreaks&&_be.test(t.input.slice(e,t.position))&&j2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,_i(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;ie)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),_i(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(_i(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!ss(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!pl(s));break}if(pl(s))break;for(r=t.position;s!==0&&!ss(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):j2(t,'unknown document directive "'+n+'"')}if(_i(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,_i(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),_i(t,!0,-1),t.checkLineBreaks&&Rbe.test(t.input.slice(e,t.position))&&j2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,_i(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}C(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}C(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}C(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(Xbe.indexOf(e)!==-1||jbe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(C(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Os("impossible error: invalid scalar style")}})()}C(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` +`&&(a+=r),a+=s;return a}S(m8,"indentString");function $5(t,e){return` +`+Zi.repeat(" ",t.indent*e)}S($5,"generateNextLine");function tZ(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(Zbe.indexOf(e)!==-1||Qbe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Is("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` -`}C(x8,"blockHeader");function T8(t){return t[t.length-1]===` -`?t.slice(0,-1):t}C(T8,"dropEndingNewline");function cZ(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var u=t.indexOf(` +`}S(x8,"blockHeader");function T8(t){return t[t.length-1]===` +`?t.slice(0,-1):t}S(T8,"dropEndingNewline");function cZ(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var u=t.indexOf(` `);return u=u!==-1?u:t.length,r.lastIndex=u,w8(t.slice(0,u),e)})(),i=t[0]===` `||t[0]===" ",a,s;s=r.exec(t);){var o=s[1],l=s[2];a=l[0]===" ",n+=o+(!i&&!a&&l!==""?` -`:"")+w8(l,e),i=a}return n}C(cZ,"foldString");function w8(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=` +`:"")+w8(l,e),i=a}return n}S(cZ,"foldString");function w8(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=` `+t.slice(i,a),i=a+1),s=o;return l+=` `,t.length-i>e&&s>i?l+=t.slice(i,s)+` -`+t.slice(s+1):l+=t.slice(i),l.slice(1)}C(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Wa[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}C(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}C(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}C(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}C(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Os("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}C(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}C(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Os("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}C(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),Fa={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Hn(t),e=Hn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}C(e2,"calculateDeltaAndAngle");var Hn=C(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=C(t=>({x:C(function(e,r,n){let i=0;const a=Hn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),o=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),l=Math.abs(Hn(e).x-Hn(n[0]).x),u=Math.abs(Hn(e).y-Hn(n[0]).y),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),o=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),l=Math.abs(Hn(e).y-Hn(n[0]).y),u=Math.abs(Hn(e).x-Hn(n[0]).x),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return j4}var R0=exe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,txe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||txe||Function("return this")(),Go=uc.Symbol,yZ=Object.prototype,rxe=yZ.hasOwnProperty,nxe=yZ.toString,uv=Go?Go.toStringTag:void 0;function ixe(t){var e=rxe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=nxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var axe=Object.prototype,sxe=axe.toString;function oxe(t){return sxe.call(t)}var lxe="[object Null]",cxe="[object Undefined]",H$=Go?Go.toStringTag:void 0;function D0(t){return t==null?t===void 0?cxe:lxe:H$&&H$ in Object(t)?ixe(t):oxe(t)}function fo(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var uxe="[object AsyncFunction]",hxe="[object Function]",dxe="[object GeneratorFunction]",fxe="[object Proxy]";function J2(t){if(!fo(t))return!1;var e=D0(t);return e==hxe||e==dxe||e==uxe||e==fxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function pxe(t){return!!W$&&W$ in t}var gxe=Function.prototype,mxe=gxe.toString;function N0(t){if(t!=null){try{return mxe.call(t)}catch{}try{return t+""}catch{}}return""}var yxe=/[\\^$.*+?()[\]{}|]/g,vxe=/^\[object .+?Constructor\]$/,bxe=Function.prototype,xxe=Object.prototype,Txe=bxe.toString,wxe=xxe.hasOwnProperty,Cxe=RegExp("^"+Txe.call(wxe).replace(yxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Sxe(t){if(!fo(t)||pxe(t))return!1;var e=J2(t)?Cxe:vxe;return e.test(N0(t))}function Exe(t,e){return t?.[e]}function M0(t,e){var r=Exe(t,e);return Sxe(r)?r:void 0}var eb=M0(Object,"create");function kxe(){this.__data__=eb?eb(null):{},this.size=0}function _xe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Axe="__lodash_hash_undefined__",Lxe=Object.prototype,Rxe=Lxe.hasOwnProperty;function Dxe(t){var e=this.__data__;if(eb){var r=e[t];return r===Axe?void 0:r}return Rxe.call(e,t)?e[t]:void 0}var Nxe=Object.prototype,Mxe=Nxe.hasOwnProperty;function Oxe(t){var e=this.__data__;return eb?e[t]!==void 0:Mxe.call(e,t)}var Ixe="__lodash_hash_undefined__";function Bxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?Ixe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function Gxe(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=u4e}function vd(t){return t!=null&&jD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function h4e(){return!1}var kZ=typeof oo=="object"&&oo&&!oo.nodeType&&oo,Q$=kZ&&typeof lo=="object"&&lo&&!lo.nodeType&&lo,d4e=Q$&&Q$.exports===kZ,J$=d4e?uc.Buffer:void 0,f4e=J$?J$.isBuffer:void 0,dm=f4e||h4e,p4e="[object Object]",g4e=Function.prototype,m4e=Object.prototype,_Z=g4e.toString,y4e=m4e.hasOwnProperty,v4e=_Z.call(Object);function b4e(t){if(!nc(t)||D0(t)!=p4e)return!1;var e=XD(t);if(e===null)return!0;var r=y4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==v4e}var x4e="[object Arguments]",T4e="[object Array]",w4e="[object Boolean]",C4e="[object Date]",S4e="[object Error]",E4e="[object Function]",k4e="[object Map]",_4e="[object Number]",A4e="[object Object]",L4e="[object RegExp]",R4e="[object Set]",D4e="[object String]",N4e="[object WeakMap]",M4e="[object ArrayBuffer]",O4e="[object DataView]",I4e="[object Float32Array]",B4e="[object Float64Array]",P4e="[object Int8Array]",F4e="[object Int16Array]",$4e="[object Int32Array]",z4e="[object Uint8Array]",q4e="[object Uint8ClampedArray]",V4e="[object Uint16Array]",G4e="[object Uint32Array]",$n={};$n[I4e]=$n[B4e]=$n[P4e]=$n[F4e]=$n[$4e]=$n[z4e]=$n[q4e]=$n[V4e]=$n[G4e]=!0;$n[x4e]=$n[T4e]=$n[M4e]=$n[w4e]=$n[O4e]=$n[C4e]=$n[S4e]=$n[E4e]=$n[k4e]=$n[_4e]=$n[A4e]=$n[L4e]=$n[R4e]=$n[D4e]=$n[N4e]=!1;function U4e(t){return nc(t)&&jD(t.length)&&!!$n[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof oo=="object"&&oo&&!oo.nodeType&&oo,L2=AZ&&typeof lo=="object"&&lo&&!lo.nodeType&&lo,H4e=L2&&L2.exports===AZ,z6=H4e&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):U4e;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var W4e=Object.prototype,Y4e=W4e.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(Y4e.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=oTe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=uTe(sTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!fo(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function hTe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=ki(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=C(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${fTe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),gTe=C(function(t){return t.replace(E2,"")},"removeDirectives"),mTe=C(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return dTe[r]??e}C(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}C(IZ,"formatUrl");var yTe=C((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}C(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}C(PZ,"calcLabelPosition");var rz=C((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=C((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),vTe=C((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}C(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}C(JD,"getStylesFromArray");var nz=0,$Z=C(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),bTe=C(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),xTe=C(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=cs(`${s} `,r),u=cs(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=TTe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),TTe=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(cs(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}C(U5,"calculateTextHeight");function cs(t,e){return eN(t,e).width}C(cs,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=bTe();b.text=v||MZ;const x=xTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),S=(x._groups||x)[0][0].getBBox();if(S.width===0&&S.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,S.width)),p=Math.round(S.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,wTe=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},C(a1,"InitIDGenerator"),a1),K4,CTe=C(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}C(tN,"isDetailedError");var STe=C((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=C(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function Ji(t,e){return G5({},t,e)}C(Ji,"cleanAndMerge");var Lr={assignWithDepth:ki,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:cs,calculateTextDimensions:eN,cleanAndMerge:Ji,detectInit:pTe,detectDirective:OZ,isSubstringInArray:mTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:vTe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:yTe,entityDecode:CTe,insertTitle:STe,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:wTe},ETe=C(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=C(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=C((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function oa(t){return t??null}C(oa,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}C(GZ,"isLabelCoordinateInPath");var Qb=C(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}C(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}C(rN,"configureLabelImages");var kTe=C(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=C(t=>{const e=_Te([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),_Te=C(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=C(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=C(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=C((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:ATe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),ATe=C(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const LTe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...LTe,...H5}),RTe=Object.freeze({...UZ,body:"",hidden:!1}),DTe=Object.freeze({width:null,height:null}),NTe=Object.freeze({...DTe,...H5}),MTe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function OTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=OTe(t,e);for(const n in RTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function ITe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function BTe(t,e){if(t.icons[e])return az(t,e,[]);const r=ITe(t,[e])[e];return r?az(t,e,r):null}const PTe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,FTe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(PTe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=FTe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function $Te(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function zTe(t,e){return t?""+t+""+e:e}function qTe(t,e,r){const n=$Te(t);return zTe(n.defs,e+n.content+r)}const VTe=t=>t==="unset"||t==="undefined"||t==="none";function GTe(t,e){const r={...UZ,...t},n={...NTe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,S=v.vFlip;let T=v.rotate;x?S?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):S&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=qTe(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{VTe(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const UTe=/\sid="(\S+)"/g,oz=new Map;function HTe(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function WTe(t){const e=[];let r;for(;r=UTe.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=HTe(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function YTe(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(os.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var XTe=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},jTe=/^(?:[ \t]*(?:\n|$))+/,KTe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,ZTe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,QTe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),JTe=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,e3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,t3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),r3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,n3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),i3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XZ).getRegex(),cN={blockquote:i3e,code:KTe,def:t3e,fences:ZTe,heading:QTe,hr:Jb,html:n3e,lheading:YZ,list:r3e,newline:jTe,paragraph:XZ,table:R2,text:e3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),a3e={...cN,lheading:JTe,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},s3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},o3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,l3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jZ=/^( {2,}|\\)\n(?!\s*$)/,c3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",XTe?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,p3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),g3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",m3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),y3e=on(JZ,"gu").replace(/notPunctSpace/g,d3e).replace(/punctSpace/g,h3e).replace(/punct/g,ZZ).getRegex(),v3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),b3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),x3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),T3e=on(lN).replace("(?:-->|$)","-->").getRegex(),w3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",T3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,C3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),S3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:b3e,autolink:x3e,blockSkip:f3e,br:jZ,code:l3e,del:R2,emStrongLDelim:p3e,emStrongRDelimAst:m3e,emStrongRDelimUnd:v3e,escape:o3e,link:C3e,nolink:tQ,punctuation:u3e,reflink:eQ,reflinkSearch:S3e,tag:w3e,text:c3e,url:R2},E3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:y3e,emStrongLDelim:g3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>_3e[t];function Ol(t,e){if(e){if(os.escapeTest.test(t))return t.replace(os.escapeReplace,uz)}else if(os.escapeTestNoEncode.test(t))return t.replace(os.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(os.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(os.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(os.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function L3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` +`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Wa[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Is("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Is("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),Fa={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Hn(t),e=Hn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(e2,"calculateDeltaAndAngle");var Hn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Hn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),o=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),l=Math.abs(Hn(e).x-Hn(n[0]).x),u=Math.abs(Hn(e).y-Hn(n[0]).y),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),o=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),l=Math.abs(Hn(e).y-Hn(n[0]).y),u=Math.abs(Hn(e).x-Hn(n[0]).x),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return j4}var R0=nxe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,ixe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||ixe||Function("return this")(),Uo=uc.Symbol,yZ=Object.prototype,axe=yZ.hasOwnProperty,sxe=yZ.toString,uv=Uo?Uo.toStringTag:void 0;function oxe(t){var e=axe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=sxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var lxe=Object.prototype,cxe=lxe.toString;function uxe(t){return cxe.call(t)}var hxe="[object Null]",dxe="[object Undefined]",H$=Uo?Uo.toStringTag:void 0;function D0(t){return t==null?t===void 0?dxe:hxe:H$&&H$ in Object(t)?oxe(t):uxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var fxe="[object AsyncFunction]",pxe="[object Function]",gxe="[object GeneratorFunction]",mxe="[object Proxy]";function J2(t){if(!po(t))return!1;var e=D0(t);return e==pxe||e==gxe||e==fxe||e==mxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function yxe(t){return!!W$&&W$ in t}var vxe=Function.prototype,bxe=vxe.toString;function N0(t){if(t!=null){try{return bxe.call(t)}catch{}try{return t+""}catch{}}return""}var xxe=/[\\^$.*+?()[\]{}|]/g,Txe=/^\[object .+?Constructor\]$/,wxe=Function.prototype,Cxe=Object.prototype,Sxe=wxe.toString,Exe=Cxe.hasOwnProperty,kxe=RegExp("^"+Sxe.call(Exe).replace(xxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _xe(t){if(!po(t)||yxe(t))return!1;var e=J2(t)?kxe:Txe;return e.test(N0(t))}function Axe(t,e){return t?.[e]}function M0(t,e){var r=Axe(t,e);return _xe(r)?r:void 0}var eb=M0(Object,"create");function Lxe(){this.__data__=eb?eb(null):{},this.size=0}function Rxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Dxe="__lodash_hash_undefined__",Nxe=Object.prototype,Mxe=Nxe.hasOwnProperty;function Oxe(t){var e=this.__data__;if(eb){var r=e[t];return r===Dxe?void 0:r}return Mxe.call(e,t)?e[t]:void 0}var Ixe=Object.prototype,Bxe=Ixe.hasOwnProperty;function Pxe(t){var e=this.__data__;return eb?e[t]!==void 0:Bxe.call(e,t)}var Fxe="__lodash_hash_undefined__";function $xe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?Fxe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function Wxe(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=f4e}function vd(t){return t!=null&&jD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function p4e(){return!1}var kZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Q$=kZ&&typeof co=="object"&&co&&!co.nodeType&&co,g4e=Q$&&Q$.exports===kZ,J$=g4e?uc.Buffer:void 0,m4e=J$?J$.isBuffer:void 0,dm=m4e||p4e,y4e="[object Object]",v4e=Function.prototype,b4e=Object.prototype,_Z=v4e.toString,x4e=b4e.hasOwnProperty,T4e=_Z.call(Object);function w4e(t){if(!nc(t)||D0(t)!=y4e)return!1;var e=XD(t);if(e===null)return!0;var r=x4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==T4e}var C4e="[object Arguments]",S4e="[object Array]",E4e="[object Boolean]",k4e="[object Date]",_4e="[object Error]",A4e="[object Function]",L4e="[object Map]",R4e="[object Number]",D4e="[object Object]",N4e="[object RegExp]",M4e="[object Set]",O4e="[object String]",I4e="[object WeakMap]",B4e="[object ArrayBuffer]",P4e="[object DataView]",F4e="[object Float32Array]",$4e="[object Float64Array]",z4e="[object Int8Array]",q4e="[object Int16Array]",V4e="[object Int32Array]",G4e="[object Uint8Array]",U4e="[object Uint8ClampedArray]",H4e="[object Uint16Array]",W4e="[object Uint32Array]",$n={};$n[F4e]=$n[$4e]=$n[z4e]=$n[q4e]=$n[V4e]=$n[G4e]=$n[U4e]=$n[H4e]=$n[W4e]=!0;$n[C4e]=$n[S4e]=$n[B4e]=$n[E4e]=$n[P4e]=$n[k4e]=$n[_4e]=$n[A4e]=$n[L4e]=$n[R4e]=$n[D4e]=$n[N4e]=$n[M4e]=$n[O4e]=$n[I4e]=!1;function Y4e(t){return nc(t)&&jD(t.length)&&!!$n[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,L2=AZ&&typeof co=="object"&&co&&!co.nodeType&&co,X4e=L2&&L2.exports===AZ,z6=X4e&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):Y4e;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var j4e=Object.prototype,K4e=j4e.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(K4e.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=uTe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=fTe(cTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function pTe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=ki(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${mTe.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),vTe=S(function(t){return t.replace(E2,"")},"removeDirectives"),bTe=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return gTe[r]??e}S(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}S(IZ,"formatUrl");var xTe=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}S(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}S(PZ,"calcLabelPosition");var rz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),TTe=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(JD,"getStylesFromArray");var nz=0,$Z=S(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),wTe=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),CTe=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=cs(`${s} `,r),u=cs(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=STe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),STe=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(cs(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}S(U5,"calculateTextHeight");function cs(t,e){return eN(t,e).width}S(cs,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=wTe();b.text=v||MZ;const x=CTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,ETe=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(a1,"InitIDGenerator"),a1),K4,kTe=S(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}S(tN,"isDetailedError");var _Te=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function Ji(t,e){return G5({},t,e)}S(Ji,"cleanAndMerge");var Lr={assignWithDepth:ki,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:cs,calculateTextDimensions:eN,cleanAndMerge:Ji,detectInit:yTe,detectDirective:OZ,isSubstringInArray:bTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:TTe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:xTe,entityDecode:kTe,insertTitle:_Te,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:ETe},ATe=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function oa(t){return t??null}S(oa,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(GZ,"isLabelCoordinateInPath");var Qb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(rN,"configureLabelImages");var LTe=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=S(t=>{const e=RTe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),RTe=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:DTe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),DTe=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const NTe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...NTe,...H5}),MTe=Object.freeze({...UZ,body:"",hidden:!1}),OTe=Object.freeze({width:null,height:null}),ITe=Object.freeze({...OTe,...H5}),BTe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function PTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=PTe(t,e);for(const n in MTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function FTe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function $Te(t,e){if(t.icons[e])return az(t,e,[]);const r=FTe(t,[e])[e];return r?az(t,e,r):null}const zTe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,qTe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(zTe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=qTe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function VTe(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function GTe(t,e){return t?""+t+""+e:e}function UTe(t,e,r){const n=VTe(t);return GTe(n.defs,e+n.content+r)}const HTe=t=>t==="unset"||t==="undefined"||t==="none";function WTe(t,e){const r={...UZ,...t},n={...ITe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=UTe(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{HTe(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const YTe=/\sid="(\S+)"/g,oz=new Map;function XTe(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function jTe(t){const e=[];let r;for(;r=YTe.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=XTe(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function KTe(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(os.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var ZTe=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},QTe=/^(?:[ \t]*(?:\n|$))+/,JTe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,e3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,t3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),r3e=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,n3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,i3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),a3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,s3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),o3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XZ).getRegex(),cN={blockquote:o3e,code:JTe,def:i3e,fences:e3e,heading:t3e,hr:Jb,html:s3e,lheading:YZ,list:a3e,newline:QTe,paragraph:XZ,table:R2,text:n3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),l3e={...cN,lheading:r3e,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},c3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},u3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,h3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jZ=/^( {2,}|\\)\n(?!\s*$)/,d3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",ZTe?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,y3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),v3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",b3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),x3e=on(JZ,"gu").replace(/notPunctSpace/g,g3e).replace(/punctSpace/g,p3e).replace(/punct/g,ZZ).getRegex(),T3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),w3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),C3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),S3e=on(lN).replace("(?:-->|$)","-->").getRegex(),E3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",S3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,k3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),_3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:w3e,autolink:C3e,blockSkip:m3e,br:jZ,code:h3e,del:R2,emStrongLDelim:y3e,emStrongRDelimAst:b3e,emStrongRDelimUnd:T3e,escape:u3e,link:k3e,nolink:tQ,punctuation:f3e,reflink:eQ,reflinkSearch:_3e,tag:E3e,text:d3e,url:R2},A3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:x3e,emStrongLDelim:v3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>R3e[t];function Bl(t,e){if(e){if(os.escapeTest.test(t))return t.replace(os.escapeReplace,uz)}else if(os.escapeTestNoEncode.test(t))return t.replace(os.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(os.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(os.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(os.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function N3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` `).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[o]=s;return o.length>=i.length?a.slice(i.length):a}).join(` `)}var Y5=class{options;rules;lexer;constructor(e){this.options=e||B0}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:dv(n,` -`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=L3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=dv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:dv(r[0],` +`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=N3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=dv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:dv(r[0],` `)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=dv(r[0],` `).split(` `),i="",a="",s=[];for(;n.length>0;){let o=!1,l=[],u;for(u=0;u1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let s=this.rules.other.listItemRegex(n),o=!1;for(;e;){let u=!1,h="",d="";if(!(r=s.exec(e))||this.rules.block.hr.test(e))break;h=r[0],e=e.substring(h.length);let f=r[2].split(` -`,1)[0].replace(this.rules.other.listReplaceTabs,S=>" ".repeat(3*S.length)),p=e.split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,C=>" ".repeat(3*C.length)),p=e.split(` `,1)[0],m=!f.trim(),v=0;if(this.options.pedantic?(v=2,d=f.trimStart()):m?v=r[1].length+1:(v=r[2].search(this.rules.other.nonSpaceChar),v=v>4?1:v,d=f.slice(v),v+=r[1].length),m&&this.rules.other.blankLine.test(p)&&(h+=p+` -`,e=e.substring(p.length+1),u=!0),!u){let S=this.rules.other.nextBulletRegex(v),T=this.rules.other.hrRegex(v),E=this.rules.other.fencesBeginRegex(v),_=this.rules.other.headingBeginRegex(v),R=this.rules.other.htmlBeginRegex(v);for(;e;){let k=e.split(` -`,1)[0],L;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),L=p):L=p.replace(this.rules.other.tabCharGlobal," "),E.test(p)||_.test(p)||R.test(p)||S.test(p)||T.test(p))break;if(L.search(this.rules.other.nonSpaceChar)>=v||!p.trim())d+=` +`,e=e.substring(p.length+1),u=!0),!u){let C=this.rules.other.nextBulletRegex(v),T=this.rules.other.hrRegex(v),E=this.rules.other.fencesBeginRegex(v),_=this.rules.other.headingBeginRegex(v),R=this.rules.other.htmlBeginRegex(v);for(;e;){let k=e.split(` +`,1)[0],L;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),L=p):L=p.replace(this.rules.other.tabCharGlobal," "),E.test(p)||_.test(p)||R.test(p)||C.test(p)||T.test(p))break;if(L.search(this.rules.other.nonSpaceChar)>=v||!p.trim())d+=` `+L.slice(v);else{if(m||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||E.test(f)||_.test(f)||T.test(f))break;d+=` `+p}!m&&!p.trim()&&(m=!0),h+=k+` `,e=e.substring(k.length+1),f=L.slice(v)}}a.loose||(o?a.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(o=!0));let b=null,x;this.options.gfm&&(b=this.rules.other.listIsTask.exec(d),b&&(x=b[0]!=="[ ] ",d=d.replace(this.rules.other.listReplaceTask,""))),a.items.push({type:"list_item",raw:h,task:!!b,checked:x,loose:!1,text:d,tokens:[]}),a.raw+=h}let l=a.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let u=0;uf.type==="space"),d=h.length>0&&h.some(f=>this.rules.other.anyLine.test(f.raw));a.loose=d}if(a.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[u]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` -`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=dv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=A3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),fz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return fz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},al=class A8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B0,this.options.tokenizer=this.options.tokenizer||new Y5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:os,block:Z4.normal,inline:hv.normal};this.options.pedantic?(r.block=Z4.pedantic,r.inline=hv.pedantic):this.options.gfm&&(r.block=Z4.gfm,this.options.breaks?r.inline=hv.breaks:r.inline=hv.gfm),this.tokenizer.rules=r}static get rules(){return{block:Z4,inline:hv}}static lex(e,r){return new A8(r).lex(e)}static lexInline(e,r){return new A8(r).inlineTokens(e)}lex(e){e=e.replace(os.carriageReturn,` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=dv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=D3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),fz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return fz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},sl=class A8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B0,this.options.tokenizer=this.options.tokenizer||new Y5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:os,block:Z4.normal,inline:hv.normal};this.options.pedantic?(r.block=Z4.pedantic,r.inline=hv.pedantic):this.options.gfm&&(r.block=Z4.gfm,this.options.breaks?r.inline=hv.breaks:r.inline=hv.gfm),this.tokenizer.rules=r}static get rules(){return{block:Z4,inline:hv}}static lex(e,r){return new A8(r).lex(e)}static lexInline(e,r){return new A8(r).inlineTokens(e)}lex(e){e=e.replace(os.carriageReturn,` `),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` @@ -203,15 +203,15 @@ ${d}`:d;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo `)?"":` `)+i.raw,s.text+=` `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,o)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,d=e.slice(1),f;this.options.extensions.startInline.forEach(p=>{f=p.call({lexer:this},d),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(o=l.raw.slice(-1)),s=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},X5=class{options;parser;constructor(e){this.options=e||B0}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(os.notSpaceStart)?.[0],a=e.replace(os.endingNewline,"")+` -`;return i?'
'+(n?a:Ol(a,!0))+`
-`:"
"+(n?a:Ol(a,!0))+`
+`;return i?'
'+(n?a:Bl(a,!0))+`
+`:"
"+(n?a:Bl(a,!0))+`
`}blockquote({tokens:e}){return`
${this.parser.parse(e)}
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:r}){return`${this.parser.parseInline(e)} `}hr(e){return`
`}list(e){let r=e.ordered,n=e.start,i="";for(let o=0;o `+i+" -`}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+Ol(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`
  • ${r}
  • +`}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+Bl(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`
  • ${r}
  • `}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    `}table(e){let r="",n="";for(let a=0;a${i}`),` @@ -220,28 +220,28 @@ ${this.parser.parse(e)} `}tablerow({text:e}){return` ${e} `}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` -`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Ol(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=hz(e);if(a===null)return i;e=a;let s='",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=hz(e);if(a===null)return Ol(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new X5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return al.lex(e,r??this.defaults)}parser(e,r){return sl.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?al.lex:al.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?sl.parse:sl.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?al.lex:al.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?sl.parse:sl.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Ol(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new R3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=sl;yn.parser=sl.parse;yn.Renderer=X5;yn.TextRenderer=dN;yn.Lexer=al;yn.lexer=al.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;sl.parse;al.lex;function rQ(t){for(var e=[],r=1;r${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Bl(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=hz(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=hz(e);if(a===null)return Bl(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new X5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new M3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=X5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r?',height:80,width:80},R8=new Map,iQ=new Map,aQ=C(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=C(async(t,e)=>{const r=MTe(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=BTe(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),D3e=C(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=C(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=GTe(n,e),a=YTe(WTe(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` +`)),s+=d+n[l+1]}),s}var nQ={body:'?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=BTe(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=$Te(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),O3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=WTe(n,e),a=KTe(jTe(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` `).replace(/\n{2,}/g,` -`);return rQ(n)}C(oQ,"preprocessMarkdown");function lQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}C(lQ,"nonMarkdownToLines");function cQ(t,e={}){const r=oQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` -`).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return C(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}C(cQ,"markdownToLines");function uQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}C(uQ,"nonMarkdownToHTML");function hQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return C(n,"output"),r.map(n).join("")}C(hQ,"markdownToHTML");function dQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}C(dQ,"splitTextToChars");function fQ(t,e){const r=dQ(e.content);return fN(t,[],r,e.type)}C(fQ,"splitWordToFitWidth");function fN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}C(fN,"splitWordToFitWidthRecursion");function pQ(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return j5(t,e)}C(pQ,"splitLineToFitWidth");function j5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return j5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return j5(t,e,r)}C(j5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}C(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Li(e.label)?await yC(e.label.replace($t.lineBreakRegex,` -`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}C(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}C(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}C(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}C(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=C(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}C(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}C(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}C(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await D3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}C(bQ,"replaceIconSubstring");var ys=C(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Li(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function N3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function M3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const S of u){const T=[...S];N3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const S of f)for(let T=0;TS.yminT.ymin?1:S.xT.x?1:S.ymax===T.ymax?0:(S.ymax-T.ymax)/Math.abs(S.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let S=-1;for(let T=0;Tb);T++)S=T;m.splice(0,S+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((S=>!(S.edge.ymax<=b))),v.sort(((S,T)=>S.edge.x===T.edge.x?0:(S.edge.x-T.edge.x)/Math.abs(S.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let S=0;S=v.length)break;const E=v[S].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((S=>{S.edge.x=S.edge.x+d*S.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),M3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class O3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class I3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let B3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,S=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,S,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,S=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,S,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(S){e.push({key:"C",data:S})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const S=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*S],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const S=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...S)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...G3e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),S=i.preserveVertices;return s?v.push({op:"move",data:[t+(S?0:b()),e+(S?0:b())]}):v.push({op:"move",data:[t+(S?0:Tr(h,i,u)),e+(S?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(S?0:b()),n+(S?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(S?0:x()),n+(S?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function H3e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const eo="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=V3e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==eo&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==eo&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,S){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,S),R+=Tr(.01*R,S);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/S.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Dp([F],S)})(e,r,n,i,a,s,u));return u.stroke!==eo&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==eo)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==eo&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==eo&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==eo,s=n.stroke!==eo,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const S=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{S(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":S(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":S(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=H3e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:eo};break;case"fillPath":s={d:this.opsToPath(a),stroke:eo,strokeWidth:0,fill:n.fill||eo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||eo,strokeWidth:n,fill:eo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class W3e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class Y3e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new W3e(t,e),svg:(t,e)=>new Y3e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=C(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",oa(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await ys(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=C(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await ys(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=C((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=C((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}C(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}C(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=C((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}C(B8,"mergePaths");var X3e=C((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=X3e,j3e=C(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await ys(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=j3e,bd=C((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=C(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await ys(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,S=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(S,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",S).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),K3e=C((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),Z3e=C(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const S=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-S/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,S,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,S,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",S).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),Q3e=C(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await ys(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,S=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(S,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",S).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),J3e=C((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),e5e=kQ,t5e={rect:kQ,squareRect:e5e,roundedWithTitle:Z3e,noteGroup:K3e,divider:J3e,kanbanSection:Q3e},_Q=new Map,mN=C(async(t,e)=>{const r=e.shape||"rect",n=await t5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),r5e=C(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}C(AQ,"intersectNode");var n5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}C(P8,"sameSign");var a5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",oa(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}C(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),S=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-S)/a,(t-x)/i);let _=Math.atan2((n-S)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=S+a*Math.sin(O);R.push({x:F,y:$})}return R}C(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}C(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=C(O=>O+s,"calcTotalHeight"),l=C(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:S}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),S&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",S),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}C(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}C(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const S=ar.svg(o),T=sr(e,{}),E=Zr(v),_=S.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(S){return Jt.polygon(e,v,S)},o}C(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}C(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",oa(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}C(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} - M ${i.x},${i.y} L ${s.x},${s.y}`}C($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}C(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}C(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}C(VQ,"curlyBraceRight");function xa(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}C(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,S=f,T=x-p,E=S/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:S/2},{x:E,y:S},{x:T,y:S},...nb(-T,-S/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}C(UQ,"curvedTrapezoid");var o5e=C((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),l5e=C((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),c5e=C((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=o5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",oa(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),S=x.x-(e.x??0);if(d!=0&&(Math.abs(S)<(e.width??0)/2||Math.abs(S)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-S*S/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}C(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],S=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>S,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}C(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",oa(e.cssClasses)).attr("style",oa(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}C(YQ,"doublecircle");function XQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}C(XQ,"filledCircle");var Ez=10,kz=10;async function jQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,S),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}C(jQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}C(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightS,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}C(ZQ,"halfRoundedRectangle");var u5e=C((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const S=ar.svg(h),T=sr(e,{}),E=u5e(0,0,m,f,p),_=S.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(S){return Jt.polygon(e,v,S)},h}C(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}C(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,S=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,S,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}C(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),S=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=S.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=S.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}C(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:S}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=S.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${S.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}C(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:S}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=S.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${S.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}C(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,S=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=S.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=S.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}C(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}C(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",oa(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",oa(f)).attr("ry",oa(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}C(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}C(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}C(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}C(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}C(cJ,"lightningBolt");var h5e=C((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),d5e=C((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),f5e=C((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=h5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",oa(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const S=Jt.rect(e,x),T=S.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(S.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),S.y+=E}return S},o}C(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],S=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>S,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}C(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,S=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=S.path(R,T);const L=Zr(_);let O=S.path(L,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}C(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:S}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),S&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",S),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}C(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(S){return Jt.rect(e,S)},s}C(pJ,"note");var p5e=C((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=p5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}C(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),S=sr(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");const T=Zr(v),E=x.path(T,S),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}C(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}C(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}C(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const S=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(S.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",oa(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}C(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),S=sr(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,S),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}C(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}C(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),S=o.insert(()=>x,":first-child");return S.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",n),or(e,S),e.intersect=function(T){return Jt.polygon(e,v,T)},o}C(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}C(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const S=t.node()?.ownerSVGElement?.id??"",T=S?`${S}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(S){return Jt.circle(e,(e.width??0)/2,S)},h}C(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,kTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}C(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),S=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>S,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",oa(R)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}C(kJ,"subroutine");var X6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-X6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=X6*u,d=X6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,S=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=S.path(R,T),L=Zr(_),O=S.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}C(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,S=-f/2-d*.4,T=[{x:x+o-h,y:(S+l)*1.3},{x:x+o,y:S+l-d},{x:x+o,y:(S+l)*.9},...nd(x+o,(S+l)*1.25,x+o-h,(S+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}C(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}C(LJ,"text");var g5e=C((t,e,r,n,i,a)=>`M${t},${e} +`);return rQ(n)}S(oQ,"preprocessMarkdown");function lQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}S(lQ,"nonMarkdownToLines");function cQ(t,e={}){const r=oQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` +`).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return S(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}S(cQ,"markdownToLines");function uQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}S(uQ,"nonMarkdownToHTML");function hQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return S(n,"output"),r.map(n).join("")}S(hQ,"markdownToHTML");function dQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}S(dQ,"splitTextToChars");function fQ(t,e){const r=dQ(e.content);return fN(t,[],r,e.type)}S(fQ,"splitWordToFitWidth");function fN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}S(fN,"splitWordToFitWidthRecursion");function pQ(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return j5(t,e)}S(pQ,"splitLineToFitWidth");function j5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return j5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return j5(t,e,r)}S(j5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Li(e.label)?await yC(e.label.replace($t.lineBreakRegex,` +`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await O3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var ys=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Li(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function I3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function B3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];I3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),B3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class P3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class F3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let $3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*C],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...W3e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function X3e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=H3e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,C),R+=Tr(.01*R,C);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/C.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":C(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=X3e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class j3e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class K3e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new j3e(t,e),svg:(t,e)=>new K3e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",oa(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await ys(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await ys(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var Z3e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=Z3e,Q3e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await ys(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=Q3e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await ys(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),J3e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),e5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),t5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await ys(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),r5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),n5e=kQ,i5e={rect:kQ,squareRect:n5e,roundedWithTitle:e5e,noteGroup:J3e,divider:r5e,kanbanSection:t5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await i5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),a5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var s5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var l5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",oa(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);R.push({x:F,y:$})}return R}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",oa(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function xa(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var u5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),h5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),d5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=u5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",oa(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",oa(e.cssClasses)).attr("style",oa(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function XQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(XQ,"filledCircle");var Ez=10,kz=10;async function jQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(jQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var f5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=f5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=C.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",oa(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",oa(f)).attr("ry",oa(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var p5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),g5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),m5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=p5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",oa(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=C.path(R,T);const L=Zr(_);let O=C.path(L,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var y5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=y5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",oa(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,LTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",oa(R)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var X6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-X6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=X6*u,d=X6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=C.path(R,T),L=Zr(_),O=C.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var v5e=S((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} - l${-r},0`,"createCylinderPathD"),m5e=C((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),y5e=C((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>S,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=g5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",oa(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let S=d*d*(1-x*x/(h*h));S!=0&&(S=Math.sqrt(Math.abs(S))),S=d-S,v.x-(e.x??0)>0&&(S=-S),b.x+=S}return b},s}C(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}C(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightS,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}C(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthS,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}C(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,S=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-S,y:m/2},...nd(-d/2-S,m/2,d/2+S,m/2,p,.8),{x:d/2+S,y:-m/2},{x:-d/2-S,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}C(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),S=m.path(x,v),T=o.insert(()=>S,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}C(IJ,"waveRectangle");var pi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-pi,10),e.height=Math.max((e?.height??0)-a*2-pi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+pi,h=(e?.height?e?.height:o.height)+a*2+pi,d=u-pi,f=h-pi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),S=[{x:p-pi,y:m-pi},{x:p-pi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-pi}],T=`M${p-pi},${m-pi} L${p+d},${m-pi} L${p+d},${m+f} L${p-pi},${m+f} L${p-pi},${m-pi} + l${-r},0`,"createCylinderPathD"),b5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),x5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=v5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",oa(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var pi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-pi,10),e.height=Math.max((e?.height??0)-a*2-pi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+pi,h=(e?.height?e?.height:o.height)+a*2+pi,d=u-pi,f=h-pi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-pi,y:m-pi},{x:p-pi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-pi}],T=`M${p-pi},${m-pi} L${p+d},${m-pi} L${p+d},${m+f} L${p-pi},${m+f} L${p-pi},${m-pi} M${p-pi},${m} L${p+d},${m} - M${p},${m-pi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${pi/2}, ${pi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+pi/2-(o.x-(o.left??0))}, ${-(o.height/2)+pi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,S,R)},s}C(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),v5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};cs(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&v5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}C(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await ys(o,e,{width:cs(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}C(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}C(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const S=e.annotations[0];await r2(o,{text:`«${S}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const S of e.members){const T=await r2(u,S,v,[S.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const S of e.methods){const T=await r2(h,S,b,[S.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const S=o.node().getBBox();o.attr("transform",`translate(${-S.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}C(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Li(o)&&(s=!0);const l=await ys(i,wD(Du(o)),{width:cs(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const S=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(S,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}C(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}C(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let S=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?S+=s:l.members.length>0&&l.methods.length===0&&(S+=s*2);const E=-x/2,_=-S/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,S+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}C(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Il(p,`<<${i.type}>>`,0,e.labelStyle):m=await Il(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Il(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Il(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Il(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Il(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Il(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Il(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Il(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,S=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-S/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,S,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-S/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}C($J,"requirementBox");async function Il(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await ys(i,wD(Du(e)),{width:cs(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}C(Il,"addText");var b5e=C(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const S=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+S*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",b5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}C(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 + M${p},${m-pi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${pi/2}, ${pi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+pi/2-(o.x-(o.left??0))}, ${-(o.height/2)+pi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,C,R)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),T5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};cs(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&T5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await ys(o,e,{width:cs(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Li(o)&&(s=!0);const l=await ys(i,wD(Du(o)),{width:cs(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,C,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await ys(i,wD(Du(e)),{width:cs(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var w5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",w5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 a${h},${h} 1 0,0 ${m*.25},${-1*v*.1} a${h},${h} 1 0,0 ${m*.25},0 a${h},${h} 1 0,0 ${m*.25},0 @@ -259,7 +259,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error a${h},${h} 1 0,0 ${-1*m*.1},${-1*v*.33} a${h*.8},${h*.8} 1 0,0 0,${-1*v*.34} a${h},${h} 1 0,0 ${m*.1},${-1*v*.33} - H0 V0 Z`;if(e.look==="handDrawn"){const S=ar.svg(i),T=sr(e,{}),E=S.path(x,T);b=i.insert(()=>E,":first-child"),b.attr("class","basic label-container").attr("style",oa(d))}else b=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return b.attr("transform",`translate(${-m/2}, ${-v/2})`),or(e,b),e.calcIntersect=function(S,T){return Jt.rect(S,T)},e.intersect=function(S){return oe.info("Bang intersect",e,S),Jt.rect(e,S)},i}C(qJ,"bang");async function VJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,d=.25*l,f=.35*l,p=.2*l,{cssStyles:m}=e;let v;const b=`M0 0 + H0 V0 Z`;if(e.look==="handDrawn"){const C=ar.svg(i),T=sr(e,{}),E=C.path(x,T);b=i.insert(()=>E,":first-child"),b.attr("class","basic label-container").attr("style",oa(d))}else b=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return b.attr("transform",`translate(${-m/2}, ${-v/2})`),or(e,b),e.calcIntersect=function(C,T){return Jt.rect(C,T)},e.intersect=function(C){return oe.info("Bang intersect",e,C),Jt.rect(e,C)},i}S(qJ,"bang");async function VJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,d=.25*l,f=.35*l,p=.2*l,{cssStyles:m}=e;let v;const b=`M0 0 a${h},${h} 0 0,1 ${l*.25},${-1*l*.1} a${f},${f} 1 0,1 ${l*.4},${-1*l*.1} a${d},${d} 1 0,1 ${l*.35},${l*.2} @@ -273,7 +273,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error a${h},${h} 1 0,1 ${-1*l*.1},${-1*u*.35} a${p},${p} 1 0,1 ${l*.1},${-1*u*.65} - H0 V0 Z`;if(e.look==="handDrawn"){const x=ar.svg(i),S=sr(e,{}),T=x.path(b,S);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",oa(m))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",b);return o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),v.attr("transform",`translate(${-l/2}, ${-u/2})`),or(e,v),e.calcIntersect=function(x,S){return Jt.rect(x,S)},e.intersect=function(x){return oe.info("Cloud intersect",e,x),Jt.rect(e,x)},i}C(VJ,"cloud");async function GJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+8*s,u=a.height+2*s,h=5,d=e.look==="neo"?` + H0 V0 Z`;if(e.look==="handDrawn"){const x=ar.svg(i),C=sr(e,{}),T=x.path(b,C);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",oa(m))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",b);return o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),v.attr("transform",`translate(${-l/2}, ${-u/2})`),or(e,v),e.calcIntersect=function(x,C){return Jt.rect(x,C)},e.intersect=function(x){return oe.info("Cloud intersect",e,x),Jt.rect(e,x)},i}S(VJ,"cloud");async function GJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+8*s,u=a.height+2*s,h=5,d=e.look==="neo"?` M${-l/2} ${u/2-h} v${-u+2*h} q0,-${h} ${h},-${h} @@ -293,25 +293,25 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error h${-(l-2*h)} q${-h},0 ${-h},${-h} Z - `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}C(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}C(UJ,"mindmapCircle");var x5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:XQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:jQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],T5e=C(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...x5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=T5e();function WJ(t){return t in HJ}C(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",oa(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}C(HC,"insertNode");var w5e=C((t,e)=>{UC.set(e.id,t)},"setNodeElem"),C5e=C(()=>{UC.clear()},"clear"),$8=C(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),S5e=C((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),E5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},k5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=C((t,e,r,n,i,a,s=!1,o)=>{const l=E5e[r],u=l&&k5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),_5e=C(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Ca=new Map,A5e=C(()=>{ew.clear(),Ca.clear()},"clear"),gv=C(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=C(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await ys(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Hl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],S=kt(v);b=x.getBoundingClientRect(),S.attr("width",b.width),S.attr("height",b.height)}m.attr("transform",Hl(b,n)),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],S=kt(v);b=x.getBoundingClientRect(),S.attr("width",b.width),S.attr("height",b.height)}m.attr("transform",Hl(b,n)),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],S=kt(v);b=x.getBoundingClientRect(),S.attr("width",b.width),S.attr("height",b.height)}m.attr("transform",Hl(b,n)),p.node().appendChild(v),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],S=kt(v);b=x.getBoundingClientRect(),S.attr("width",b.width),S.attr("height",b.height)}m.attr("transform",Hl(b,n)),p.node().appendChild(v),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}C(n2,"setTerminalWidth");var XJ=C((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Ca.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Ca.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Ca.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Ca.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),L5e=C((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),R5e=C((t,e,r)=>{oe.debug(`intersection calc abc89: + `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var C5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:XQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:jQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],S5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...C5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=S5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",oa(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var E5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),k5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),_5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),A5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},L5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=A5e[r],u=l&&L5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),R5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Ca=new Map,D5e=S(()=>{ew.clear(),Ca.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await ys(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var XJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Ca.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Ca.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Ca.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Ca.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),N5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),M5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!L5e(e,a)&&!i){const s=R5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function jJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}C(jJ,"extractCornerPoints");var Bz=C(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),D5e=C(function(t){const{cornerPointPositions:e}=jJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),N5e=C((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=C(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=_5e(e.curve);b!=="rounded"&&(v=D5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=X2;break;case"cardinal":x=bj;break;case"bumpX":x=pj;break;case"bumpY":x=gj;break;case"catmullRom":x=Tj;break;case"monotoneX":x=_j;break;case"monotoneY":x=Aj;break;case"natural":x=Rj;break;case"step":x=Dj;break;case"stepAfter":x=Mj;break;case"stepBefore":x=Nj;break;case"rounded":x=A2;break;default:x=X2}const{x:S,y:T}=gZ(e),E=Y2().x(S).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,X=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?N5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",oa(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";S5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Fa[e.arrowTypeStart]){const i=Fa[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&Fa[e.arrowTypeEnd]){const i=Fa[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}C(QJ,"applyMarkerOffsetsToPoints");var M5e=C((t,e,r,n)=>{e.forEach(i=>{rwe[i](t,r,n)})},"insertMarkers"),O5e=C((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),I5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),B5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),P5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),F5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),$5e=C((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),z5e=C((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),q5e=C((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),V5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),G5e=C((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),U5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),H5e=C((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),W5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),Y5e=C((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),X5e=C((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),j5e=C((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),K5e=C((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),Z5e=C((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),Q5e=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!N5e(e,a)&&!i){const s=M5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function jJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(jJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),O5e=S(function(t){const{cornerPointPositions:e}=jJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),I5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=R5e(e.curve);b!=="rounded"&&(v=O5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=X2;break;case"cardinal":x=bj;break;case"bumpX":x=pj;break;case"bumpY":x=gj;break;case"catmullRom":x=Tj;break;case"monotoneX":x=_j;break;case"monotoneY":x=Aj;break;case"natural":x=Rj;break;case"step":x=Dj;break;case"stepAfter":x=Mj;break;case"stepBefore":x=Nj;break;case"rounded":x=A2;break;default:x=X2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,X=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?I5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",oa(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";_5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Fa[e.arrowTypeStart]){const i=Fa[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&Fa[e.arrowTypeEnd]){const i=Fa[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var B5e=S((t,e,r,n)=>{e.forEach(i=>{awe[i](t,r,n)})},"insertMarkers"),P5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),F5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),$5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),z5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),V5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),G5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),U5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),H5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),W5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),Y5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),X5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),j5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),K5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),Z5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),Q5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),J5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),ewe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),twe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`)},"requirement_arrow"),J5e=C((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L0,20`)},"requirement_arrow"),rwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),ewe=C((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),twe=C((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),rwe={extension:O5e,composition:I5e,aggregation:B5e,dependency:P5e,lollipop:F5e,point:$5e,circle:z5e,cross:q5e,barb:V5e,barbNeo:G5e,only_one:U5e,zero_or_one:H5e,one_or_more:W5e,zero_or_more:Y5e,only_one_neo:X5e,zero_or_one_neo:j5e,one_or_more_neo:K5e,zero_or_more_neo:Z5e,requirement_arrow:Q5e,requirement_contains:ewe,requirement_arrow_neo:J5e,requirement_contains_neo:twe},JJ=M5e,nwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:XJ},ib={},eee=C(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),iwe=C(()=>{eee([{name:"dagre",loader:C(async()=>await Nr(()=>Promise.resolve().then(()=>HRe),void 0),"loader")},{name:"cose-bilkent",loader:C(async()=>await Nr(()=>Promise.resolve().then(()=>NBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");iwe();var Vm=C(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,nwe,{algorithm:r.algorithm})},"render"),rx=C((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",awe="@import",swe="@namespace",owe="@keyframes",lwe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function cwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function $l(t){return t.length}function uwe(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Uo=0,Fi=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function hwe(){return Fi}function dwe(){return Fi=Uo>0?Mg(Gm,--Uo):0,gm--,Fi===10&&(gm=1,WC--),Fi}function pl(){return Fi=Uo2||ab(Fi)>3?"":" "}function mwe(t,e){for(;--e&&pl()&&!(Fi<48||Fi>102||Fi>57&&Fi<65||Fi>70&&Fi<97););return YC(t,m3()+(e<6&&zh()==32&&pl()==32))}function q8(t){for(;pl();)switch(Fi){case t:return Uo;case 34:case 39:t!==34&&t!==39&&q8(Fi);break;case 40:t===41&&q8(t);break;case 92:pl();break}return Uo}function ywe(t,e){for(;pl()&&t+Fi!==57;)if(t+Fi===84&&zh()===47)break;return"/*"+YC(e,Uo-1)+"*"+bN(t===47?t:pl())}function vwe(t){for(;!ab(zh());)pl();return YC(t,Uo)}function bwe(t){return pwe(y3("",null,null,null,[""],t=fwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,S=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=S,S=pl()){case 40:if(m!=108&&Mg(k,d-1)==58){cwe(k+=g3(j6(S),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=j6(S);break;case 9:case 10:case 13:case 32:k+=gwe(m);break;case 92:k+=mwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(xwe(ywe(pl(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&$l(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=$l(k)*x;case 125*v:case 59:case 0:switch(S){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&($l(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(R=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),S===123)if(h===0)y3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,R,R,n&&rT(Pz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+$l(k),p=m;default:if(v<1){if(S==123)--v;else if(S==125&&v++==0&&dwe()==125)continue}switch(k+=bN(S),S*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=($l(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=j6(pl())),f=zh(),h=d=$l(T=k+=vwe(m3())),S++;break;case 45:m===45&&$l(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=uwe(p),v=0,b=0,x=0;v0?p[S]+" "+T:g3(T,/&\f/g,p[S])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function xwe(t,e,r,n){return xN(t,e,r,tee,bN(hwe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Bwe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>_Pe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),Pwe={id:lee,detector:Iwe,loader:Bwe},Fwe=Pwe,cee="flowchart",$we=C((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),zwe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),qwe={id:cee,detector:$we,loader:zwe},Vwe=qwe,uee="flowchart-v2",Gwe=C((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),Uwe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),Hwe={id:uee,detector:Gwe,loader:Uwe},Wwe=Hwe,hee="er",Ywe=C(t=>/^\s*erDiagram/.test(t),"detector"),Xwe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>YPe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),jwe={id:hee,detector:Ywe,loader:Xwe},Kwe=jwe,dee="gitGraph",Zwe=C(t=>/^\s*gitGraph/.test(t),"detector"),Qwe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>eWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),Jwe={id:dee,detector:Zwe,loader:Qwe},eCe=Jwe,fee="gantt",tCe=C(t=>/^\s*gantt/.test(t),"detector"),rCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>lYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),nCe={id:fee,detector:tCe,loader:rCe},iCe=nCe,pee="info",aCe=C(t=>/^\s*info/.test(t),"detector"),sCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>mYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),oCe={id:pee,detector:aCe,loader:sCe},gee="pie",lCe=C(t=>/^\s*pie/.test(t),"detector"),cCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),uCe={id:gee,detector:lCe,loader:cCe},mee="quadrantChart",hCe=C(t=>/^\s*quadrantChart/.test(t),"detector"),dCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>VYe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),fCe={id:mee,detector:hCe,loader:dCe},pCe=fCe,yee="xychart",gCe=C(t=>/^\s*xychart(-beta)?/.test(t),"detector"),mCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),yCe={id:yee,detector:gCe,loader:mCe},vCe=yCe,vee="requirement",bCe=C(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),xCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>hXe);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),TCe={id:vee,detector:bCe,loader:xCe},wCe=TCe,bee="sequence",CCe=C(t=>/^\s*sequenceDiagram/.test(t),"detector"),SCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),ECe={id:bee,detector:CCe,loader:SCe},kCe=ECe,xee="class",_Ce=C((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),ACe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),LCe={id:xee,detector:_Ce,loader:ACe},RCe=LCe,Tee="classDiagram",DCe=C((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),NCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>pje);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),MCe={id:Tee,detector:DCe,loader:NCe},OCe=MCe,wee="state",ICe=C((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),BCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),PCe={id:wee,detector:ICe,loader:BCe},FCe=PCe,Cee="stateDiagram",$Ce=C((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),zCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>aKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),qCe={id:Cee,detector:$Ce,loader:zCe},VCe=qCe,See="journey",GCe=C(t=>/^\s*journey/.test(t),"detector"),UCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>_Ke);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),HCe={id:See,detector:GCe,loader:UCe},WCe=HCe,YCe=C((t,e,r)=>{oe.debug(`rendering svg for syntax error -`);const n=Vs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Gi(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:YCe},XCe=Eee,jCe={db:{},renderer:Eee,parser:{parse:C(()=>{},"parse")}},KCe=jCe,kee="flowchart-elk",ZCe=C((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),QCe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),JCe={id:kee,detector:ZCe,loader:QCe},eSe=JCe,_ee="timeline",tSe=C(t=>/^\s*timeline/.test(t),"detector"),rSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>rZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),nSe={id:_ee,detector:tSe,loader:rSe},iSe=nSe,Aee="mindmap",aSe=C(t=>/^\s*mindmap/.test(t),"detector"),sSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>vZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),oSe={id:Aee,detector:aSe,loader:sSe},lSe=oSe,Lee="kanban",cSe=C(t=>/^\s*kanban/.test(t),"detector"),uSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>FZe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),hSe={id:Lee,detector:cSe,loader:uSe},dSe=hSe,Ree="sankey",fSe=C(t=>/^\s*sankey(-beta)?/.test(t),"detector"),pSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>wQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),gSe={id:Ree,detector:fSe,loader:pSe},mSe=gSe,Dee="packet",ySe=C(t=>/^\s*packet(-beta)?/.test(t),"detector"),vSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),bSe={id:Dee,detector:ySe,loader:vSe},Nee="radar",xSe=C(t=>/^\s*radar-beta/.test(t),"detector"),TSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>eJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),wSe={id:Nee,detector:xSe,loader:TSe},Mee="block",CSe=C(t=>/^\s*block(-beta)?/.test(t),"detector"),SSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Ret);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),ESe={id:Mee,detector:CSe,loader:SSe},kSe=ESe,Oee="treeView",_Se=C(t=>/^\s*treeView-beta/.test(t),"detector"),ASe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>jet);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),LSe={id:Oee,detector:_Se,loader:ASe},RSe=LSe,Iee="architecture",DSe=C(t=>/^\s*architecture/.test(t),"detector"),NSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Ctt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),MSe={id:Iee,detector:DSe,loader:NSe},OSe=MSe,Bee="ishikawa",ISe=C(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),BSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ztt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),PSe={id:Bee,detector:ISe,loader:BSe},Pee="venn",FSe=C(t=>/^\s*venn-beta/.test(t),"detector"),$Se=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Ert);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),zSe={id:Pee,detector:FSe,loader:$Se},qSe=zSe,Fee="treemap",VSe=C(t=>/^\s*treemap/.test(t),"detector"),GSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Brt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),USe={id:Fee,detector:VSe,loader:GSe},$ee="wardley-beta",HSe=C(t=>/^\s*wardley-beta/i.test(t),"detector"),WSe=C(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Yrt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),YSe={id:$ee,detector:HSe,loader:WSe},XSe=YSe,Uz=!1,XC=C(()=>{Uz||(Uz=!0,g5("error",KCe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:C(()=>{},"clear")},styles:{},renderer:{draw:C(()=>{},"draw")},parser:{parse:C(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:C(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(eSe,lSe,OSe),GA(Fwe,dSe,OCe,RCe,Kwe,iCe,oCe,uCe,wCe,kCe,Wwe,Vwe,iSe,eCe,VCe,FCe,WCe,pCe,mSe,bSe,vCe,kSe,RSe,wSe,PSe,USe,qSe,XSe))},"addDiagrams"),jSe=C(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{XA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),KSe="graphics-document document";function zee(t,e){t.attr("role",KSe),e!==""&&t.attr("aria-roledescription",e)}C(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}C(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=ETe(e)+` -`;try{XA(i)}catch{const u=C0e(i);if(!u)throw new rX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=XA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},C(Zf,"Diagram"),Zf),Hz=[],ZSe=C(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),QSe=C(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tX);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}C(Vee,"extractFrontMatter");var JSe=C(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),eEe=C(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),tEe=C(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:gTe(t),directive:e}},"processDirectives");function TN(t){const e=JSe(t),r=eEe(e),n=tEe(r.text),i=Ji(r.config,n.directive);return t=QSe(n.text),{code:t,title:r.title,config:i}}C(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}C(Gee,"toBase64");var rEe=5e4,nEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",iEe="sandbox",aEe="loose",sEe="http://www.w3.org/2000/svg",oEe="http://www.w3.org/1999/xlink",lEe="http://www.w3.org/1999/xhtml",cEe="100%",uEe="100%",hEe="border:0;margin:0;",dEe="margin:0",fEe="allow-top-navigation-by-user-activation allow-popups",pEe='The "iframe" tag is not supported by your browser.',gEe=["foreignobject"],mEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),K0e(e.config??{}),e}C(wN,"processAndSetConfigs");async function Uee(t,e){XC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}C(Uee,"parse");var Wz=C((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),yEe=C((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),nwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),iwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),awe={extension:P5e,composition:F5e,aggregation:$5e,dependency:z5e,lollipop:q5e,point:V5e,circle:G5e,cross:U5e,barb:H5e,barbNeo:W5e,only_one:Y5e,zero_or_one:X5e,one_or_more:j5e,zero_or_more:K5e,only_one_neo:Z5e,zero_or_one_neo:Q5e,one_or_more_neo:J5e,zero_or_more_neo:ewe,requirement_arrow:twe,requirement_contains:nwe,requirement_arrow_neo:rwe,requirement_contains_neo:iwe},JJ=B5e,swe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:XJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),owe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>XRe),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>IBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");owe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,swe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",lwe="@import",cwe="@namespace",uwe="@keyframes",hwe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function dwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function fwe(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,Fi=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function pwe(){return Fi}function gwe(){return Fi=Ho>0?Mg(Gm,--Ho):0,gm--,Fi===10&&(gm=1,WC--),Fi}function ml(){return Fi=Ho2||ab(Fi)>3?"":" "}function bwe(t,e){for(;--e&&ml()&&!(Fi<48||Fi>102||Fi>57&&Fi<65||Fi>70&&Fi<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch(Fi){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8(Fi);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function xwe(t,e){for(;ml()&&t+Fi!==57;)if(t+Fi===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Twe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function wwe(t){return ywe(y3("",null,null,null,[""],t=mwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){dwe(k+=g3(j6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=j6(C);break;case 9:case 10:case 13:case 32:k+=vwe(m);break;case 92:k+=bwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(Cwe(xwe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(R=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,R,R,n&&rT(Pz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&gwe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=j6(ml())),f=zh(),h=d=ql(T=k+=Twe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=fwe(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function Cwe(t,e,r,n){return xN(t,e,r,tee,bN(pwe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),$we=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>RPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),zwe={id:lee,detector:Fwe,loader:$we},qwe=zwe,cee="flowchart",Vwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Gwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),Uwe={id:cee,detector:Vwe,loader:Gwe},Hwe=Uwe,uee="flowchart-v2",Wwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),Ywe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),Xwe={id:uee,detector:Wwe,loader:Ywe},jwe=Xwe,hee="er",Kwe=S(t=>/^\s*erDiagram/.test(t),"detector"),Zwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KPe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),Qwe={id:hee,detector:Kwe,loader:Zwe},Jwe=Qwe,dee="gitGraph",eCe=S(t=>/^\s*gitGraph/.test(t),"detector"),tCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),rCe={id:dee,detector:eCe,loader:tCe},nCe=rCe,fee="gantt",iCe=S(t=>/^\s*gantt/.test(t),"detector"),aCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>hYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),sCe={id:fee,detector:iCe,loader:aCe},oCe=sCe,pee="info",lCe=S(t=>/^\s*info/.test(t),"detector"),cCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),uCe={id:pee,detector:lCe,loader:cCe},gee="pie",hCe=S(t=>/^\s*pie/.test(t),"detector"),dCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>BYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),fCe={id:gee,detector:hCe,loader:dCe},mee="quadrantChart",pCe=S(t=>/^\s*quadrantChart/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>HYe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),mCe={id:mee,detector:pCe,loader:gCe},yCe=mCe,yee="xychart",vCe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),xCe={id:yee,detector:vCe,loader:bCe},TCe=xCe,vee="requirement",wCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),CCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>pXe);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),SCe={id:vee,detector:wCe,loader:CCe},ECe=SCe,bee="sequence",kCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),_Ce=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>cje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),ACe={id:bee,detector:kCe,loader:_Ce},LCe=ACe,xee="class",RCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),DCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>gje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),NCe={id:xee,detector:RCe,loader:DCe},MCe=NCe,Tee="classDiagram",OCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),ICe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yje);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),BCe={id:Tee,detector:OCe,loader:ICe},PCe=BCe,wee="state",FCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),$Ce=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),zCe={id:wee,detector:FCe,loader:$Ce},qCe=zCe,Cee="stateDiagram",VCe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),GCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>lKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),UCe={id:Cee,detector:VCe,loader:GCe},HCe=UCe,See="journey",WCe=S(t=>/^\s*journey/.test(t),"detector"),YCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>RKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),XCe={id:See,detector:WCe,loader:YCe},jCe=XCe,KCe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error +`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Gi(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:KCe},ZCe=Eee,QCe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},JCe=QCe,kee="flowchart-elk",eSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),tSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),rSe={id:kee,detector:eSe,loader:tSe},nSe=rSe,_ee="timeline",iSe=S(t=>/^\s*timeline/.test(t),"detector"),aSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>aZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),sSe={id:_ee,detector:iSe,loader:aSe},oSe=sSe,Aee="mindmap",lSe=S(t=>/^\s*mindmap/.test(t),"detector"),cSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>TZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),uSe={id:Aee,detector:lSe,loader:cSe},hSe=uSe,Lee="kanban",dSe=S(t=>/^\s*kanban/.test(t),"detector"),fSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>qZe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),pSe={id:Lee,detector:dSe,loader:fSe},gSe=pSe,Ree="sankey",mSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),ySe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>EQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),vSe={id:Ree,detector:mSe,loader:ySe},bSe=vSe,Dee="packet",xSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),TSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>BQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),wSe={id:Dee,detector:xSe,loader:TSe},Nee="radar",CSe=S(t=>/^\s*radar-beta/.test(t),"detector"),SSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),ESe={id:Nee,detector:CSe,loader:SSe},Mee="block",kSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Met);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),ASe={id:Mee,detector:kSe,loader:_Se},LSe=ASe,Oee="treeView",RSe=S(t=>/^\s*treeView-beta/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Qet);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),NSe={id:Oee,detector:RSe,loader:DSe},MSe=NSe,Iee="architecture",OSe=S(t=>/^\s*architecture/.test(t),"detector"),ISe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ktt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),BSe={id:Iee,detector:OSe,loader:ISe},PSe=BSe,Bee="ishikawa",FSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),$Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Gtt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),zSe={id:Bee,detector:FSe,loader:$Se},Pee="venn",qSe=S(t=>/^\s*venn-beta/.test(t),"detector"),VSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Art);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),GSe={id:Pee,detector:qSe,loader:VSe},USe=GSe,Fee="treemap",HSe=S(t=>/^\s*treemap/.test(t),"detector"),WSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$rt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),YSe={id:Fee,detector:HSe,loader:WSe},$ee="wardley-beta",XSe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),jSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Krt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),KSe={id:$ee,detector:XSe,loader:jSe},ZSe=KSe,Uz=!1,XC=S(()=>{Uz||(Uz=!0,g5("error",JCe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(nSe,hSe,PSe),GA(qwe,gSe,PCe,MCe,Jwe,oCe,uCe,fCe,ECe,LCe,jwe,Hwe,oSe,nCe,HCe,qCe,jCe,yCe,bSe,wSe,TCe,LSe,MSe,ESe,zSe,YSe,USe,ZSe))},"addDiagrams"),QSe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{XA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),JSe="graphics-document document";function zee(t,e){t.attr("role",JSe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=ATe(e)+` +`;try{XA(i)}catch{const u=k0e(i);if(!u)throw new rX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=XA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],eEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),tEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tX);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var rEe=S(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),nEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),iEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:vTe(t),directive:e}},"processDirectives");function TN(t){const e=rEe(t),r=nEe(e),n=iEe(r.text),i=Ji(r.config,n.directive);return t=tEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var aEe=5e4,sEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",oEe="sandbox",lEe="loose",cEe="http://www.w3.org/2000/svg",uEe="http://www.w3.org/1999/xlink",hEe="http://www.w3.org/1999/xhtml",dEe="100%",fEe="100%",pEe="border:0;margin:0;",gEe="margin:0",mEe="allow-top-navigation-by-user-activation allow-popups",yEe='The "iframe" tag is not supported by your browser.',vEe=["foreignobject"],bEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),J0e(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){XC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),xEe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),vEe=C((t,e,r,n)=>{const i=yEe(t,r),a=ppe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(bwe(`${n}{${a}}`),Twe)},"createUserStyles"),bEe=C((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),xEe=C((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":uEe,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=C((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",sEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}C(Y8,"sandboxedIframe");var TEe=C((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),wEe=C(async function(t,e,r){XC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??rEe)&&(e=nEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=C(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===iEe,p=i.securityLevel===aEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,oEe)}else{if(TEe(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),S=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=vEe(i,S,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():XCe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(S,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",lEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=bEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=xEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:gEe,ADD_ATTR:mEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(ZSe(),b)throw b;return h(),{diagramType:S,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=ki({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),X0e(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?Y0e(e):sX();fD(r.logLevel),XC()}C(Hee,"initialize");var Wee=C((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}C(Yee,"addA11yInfo");var c0=Object.freeze({render:wEe,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oX,getSiteConfig:sX,updateSiteConfig:j0e,reset:C(()=>{f5()},"reset"),globalReset:C(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var CEe=C((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Xee=C(async function(t={querySelector:".mermaid"}){try{await SEe(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),SEe=C(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){CEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),jee=C(function(t){c0.initialize(t)},"initialize"),EEe=C(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&jee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Xee(n)},"init"),kEe=C(async(t,{lazyLoad:e=!0}={})=>{XC(),GA(...t),e===!1&&await jSe()},"registerExternalDiagrams"),Kee=C(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var _Ee=C(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=C(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),AEe=C(async(t,e)=>new Promise((r,n)=>{const i=C(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=C((t,e,r)=>new Promise((n,i)=>{const a=C(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),LEe=C(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:AEe,render:Qee,init:EEe,run:Xee,registerExternalDiagrams:kEe,registerLayoutLoaders:eee,initialize:jee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:_Ee,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:LEe},Xz=Nu;function nT(t){Ql.postMessage(t)}const REe="_mermaid_container_lewih_1",DEe="_diagram_container_lewih_17",NEe="_diagram_lewih_17",Z6={mermaid_container:REe,diagram_container:DEe,diagram:NEe};function MEe(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=Kt.useRef(null),r=Kt.useRef(0),[n,i]=Kt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Kt.useEffect(()=>{Xz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Kt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),TEe=S((t,e,r,n)=>{const i=xEe(t,r),a=ype(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(wwe(`${n}{${a}}`),Swe)},"createUserStyles"),wEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),CEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":fEe,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",cEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var SEe=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),EEe=S(async function(t,e,r){XC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??aEe)&&(e=sEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===oEe,p=i.securityLevel===lEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,uEe)}else{if(SEe(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=TEe(i,C,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():ZCe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",hEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=wEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=CEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:vEe,ADD_ATTR:bEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(eEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=ki({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),Z0e(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?K0e(e):sX();fD(r.logLevel),XC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:EEe,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oX,getSiteConfig:sX,updateSiteConfig:Q0e,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var kEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Xee=S(async function(t={querySelector:".mermaid"}){try{await _Ee(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),_Ee=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){kEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),jee=S(function(t){c0.initialize(t)},"initialize"),AEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&jee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Xee(n)},"init"),LEe=S(async(t,{lazyLoad:e=!0}={})=>{XC(),GA(...t),e===!1&&await QSe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var REe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),DEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),NEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:DEe,render:Qee,init:AEe,run:Xee,registerExternalDiagrams:LEe,registerLayoutLoaders:eee,initialize:jee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:REe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:NEe},Xz=Nu;function nT(t){dl.postMessage(t)}const MEe="_mermaid_container_lewih_1",OEe="_diagram_container_lewih_17",IEe="_diagram_lewih_17",Z6={mermaid_container:MEe,diagram_container:OEe,diagram:IEe};function BEe(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=Kt.useRef(null),r=Kt.useRef(0),[n,i]=Kt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Kt.useEffect(()=>{Xz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Kt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=`

    No Diagram Available Yet

    Click Run in the IDAES Tree View to execute the flowsheet and generate a diagram.

    @@ -344,9 +344,9 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` `);console.log(`mermaid diagram text: ${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p}=await Xz.render(f,h);e.current&&(e.current.innerHTML=p)}catch(f){console.error("mermaid render error:",f),e.current&&(e.current.innerHTML=`

    Mermaid render error: ${f}

    -
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Le.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Le.jsx("h2",{className:"page-title",children:"Diagram:"}),Le.jsx("div",{className:`${Z6.diagram_container}`,children:Le.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const OEe="_ipopt_container_87gan_1",IEe="_solver_output_87gan_11",BEe="_tabs_87gan_35",PEe="_tab_87gan_35",FEe="_tab_active_87gan_58",$Ee="_tab_content_87gan_64",zEe="_run_error_87gan_73",qEe="_run_error_title_87gan_82",VEe="_run_error_body_87gan_87",GEe="_run_error_hint_87gan_92",Ia={ipopt_container:OEe,solver_output:IEe,tabs:BEe,tab:PEe,tab_active:FEe,tab_content:$Ee,run_error:zEe,run_error_title:qEe,run_error_body:VEe,run_error_hint:GEe};function jz(t){if(!t)return"No solver output available for this step.";const e=t.split(` +
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Le.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Le.jsx("h2",{className:"page-title",children:"Diagram:"}),Le.jsx("div",{className:`${Z6.diagram_container}`,children:Le.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const PEe="_ipopt_container_87gan_1",FEe="_solver_output_87gan_11",$Ee="_tabs_87gan_35",zEe="_tab_87gan_35",qEe="_tab_active_87gan_58",VEe="_tab_content_87gan_64",GEe="_run_error_87gan_73",UEe="_run_error_title_87gan_82",HEe="_run_error_body_87gan_87",WEe="_run_error_hint_87gan_92",Ia={ipopt_container:PEe,solver_output:FEe,tabs:$Ee,tab:zEe,tab_active:qEe,tab_content:VEe,run_error:GEe,run_error_title:UEe,run_error_body:HEe,run_error_hint:WEe};function jz(t){if(!t)return"No solver output available for this step.";const e=t.split(` `);let r=0;for(let n=0;n0&&` Last completed steps: ${s.join(" → ")}.`]}),Le.jsx("p",{className:Ia.run_error_hint,children:"Check the error log for details."})]})]})}return a?Le.jsxs("div",{className:`${Ia.ipopt_container}`,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT"}),Le.jsxs("div",{className:Ia.tabs,children:[Le.jsx("span",{className:`${Ia.tab} ${e==="initial"?Ia.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Le.jsx("span",{className:`${Ia.tab} ${e==="optimization"?Ia.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Le.jsxs("div",{className:Ia.tab_content,children:[e==="initial"&&Le.jsx("pre",{className:`${Ia.solver_output}`,children:jz(a.solve_initial)}),e==="optimization"&&Le.jsx("pre",{className:`${Ia.solver_output}`,children:jz(a.solve_optimization)})]})]}):Le.jsxs("div",{className:`${Ia.ipopt_container}`,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT:"}),Le.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const HEe="_container_1qp2h_2",WEe="_empty_msg_1qp2h_15",YEe="_tabs_1qp2h_21",XEe="_tab_1qp2h_21",jEe="_tab_active_1qp2h_43",KEe="_tab_content_1qp2h_49",ZEe="_group_1qp2h_54",QEe="_group_header_1qp2h_58",JEe="_group_title_1qp2h_65",eke="_badge_warning_1qp2h_70",tke="_badge_caution_1qp2h_84",rke="_toggle_btns_1qp2h_99",nke="_toggle_btn_1qp2h_99",ike="_toggle_sep_1qp2h_115",ake="_group_body_1qp2h_121",ske="_summary_item_1qp2h_127",oke="_summary_line_1qp2h_131",lke="_clickable_1qp2h_140",cke="_arrow_1qp2h_149",uke="_summary_count_1qp2h_156",hke="_summary_text_1qp2h_163",dke="_detail_list_1qp2h_168",fke="_run_error_1qp2h_189",pke="_run_error_title_1qp2h_198",gke="_run_error_body_1qp2h_203",mke="_run_error_hint_1qp2h_208",jr={container:HEe,empty_msg:WEe,tabs:YEe,tab:XEe,tab_active:jEe,tab_content:KEe,group:ZEe,group_header:QEe,group_title:JEe,badge_warning:eke,badge_caution:tke,toggle_btns:rke,toggle_btn:nke,toggle_sep:ike,group_body:ake,summary_item:ske,summary_line:oke,clickable:lke,arrow:cke,summary_count:uke,summary_text:hke,detail_list:dke,run_error:fke,run_error_title:pke,run_error_body:gke,run_error_hint:mke};function X8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const yke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function vke({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Le.jsxs("div",{className:jr.summary_item,children:[Le.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&Le.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),Le.jsx("span",{className:jr.summary_count,children:t.count}),Le.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Le.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>Le.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Kt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Le.jsxs("div",{className:jr.group,children:[Le.jsxs("div",{className:jr.group_header,children:[Le.jsx("span",{className:jr.group_title,children:t}),Le.jsx("span",{className:e,children:r.length}),r.length>0&&Le.jsxs("span",{className:jr.toggle_btns,children:[Le.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),Le.jsx("span",{className:jr.toggle_sep,children:"|"}),Le.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Le.jsxs("div",{className:jr.group_body,children:[r.length===0&&Le.jsx("div",{className:jr.summary_line,children:Le.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>Le.jsx(vke,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function bke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Le.jsxs("div",{children:[Le.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Le.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:X8(i.bounds),names:i.names};yke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function xke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Le.jsxs("div",{children:[Le.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Le.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Tke(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=t?.actions?.diagnostics,[r,n]=Kt.useState("structure");if(!e)return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{children:"Diagnostic:"}),Le.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{children:"Diagnostic:"}),Le.jsxs("div",{className:jr.run_error,children:[Le.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Le.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Le.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Le.jsxs("div",{className:jr.tabs,children:[Le.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Le.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Le.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&Le.jsx(bke,{data:e.structural_issues}),r==="numerical"&&Le.jsx(xke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Kt.useState(n??!1);return Le.jsxs("div",{style:{paddingLeft:"12px"},children:[Le.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Le.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Le.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Le.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Le.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Kt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Le.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Le.jsx("span",{style:{fontFamily:"monospace"},children:m}):Le.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Le.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Le.jsxs("div",{style:{paddingLeft:"12px"},children:[Le.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Le.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Le.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Le.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Le.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",wke(p)]})]}),i&&p.length>0&&Le.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Le.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function wke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function j8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(j8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>j8(u,h,e)),o=o.filter(([u,h])=>j8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Le.jsxs(Le.Fragment,{children:[s.length>0&&Le.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Le.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Le.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Le.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Le.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Le.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Le.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function Cke({data:t,dofSteps:e}){const[r,n]=Kt.useState(""),[i,a]=Kt.useState(!1),[s,o]=Kt.useState(0),l=Kt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Kt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Le.jsxs("div",{children:[Le.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Le.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Le.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Le.jsx("div",{children:Le.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Le.jsx(Ske,{data:t,searchTerm:l})]})}function Ske({data:t,searchTerm:e}){return Kt.useMemo(()=>CN(t,e),[t,e])?null:Le.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Eke="_run_error_nknwf_18",kke="_run_error_title_nknwf_27",_ke="_run_error_body_nknwf_32",Ake="_run_error_hint_nknwf_37",iT={run_error:Eke,run_error_title:kke,run_error_body:_ke,run_error_hint:Ake};function Lke(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Le.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Le.jsxs("div",{className:iT.run_error,children:[Le.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Le.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Le.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Le.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Le.jsxs("section",{children:[Le.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Le.jsx(Cke,{data:r,dofSteps:i})]})}const Rke="_tabs_1froz_2",Dke="_tab_1froz_2",Nke="_tab_active_1froz_24",Mke="_logs_main_container_1froz_30",Oke="_tab_content_1froz_39",Ike="_content_section_1froz_47",Bke="_logs_container_1froz_54",Pke="_logs_header_1froz_67",Fke="_logs_title_1froz_76",$ke="_clear_logs_button_1froz_82",zke="_log_item_1froz_96",qke="_no_logs_1froz_104",Bi={tabs:Rke,tab:Dke,tab_active:Nke,logs_main_container:Mke,tab_content:Oke,content_section:Ike,logs_container:Bke,logs_header:Pke,logs_title:Fke,clear_logs_button:$ke,log_item:zke,no_logs:qke};function Vke(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Kt.useContext(Ra),r=()=>{e([])};return Le.jsxs("div",{className:Bi.content_section,children:[Le.jsxs("div",{className:Bi.logs_header,children:[Le.jsx("h2",{className:Bi.logs_title,children:"Extension Logs & Errors"}),Le.jsx("button",{className:Bi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Le.jsx("div",{className:Bi.logs_container,children:t.length===0?Le.jsx("span",{className:Bi.no_logs,children:"No errors logged."}):t.map((n,i)=>Le.jsx("div",{className:Bi.log_item,children:n},i))})]})}function Gke(){const{terminalLogs:t,setTerminalLogs:e}=Kt.useContext(Ra),r=Kt.useRef(null);Kt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Le.jsxs("div",{className:Bi.content_section,children:[Le.jsxs("div",{className:Bi.logs_header,children:[Le.jsx("h2",{className:Bi.logs_title,children:"Terminal Output"}),Le.jsx("button",{className:Bi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Le.jsxs("div",{className:Bi.logs_container,children:[t.length===0?Le.jsx("span",{className:Bi.no_logs,children:"No terminal output."}):t.map((i,a)=>Le.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Le.jsx("div",{ref:r})]})]})}function Uke(){const{activeLogTab:t,setActiveLogTab:e}=Kt.useContext(Ra);return Kt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Le.jsxs("div",{className:Bi.logs_main_container,children:[Le.jsxs("div",{className:Bi.tabs,children:[Le.jsx("span",{className:`${Bi.tab} ${t==="error"?Bi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Le.jsx("span",{className:`${Bi.tab} ${t==="terminal"?Bi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Le.jsxs("div",{className:Bi.tab_content,children:[t==="error"&&Le.jsx(Vke,{}),t==="terminal"&&Le.jsx(Gke,{})]})]})}const Hke="_main_display_container_xlfzb_1",Wke="_nav_xlfzb_11",Yke="_nav_item_xlfzb_25",Xke="_nav_item_active_xlfzb_44",jke="_blue_dot_xlfzb_49",Ls={main_display_container:Hke,nav:Wke,nav_item:Yke,nav_item_active:Xke,blue_dot:jke};function Kke(){const[t,e]=Kt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Kt.useContext(Ra),[i,a]=Kt.useState(!1),s=Kt.useRef(r.length),{flowsheetRunnerResult:o}=Kt.useContext(Ra),l=o?.actions?.degrees_of_freedom?.model;Kt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Kt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Le.jsx(Le.Fragment,{});switch(t){case"diagram":u=Le.jsx(MEe,{});break;case"variable":u=Le.jsx(Lke,{});break;case"ipopt":u=Le.jsx(UEe,{});break;case"diagnostics":u=Le.jsx(Tke,{});break;case"logs":u=Le.jsx(Uke,{});break;default:u=Le.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Le.jsxs("div",{className:`${Ls.main_display_container}`,children:[Le.jsxs("ul",{className:`${Ls.nav}`,children:[Le.jsx("li",{className:`${Ls.nav_item} ${t==="diagram"?Ls.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="variable"?Ls.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Le.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Le.jsx("li",{className:`${Ls.nav_item} ${t==="diagnostics"?Ls.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="ipopt"?Ls.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Le.jsx("span",{className:`${Ls.blue_dot}`})]}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="logs"?Ls.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Le.jsx("span",{className:`${Ls.blue_dot}`})]})]}),Le.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function Zke(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p}=Kt.useContext(Ra),[m,v]=Kt.useState(""),[b,x]=Kt.useState(!1);function S(T){let E;switch(console.log(`Now loading page: ${T}`),T){case"editor":E=Le.jsx(Vfe,{});break;case"webView":console.log("loading web view page"),E=Le.jsx(Kke,{});break;case"treeView":console.log("loading tree page"),E=Le.jsx(qfe,{});break;case"error":console.log(`Encounter an error: ${T}`);break;default:console.log("Unknown message type:",T);break}return E}return Kt.useEffect(()=>{if(!n)return;const T=n.actions?.diagnostics;if(T?.valid!==!1)return;const E=n.last_run??[],_=`[${new Date().toLocaleTimeString()}]`;s(R=>[...R,`${_} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${E.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:T,last_run:E})}`,`${_} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:E})}`,`${_} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:E})}`,`${_} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:E})}`])},[n]),Kt.useEffect(()=>{window.addEventListener("message",T=>{const E=T.data;switch(E.type){case"init":console.log(`VSCode post message: ${JSON.stringify(E)}`),e(E.content),r(E.fileName),t(E.idaesRunInfo),v(E.loadApp),l(!1),E.osPlatform&&p(E.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(E)}`),e(E.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",E),E.isLoading!==void 0&&(console.log("Calling setIsLoading with:",E.isLoading),l(E.isLoading)),r(E.activate_tab_name),E.idaesRunInfo!==void 0&&t(E.idaesRunInfo),E.initError?u(E.initError):(E.initError===null||E.isLoading)&&u(null),E.open_python_files!==void 0&&h(E.open_python_files);break;case"update_open_files":console.log("Received update_open_files event"),E.open_python_files!==void 0&&h(E.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(E)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(E.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(E)}`),a(E.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(E)}`),a(E.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(E)}`),s(_=>{const R=`[${new Date().toLocaleTimeString()}] ${E.message||JSON.stringify(E)}`;return[..._,R]});break;case"terminal_log":o(_=>[..._,E.data]);break;case"start_new_run":i(null),f(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),x(!1),setTimeout(()=>x(!0),10);break;case"history_update":console.log(`Received history list length: ${E.data?.length}`),d(E.data);break;default:console.log("Unknown message type:",JSON.stringify(E));break}}),Ql.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Le.jsx("div",{className:b?"flash-highlight":"",onAnimationEnd:()=>x(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:S(m)})}qde.createRoot(document.getElementById("root")).render(Le.jsx(Kt.StrictMode,{children:Le.jsx(Vde,{children:Le.jsx(Zke,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(Qke,"-$1").toLowerCase(),Jke={"&":"&",">":">","<":"<",'"':""","'":"'"},e6e=/[&><"']/g,Ga=t=>String(t).replace(e6e,e=>Jke[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,t6e=new Set(["mathord","textord","atom"]),Vu=t=>t6e.has(v3(t).type),r6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function n6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:n6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=r6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Gl[i6e[this.id]]}sub(){return Gl[a6e[this.id]]}fracNum(){return Gl[s6e[this.id]]}fracDen(){return Gl[o6e[this.id]]}cramp(){return Gl[l6e[this.id]]}text(){return Gl[c6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,$o=5,mm=6,ls=7,Gl=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h($o,2,!0),new _h(mm,3,!1),new _h(ls,3,!0)],i6e=[lb,$o,lb,$o,mm,ls,mm,ls],a6e=[$o,$o,$o,$o,ls,ls,ls,ls],s6e=[Ig,wu,lb,$o,mm,ls,mm,ls],o6e=[wu,wu,$o,$o,ls,ls,ls,ls],l6e=[iw,iw,wu,wu,$o,$o,ls,ls],c6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Gl[kN],TEXT:Gl[Ig],SCRIPT:Gl[lb],SCRIPTSCRIPT:Gl[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function u6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,h6e=function(e,r){return"M95,"+(622+e+r)+` +`).trimStart();return t}function YEe(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),[e,r]=Kt.useState("initial"),n=t?.actions?.diagnostics,i=!!t&&n?.valid===!1,a=t?.actions?.solver_output?.output||t?.actions?.capture_solver_output?.solver_logs;if(!t)return Le.jsxs("div",{className:`${Ia.ipopt_container}`,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT:"}),Le.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]});if(i){const s=t.last_run??[];return Le.jsxs("div",{className:Ia.ipopt_container,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT:"}),Le.jsxs("div",{className:Ia.run_error,children:[Le.jsx("p",{className:Ia.run_error_title,children:"fi-run has issues: Solver Output Unavailable"}),Le.jsxs("p",{className:Ia.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",s.length>0&&` Last completed steps: ${s.join(" → ")}.`]}),Le.jsx("p",{className:Ia.run_error_hint,children:"Check the error log for details."})]})]})}return a?Le.jsxs("div",{className:`${Ia.ipopt_container}`,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT"}),Le.jsxs("div",{className:Ia.tabs,children:[Le.jsx("span",{className:`${Ia.tab} ${e==="initial"?Ia.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Le.jsx("span",{className:`${Ia.tab} ${e==="optimization"?Ia.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Le.jsxs("div",{className:Ia.tab_content,children:[e==="initial"&&Le.jsx("pre",{className:`${Ia.solver_output}`,children:jz(a.solve_initial)}),e==="optimization"&&Le.jsx("pre",{className:`${Ia.solver_output}`,children:jz(a.solve_optimization)})]})]}):Le.jsxs("div",{className:`${Ia.ipopt_container}`,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT:"}),Le.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const XEe="_container_1qp2h_2",jEe="_empty_msg_1qp2h_15",KEe="_tabs_1qp2h_21",ZEe="_tab_1qp2h_21",QEe="_tab_active_1qp2h_43",JEe="_tab_content_1qp2h_49",eke="_group_1qp2h_54",tke="_group_header_1qp2h_58",rke="_group_title_1qp2h_65",nke="_badge_warning_1qp2h_70",ike="_badge_caution_1qp2h_84",ake="_toggle_btns_1qp2h_99",ske="_toggle_btn_1qp2h_99",oke="_toggle_sep_1qp2h_115",lke="_group_body_1qp2h_121",cke="_summary_item_1qp2h_127",uke="_summary_line_1qp2h_131",hke="_clickable_1qp2h_140",dke="_arrow_1qp2h_149",fke="_summary_count_1qp2h_156",pke="_summary_text_1qp2h_163",gke="_detail_list_1qp2h_168",mke="_run_error_1qp2h_189",yke="_run_error_title_1qp2h_198",vke="_run_error_body_1qp2h_203",bke="_run_error_hint_1qp2h_208",jr={container:XEe,empty_msg:jEe,tabs:KEe,tab:ZEe,tab_active:QEe,tab_content:JEe,group:eke,group_header:tke,group_title:rke,badge_warning:nke,badge_caution:ike,toggle_btns:ake,toggle_btn:ske,toggle_sep:oke,group_body:lke,summary_item:cke,summary_line:uke,clickable:hke,arrow:dke,summary_count:fke,summary_text:pke,detail_list:gke,run_error:mke,run_error_title:yke,run_error_body:vke,run_error_hint:bke};function X8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const xke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Tke({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Le.jsxs("div",{className:jr.summary_item,children:[Le.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&Le.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),Le.jsx("span",{className:jr.summary_count,children:t.count}),Le.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Le.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>Le.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Kt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Le.jsxs("div",{className:jr.group,children:[Le.jsxs("div",{className:jr.group_header,children:[Le.jsx("span",{className:jr.group_title,children:t}),Le.jsx("span",{className:e,children:r.length}),r.length>0&&Le.jsxs("span",{className:jr.toggle_btns,children:[Le.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),Le.jsx("span",{className:jr.toggle_sep,children:"|"}),Le.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Le.jsxs("div",{className:jr.group_body,children:[r.length===0&&Le.jsx("div",{className:jr.summary_line,children:Le.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>Le.jsx(Tke,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function wke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Le.jsxs("div",{children:[Le.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Le.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:X8(i.bounds),names:i.names};xke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Cke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Le.jsxs("div",{children:[Le.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Le.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Ske(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=t?.actions?.diagnostics,[r,n]=Kt.useState("structure");if(!e)return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{children:"Diagnostic:"}),Le.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{children:"Diagnostic:"}),Le.jsxs("div",{className:jr.run_error,children:[Le.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Le.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Le.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Le.jsxs("div",{className:jr.tabs,children:[Le.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Le.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Le.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&Le.jsx(wke,{data:e.structural_issues}),r==="numerical"&&Le.jsx(Cke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Kt.useState(n??!1);return Le.jsxs("div",{style:{paddingLeft:"12px"},children:[Le.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Le.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Le.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Le.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Le.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Kt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Le.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Le.jsx("span",{style:{fontFamily:"monospace"},children:m}):Le.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Le.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Le.jsxs("div",{style:{paddingLeft:"12px"},children:[Le.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Le.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Le.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Le.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Le.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",Eke(p)]})]}),i&&p.length>0&&Le.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Le.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function Eke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function j8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(j8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>j8(u,h,e)),o=o.filter(([u,h])=>j8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Le.jsxs(Le.Fragment,{children:[s.length>0&&Le.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Le.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Le.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Le.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Le.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Le.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Le.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function kke({data:t,dofSteps:e}){const[r,n]=Kt.useState(""),[i,a]=Kt.useState(!1),[s,o]=Kt.useState(0),l=Kt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Kt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Le.jsxs("div",{children:[Le.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Le.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Le.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Le.jsx("div",{children:Le.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Le.jsx(_ke,{data:t,searchTerm:l})]})}function _ke({data:t,searchTerm:e}){return Kt.useMemo(()=>CN(t,e),[t,e])?null:Le.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Ake="_run_error_nknwf_18",Lke="_run_error_title_nknwf_27",Rke="_run_error_body_nknwf_32",Dke="_run_error_hint_nknwf_37",iT={run_error:Ake,run_error_title:Lke,run_error_body:Rke,run_error_hint:Dke};function Nke(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Le.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Le.jsxs("div",{className:iT.run_error,children:[Le.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Le.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Le.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Le.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Le.jsxs("section",{children:[Le.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Le.jsx(kke,{data:r,dofSteps:i})]})}const Mke="_tabs_1froz_2",Oke="_tab_1froz_2",Ike="_tab_active_1froz_24",Bke="_logs_main_container_1froz_30",Pke="_tab_content_1froz_39",Fke="_content_section_1froz_47",$ke="_logs_container_1froz_54",zke="_logs_header_1froz_67",qke="_logs_title_1froz_76",Vke="_clear_logs_button_1froz_82",Gke="_log_item_1froz_96",Uke="_no_logs_1froz_104",Bi={tabs:Mke,tab:Oke,tab_active:Ike,logs_main_container:Bke,tab_content:Pke,content_section:Fke,logs_container:$ke,logs_header:zke,logs_title:qke,clear_logs_button:Vke,log_item:Gke,no_logs:Uke};function Hke(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Kt.useContext(Ra),r=()=>{e([])};return Le.jsxs("div",{className:Bi.content_section,children:[Le.jsxs("div",{className:Bi.logs_header,children:[Le.jsx("h2",{className:Bi.logs_title,children:"Extension Logs & Errors"}),Le.jsx("button",{className:Bi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Le.jsx("div",{className:Bi.logs_container,children:t.length===0?Le.jsx("span",{className:Bi.no_logs,children:"No errors logged."}):t.map((n,i)=>Le.jsx("div",{className:Bi.log_item,children:n},i))})]})}function Wke(){const{terminalLogs:t,setTerminalLogs:e}=Kt.useContext(Ra),r=Kt.useRef(null);Kt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Le.jsxs("div",{className:Bi.content_section,children:[Le.jsxs("div",{className:Bi.logs_header,children:[Le.jsx("h2",{className:Bi.logs_title,children:"Terminal Output"}),Le.jsx("button",{className:Bi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Le.jsxs("div",{className:Bi.logs_container,children:[t.length===0?Le.jsx("span",{className:Bi.no_logs,children:"No terminal output."}):t.map((i,a)=>Le.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Le.jsx("div",{ref:r})]})]})}function Yke(){const{activeLogTab:t,setActiveLogTab:e}=Kt.useContext(Ra);return Kt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Le.jsxs("div",{className:Bi.logs_main_container,children:[Le.jsxs("div",{className:Bi.tabs,children:[Le.jsx("span",{className:`${Bi.tab} ${t==="error"?Bi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Le.jsx("span",{className:`${Bi.tab} ${t==="terminal"?Bi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Le.jsxs("div",{className:Bi.tab_content,children:[t==="error"&&Le.jsx(Hke,{}),t==="terminal"&&Le.jsx(Wke,{})]})]})}const Xke="_main_display_container_xlfzb_1",jke="_nav_xlfzb_11",Kke="_nav_item_xlfzb_25",Zke="_nav_item_active_xlfzb_44",Qke="_blue_dot_xlfzb_49",Ls={main_display_container:Xke,nav:jke,nav_item:Kke,nav_item_active:Zke,blue_dot:Qke};function Jke(){const[t,e]=Kt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Kt.useContext(Ra),[i,a]=Kt.useState(!1),s=Kt.useRef(r.length),{flowsheetRunnerResult:o}=Kt.useContext(Ra),l=o?.actions?.degrees_of_freedom?.model;Kt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Kt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Le.jsx(Le.Fragment,{});switch(t){case"diagram":u=Le.jsx(BEe,{});break;case"variable":u=Le.jsx(Nke,{});break;case"ipopt":u=Le.jsx(YEe,{});break;case"diagnostics":u=Le.jsx(Ske,{});break;case"logs":u=Le.jsx(Yke,{});break;default:u=Le.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Le.jsxs("div",{className:`${Ls.main_display_container}`,children:[Le.jsxs("ul",{className:`${Ls.nav}`,children:[Le.jsx("li",{className:`${Ls.nav_item} ${t==="diagram"?Ls.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="variable"?Ls.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Le.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Le.jsx("li",{className:`${Ls.nav_item} ${t==="diagnostics"?Ls.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="ipopt"?Ls.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Le.jsx("span",{className:`${Ls.blue_dot}`})]}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="logs"?Ls.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Le.jsx("span",{className:`${Ls.blue_dot}`})]})]}),Le.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function e6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p,setPythonEnvInfo:m}=Kt.useContext(Ra),[v,b]=Kt.useState(""),[x,C]=Kt.useState(!1);function T(E){let _;switch(console.log(`Now loading page: ${E}`),E){case"editor":_=Le.jsx(Hfe,{});break;case"webView":console.log("loading web view page"),_=Le.jsx(Jke,{});break;case"treeView":console.log("loading tree page"),_=Le.jsx(Ufe,{});break;case"error":console.log(`Encounter an error: ${E}`);break;default:console.log("Unknown message type:",E);break}return _}return Kt.useEffect(()=>{if(!n)return;const E=n.actions?.diagnostics;if(E?.valid!==!1)return;const _=n.last_run??[],R=`[${new Date().toLocaleTimeString()}]`;s(k=>[...k,`${R} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${_.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:E,last_run:_})}`,`${R} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:_})}`,`${R} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:_})}`,`${R} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:_})}`])},[n]),Kt.useEffect(()=>{window.addEventListener("message",E=>{const _=E.data;switch(_.type){case"init":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content),r(_.fileName),t(_.idaesRunInfo),b(_.loadApp),l(!1),_.osPlatform&&p(_.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",_),_.isLoading!==void 0&&(console.log("Calling setIsLoading with:",_.isLoading),l(_.isLoading)),r(_.activate_tab_name),_.idaesRunInfo!==void 0&&t(_.idaesRunInfo),_.initError?u(_.initError):(_.initError===null||_.isLoading)&&u(null),_.open_python_files!==void 0&&h(_.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",_),m({current:_.current??null,envs:_.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),_.open_python_files!==void 0&&h(_.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(_)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(_.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(_)}`),s(R=>{const k=`[${new Date().toLocaleTimeString()}] ${_.message||JSON.stringify(_)}`;return[...R,k]});break;case"terminal_log":o(R=>[...R,_.data]);break;case"start_new_run":i(null),f(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),C(!1),setTimeout(()=>C(!0),10);break;case"history_update":console.log(`Received history list length: ${_.data?.length}`),d(_.data);break;default:console.log("Unknown message type:",JSON.stringify(_));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Le.jsx("div",{className:x?"flash-highlight":"",onAnimationEnd:()=>C(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:T(v)})}qde.createRoot(document.getElementById("root")).render(Le.jsx(Kt.StrictMode,{children:Le.jsx(Vde,{children:Le.jsx(e6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(t6e,"-$1").toLowerCase(),r6e={"&":"&",">":">","<":"<",'"':""","'":"'"},n6e=/[&><"']/g,Ga=t=>String(t).replace(n6e,e=>r6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,i6e=new Set(["mathord","textord","atom"]),Vu=t=>i6e.has(v3(t).type),a6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function s6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:s6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=a6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[o6e[this.id]]}sub(){return Ul[l6e[this.id]]}fracNum(){return Ul[c6e[this.id]]}fracDen(){return Ul[u6e[this.id]]}cramp(){return Ul[h6e[this.id]]}text(){return Ul[d6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,ls=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(ls,3,!0)],o6e=[lb,zo,lb,zo,mm,ls,mm,ls],l6e=[zo,zo,zo,zo,ls,ls,ls,ls],c6e=[Ig,wu,lb,zo,mm,ls,mm,ls],u6e=[wu,wu,zo,zo,ls,ls,ls,ls],h6e=[iw,iw,wu,wu,zo,zo,ls,ls],d6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function f6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,p6e=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -357,7 +357,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},d6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},g6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -367,7 +367,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},f6e=function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},m6e=function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -376,7 +376,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},p6e=function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},y6e=function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -386,18 +386,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},g6e=function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},v6e=function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},m6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},y6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},b6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},x6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},v6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=h6e(r,Mp);break;case"sqrtSize1":i=d6e(r,Mp);break;case"sqrtSize2":i=f6e(r,Mp);break;case"sqrtSize3":i=p6e(r,Mp);break;case"sqrtSize4":i=g6e(r,Mp);break;case"sqrtTall":i=y6e(r,Mp,n)}return i},b6e=function(e,r){switch(e){case"⎜":return Xi("M291 0 H417 V"+r+" H291z");case"∣":return Xi("M145 0 H188 V"+r+" H145z");case"∥":return Xi("M145 0 H188 V"+r+" H145z")+Xi("M367 0 H410 V"+r+" H367z");case"⎟":return Xi("M457 0 H583 V"+r+" H457z");case"⎢":return Xi("M319 0 H403 V"+r+" H319z");case"⎥":return Xi("M263 0 H347 V"+r+" H263z");case"⎪":return Xi("M384 0 H504 V"+r+" H384z");case"⏐":return Xi("M312 0 H355 V"+r+" H312z");case"‖":return Xi("M257 0 H300 V"+r+" H257z")+Xi("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},T6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=p6e(r,Mp);break;case"sqrtSize1":i=g6e(r,Mp);break;case"sqrtSize2":i=m6e(r,Mp);break;case"sqrtSize3":i=y6e(r,Mp);break;case"sqrtSize4":i=v6e(r,Mp);break;case"sqrtTall":i=x6e(r,Mp,n)}return i},w6e=function(e,r){switch(e){case"⎜":return Xi("M291 0 H417 V"+r+" H291z");case"∣":return Xi("M145 0 H188 V"+r+" H145z");case"∥":return Xi("M145 0 H188 V"+r+" H145z")+Xi("M367 0 H410 V"+r+" H367z");case"⎟":return Xi("M457 0 H583 V"+r+" H457z");case"⎢":return Xi("M319 0 H403 V"+r+" H319z");case"⎥":return Xi("M263 0 H347 V"+r+" H263z");case"⎪":return Xi("M384 0 H504 V"+r+" H384z");case"⏐":return Xi("M312 0 H355 V"+r+" H312z");case"‖":return Xi("M257 0 H300 V"+r+" H257z")+Xi("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 @@ -568,7 +568,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},x6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},C6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -596,38 +596,38 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},T6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in T6e||e==="ex"},ri=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ga(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ga(n)+'"');for(var a of Object.keys(this.attributes)){if(w6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ga(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let jC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class C6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ga(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ga(n)+'"');var a=Ga(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var _6e=t=>t instanceof Hm||t instanceof jC||t instanceof Um,Yl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){Yl[t]=e}function _N(t,e,r){if(!Yl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Yl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=Yl[e][n]),!i&&r==="text"&&rte(n)&&(i=Yl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function A6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var L6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},R6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Yn={math:{},text:{}};function K(t,e,r,n,i,a){Yn[t][i]={font:e,group:r,replace:n},a&&n&&(Yn[t][n]=Yn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Zn="accent-token",er="bin",vs="close",Wm="inner",mr="mathord",Ui="op-token",go="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,vs,"⎱","\\rmoustache",!0);K(J,ce,go,"⎰","\\lmoustache",!0);K(J,ce,vs,"⟯","\\rgroup",!0);K(J,ce,go,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,go,"┌","\\@ulcorner",!0);K(J,Be,vs,"┐","\\@urcorner",!0);K(J,Be,go,"└","\\@llcorner",!0);K(J,Be,vs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,go,"⟨","\\langle",!0);K(J,ce,go,"∣","\\lvert");K(J,ce,go,"∥","\\lVert");K(J,ce,vs,"?","?");K(J,ce,vs,"!","!");K(J,ce,vs,"⟩","\\rangle",!0);K(J,ce,vs,"∣","\\rvert");K(J,ce,vs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,go,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,vs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,go,"{","\\lbrace");K(J,ce,vs,"}","\\rbrace");K(J,ce,go,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,vs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,go,"(","\\lparen",!0);K(J,ce,vs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,go,"⌊","\\lfloor",!0);K(J,ce,vs,"⌋","\\rfloor",!0);K(J,ce,go,"⌈","\\lceil",!0);K(J,ce,vs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Ui,"∐","\\coprod");K(J,ce,Ui,"⋁","\\bigvee");K(J,ce,Ui,"⋀","\\bigwedge");K(J,ce,Ui,"⨄","\\biguplus");K(J,ce,Ui,"⋂","\\bigcap");K(J,ce,Ui,"⋃","\\bigcup");K(J,ce,Ui,"∫","\\int");K(J,ce,Ui,"∫","\\intop");K(J,ce,Ui,"∬","\\iint");K(J,ce,Ui,"∭","\\iiint");K(J,ce,Ui,"∏","\\prod");K(J,ce,Ui,"∑","\\sum");K(J,ce,Ui,"⨂","\\bigotimes");K(J,ce,Ui,"⨁","\\bigoplus");K(J,ce,Ui,"⨀","\\bigodot");K(J,ce,Ui,"∮","\\oint");K(J,ce,Ui,"∯","\\oiint");K(J,ce,Ui,"∰","\\oiiint");K(J,ce,Ui,"⨆","\\bigsqcup");K(J,ce,Ui,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Zn,"ˊ","\\acute");K(J,ce,Zn,"ˋ","\\grave");K(J,ce,Zn,"¨","\\ddot");K(J,ce,Zn,"~","\\tilde");K(J,ce,Zn,"ˉ","\\bar");K(J,ce,Zn,"˘","\\breve");K(J,ce,Zn,"ˇ","\\check");K(J,ce,Zn,"^","\\hat");K(J,ce,Zn,"⃗","\\vec");K(J,ce,Zn,"˙","\\dot");K(J,ce,Zn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Zn,"ˊ","\\'");K(Ot,ce,Zn,"ˋ","\\`");K(Ot,ce,Zn,"ˆ","\\^");K(Ot,ce,Zn,"˜","\\~");K(Ot,ce,Zn,"ˉ","\\=");K(Ot,ce,Zn,"˘","\\u");K(Ot,ce,Zn,"˙","\\.");K(Ot,ce,Zn,"¸","\\c");K(Ot,ce,Zn,"˚","\\r");K(Ot,ce,Zn,"ˇ","\\v");K(Ot,ce,Zn,"¨",'\\"');K(Ot,ce,Zn,"˝","\\H");K(Ot,ce,Zn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return ns(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=N6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return ns(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},O6e=function(e,r,n,i){var a=new jC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},I6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ri(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ti={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},B6e={mord:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mop:{mord:ti,mop:ti,mrel:Vc,minner:ti},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mpunct:{mord:ti,mop:ti,mrel:Vc,mopen:ti,mclose:ti,mpunct:ti,minner:ti},minner:{mord:ti,mop:ti,mbin:rf,mrel:Vc,mopen:ti,mpunct:ti,minner:ti}},P6e={mord:{mop:ti},mop:{mord:ti,mop:ti},mbin:{},mrel:{},mopen:{},mclose:{mop:ti},mpunct:{},minner:{mop:ti}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&$6e.has(x)?v.classes[0]="mord":x==="mbin"&&F6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,S=nL(v),T=nL(m),E=S&&T?m.hasClass("mtight")?(b=P6e[S])==null?void 0:b[T]:(x=B6e[S])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof jC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return q6e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ea(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ea(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ga(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class zi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ga(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var V6e=new Set(["\\imath","\\jmath"]),G6e=new Set(["mrow","mtable"]),Ho=function(e,r,n){return Yn[r][e]&&Yn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Yn[r][e].replace),new zi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(V6e.has(a))return null;if(Yn[i][a]){var s=Yn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof zi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof zi&&r.text===","}else return!1}var mo=function(e,r,n){if(e.length===1){var i=Rn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof zi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof zi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(mo(e,r,n))},Rn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=mo(t,r),s;a.length===1&&a[0]instanceof Vt&&G6e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new zi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var U6e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:U6e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=A6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},H6e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},W6e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},Y6e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new zi(Y6e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},X6e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},j6e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(j6e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],S=X6e[l],[T,E,_]=S,R=_/1e3,k=T.length,L,O;if(k===1){var F=S[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},K6e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||R6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof po)return t;if(_6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=k6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=E6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Ho(t.label,t.mode)]),n=new Vt("mover",[Rn(t.base,e),r]);return n.setAttribute("accent","true"),n},Z6e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!Z6e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Rn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Rn(t.body,e));if(t.below){var a=hT(Rn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Rn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ea(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=mo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:$i(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:$i(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:$i(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:$i(e[0])}},htmlBuilder(t,e){var r=ea(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=mo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var Q6e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",J6e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function e_e(t,e,r){var n=Q6e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function t_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=e_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Rn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Rn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ea(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=mo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:$i(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ri(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ri(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},r_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=r_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=Yn.math[e]&&Yn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},n_e=function(e,r,n,i,a,s){var o=ns(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},i_e=function(e,r,n,i){return ns(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=i_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[ns(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=Yl["Size4-Regular"][e.charCodeAt(0)]?Yl["Size4-Regular"][e.charCodeAt(0)][4]:Yl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",b6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},a_e=new Set(["|","\\lvert","\\rvert","\\vert"]),s_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):a_e.has(e)?(u="∣",d="vert",f=333):s_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,S=i2(h,p,a),T=S.height+S.depth,E=0,_=1;if(l!==null){var R=i2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=x6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=v6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},o_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),l_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(l_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},c_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],u_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],h_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=c_e:Rte.has(e)?o=Mte:o=u_e;var l=Ote(e,r,o,i);return l.type==="small"?n_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},d_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&d_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Ho(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ea(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=mo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Ho(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Ho(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Ho("|","text"):Ho(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ri({number:.6,unit:"pt"},e),u=ri({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=m6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=K6e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var S;if(t.backgroundColor)S=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];S=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(S.height=r.height,S.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[S],e):Pt(["mord"],[S],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Rn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},f_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],S=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){S&&(t.gullet.macros.get("\\df@tag")?(S.push(t.subparse([new co("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):S.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=S,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Uu([We,Xe])},p_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,S=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",S-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){f_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),t_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Rn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var g_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var S=e.fontMetrics().axisHeight;p-s.depth-(S+.5*d){var r=new Vt("mfrac",[Rn(t.numer,e),Rn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ri(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new zi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new zi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:g_e,mathmlBuilder:m_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},y_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Rn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:y_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:$i(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ea(t.body,e,!1);return O6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ea(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:$i(e[0]),mathml:$i(e[1])}},htmlBuilder:(t,e)=>{var r=ea(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ri(t.height,e),n=0;t.totalheight.number>0&&(n=ri(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ri(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new C6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ri(t.height,e),i=0;if(t.totalheight.number>0&&(i=ri(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ri(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ri(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Rn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:$i(e[0]),text:$i(e[1]),script:$i(e[2]),scriptscript:$i(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ea(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=ns(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ea(a.body,e,!0);p.length===1&&p[0]instanceof po?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Ho(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",mo(t.body,e));else{r=new Vt("mi",[new zi(t.name.slice(1))]);var n=new Vt("mo",[Ho("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},v_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=v_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$i(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var b_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=b_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ea(o,e.withFont("mathrm"),!0),u=0;u{for(var r=mo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new zi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Ho("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:$i(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:x_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ea(t.body,e,!1)):Pt(["mord"],ea(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Rn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:$i(n)}},htmlBuilder:(t,e)=>{var r=ea(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=mo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=mo($i(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ri(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ri(t.width,e),i=ri(t.height,e),a=t.shift?ri(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ri(t.width,e),n=ri(t.height,e),i=t.shift?ri(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ea(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:T_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=mo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Rn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),S=Pt(["root"],[x]);return Pt(["mord","sqrt"],[S,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Rn(r,e),Rn(n,e)]):new Vt("msqrt",[Rn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=mo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var w_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=w_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),S=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof po||T)&&(S=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:S},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:S,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Rn(t.base,e)];t.sub&&a.push(Rn(t.sub,e)),t.sup&&a.push(Rn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Ho(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Ho(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Ho(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new zi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},C_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(C_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:$i(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ea(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Rn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r - ]`,S_e="\\\\[a-zA-Z@]+",E_e="\\\\[^\uD800-\uDFFF]",k_e="("+S_e+")"+Yte+"*",__e=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},S6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in S6e||e==="ex"},ri=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ga(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ga(n)+'"');for(var a of Object.keys(this.attributes)){if(E6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ga(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let jC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class k6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ga(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ga(n)+'"');var a=Ga(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var R6e=t=>t instanceof Hm||t instanceof jC||t instanceof Um,Xl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){Xl[t]=e}function _N(t,e,r){if(!Xl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Xl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=Xl[e][n]),!i&&r==="text"&&rte(n)&&(i=Xl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function D6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var N6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},M6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Yn={math:{},text:{}};function K(t,e,r,n,i,a){Yn[t][i]={font:e,group:r,replace:n},a&&n&&(Yn[t][n]=Yn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Zn="accent-token",er="bin",vs="close",Wm="inner",mr="mathord",Ui="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,vs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,vs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,vs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,vs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,vs,"?","?");K(J,ce,vs,"!","!");K(J,ce,vs,"⟩","\\rangle",!0);K(J,ce,vs,"∣","\\rvert");K(J,ce,vs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,vs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,vs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,vs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,vs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,vs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,vs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Ui,"∐","\\coprod");K(J,ce,Ui,"⋁","\\bigvee");K(J,ce,Ui,"⋀","\\bigwedge");K(J,ce,Ui,"⨄","\\biguplus");K(J,ce,Ui,"⋂","\\bigcap");K(J,ce,Ui,"⋃","\\bigcup");K(J,ce,Ui,"∫","\\int");K(J,ce,Ui,"∫","\\intop");K(J,ce,Ui,"∬","\\iint");K(J,ce,Ui,"∭","\\iiint");K(J,ce,Ui,"∏","\\prod");K(J,ce,Ui,"∑","\\sum");K(J,ce,Ui,"⨂","\\bigotimes");K(J,ce,Ui,"⨁","\\bigoplus");K(J,ce,Ui,"⨀","\\bigodot");K(J,ce,Ui,"∮","\\oint");K(J,ce,Ui,"∯","\\oiint");K(J,ce,Ui,"∰","\\oiiint");K(J,ce,Ui,"⨆","\\bigsqcup");K(J,ce,Ui,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Zn,"ˊ","\\acute");K(J,ce,Zn,"ˋ","\\grave");K(J,ce,Zn,"¨","\\ddot");K(J,ce,Zn,"~","\\tilde");K(J,ce,Zn,"ˉ","\\bar");K(J,ce,Zn,"˘","\\breve");K(J,ce,Zn,"ˇ","\\check");K(J,ce,Zn,"^","\\hat");K(J,ce,Zn,"⃗","\\vec");K(J,ce,Zn,"˙","\\dot");K(J,ce,Zn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Zn,"ˊ","\\'");K(Ot,ce,Zn,"ˋ","\\`");K(Ot,ce,Zn,"ˆ","\\^");K(Ot,ce,Zn,"˜","\\~");K(Ot,ce,Zn,"ˉ","\\=");K(Ot,ce,Zn,"˘","\\u");K(Ot,ce,Zn,"˙","\\.");K(Ot,ce,Zn,"¸","\\c");K(Ot,ce,Zn,"˚","\\r");K(Ot,ce,Zn,"ˇ","\\v");K(Ot,ce,Zn,"¨",'\\"');K(Ot,ce,Zn,"˝","\\H");K(Ot,ce,Zn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return ns(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=I6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return ns(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},P6e=function(e,r,n,i){var a=new jC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},F6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ri(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ti={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},$6e={mord:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mop:{mord:ti,mop:ti,mrel:Vc,minner:ti},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mpunct:{mord:ti,mop:ti,mrel:Vc,mopen:ti,mclose:ti,mpunct:ti,minner:ti},minner:{mord:ti,mop:ti,mbin:rf,mrel:Vc,mopen:ti,mpunct:ti,minner:ti}},z6e={mord:{mop:ti},mop:{mord:ti,mop:ti},mbin:{},mrel:{},mopen:{},mclose:{mop:ti},mpunct:{},minner:{mop:ti}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&V6e.has(x)?v.classes[0]="mord":x==="mbin"&&q6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=z6e[C])==null?void 0:b[T]:(x=$6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof jC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return U6e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ea(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ea(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ga(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class zi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ga(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var H6e=new Set(["\\imath","\\jmath"]),W6e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return Yn[r][e]&&Yn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Yn[r][e].replace),new zi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(H6e.has(a))return null;if(Yn[i][a]){var s=Yn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof zi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof zi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Rn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof zi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof zi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Rn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&W6e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new zi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var Y6e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:Y6e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=D6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},X6e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},j6e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},K6e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new zi(K6e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},Z6e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Q6e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(Q6e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=Z6e[l],[T,E,_]=C,R=_/1e3,k=T.length,L,O;if(k===1){var F=C[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},J6e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||M6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(R6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=L6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=A6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Rn(t.base,e),r]);return n.setAttribute("accent","true"),n},e_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!e_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Rn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Rn(t.body,e));if(t.below){var a=hT(Rn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Rn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ea(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:$i(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:$i(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:$i(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:$i(e[0])}},htmlBuilder(t,e){var r=ea(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var t_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",r_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function n_e(t,e,r){var n=t_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function i_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=n_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Rn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Rn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ea(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:$i(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ri(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ri(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},a_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=a_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=Yn.math[e]&&Yn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},s_e=function(e,r,n,i,a,s){var o=ns(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},o_e=function(e,r,n,i){return ns(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=o_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[ns(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=Xl["Size4-Regular"][e.charCodeAt(0)]?Xl["Size4-Regular"][e.charCodeAt(0)][4]:Xl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",w6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},l_e=new Set(["|","\\lvert","\\rvert","\\vert"]),c_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):l_e.has(e)?(u="∣",d="vert",f=333):c_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var R=i2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=C6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=T6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},u_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),h_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(h_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},d_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],f_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],p_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=d_e:Rte.has(e)?o=Mte:o=f_e;var l=Ote(e,r,o,i);return l.type==="small"?s_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},g_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&g_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ea(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ri({number:.6,unit:"pt"},e),u=ri({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=b6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=J6e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Rn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},m_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Uu([We,Xe])},y_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){m_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),i_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Rn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var v_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Rn(t.numer,e),Rn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ri(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new zi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new zi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:v_e,mathmlBuilder:b_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},x_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Rn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:x_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:$i(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ea(t.body,e,!1);return P6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ea(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:$i(e[0]),mathml:$i(e[1])}},htmlBuilder:(t,e)=>{var r=ea(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ri(t.height,e),n=0;t.totalheight.number>0&&(n=ri(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ri(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new k6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ri(t.height,e),i=0;if(t.totalheight.number>0&&(i=ri(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ri(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ri(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Rn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:$i(e[0]),text:$i(e[1]),script:$i(e[2]),scriptscript:$i(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ea(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=ns(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ea(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new zi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},T_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=T_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$i(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var w_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=w_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ea(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new zi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:$i(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:C_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ea(t.body,e,!1)):Pt(["mord"],ea(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Rn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:$i(n)}},htmlBuilder:(t,e)=>{var r=ea(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo($i(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ri(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ri(t.width,e),i=ri(t.height,e),a=t.shift?ri(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ri(t.width,e),n=ri(t.height,e),i=t.shift?ri(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ea(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:S_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Rn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Rn(r,e),Rn(n,e)]):new Vt("msqrt",[Rn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var E_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=E_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Rn(t.base,e)];t.sub&&a.push(Rn(t.sub,e)),t.sup&&a.push(Rn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new zi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},k_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(k_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:$i(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ea(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Rn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r + ]`,__e="\\\\[a-zA-Z@]+",A_e="\\\\[^\uD800-\uDFFF]",L_e="("+__e+")"+Yte+"*",R_e=`\\\\( |[ \r ]+ -?)[ \r ]*`,lL="[̀-ͯ]",A_e=new RegExp(lL+"+$"),L_e="("+Yte+"+)|"+(__e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+k_e)+("|"+E_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(L_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new co("EOF",new Rs(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new co(e[r],new Rs(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new co(i,new Rs(this,r,this.tokenRegex.lastIndex))}};class R_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var D_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],Yn.math[r],Yn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},N_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in Yn.math&&N_e.has(Yn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Xte=Gt(Yl["Main-Regular"][84][1]-.7*Yl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var jte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",jte(!1));ye("\\bra@set",jte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class M_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new R_e(D_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new co("EOF",n.loc)),this.pushTokens(i),new co("",Rs.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new co(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||Yn.math.hasOwnProperty(e)||Yn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new M_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new co("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Rs.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function ao(t){return vd(t)?LZ(t):oee(t)}var J_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,e7e=/^\w*$/;function zN(t,e){if(qi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:e7e.test(t)||!J_e.test(t)||e!=null&&t in Object(e)}var t7e=500;function r7e(t){var e=$m(t,function(n){return r.size===t7e&&r.clear(),n}),r=e.cache;return e}var n7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i7e=/\\(\\)?/g,a7e=r7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(n7e,function(r,n,i,a){e.push(i?a.replace(i7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return qi(t)?t:zN(t,e)?[t]:a7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&NAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var v8e=Math.max;function b8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Y_e(r);return i<0&&(i=v8e(n+i,0)),ore(t,Hu(e),i)}var YN=y8e(b8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=qi(t)?Bg:Sre;return r(t,Hu(e))}function x8e(t,e){return uS(Tn(t,e))}function T8e(t,e){return t==null?t:WD(t,WN(e),O0)}function w8e(t,e){return t&&HN(t,WN(e))}function C8e(t,e){return t>e}var S8e=Object.prototype,E8e=S8e.hasOwnProperty;function k8e(t,e){return t!=null&&E8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,k8e)}function _8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:_8e(t,ao(t))}function Ai(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function M8e(t,e,r){e.length?e=Bg(e,function(a){return qi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return R8e(i,function(a,s){return N8e(a,s,r)})}function O8e(t,e){return L8e(t,e,function(r,n){return wre(t,n)})}var uw=l7e(function(t,e){return t==null?{}:O8e(t,e)}),I8e=Math.ceil,B8e=Math.max;function P8e(t,e,r,n){for(var i=-1,a=B8e(I8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function F8e(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),M8e(t,uS(e),[])}),z8e=1/0,q8e=Og&&1/GN(new Og([,-0]))[1]==z8e?function(t){return new Og(t)}:X_e,V8e=200;function _re(t,e,r){var n=-1,i=Q_e,a=t.length,s=!0,o=[],l=o;if(a>=V8e){var u=e?null:q8e(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(ao(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(ao(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Ai(r))r=nf;else{r+="";for(var n=r;!Ai(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Ai(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return ao(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return ao(r)}successors(e){var r=this._sucs[e];if(r)return ao(r)}neighbors(e){var r=this.predecessors(e);if(r)return G8e(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Ai(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Ai(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=j8e(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Gs.prototype._nodeCount=0;Gs.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Ai(n)?X8e:n)}function j8e(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class K8e{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,Z8e)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function Z8e(t,e){if(t!=="_next"&&t!=="_prev")return e}var Q8e=Tg(1);function J8e(t,e){if(t.nodeCount()<=1)return[];var r=tLe(t,e||Q8e),n=eLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function eLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function tLe(t,e){var r=new Gs,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new K8e}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function rLe(t){var e=t.graph().acyclicer==="greedy"?J8e(t,r(t)):nLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function nLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function iLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Xm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function aLe(t){var e=new Gs().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Gs({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Xq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Ai(i)||(e[i][n.order]=r)}),e}function sLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function oLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Ai(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function jq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Xm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Ai(r))return r}))}function lLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function cLe(t,e){return e()}function uLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=Xl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return jN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),ELe(t,e)}function ELe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=CLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function kLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function _Le(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":LLe(t);break;case"longest-path":ALe(t);break;default:Jq(t)}}var ALe=ZN;function LLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function RLe(t){var e=Xm(t,"root",{},"_root"),r=DLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=NLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=jq(t,"_bt"),u=jq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function DLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function NLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function MLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function OLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function ILe(t,e,r){var n=BLe(t),i=new Gs({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Ai(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function BLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function PLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function $Le(t){var e={},r=Xl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function zLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function qLe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Ai(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Ai(a)&&!Ai(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Xl(r,function(i){return!i.indegree});return VLe(n)}function VLe(t){var e=[];function r(a){return function(s){s.merged||(Ai(s.barycenter)||Ai(a.barycenter)||s.barycenter>=a.barycenter)&&GLe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(Xl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function GLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function ULe(t,e){var r=lLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(HLe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function HLe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=Xl(i,function(m){return m!==s&&m!==o}));var u=zLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&YLe(m,v)}});var h=qLe(u,r);WLe(h,l);var d=ULe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function WLe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function YLe(t,e){Ai(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function XLe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=$Le(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){jLe(o%2?r:n,o%4>=2),i=fS(t);var u=PLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function QLe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function JLe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=tRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function tRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function rRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function nRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>SRe(t));r(" runLayout",()=>pRe(n,r)),r(" updateInputGraph",()=>gRe(t,n))})}function pRe(t,e){e(" makeSpaceForEdgeLabels",()=>ERe(t)),e(" removeSelfEdges",()=>ORe(t)),e(" acyclic",()=>rLe(t)),e(" nestingGraph.run",()=>RLe(t)),e(" rank",()=>_Le(Are(t))),e(" injectEdgeLabelProxies",()=>kRe(t)),e(" removeEmptyRanks",()=>oLe(t)),e(" nestingGraph.cleanup",()=>MLe(t)),e(" normalizeRanks",()=>sLe(t)),e(" assignRankMinMax",()=>_Re(t)),e(" removeEdgeLabelProxies",()=>ARe(t)),e(" normalize.run",()=>gLe(t)),e(" parentDummyChains",()=>KLe(t)),e(" addBorderSegments",()=>uLe(t)),e(" order",()=>XLe(t)),e(" insertSelfEdges",()=>IRe(t)),e(" adjustCoordinateSystem",()=>hLe(t)),e(" position",()=>dRe(t)),e(" positionSelfEdges",()=>BRe(t)),e(" removeBorderNodes",()=>MRe(t)),e(" normalize.undo",()=>yLe(t)),e(" fixupEdgeLabelCoords",()=>DRe(t)),e(" undoCoordinateSystem",()=>dLe(t)),e(" translateGraph",()=>LRe(t)),e(" assignNodeIntersects",()=>RRe(t)),e(" reversePoints",()=>NRe(t)),e(" acyclic.undo",()=>iLe(t))}function gRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var mRe=["nodesep","edgesep","ranksep","marginx","marginy"],yRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},vRe=["acyclicer","ranker","rankdir","align"],bRe=["width","height"],xRe={width:0,height:0},TRe=["minlen","weight","width","height","labeloffset"],wRe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},CRe=["labelpos"];function SRe(t){var e=new Gs({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},yRe,T_(r,mRe),uw(r,vRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,g8e(T_(i,bRe),xRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},wRe,T_(i,TRe),uw(i,CRe)))}),e}function ERe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function kRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Xm(t,"edge-proxy",a,"_ep")}})}function _Re(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function ARe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function LRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function RRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Xq(n,a)),r.points.push(Xq(i,s))})}function DRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function NRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function MRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function ORe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function IRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Xm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function BRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function jl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:PRe(t),edges:FRe(t)};return Ai(t.graph())||(e.value=mre(t.graph())),e}function PRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Ai(r)||(i.value=r),Ai(n)||(i.parent=n),i})}function FRe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Ai(e.name)||(n.name=e.name),Ai(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,$Re=C(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=C((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),zRe=C((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=C((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{zRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=C((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),qRe=C((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=C((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=qRe(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=C(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),VRe=C((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",jl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=C((t,e)=>{if(oe.warn("extractor - ",e,jl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",jl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",jl(o)),oe.debug("Old graph after copy",jl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=C((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),GRe=C(t=>Yre(t,t.children()),"sortNodesByHierarchy"),Xre=C(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",jl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX +?)[ \r ]*`,lL="[̀-ͯ]",D_e=new RegExp(lL+"+$"),N_e="("+Yte+"+)|"+(R_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+L_e)+("|"+A_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(N_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class M_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var O_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],Yn.math[r],Yn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},I_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in Yn.math&&I_e.has(Yn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Xte=Gt(Xl["Main-Regular"][84][1]-.7*Xl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var jte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",jte(!1));ye("\\bra@set",jte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class B_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new M_e(O_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||Yn.math.hasOwnProperty(e)||Yn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new B_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var r7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n7e=/^\w*$/;function zN(t,e){if(qi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:n7e.test(t)||!r7e.test(t)||e!=null&&t in Object(e)}var i7e=500;function a7e(t){var e=$m(t,function(n){return r.size===i7e&&r.clear(),n}),r=e.cache;return e}var s7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o7e=/\\(\\)?/g,l7e=a7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(s7e,function(r,n,i,a){e.push(i?a.replace(o7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return qi(t)?t:zN(t,e)?[t]:l7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&IAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var T8e=Math.max;function w8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:K_e(r);return i<0&&(i=T8e(n+i,0)),ore(t,Hu(e),i)}var YN=x8e(w8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=qi(t)?Bg:Sre;return r(t,Hu(e))}function C8e(t,e){return uS(Tn(t,e))}function S8e(t,e){return t==null?t:WD(t,WN(e),O0)}function E8e(t,e){return t&&HN(t,WN(e))}function k8e(t,e){return t>e}var _8e=Object.prototype,A8e=_8e.hasOwnProperty;function L8e(t,e){return t!=null&&A8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,L8e)}function R8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:R8e(t,so(t))}function Ai(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function B8e(t,e,r){e.length?e=Bg(e,function(a){return qi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return M8e(i,function(a,s){return I8e(a,s,r)})}function P8e(t,e){return N8e(t,e,function(r,n){return wre(t,n)})}var uw=h7e(function(t,e){return t==null?{}:P8e(t,e)}),F8e=Math.ceil,$8e=Math.max;function z8e(t,e,r,n){for(var i=-1,a=$8e(F8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function q8e(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),B8e(t,uS(e),[])}),G8e=1/0,U8e=Og&&1/GN(new Og([,-0]))[1]==G8e?function(t){return new Og(t)}:Z_e,H8e=200;function _re(t,e,r){var n=-1,i=t7e,a=t.length,s=!0,o=[],l=o;if(a>=H8e){var u=e?null:U8e(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Ai(r))r=nf;else{r+="";for(var n=r;!Ai(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Ai(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return W8e(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Ai(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Ai(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=Q8e(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Ai(n)?Z8e:n)}function Q8e(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class J8e{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,eLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function eLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var tLe=Tg(1);function rLe(t,e){if(t.nodeCount()<=1)return[];var r=iLe(t,e||tLe),n=nLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function nLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function iLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new J8e}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function aLe(t){var e=t.graph().acyclicer==="greedy"?rLe(t,r(t)):sLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function sLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function oLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Xm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function lLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Xq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Ai(i)||(e[i][n.order]=r)}),e}function cLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function uLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Ai(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function jq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Xm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Ai(r))return r}))}function hLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function dLe(t,e){return e()}function fLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=jl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return jN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),ALe(t,e)}function ALe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=kLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function LLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function RLe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":NLe(t);break;case"longest-path":DLe(t);break;default:Jq(t)}}var DLe=ZN;function NLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function MLe(t){var e=Xm(t,"root",{},"_root"),r=OLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=ILe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=jq(t,"_bt"),u=jq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function OLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function ILe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function BLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function PLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function FLe(t,e,r){var n=$Le(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Ai(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function $Le(t){for(var e;t.hasNode(e=KN("_root")););return e}function zLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function VLe(t){var e={},r=jl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function GLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ULe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Ai(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Ai(a)&&!Ai(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=jl(r,function(i){return!i.indegree});return HLe(n)}function HLe(t){var e=[];function r(a){return function(s){s.merged||(Ai(s.barycenter)||Ai(a.barycenter)||s.barycenter>=a.barycenter)&&WLe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(jl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function WLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function YLe(t,e){var r=hLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(XLe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function XLe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=jl(i,function(m){return m!==s&&m!==o}));var u=GLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&KLe(m,v)}});var h=ULe(u,r);jLe(h,l);var d=YLe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function jLe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function KLe(t,e){Ai(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function ZLe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=VLe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){QLe(o%2?r:n,o%4>=2),i=fS(t);var u=zLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function tRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function rRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=iRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function iRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function aRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function sRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>_Re(t));r(" runLayout",()=>yRe(n,r)),r(" updateInputGraph",()=>vRe(t,n))})}function yRe(t,e){e(" makeSpaceForEdgeLabels",()=>ARe(t)),e(" removeSelfEdges",()=>PRe(t)),e(" acyclic",()=>aLe(t)),e(" nestingGraph.run",()=>MLe(t)),e(" rank",()=>RLe(Are(t))),e(" injectEdgeLabelProxies",()=>LRe(t)),e(" removeEmptyRanks",()=>uLe(t)),e(" nestingGraph.cleanup",()=>BLe(t)),e(" normalizeRanks",()=>cLe(t)),e(" assignRankMinMax",()=>RRe(t)),e(" removeEdgeLabelProxies",()=>DRe(t)),e(" normalize.run",()=>vLe(t)),e(" parentDummyChains",()=>JLe(t)),e(" addBorderSegments",()=>fLe(t)),e(" order",()=>ZLe(t)),e(" insertSelfEdges",()=>FRe(t)),e(" adjustCoordinateSystem",()=>pLe(t)),e(" position",()=>gRe(t)),e(" positionSelfEdges",()=>$Re(t)),e(" removeBorderNodes",()=>BRe(t)),e(" normalize.undo",()=>xLe(t)),e(" fixupEdgeLabelCoords",()=>ORe(t)),e(" undoCoordinateSystem",()=>gLe(t)),e(" translateGraph",()=>NRe(t)),e(" assignNodeIntersects",()=>MRe(t)),e(" reversePoints",()=>IRe(t)),e(" acyclic.undo",()=>oLe(t))}function vRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var bRe=["nodesep","edgesep","ranksep","marginx","marginy"],xRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},TRe=["acyclicer","ranker","rankdir","align"],wRe=["width","height"],CRe={width:0,height:0},SRe=["minlen","weight","width","height","labeloffset"],ERe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},kRe=["labelpos"];function _Re(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},xRe,T_(r,bRe),uw(r,TRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,v8e(T_(i,wRe),CRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},ERe,T_(i,SRe),uw(i,kRe)))}),e}function ARe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function LRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Xm(t,"edge-proxy",a,"_ep")}})}function RRe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function DRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function NRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function MRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Xq(n,a)),r.points.push(Xq(i,s))})}function ORe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function IRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function BRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function PRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function FRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Xm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function $Re(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:zRe(t),edges:qRe(t)};return Ai(t.graph())||(e.value=mre(t.graph())),e}function zRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Ai(r)||(i.value=r),Ai(n)||(i.parent=n),i})}function qRe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Ai(e.name)||(n.name=e.name),Ai(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,VRe=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),GRe=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{GRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),URe=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=URe(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),HRe=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),WRe=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),Xre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX Node.id = `,v,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:S}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:S});const T=await Xre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),w5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await C(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(jl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(jl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(GRe(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,S=b?.labelBBox?.height||0,T=S-x||0;oe.debug("OffsetY",T,"labelHeight",S,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var S=e.node(v.w);const T=KJ(u,b,Pr,r,x,S,n);XJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),URe=C(async(t,e)=>{const r=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),C5e(),A5e(),r5e(),$Re(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function jre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function jRe(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function KRe(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function ZRe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function QRe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ii(t,e){return WRe(t)||KRe(t,e)||eM(t,e)||ZRe()}function dw(t){return YRe(t)||jRe(t)||eM(t)||QRe()}function JRe(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=JRe(t,"string");return typeof e=="symbol"?e:e+""}function ta(t){"@babel/helpers - typeof";return ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ta(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var ji=typeof window>"u"?null:window,iV=ji?ji.navigator:null;ji&&ji.document;var e9e=ta(""),Zre=ta({}),t9e=ta(function(){}),r9e=typeof HTMLElement>"u"?"undefined":ta(HTMLElement),ox=function(e){return e&&e.instanceString&&si(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ta(e)==e9e},si=function(e){return e!=null&&ta(e)===t9e},Ln=function(e){return!uo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ta(e)===Zre&&!Ln(e)&&e.constructor===Object},n9e=function(e){return e!=null&&ta(e)===Zre},Yt=function(e){return e!=null&&ta(e)===ta(1)&&!isNaN(e)},i9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(r9e!=="undefined")return e!=null&&e instanceof HTMLElement},uo=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},a9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},s9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},o9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},l9e=function(e){return n9e(e)&&si(e.then)},c9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},m9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+d9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},b9e=function(e){var r,n=new RegExp("^"+u9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},x9e=function(e){return T9e[e.toLowerCase()]},rne=function(e){return(Ln(e)?e:null)||x9e(e)||y9e(e)||b9e(e)||v9e(e)},T9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||S&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(S)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var D9e=R9e(),dx=cx(D9e),P_=ji?ji.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},N9e=(function(){if(ji){if(ji.requestAnimationFrame)return function(t){ji.requestAnimationFrame(t)};if(ji.mozRequestAnimationFrame)return function(t){ji.mozRequestAnimationFrame(t)};if(ji.webkitRequestAnimationFrame)return function(t){ji.webkitRequestAnimationFrame(t)};if(ji.msRequestAnimationFrame)return function(t){ji.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return N9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},M9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},G9e=function(e,r){for(var n=0;n"u"?"undefined":ta(Set))!==H9e?Set:W9e,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Wn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Wn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new jm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ln(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hS?1:0},h=function(x,S,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,S));return k},m=function(x,S,T){var E;if(T==null&&(T=n),E=x.indexOf(S),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,S,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,S),!_.length)return _;for(a(_,T),L=x.slice(S),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,S,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>S;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,S,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=S,R=x[S],E=2*S+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[S]=x[E],S=E,E=2*S+1;return x[S]=R,v(x,L,S,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(S){this.cmp=S??n,this.nodes=[]}return x.prototype.push=function(S){return o(this.nodes,S,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(S){return this.nodes.indexOf(S)!==-1},x.prototype.replace=function(S){return u(this.nodes,S,this.cmp)},x.prototype.pushpop=function(S){return l(this.nodes,S,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(S){return m(this.nodes,S,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var S;return S=new x,S.nodes=this.nodes.slice(0),S},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,S){return t.exports=S()})(this,function(){return r})}).call(Y9e)})(T3)),T3.exports}var F_,EV;function j9e(){return EV||(EV=1,F_=X9e()),F_}var K9e=j9e(),fx=cx(K9e),Z9e=Da({root:null,weight:function(e){return 1},directed:!1}),Q9e={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=Z9e(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,S.updateItem(N)},S=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=S.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},J9e={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,S[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,S[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Ae),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=S(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=oDe(a,e,r),n--}return r},lDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/sDe);if(a<2){Wn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},pDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},gDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},yDe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},vDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},bDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Ii(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},xDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function TDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=xDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,S=b;if(m=Uh(e,r,n,i,v,b,x,S,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Uh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=s2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},CDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},SDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},EDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},kDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},_De=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];kDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,S,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Ms=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Ms(e,r,v)},LDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&S.push(b),x>=0&&x<=1&&S.push(x),S.length===0)return[];var T=S[0]*l[0]+e,E=S[0]*l[1]+r;if(S.length>1){if(S[0]==S[1])return[T,E];var _=S[1]*l[0]+e,R=S[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,S=v*d-f*m;if(S!==0){var T=b/S,E=x/S,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},DDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,S,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},WDe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:jDe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,KDe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,ZDe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return si(t)?s=t:s=wm[t]||wm.euclidean,e===0&&si(t)?s(i,a):s(e,r,n,i,a)}var QDe=Da({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return QDe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},tNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][S.key]&&(l=n[v.key][S.key])):a.linkage==="max"?(l=n[m.key][S.key],n[m.key][S.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=fNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],S.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,S.target().id()]}):s.forEach(function(S){var T=S.id();if(S.isNode()){var E=S.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],S.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[S.source().id(),S.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var S=x.connectedNodes().intersection(e);b.merge(x),S.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,S,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),S=b===p?x:b,S!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:S,edge:E})),S in r?r[p].low=Math.min(r[p].low,r[S].id):(u(f,S,p),r[p].low=Math.min(r[p].low,r[S].low),r[p].id<=r[S].low&&(r[p].cutVertex=!0,l(p,S))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},TNe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},wNe={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,Q9e,J9e,tDe,nDe,aDe,lDe,IDe,Fg,$g,pL,XDe,oNe,hNe,vNe,xNe,TNe,wNe].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,xl=function(e){if(!(this instanceof xl))return new xl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};xl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new xl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function qNe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function VNe(){if(dG)return f7;dG=1;var t=PNe(),e=FNe(),r=$Ne(),n=zNe(),i=qNe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ln(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Qi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return m9e(t.selector,e.selector)}),bMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},EMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,S=h.field;return"["+e(x)+S+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function MMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,MMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var OMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var S=x?v.position():{x:0,y:0};return a={x:m.x-S.x,y:m.y-S.y},e===void 0?a:a[e]}else if(!s)return;return this}};gl.modelPosition=gl.point=gl.position;gl.modelPositions=gl.points=gl.positions;gl.renderedPoint=gl.renderedPosition;gl.relativePoint=gl.relativePosition;var IMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var S=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(S=S*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,S),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:nl(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ns(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),nl(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),S=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(S,E)-_-R,N=m+Math.max(S,E)+_+R,B=v-Math.max(S,E)-_-R,M=v+Math.max(S,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Ae){return He=He-Q,Ae=Ae-he,{x:He*j-Ae*ee+Q,y:He*ee+Ae*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,nl(e,$,z,q,D),nl(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},BMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},PMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=fs(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],S=function($e){return $e.pstyle("display").value!=="none"},T=!i||S(e)&&(!u||S(e.source())&&S(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,nl(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&BMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,nl(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}nl(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,nl(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;nl(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,nl(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?vDe(pe.all):pe.all=fs(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Po(s.x1),s.y1=Po(s.y1),s.x2=Po(s.x2),s.y2=Po(s.y2),s.w=Po(s.x2-s.x1),s.h=Po(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:QMe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ln(e)||(e=[e]),JMe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===ZMe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&G9e(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ta(Symbol))!=e&&ta(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return jre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ua.neighbourhood=Ua.neighborhood;Ua.closedNeighbourhood=Ua.closedNeighborhood;Ua.openNeighbourhood=Ua.openNeighborhood;yr(Ua,{source:zo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:zo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ua.componentsOf=Ua.components;var Aa=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Wn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new jm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new Aa(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?S(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var uOe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Nn=function(e,r,n,i){var a=cOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Nn(.25,.1,.25,1),"ease-in":Nn(.42,0,1,1),"ease-out":Nn(0,0,.58,1),"ease-in-out":Nn(.42,0,.58,1),"ease-in-sine":Nn(.47,0,.745,.715),"ease-out-sine":Nn(.39,.575,.565,1),"ease-in-out-sine":Nn(.445,.05,.55,.95),"ease-in-quad":Nn(.55,.085,.68,.53),"ease-out-quad":Nn(.25,.46,.45,.94),"ease-in-out-quad":Nn(.455,.03,.515,.955),"ease-in-cubic":Nn(.55,.055,.675,.19),"ease-out-cubic":Nn(.215,.61,.355,1),"ease-in-out-cubic":Nn(.645,.045,.355,1),"ease-in-quart":Nn(.895,.03,.685,.22),"ease-out-quart":Nn(.165,.84,.44,1),"ease-in-out-quart":Nn(.77,0,.175,1),"ease-in-quint":Nn(.755,.05,.855,.06),"ease-out-quint":Nn(.23,1,.32,1),"ease-in-out-quint":Nn(.86,0,.07,1),"ease-in-expo":Nn(.95,.05,.795,.035),"ease-out-expo":Nn(.19,1,.22,1),"ease-in-out-expo":Nn(1,0,0,1),"ease-in-circ":Nn(.6,.04,.98,.335),"ease-out-circ":Nn(.075,.82,.165,1),"ease-in-out-circ":Nn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=uOe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Nn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Ln(s)&&Ln(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,S=s.position;if(S&&i&&!t.locked()){var T={};bv(x.x,S.x)&&(T.x=Bp(x.x,S.x,b,v)),bv(x.y,S.y)&&(T.y=Bp(x.y,S.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(R.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(R.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(L,O)&&(a.zoom=mb(a.minZoom,Bp(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function dOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},S=p.length-1;S>=0;S--){var T=p[S],E=T._private;if(E.stopped){p.splice(S,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||dOe(h,T,t),hOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(S,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var fOe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},pOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(pOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Wn("Layout options must be specified to make a layout");return}if(e.name==null){Wn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Wn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var gOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):uo(e)?e.collection():Ln(e)?(r||(r={}),new Aa(this,e,r.unique,r.removed)):new Aa(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var ha={},M2="t",yOe="f";ha.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};ha.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};ha.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};ha.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};ha.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var S=x[1],T=x[2],E=e.properties[S];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(S,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:S,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,S=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(S)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Ln(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:pDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else uo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=ji!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new Aa(this),listeners:[],aniEles:new Aa(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(l9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Ln(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var S=yr({},r._private.options.layout);S.eles=r.elements(),r.layout(S).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,si(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=fs(o?t.boundingBox:structuredClone(e.extent())),u;if(uo(t.roots))u=t.roots;else if(Ln(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(De+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Wn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Ae=function(We){return P9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Ae),this};var wOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},wOe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),S=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+S*S));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var COe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},COe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(S[0].value-E.value);_>=b&&(S=[],x.push(S))}S.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(ROe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var EOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=fs(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,S=b.y-v.y,T=x*x+S*S,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*S/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},MOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},OOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},BOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},$Oe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},$Oe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var S=a.w/u,T=a.h/l;if(e.condense&&(S=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=ADe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=_De(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ns(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Ms(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):S(R)||E(R)||E(R,"source")||E(R,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=fs({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ns(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Ae=Me.labelBounds.main;if(!Ae)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Ae.x1-$e-ot,it=Ae.x2+$e-ot,Ye=Ae.y1-$e-De,Xe=Ae.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Ae,Oe,We){return(We.y-Ae.y)*(Oe.x-Ae.x)>(Oe.y-Ae.y)*(We.x-Ae.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var S=0;S0?-(Math.PI-e.ang):Math.PI+e.ang},HOe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Bl):UOe(Mo,Bl),dU(r,n,Mo),cU=Bl.nx*Mo.ny-Bl.ny*Mo.nx,uU=Bl.nx*Mo.nx-Bl.ny*-Mo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Bl.len/2,Mo.len/2),a?(Rl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Rl>ET?(Rl=ET,kf=Math.abs(Rl*Math.sin(af)/Math.cos(af))):kf=Fp):(Rl=Math.min(ET,Fp),kf=Math.abs(Rl*Math.sin(af)/Math.cos(af))),SL=r.x+Mo.nx*Rl,EL=r.y+Mo.ny*Rl,wL=SL-Mo.ny*kf*Bf,CL=EL+Mo.nx*kf*Bf,uie=r.x+Bl.nx*Rl,hie=r.y+Bl.ny*Rl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(HOe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Bl.ang+Math.PI/2*Bf,endAngle:Mo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,WOe=Math.sqrt(2*wb),Ya={};Ya.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Ii(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Ii(v,2),x=b[0],S=b[1],T={x1:p,y1:m,x2:x,y2:S};i=u(p,m,x,S),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ya.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;S===u?x=Math.abs(z)>Math.abs(D)?i:n:S===l||S===o?(x=n,I=!0):(S===a||S===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||R))&&(S===o&&M<0||S===l&&M>0||S===a&&M>0||S===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Ae=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Ae,We,Ae]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Ya.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),S=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||S||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Ya.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=WOe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Ae[0],Ae[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Ae=u,Oe=Ef(Ae,wg(s)),We=Ef(Ae,wg(He)),Te=Oe;if(We2){var ot=Ef(Ae,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(L.p0,L.p1,L.p2,q),f=XOe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=mDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ns(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ns(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(su(r.rscratch,X,e,Z),Z):Ns(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` -`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),R="",k=0,L=Ps(_),O;try{for(L.s();!(O=L.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=R.length===0?q:R+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?R+=q+$:(R&&m.push(R),R=q+$)}}catch(H){L.e(H)}finally{L.f()}R.match(/^[\s\u200b]+$/)||m.push(R)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await Xre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),E5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(WRe(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);XJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),YRe=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),k5e(),D5e(),a5e(),VRe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function jre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function QRe(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function JRe(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function e9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ii(t,e){return jRe(t)||JRe(t,e)||eM(t,e)||e9e()}function dw(t){return KRe(t)||QRe(t)||eM(t)||t9e()}function r9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=r9e(t,"string");return typeof e=="symbol"?e:e+""}function ta(t){"@babel/helpers - typeof";return ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ta(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var ji=typeof window>"u"?null:window,iV=ji?ji.navigator:null;ji&&ji.document;var n9e=ta(""),Zre=ta({}),i9e=ta(function(){}),a9e=typeof HTMLElement>"u"?"undefined":ta(HTMLElement),ox=function(e){return e&&e.instanceString&&si(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ta(e)==n9e},si=function(e){return e!=null&&ta(e)===i9e},Ln=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ta(e)===Zre&&!Ln(e)&&e.constructor===Object},s9e=function(e){return e!=null&&ta(e)===Zre},Yt=function(e){return e!=null&&ta(e)===ta(1)&&!isNaN(e)},o9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(a9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},l9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},c9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},u9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},h9e=function(e){return s9e(e)&&si(e.then)},d9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},b9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+g9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},w9e=function(e){var r,n=new RegExp("^"+f9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},C9e=function(e){return S9e[e.toLowerCase()]},rne=function(e){return(Ln(e)?e:null)||C9e(e)||x9e(e)||w9e(e)||T9e(e)},S9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var O9e=M9e(),dx=cx(O9e),P_=ji?ji.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},I9e=(function(){if(ji){if(ji.requestAnimationFrame)return function(t){ji.requestAnimationFrame(t)};if(ji.mozRequestAnimationFrame)return function(t){ji.mozRequestAnimationFrame(t)};if(ji.webkitRequestAnimationFrame)return function(t){ji.webkitRequestAnimationFrame(t)};if(ji.msRequestAnimationFrame)return function(t){ji.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return I9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},B9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},W9e=function(e,r){for(var n=0;n"u"?"undefined":ta(Set))!==X9e?Set:j9e,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Wn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Wn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new jm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ln(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),L=x.slice(C),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,C,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=C,R=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=R,v(x,L,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(K9e)})(T3)),T3.exports}var F_,EV;function Q9e(){return EV||(EV=1,F_=Z9e()),F_}var J9e=Q9e(),fx=cx(J9e),eDe=Da({root:null,weight:function(e){return 1},directed:!1}),tDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=eDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=C.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},rDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,C[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Ae),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=uDe(a,e,r),n--}return r},hDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/cDe);if(a<2){Wn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},yDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},vDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},xDe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},TDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},wDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Ii(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},CDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function SDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=CDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Uh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=s2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},kDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},_De=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},ADe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},LDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},RDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];LDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},NDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,R=C[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},ODe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},jDe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:QDe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,JDe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,eNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return si(t)?s=t:s=wm[t]||wm.euclidean,e===0&&si(t)?s(i,a):s(e,r,n,i,a)}var tNe=Da({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return tNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},iNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=mNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},SNe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},ENe={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,tDe,rDe,iDe,sDe,lDe,hDe,FDe,Fg,$g,pL,ZDe,uNe,pNe,TNe,CNe,SNe,ENe].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function UNe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function HNe(){if(dG)return f7;dG=1;var t=zNe(),e=qNe(),r=VNe(),n=GNe(),i=UNe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ln(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Qi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return b9e(t.selector,e.selector)}),wMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},AMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function BMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,BMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var PMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var FMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,C),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-R,N=m+Math.max(C,E)+_+R,B=v-Math.max(C,E)-_-R,M=v+Math.max(C,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Ae){return He=He-Q,Ae=Ae-he,{x:He*j-Ae*ee+Q,y:He*ee+Ae*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},$Me=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},zMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=fs(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&$Me(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?TDe(pe.all):pe.all=fs(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:tOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ln(e)||(e=[e]),rOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===eOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&W9e(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ta(Symbol))!=e&&ta(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return jre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ua.neighbourhood=Ua.neighborhood;Ua.closedNeighbourhood=Ua.closedNeighborhood;Ua.openNeighbourhood=Ua.openNeighborhood;yr(Ua,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ua.componentsOf=Ua.components;var Aa=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Wn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new jm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new Aa(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var fOe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Nn=function(e,r,n,i){var a=dOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Nn(.25,.1,.25,1),"ease-in":Nn(.42,0,1,1),"ease-out":Nn(0,0,.58,1),"ease-in-out":Nn(.42,0,.58,1),"ease-in-sine":Nn(.47,0,.745,.715),"ease-out-sine":Nn(.39,.575,.565,1),"ease-in-out-sine":Nn(.445,.05,.55,.95),"ease-in-quad":Nn(.55,.085,.68,.53),"ease-out-quad":Nn(.25,.46,.45,.94),"ease-in-out-quad":Nn(.455,.03,.515,.955),"ease-in-cubic":Nn(.55,.055,.675,.19),"ease-out-cubic":Nn(.215,.61,.355,1),"ease-in-out-cubic":Nn(.645,.045,.355,1),"ease-in-quart":Nn(.895,.03,.685,.22),"ease-out-quart":Nn(.165,.84,.44,1),"ease-in-out-quart":Nn(.77,0,.175,1),"ease-in-quint":Nn(.755,.05,.855,.06),"ease-out-quint":Nn(.23,1,.32,1),"ease-in-out-quint":Nn(.86,0,.07,1),"ease-in-expo":Nn(.95,.05,.795,.035),"ease-out-expo":Nn(.19,1,.22,1),"ease-in-out-expo":Nn(1,0,0,1),"ease-in-circ":Nn(.6,.04,.98,.335),"ease-out-circ":Nn(.075,.82,.165,1),"ease-in-out-circ":Nn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=fOe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Nn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Ln(s)&&Ln(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(R.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(R.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(L,O)&&(a.zoom=mb(a.minZoom,Bp(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function gOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||gOe(h,T,t),pOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var mOe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},yOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(yOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Wn("Layout options must be specified to make a layout");return}if(e.name==null){Wn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Wn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var vOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Ln(e)?(r||(r={}),new Aa(this,e,r.unique,r.removed)):new Aa(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var ha={},M2="t",xOe="f";ha.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};ha.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};ha.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};ha.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};ha.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Ln(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:yDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=ji!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new Aa(this),listeners:[],aniEles:new Aa(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(h9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Ln(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,si(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=fs(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Ln(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(De+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Wn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Ae=function(We){return z9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Ae),this};var EOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},EOe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var kOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},kOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(MOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var AOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=fs(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},BOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},POe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},$Oe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},VOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},VOe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=DDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=RDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ms(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):C(R)||E(R)||E(R,"source")||E(R,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=fs({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Ae=Me.labelBounds.main;if(!Ae)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Ae.x1-$e-ot,it=Ae.x2+$e-ot,Ye=Ae.y1-$e-De,Xe=Ae.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Ae,Oe,We){return(We.y-Ae.y)*(Oe.x-Ae.x)>(Oe.y-Ae.y)*(We.x-Ae.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},XOe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):YOe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(XOe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,jOe=Math.sqrt(2*wb),Ya={};Ya.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Ii(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Ii(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ya.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||R))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Ae=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Ae,We,Ae]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Ya.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Ya.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=jOe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Ae[0],Ae[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Ae=u,Oe=Ef(Ae,wg(s)),We=Ef(Ae,wg(He)),Te=Oe;if(We2){var ot=Ef(Ae,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(L.p0,L.p1,L.p2,q),f=ZOe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=bDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(su(r.rscratch,X,e,Z),Z):Ms(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` +`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),R="",k=0,L=Fs(_),O;try{for(L.s();!(O=L.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=R.length===0?q:R+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?R+=q+$:(R&&m.push(R),R=q+$)}}catch(H){L.e(H)}finally{L.f()}R.match(/^[\s\u200b]+$/)||m.push(R)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` `)),s("labelWrapKey",l)}else if(o==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,B="",M="…",V=!1;if(this.calculateLabelDimensions(t,i).widthN)break;B+=i[U],U===i.length-1&&(V=!0)}return V||(B+=M),B}return i};pc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};pc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var p=0,m=0,v=e.split(` -`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Ms(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",rs(3,0)),this.generateRoundPolygon("round-triangle",rs(3,0)),this.generatePolygon("rectangle",rs(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",rs(5,0)),this.generateRoundPolygon("round-pentagon",rs(5,0)),this.generatePolygon("hexagon",rs(6,0)),this.generateRoundPolygon("round-hexagon",rs(6,0)),this.generatePolygon("heptagon",rs(7,0)),this.generateRoundPolygon("round-heptagon",rs(7,0)),this.generatePolygon("octagon",rs(8,0)),this.generateRoundPolygon("round-octagon",rs(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(S>=e.deqCost*p||S>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},KOe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Wn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new jm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,ZOe=8,QOe=1024,JOe=1024,eIe=1024,tIe=.2,rIe=.8,nIe=10,iIe=.15,aIe=.1,sIe=.9,oIe=.9,lIe=100,cIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},uIe=Da({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=uIe(r);yr(n,i),n.lookup=new KOe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},na=l2.prototype;na.reasons=Sg;na.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};na.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};na.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};na.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};na.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>eIe||d>JOe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(S(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+ZOe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};na.invalidateElements=function(t){for(var e=0;e=tIe*t.width&&this.retireTexture(t)};na.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>rIe&&t.fullnessChecks>=nIe?cd(r,t):t.fullnessChecks++};na.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};na.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};na.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};na.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};na.onDequeue=function(t){this.onDequeues.push(t)};na.offDequeue=function(t){cd(this.onDequeues,t)};na.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:lIe,deqCost:iIe,deqAvgCost:aIe,deqNoDrawCost:sIe,deqFastCost:oIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=dIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=fs();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>xIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,S=t.length/hIe,T=!o,E=0;E=S||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Na.getEleLevelForLayerLevel=function(t,e){return t};Na.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,TIe),a.setImgSmoothing(s,!0))};Na.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Na.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Na.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Na.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,S=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:S;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function NIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ns(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ns(s,"labelX",r),u=Ns(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ns(s,"labelWidth",r),v=Ns(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,S=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;S&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,X,Z,j,z)):q?(t.beginPath(),NIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?wU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ns(s,"labelWrapCachedLines",r),te=Ns(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var S=e.pstyle("background-image"),T=S.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,S=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,S[0],S[1],S[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,S=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],S),t.fill(),u+=T)}t.restore()};var bs={},MIe=100;bs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};bs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var S=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=S.core("outside-texture-bg-color").value,B=S.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},MIe)),n||r.emit("render")};var xv;bs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var S=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/S,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function OIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function IIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function BIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function PIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function FIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function $Ie(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function zIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function qIe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function VIe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function GIe(t,e,r,n){var i=kie(t,e),a=Ii(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Dl(t,e,r,n){var i=kie(t,r),a=Ii(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Ps(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Ps(this.renderTypes.values()),x;try{var S=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!$Ie(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)S()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Ps(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Ii(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Ps(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Ii(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),QIe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),JIe=` +`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",rs(3,0)),this.generateRoundPolygon("round-triangle",rs(3,0)),this.generatePolygon("rectangle",rs(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",rs(5,0)),this.generateRoundPolygon("round-pentagon",rs(5,0)),this.generatePolygon("hexagon",rs(6,0)),this.generateRoundPolygon("round-hexagon",rs(6,0)),this.generatePolygon("heptagon",rs(7,0)),this.generateRoundPolygon("round-heptagon",rs(7,0)),this.generatePolygon("octagon",rs(8,0)),this.generateRoundPolygon("round-octagon",rs(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},JOe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Wn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new jm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,eIe=8,tIe=1024,rIe=1024,nIe=1024,iIe=.2,aIe=.8,sIe=10,oIe=.15,lIe=.1,cIe=.9,uIe=.9,hIe=100,dIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},fIe=Da({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=fIe(r);yr(n,i),n.lookup=new JOe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},na=l2.prototype;na.reasons=Sg;na.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};na.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};na.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};na.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};na.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>nIe||d>rIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+eIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};na.invalidateElements=function(t){for(var e=0;e=iIe*t.width&&this.retireTexture(t)};na.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>aIe&&t.fullnessChecks>=sIe?cd(r,t):t.fullnessChecks++};na.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};na.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};na.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};na.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};na.onDequeue=function(t){this.onDequeues.push(t)};na.offDequeue=function(t){cd(this.onDequeues,t)};na.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:hIe,deqCost:oIe,deqAvgCost:lIe,deqNoDrawCost:cIe,deqFastCost:uIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=gIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=fs();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>CIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/pIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Na.getEleLevelForLayerLevel=function(t,e){return t};Na.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,SIe),a.setImgSmoothing(s,!0))};Na.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Na.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Na.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Na.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function IIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,X,Z,j,z)):q?(t.beginPath(),IIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?wU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var bs={},BIe=100;bs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};bs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},BIe)),n||r.emit("render")};var xv;bs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function PIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function FIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function $Ie(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function zIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function qIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function VIe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function GIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function UIe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function HIe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function WIe(t,e,r,n){var i=kie(t,e),a=Ii(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Ii(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!VIe(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Ii(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Ii(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),tBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),rBe=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } -`,eBe=` +`,nBe=` float rectangleSD(vec2 p, vec2 b) { vec2 d = abs(p)-b; return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); } -`,tBe=` +`,iBe=` float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; cr.x = (p.y > 0.0) ? cr.x : cr.y; vec2 q = abs(p) - b + cr.x; return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; } -`,rBe=` +`,aBe=` float ellipseSD(vec2 p, vec2 ab) { p = abs( p ); // symmetry @@ -647,7 +647,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } -`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},X7=0,_U=1,AU=2,j7=3,zp=4,_T=5,Tv=6,wv=7,nBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=IIe,this.atlasManager=new ZIe(e,n),this.batchManager=new QIe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es +`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},X7=0,_U=1,AU=2,j7=3,zp=4,_T=5,Tv=6,wv=7,sBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=FIe,this.atlasManager=new eBe(e,n),this.batchManager=new tBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es precision highp float; uniform mat3 uPanZoomMatrix; @@ -837,10 +837,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho out vec4 outColor; - `).concat(JIe,` - `).concat(eBe,` - `).concat(tBe,` `).concat(rBe,` + `).concat(nBe,` + `).concat(iBe,` + `).concat(aBe,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha return vec4( @@ -925,16 +925,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),o=OIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Ps(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,S=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var S=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(S,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,S=this.transformBuffer.getMatrixView(x);EU(S),D3(S,S,[s,o]),_L(S,S,[b,b]),kU(S,S,l),this.vertTypeBuffer.getView(x)[0]=j7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:FIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),aBe(r)};function iBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ns(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function aBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(sBe(t),e.call(t,a)):(oBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return fBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function sBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function oBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function lBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();YIe(o,e,r);var l=Y7();return WIe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function cBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function uBe(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function hBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function fBe(t,e,r){var n=dBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Ps(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&cBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=lBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function pBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ta(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,bs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var yBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:gBe}],vBe=[{type:"layout",extensions:GOe},{type:"renderer",extensions:yBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(Aa.prototype[e])return i(e);Aa.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,S){a.call(this,S),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,S){if(x==null&&S==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(S)>-1))throw"Source or target not in graph!";if(!(x.owner==S.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=S.owner?null:(E.source=x,E.target=S,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),S!=x&&S.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var S=x.edges.slice(),T,E=S.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,S,T,E,_=this.getNodes(),R=_.length,k=0;kS&&(b=S),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,S=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Sk&&(T=k),E_&&(x=_),Sk&&(T=k),E=this.nodes.length){var $=0;S.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=S,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=S,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=S,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,S=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=S-b,L=v-x,F=x*b-v*S,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,S=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var S=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=S.get(D),N=I-1;N==1&&L.push(D),S.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,S,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*S)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*S*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var ABe=_Be();const LBe=k0(ABe);ac.use(LBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}C(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}C(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}C(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}C(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}C(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}C(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}C(Wie,"validateLayoutData");var RBe=C(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},S=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),S.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),S.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=S.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),DBe=RBe;const NBe=Object.freeze(Object.defineProperty({__proto__:null,render:DBe},Symbol.toStringTag,{value:"Module"}));var NS=C((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=C((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),MBe=C((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=C((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=C((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),yo=C(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=C(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Xie=C(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=C(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],S=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Ae=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:C(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Ae,[2,28]),t(Ae,[2,29]),t(Ae,[2,30]),t(Ae,[2,31]),t(Ae,[2,32]),t(Ae,[2,33]),t(Ae,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:C(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:C(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}C(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}C(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: + `),o=PIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=j7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:qIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),lBe(r)};function oBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function lBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(cBe(t),e.call(t,a)):(uBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return mBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function cBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function uBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function hBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();KIe(o,e,r);var l=Y7();return jIe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function dBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function fBe(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function pBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function mBe(t,e,r){var n=gBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&dBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=hBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function yBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ta(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,bs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var xBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:vBe}],TBe=[{type:"layout",extensions:WOe},{type:"renderer",extensions:xBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(Aa.prototype[e])return i(e);Aa.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var DBe=RBe();const NBe=k0(DBe);ac.use(NBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var MBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=C.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),OBe=MBe;const IBe=Object.freeze(Object.defineProperty({__proto__:null,render:OBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),BBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Xie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Ae=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Ae,[2,28]),t(Ae,[2,29]),t(Ae,[2,30]),t(Ae,[2,31]),t(Ae,[2,32]),t(Ae,[2,33]),t(Ae,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: `+Ee.showPosition()+` -Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:C(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:C(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:C(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var Xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===Xe.length?this.yylloc.first_column:0)+Xe[Xe.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:C(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var Ge=this.pastInput(),it=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` -`+it+"^"},"showPosition"),test_match:C(function(Ge,it){var Ye,Xe,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),Xe=Ge[0].match(/(?:\r\n?|\n).*/g),Xe&&(this.yylineno+=Xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Xe?Xe[Xe.length-1].length-Xe[Xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,Xe;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,Xe=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[Xe]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var it=this.next();return it||this.lex()},"lex"),begin:C(function(it){this.conditionStack.push(it)},"begin"),popState:C(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:C(function(it){this.begin(it)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:C(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return C(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var OBe=kw,Tl=[],Kh=[""],us="global",ml="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,jie,IBe=C(function(){return jie},"getC4Type"),BBe=C(function(t){jie=Jr(t,Pe())},"setC4Type"),PBe=C(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),FBe=C(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Tl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Tl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=us,o.wrap=kd()},"addPersonOrSystem"),$Be=C(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Tl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Tl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=us},"addContainer"),zBe=C(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Tl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Tl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=us},"addComponent"),qBe=C(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=us,a.wrap=kd(),ml=us,us=t,Kh.push(ml)},"addPersonOrSystemBoundary"),VBe=C(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=us,a.wrap=kd(),ml=us,us=t,Kh.push(ml)},"addContainerBoundary"),GBe=C(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=us,l.wrap=kd(),ml=us,us=e,Kh.push(ml)},"addDeploymentNode"),UBe=C(function(){us=ml,Kh.pop(),ml=Kh.pop(),Kh.push(ml)},"popBoundaryParseStack"),HBe=C(function(t,e,r,n,i,a,s,o,l,u,h){let d=Tl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),WBe=C(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),YBe=C(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),XBe=C(function(){return _w},"getC4ShapeInRow"),jBe=C(function(){return Aw},"getC4BoundaryInRow"),KBe=C(function(){return us},"getCurrentBoundaryParse"),ZBe=C(function(){return ml},"getParentBoundaryParse"),Kie=C(function(t){return t==null?Tl:Tl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),QBe=C(function(t){return Tl.find(e=>e.alias===t)},"getC4Shape"),JBe=C(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=C(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),ePe=Zie,tPe=C(function(){return Cb},"getRels"),rPe=C(function(){return AM},"getTitle"),nPe=C(function(t){LM=t},"setWrap"),kd=C(function(){return LM},"autoWrap"),iPe=C(function(){Tl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],ml="",us="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),aPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},sPe={FILLED:0,OPEN:1},oPe={LEFTOF:0,RIGHTOF:1,OVER:2},lPe=C(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:FBe,addPersonOrSystemBoundary:qBe,addContainer:$Be,addContainerBoundary:VBe,addComponent:zBe,addDeploymentNode:GBe,popBoundaryParseStack:UBe,addRel:PBe,updateElStyle:HBe,updateRelStyle:WBe,updateLayoutConfig:YBe,autoWrap:kd,setWrap:nPe,getC4ShapeArray:Kie,getC4Shape:QBe,getC4ShapeKeys:JBe,getBoundaries:Zie,getBoundarys:ePe,getCurrentBoundaryParse:KBe,getParentBoundaryParse:ZBe,getRels:tPe,getTitle:rPe,getC4Type:IBe,getC4ShapeInRow:XBe,getC4BoundaryInRow:jBe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,getConfig:C(()=>Pe().c4,"getConfig"),clear:iPe,LINETYPE:aPe,ARROWTYPE:sPe,PLACEMENT:oPe,setTitle:lPe,setC4Type:BBe},RM=C(function(t,e){return NS(t,e)},"drawRect"),Qie=C(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),cPe=C((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),uPe=C(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),hPe=C(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=yo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=bPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),dPe=C(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),fPe=C(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),pPe=C(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),gPe=C(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),mPe=C(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),yPe=C(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),vPe=C(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),bPe=C((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}C(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},C(s1,"Bounds"),s1),ML=C(function(t){ki(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=C((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=C(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),xPe=C(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function qo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(cs(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}C(qo,"calcC4ShapeTextWH");var tae=C(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=cs(e.label.text,i);qo("label",e,n,i,a),zl.drawBoundary(t,e,cr)},"drawBoundary"),rae=C(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=cs("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",qo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);qo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);qo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);qo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),zl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,Do=(o1=class{constructor(e,r){this.x=e,this.y=r}},C(o1,"Point"),o1),IU=C(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new Do(r,o):r==i&&na&&(f=new Do(s,n)),r>i&&n=h?f=new Do(r,o+h*t.width/2):f=new Do(s-l/u*t.height/2,n+t.height):r=h?f=new Do(r+t.width,o+h*t.width/2):f=new Do(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new Do(r+t.width,o-h*t.width/2):f=new Do(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new Do(r,o-t.width/2*h):f=new Do(s-t.height/2*l/u,n)),f},"getIntersectPoint"),TPe=C(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),wPe=C(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=xPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=cs(s.label.text,l);qo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=cs(s.techn.text,l),qo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=cs(s.descr.text,l),qo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=TPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}zl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",qo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);qo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,qo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}C(DM,"drawInsideBoundary");var CPe=C(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);zl.insertComputerIcon(l,e),zl.insertDatabaseIcon(l,e),zl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),zl.insertArrowHead(l,e),zl.insertArrowEnd(l,e),zl.insertArrowCrossHead(l,e),zl.insertArrowFilledHead(l,e),wPe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Gi(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:CPe},SPe=C(t=>`.person { +Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var Xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===Xe.length?this.yylloc.first_column:0)+Xe[Xe.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:S(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ge=this.pastInput(),it=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` +`+it+"^"},"showPosition"),test_match:S(function(Ge,it){var Ye,Xe,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),Xe=Ge[0].match(/(?:\r\n?|\n).*/g),Xe&&(this.yylineno+=Xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Xe?Xe[Xe.length-1].length-Xe[Xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,Xe;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,Xe=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[Xe]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var PBe=kw,Cl=[],Kh=[""],us="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,jie,FBe=S(function(){return jie},"getC4Type"),$Be=S(function(t){jie=Jr(t,Pe())},"setC4Type"),zBe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),qBe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=us,o.wrap=kd()},"addPersonOrSystem"),VBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=us},"addContainer"),GBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=us},"addComponent"),UBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=us,a.wrap=kd(),vl=us,us=t,Kh.push(vl)},"addPersonOrSystemBoundary"),HBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=us,a.wrap=kd(),vl=us,us=t,Kh.push(vl)},"addContainerBoundary"),WBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=us,l.wrap=kd(),vl=us,us=e,Kh.push(vl)},"addDeploymentNode"),YBe=S(function(){us=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),XBe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),jBe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),KBe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),ZBe=S(function(){return _w},"getC4ShapeInRow"),QBe=S(function(){return Aw},"getC4BoundaryInRow"),JBe=S(function(){return us},"getCurrentBoundaryParse"),ePe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),tPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),rPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),nPe=Zie,iPe=S(function(){return Cb},"getRels"),aPe=S(function(){return AM},"getTitle"),sPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),oPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",us="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),lPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},cPe={FILLED:0,OPEN:1},uPe={LEFTOF:0,RIGHTOF:1,OVER:2},hPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:qBe,addPersonOrSystemBoundary:UBe,addContainer:VBe,addContainerBoundary:HBe,addComponent:GBe,addDeploymentNode:WBe,popBoundaryParseStack:YBe,addRel:zBe,updateElStyle:XBe,updateRelStyle:jBe,updateLayoutConfig:KBe,autoWrap:kd,setWrap:sPe,getC4ShapeArray:Kie,getC4Shape:tPe,getC4ShapeKeys:rPe,getBoundaries:Zie,getBoundarys:nPe,getCurrentBoundaryParse:JBe,getParentBoundaryParse:ePe,getRels:iPe,getTitle:aPe,getC4Type:FBe,getC4ShapeInRow:ZBe,getC4BoundaryInRow:QBe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,getConfig:S(()=>Pe().c4,"getConfig"),clear:oPe,LINETYPE:lPe,ARROWTYPE:cPe,PLACEMENT:uPe,setTitle:hPe,setC4Type:$Be},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),dPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),fPe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),pPe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=wPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),gPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),mPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),yPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),vPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),bPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),xPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),TPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),wPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){ki(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),CPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(cs(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=cs(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=cs("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),SPe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),EPe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=CPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=cs(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=cs(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=cs(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=SPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var kPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),EPe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Gi(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:kPe},_Pe=S(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),EPe=SPe,kPe={parser:OBe,db:DL,renderer:BU,styles:EPe,init:C(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const _Pe=Object.freeze(Object.defineProperty({__proto__:null,diagram:kPe},Symbol.toStringTag,{value:"Module"}));var bx=C(()=>` +`,"getStyles"),APe=_Pe,LPe={parser:PBe,db:DL,renderer:BU,styles:APe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const RPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:LPe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; @@ -948,21 +948,21 @@ Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse erro stroke: revert; stroke-width: revert; } -`,"getIconStyles"),ty=C((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=C((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=APe(t,e);Gi(t,a,i,n);const l=LPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),APe=C((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),LPe=C((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),RPe="flowchart-",l1,DPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` +`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=DPe(t,e);Gi(t,a,i,n);const l=NPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),DPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),NPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),MPe="flowchart-",l1,OPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` `)?p=l+` `:p=`{ `+l+` -}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:RPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. +}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:MPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Xie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),jn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=C(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const S=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:S in p?p[S].hasOwnProperty(x)?!1:p[S][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pX.flowchart}},C(l1,"FlowDB"),l1),NPe=C(function(t,e){return e.db.getClasses()},"getClasses"),MPe=C(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),OPe={getClasses:NPe,draw:MPe},OL=(function(){var t=C(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],S=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Ae=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Bn={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:C(function(Ht,Bt,Xt,Lt,Ar,ke,Vn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1]};break;case 78:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length};break;case 84:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:S,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Ae,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:S,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Ae,[2,56]),t(Wt,[2,87]),t(Ae,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,64]),t(Ae,[2,59]),t(Ae,[2,60]),t(Ae,[2,61]),{109:[1,264]},t(Ae,[2,63]),t(Ae,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,67]),t(Ae,[2,68]),t(Ae,[2,70]),t(Ae,[2,69]),t(Ae,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:S,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Ae,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Ae,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:S,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Ae,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:C(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:C(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Vn=this.table,Re="",Gn=0,Dd=0,X0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Yo={yy:{}};for(var j0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j0)&&(Yo.yy[j0]=this.yy[j0]);cn.setInput(Ht,Yo.yy),Yo.yy.lexer=cn,Yo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof Yo.yy.parseError=="function"?this.parseError=Yo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(fa){Xt.length=Xt.length-2*fa,Ar.length=Ar.length-fa,ke.length=ke.length-fa}C(Mx,"popStack");function cy(){var fa;return fa=Lt.pop()||cn.lex()||Nd,typeof fa!="number"&&(fa instanceof Array&&(Lt=fa,fa=Lt.pop()),fa=Bt.symbols_[fa]||fa),fa}C(cy,"lex");for(var xi,Cc,Xa,K0,Sl={},Z0,Xo,Od,Ts;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?Xa=this.defaultActions[Cc]:((xi===null||typeof xi>"u")&&(xi=cy()),Xa=Vn[Cc]&&Vn[Cc][xi]),typeof Xa>"u"||!Xa.length||!Xa[0]){var Id="";Ts=[];for(Z0 in Vn[Cc])this.terminals_[Z0]&&Z0>X0&&Ts.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Gn+1)+`: +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Xie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),jn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pX.flowchart}},S(l1,"FlowDB"),l1),IPe=S(function(t,e){return e.db.getClasses()},"getClasses"),BPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),PPe={getClasses:IPe,draw:BPe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Ae=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Bn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Vn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1]};break;case 78:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length};break;case 84:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Ae,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Ae,[2,56]),t(Wt,[2,87]),t(Ae,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,64]),t(Ae,[2,59]),t(Ae,[2,60]),t(Ae,[2,61]),{109:[1,264]},t(Ae,[2,63]),t(Ae,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,67]),t(Ae,[2,68]),t(Ae,[2,70]),t(Ae,[2,69]),t(Ae,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Ae,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Ae,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Ae,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Vn=this.table,Re="",Gn=0,Dd=0,X0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Xo={yy:{}};for(var j0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j0)&&(Xo.yy[j0]=this.yy[j0]);cn.setInput(Ht,Xo.yy),Xo.yy.lexer=cn,Xo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof Xo.yy.parseError=="function"?this.parseError=Xo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(fa){Xt.length=Xt.length-2*fa,Ar.length=Ar.length-fa,ke.length=ke.length-fa}S(Mx,"popStack");function cy(){var fa;return fa=Lt.pop()||cn.lex()||Nd,typeof fa!="number"&&(fa instanceof Array&&(Lt=fa,fa=Lt.pop()),fa=Bt.symbols_[fa]||fa),fa}S(cy,"lex");for(var xi,Cc,Xa,K0,kl={},Z0,jo,Od,Ts;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?Xa=this.defaultActions[Cc]:((xi===null||typeof xi>"u")&&(xi=cy()),Xa=Vn[Cc]&&Vn[Cc][xi]),typeof Xa>"u"||!Xa.length||!Xa[0]){var Id="";Ts=[];for(Z0 in Vn[Cc])this.terminals_[Z0]&&Z0>X0&&Ts.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Gn+1)+`: `+cn.showPosition()+` -Expecting `+Ts.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse error on line "+(Gn+1)+": Unexpected "+(xi==Nd?"end of input":"'"+(this.terminals_[xi]||xi)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[xi]||xi,line:cn.yylineno,loc:Md,expected:Ts})}if(Xa[0]instanceof Array&&Xa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+xi);switch(Xa[0]){case 1:Xt.push(xi),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(Xa[1]),xi=null,Dd=cn.yyleng,Re=cn.yytext,Gn=cn.yylineno,Md=cn.yylloc;break;case 2:if(Xo=this.productions_[Xa[1]][1],Sl.$=Ar[Ar.length-Xo],Sl._$={first_line:ke[ke.length-(Xo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(Xo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(Sl._$.range=[ke[ke.length-(Xo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(Sl,[Re,Dd,Gn,Yo.yy,Xa[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;Xo&&(Xt=Xt.slice(0,-1*Xo*2),Ar=Ar.slice(0,-1*Xo),ke=ke.slice(0,-1*Xo)),Xt.push(this.productions_[Xa[1]][0]),Ar.push(Sl.$),ke.push(Sl._$),Od=Vn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},_n=(function(){var Ur={EOF:1,parseError:C(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:C(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:C(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(Ht){this.unput(this.match.slice(Ht))},"less"),pastInput:C(function(){var Ht=this.matched.substr(0,this.matched.length-this.match.length);return(Ht.length>20?"...":"")+Ht.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var Ht=this.match;return Ht.length<20&&(Ht+=this._input.substr(0,20-Ht.length)),(Ht.substr(0,20)+(Ht.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var Ht=this.pastInput(),Bt=new Array(Ht.length+1).join("-");return Ht+this.upcomingInput()+` -`+Bt+"^"},"showPosition"),test_match:C(function(Ht,Bt){var Xt,Lt,Ar;if(this.options.backtrack_lexer&&(Ar={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ar.yylloc.range=this.yylloc.range.slice(0))),Lt=Ht[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ht[0].length},this.yytext+=Ht[0],this.match+=Ht[0],this.matches=Ht,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ht[0].length),this.matched+=Ht[0],Xt=this.performAction.call(this,this.yy,this,Bt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Xt)return Xt;if(this._backtrack){for(var ke in Ar)this[ke]=Ar[ke];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ht,Bt,Xt,Lt;this._more||(this.yytext="",this.match="");for(var Ar=this._currentRules(),ke=0;keBt[0].length)){if(Bt=Xt,Lt=ke,this.options.backtrack_lexer){if(Ht=this.test_match(Xt,Ar[ke]),Ht!==!1)return Ht;if(this._backtrack){Bt=!1;continue}else return!1}else if(!this.options.flex)break}return Bt?(Ht=this.test_match(Bt,Ar[Lt]),Ht!==!1?Ht:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:C(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:C(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:C(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:C(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Bn.lexer=_n;function Jn(){this.yy={}}return C(Jn,"Parser"),Jn.prototype=Bn,Bn.Parser=Jn,new Jn})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} -`);return nae.parse(e)};var IPe=iae,BPe=C((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return hl(n,i,a,e)},"fade"),PPe=C(t=>`.label { +Expecting `+Ts.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse error on line "+(Gn+1)+": Unexpected "+(xi==Nd?"end of input":"'"+(this.terminals_[xi]||xi)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[xi]||xi,line:cn.yylineno,loc:Md,expected:Ts})}if(Xa[0]instanceof Array&&Xa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+xi);switch(Xa[0]){case 1:Xt.push(xi),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(Xa[1]),xi=null,Dd=cn.yyleng,Re=cn.yytext,Gn=cn.yylineno,Md=cn.yylloc;break;case 2:if(jo=this.productions_[Xa[1]][1],kl.$=Ar[Ar.length-jo],kl._$={first_line:ke[ke.length-(jo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(jo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(jo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Gn,Xo.yy,Xa[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;jo&&(Xt=Xt.slice(0,-1*jo*2),Ar=Ar.slice(0,-1*jo),ke=ke.slice(0,-1*jo)),Xt.push(this.productions_[Xa[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Vn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},_n=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ht){this.unput(this.match.slice(Ht))},"less"),pastInput:S(function(){var Ht=this.matched.substr(0,this.matched.length-this.match.length);return(Ht.length>20?"...":"")+Ht.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ht=this.match;return Ht.length<20&&(Ht+=this._input.substr(0,20-Ht.length)),(Ht.substr(0,20)+(Ht.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ht=this.pastInput(),Bt=new Array(Ht.length+1).join("-");return Ht+this.upcomingInput()+` +`+Bt+"^"},"showPosition"),test_match:S(function(Ht,Bt){var Xt,Lt,Ar;if(this.options.backtrack_lexer&&(Ar={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ar.yylloc.range=this.yylloc.range.slice(0))),Lt=Ht[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ht[0].length},this.yytext+=Ht[0],this.match+=Ht[0],this.matches=Ht,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ht[0].length),this.matched+=Ht[0],Xt=this.performAction.call(this,this.yy,this,Bt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Xt)return Xt;if(this._backtrack){for(var ke in Ar)this[ke]=Ar[ke];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ht,Bt,Xt,Lt;this._more||(this.yytext="",this.match="");for(var Ar=this._currentRules(),ke=0;keBt[0].length)){if(Bt=Xt,Lt=ke,this.options.backtrack_lexer){if(Ht=this.test_match(Xt,Ar[ke]),Ht!==!1)return Ht;if(this._backtrack){Bt=!1;continue}else return!1}else if(!this.options.flex)break}return Bt?(Ht=this.test_match(Bt,Ar[Lt]),Ht!==!1?Ht:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Bn.lexer=_n;function Jn(){this.yy={}}return S(Jn,"Parser"),Jn.prototype=Bn,Bn.Parser=Jn,new Jn})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} +`);return nae.parse(e)};var FPe=iae,$Pe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),zPe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -1049,7 +1049,7 @@ Expecting `+Ts.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse erro /* For html labels only */ .labelBkg { - background-color: ${BPe(t.edgeLabelBackground,.5)}; + background-color: ${$Pe(t.edgeLabelBackground,.5)}; // background-color: } @@ -1109,12 +1109,12 @@ Expecting `+Ts.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse erro text-align: center; } ${bx()} -`,"getStyles"),FPe=PPe,$Pe={parser:IPe,get db(){return new DPe},renderer:OPe,styles:FPe,init:C(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:$Pe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=C(function(Me,$e,He,Ae){for(He=He||{},Ae=Me.length;Ae--;He[Me[Ae]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],S=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:C(function($e,He,Ae,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:S,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:S,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:S,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:C(function($e,He){if(He.recoverable)this.trace($e);else{var Ae=new Error($e);throw Ae.hash=He,Ae}},"parseError"),parse:C(function($e){var He=this,Ae=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Ae.length=Ae.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}C(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}C(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Ae[Ae.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: +`,"getStyles"),qPe=zPe,VPe={parser:FPe,get db(){return new OPe},renderer:PPe,styles:qPe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:VPe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Ae){for(He=He||{},Ae=Me.length;Ae--;He[Me[Ae]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Ae,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Ae=new Error($e);throw Ae.hash=He,Ae}},"parseError"),parse:S(function($e){var He=this,Ae=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Ae.length=Ae.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Ae[Ae.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: `+xe.showPosition()+` -Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==Xe?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Ae.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Ae.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Ae=Ae.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Ae.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:C(function(He,Ae){if(this.yy.parser)this.yy.parser.parseError(He,Ae);else throw new Error(He)},"parseError"),setInput:C(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:C(function($e){var He=$e.length,Ae=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ae.length-1&&(this.yylineno-=Ae.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ae?(Ae.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function($e){this.unput(this.match.slice($e))},"less"),pastInput:C(function(){var $e=this.matched.substr(0,this.matched.length-this.match.length);return($e.length>20?"...":"")+$e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var $e=this.match;return $e.length<20&&($e+=this._input.substr(0,20-$e.length)),($e.substr(0,20)+($e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var $e=this.pastInput(),He=new Array($e.length+1).join("-");return $e+this.upcomingInput()+` -`+He+"^"},"showPosition"),test_match:C(function($e,He){var Ae,Oe,We;if(this.options.backtrack_lexer&&(We={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(We.yylloc.range=this.yylloc.range.slice(0))),Oe=$e[0].match(/(?:\r\n?|\n).*/g),Oe&&(this.yylineno+=Oe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Oe?Oe[Oe.length-1].length-Oe[Oe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+$e[0].length},this.yytext+=$e[0],this.match+=$e[0],this.matches=$e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice($e[0].length),this.matched+=$e[0],Ae=this.performAction.call(this,this.yy,this,He,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae)return Ae;if(this._backtrack){for(var Te in We)this[Te]=We[Te];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var $e,He,Ae,Oe;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),Te=0;TeHe[0].length)){if(He=Ae,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Ae,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var He=this.next();return He||this.lex()},"lex"),begin:C(function(He){this.conditionStack.push(He)},"begin"),popState:C(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:C(function(He){this.begin(He)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(He,Ae,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Ae.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Ae.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return C(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var zPe=IL,c1,qPe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=C(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],jn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},C(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>VPe});var VPe=C(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=C((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return hl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),GPe=C(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Ae.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Ae.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Ae=Ae.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Ae.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Ae){if(this.yy.parser)this.yy.parser.parseError(He,Ae);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Ae=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ae.length-1&&(this.yylineno-=Ae.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ae?(Ae.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function($e){this.unput(this.match.slice($e))},"less"),pastInput:S(function(){var $e=this.matched.substr(0,this.matched.length-this.match.length);return($e.length>20?"...":"")+$e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var $e=this.match;return $e.length<20&&($e+=this._input.substr(0,20-$e.length)),($e.substr(0,20)+($e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var $e=this.pastInput(),He=new Array($e.length+1).join("-");return $e+this.upcomingInput()+` +`+He+"^"},"showPosition"),test_match:S(function($e,He){var Ae,Oe,We;if(this.options.backtrack_lexer&&(We={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(We.yylloc.range=this.yylloc.range.slice(0))),Oe=$e[0].match(/(?:\r\n?|\n).*/g),Oe&&(this.yylineno+=Oe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Oe?Oe[Oe.length-1].length-Oe[Oe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+$e[0].length},this.yytext+=$e[0],this.match+=$e[0],this.matches=$e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice($e[0].length),this.matched+=$e[0],Ae=this.performAction.call(this,this.yy,this,He,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae)return Ae;if(this._backtrack){for(var Te in We)this[Te]=We[Te];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var $e,He,Ae,Oe;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),Te=0;TeHe[0].length)){if(He=Ae,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Ae,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var He=this.next();return He||this.lex()},"lex"),begin:S(function(He){this.conditionStack.push(He)},"begin"),popState:S(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Ae,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Ae.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Ae.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var GPe=IL,c1,UPe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],jn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>HPe});var HPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),WPe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` - ${GPe(t)} + `;return s},"genColor"),YPe=S(t=>{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` + ${WPe(t)} .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -1193,19 +1193,19 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro [data-look=neo].labelBkg { background-color: ${PU(t.tertiaryColor,.5)}; } -`},"getStyles"),HPe=UPe,WPe={parser:zPe,get db(){return new qPe},renderer:aae,styles:HPe};const YPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:WPe},Symbol.toStringTag,{value:"Module"}));function Xu(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}C(Xu,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},C(u1,"ImperativeState"),u1);function za(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function cl(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function XPe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return za(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Sa{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Sa(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return no})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=jPe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Sa(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?no:{done:!1,value:e(i)}})}filter(e){return new Sa(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return no})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Sa(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return no})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Sa(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return no})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Sa(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?no:this.nextFn(r.state)))}distinct(e){return new Sa(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return no})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function jPe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Sa(()=>{},()=>no),no=Object.freeze({done:!0,value:void 0});function ni(...t){if(t.length===1){const e=t[0];if(e instanceof Sa)return e;if(Dw(e))return new Sa(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Sa(()=>({index:0}),r=>r.index1?new Sa(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return no})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{za(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):za(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return cl(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Sa(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?vFe(r,e):!1}function Nw(t){return new Sa(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function mFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function yFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const bFe=/^[\w\p{L}]$/u;function xFe(t,e){if(t){const r=TFe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function TFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function wFe(){throw Error("Internal Error - Should never get here!")}function XU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const jU=[Er(" "),Er("\f"),Er(` -`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],CFe=/[0-9a-fA-F]/,DT=/[0-9]/,SFe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return wFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` +`},"getStyles"),XPe=YPe,jPe={parser:GPe,get db(){return new UPe},renderer:aae,styles:XPe};const KPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:jPe},Symbol.toStringTag,{value:"Module"}));function Xu(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(Xu,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function za(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function ZPe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return za(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Sa{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Sa(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=QPe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Sa(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Sa(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Sa(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Sa(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Sa(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Sa(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function QPe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Sa(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ni(...t){if(t.length===1){const e=t[0];if(e instanceof Sa)return e;if(Dw(e))return new Sa(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Sa(()=>({index:0}),r=>r.index1?new Sa(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{za(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):za(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Sa(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?TFe(r,e):!1}function Nw(t){return new Sa(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function bFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function xFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const wFe=/^[\w\p{L}]$/u;function CFe(t,e){if(t){const r=SFe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function SFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function EFe(){throw Error("Internal Error - Should never get here!")}function XU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const jU=[Er(" "),Er("\f"),Er(` +`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],kFe=/[0-9a-fA-F]/,DT=/[0-9]/,_Fe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return EFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` `),Er("\r"),Er("\u2028"),Er("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Iw;break;case"D":e=Iw,r=!0;break;case"s":e=jU;break;case"S":e=jU,r=!0;break;case"w":e=Bw;break;case"W":e=Bw,r=!0;break}if(Gp(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Er("\f");break;case"n":e=Er(` `);break;case"r":e=Er("\r");break;case"t":e=Er(" ");break;case"v":e=Er("\v");break}if(Gp(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Er("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:Er(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:Er(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,XU(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,XU(i)){if(i.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const EFe=/\r?\n/gm,kFe=new mae;class _Fe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const AFe=/\r?\n/gm,LFe=new mae;class RFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=PS(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new _Fe;function AFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(kFe.pattern(t)),rA.multiline}catch{return!1}}const LFe=`\f -\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return LFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function RFe(t,e){const r=DFe(t),n=e.match(r);return!!n&&n[0].length>0}function DFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function NFe(t){return t.rules.find(e=>ju(e)&&e.entry)}function MFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=NFe(t);if(!n)return new Set(t.rules);const i=[n].concat(MFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function OFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function IFe(t){return t.hidden&&!yae(FM(t))}function BFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function PFe(t,e,r){if(!t)return;const n=FFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function FFe(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function $Fe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&ju(i.rule.ref))return n(i,i.rule.ref);if(cFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||ju(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return ju(t)&&Cae(t)?t.name:Eae(t)??t.name;if(nFe(t)||fFe(t)||lFe(t))return t.name;if(OS(t)){const e=zFe(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function zFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function qFe(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(uFe(t))return VFe(t);if(hFe(t))return GFe(t);if(JPe(t))return WFe(t);if(dFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(iFe(t))return HFe(t);if(pFe(t))return UFe(t);if(oFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(gFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function VFe(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function GFe(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function UFe(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function HFe(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function WFe(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function YFe(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&IFe(n)&&AFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:bFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function XFe(t){return jFe(t)?t.LABEL:t.name}function jFe(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class ps extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class qs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let La=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class vo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class mi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Us extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class qn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function KFe(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof ps){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof qs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof La)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof vo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Us)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Hs)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof qn){const r={type:"Terminal",name:t.terminalType.name,label:XFe(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case ps:return this.visitNonTerminal(r);case qs:return this.visitAlternative(r);case La:return this.visitOption(r);case vo:return this.visitRepetitionMandatory(r);case bo:return this.visitRepetitionMandatoryWithSeparator(r);case Us:return this.visitRepetitionWithSeparator(r);case mi:return this.visitRepetition(r);case Hs:return this.visitAlternation(r);case qn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function ZFe(t){return t instanceof qs||t instanceof La||t instanceof mi||t instanceof vo||t instanceof bo||t instanceof Us||t instanceof qn||t instanceof ny}function Pw(t,e=[]){return t instanceof La||t instanceof mi||t instanceof Us?!0:t instanceof Hs?t.definition.some(n=>Pw(n,e)):t instanceof ps&&e.includes(t)?!1:t instanceof mc?(t instanceof ps&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function QFe(t){return t instanceof Hs}function Ul(t){if(t instanceof ps)return"SUBRULE";if(t instanceof La)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof vo)return"AT_LEAST_ONE";if(t instanceof bo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof ps)this.walkProdRef(n,a,r);else if(n instanceof qn)this.walkTerminal(n,a,r);else if(n instanceof qs)this.walkFlat(n,a,r);else if(n instanceof La)this.walkOption(n,a,r);else if(n instanceof vo)this.walkAtLeastOne(n,a,r);else if(n instanceof bo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Us)this.walkManySep(n,a,r);else if(n instanceof mi)this.walkMany(n,a,r);else if(n instanceof Hs)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new La({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new La({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new qs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new La({definition:[new qn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof ps)return Cx(t.referencedRule);if(t instanceof qn)return t$e(t);if(ZFe(t))return JFe(t);if(QFe(t))return e$e(t);throw Error("non exhaustive match")}function JFe(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function e$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function t$e(t){return[t.terminalType]}const Lae="_~IN~_";class r$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=i$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new qs({definition:a}),o=Cx(s);this.follows[i]=o}}function n$e(t){const e={};return t.forEach(r=>{const n=new r$e(r).startWalking();Object.assign(e,n)}),e}function i$e(t,e){return t.name+e+Lae}let H3={};const a$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=a$e.pattern(e);return H3[e]=r,r}}function s$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: -`;function o$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new RFe;function DFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(LFe.pattern(t)),rA.multiline}catch{return!1}}const NFe=`\f +\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return NFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MFe(t,e){const r=OFe(t),n=e.match(r);return!!n&&n[0].length>0}function OFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function IFe(t){return t.rules.find(e=>ju(e)&&e.entry)}function BFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=IFe(t);if(!n)return new Set(t.rules);const i=[n].concat(BFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function PFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function FFe(t){return t.hidden&&!yae(FM(t))}function $Fe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function zFe(t,e,r){if(!t)return;const n=qFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function qFe(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function VFe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&ju(i.rule.ref))return n(i,i.rule.ref);if(dFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||ju(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return ju(t)&&Cae(t)?t.name:Eae(t)??t.name;if(sFe(t)||mFe(t)||hFe(t))return t.name;if(OS(t)){const e=GFe(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function GFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function UFe(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(fFe(t))return HFe(t);if(pFe(t))return WFe(t);if(rFe(t))return jFe(t);if(gFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(oFe(t))return XFe(t);if(yFe(t))return YFe(t);if(uFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(vFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function HFe(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function WFe(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function YFe(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function XFe(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function jFe(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function KFe(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&FFe(n)&&DFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:wFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function ZFe(t){return QFe(t)?t.LABEL:t.name}function QFe(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class ps extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let La=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class mi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class qn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function JFe(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof ps){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof La)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof qn){const r={type:"Terminal",name:t.terminalType.name,label:ZFe(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case ps:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case La:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case mi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case qn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function e$e(t){return t instanceof Vs||t instanceof La||t instanceof mi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof qn||t instanceof ny}function Pw(t,e=[]){return t instanceof La||t instanceof mi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof ps&&e.includes(t)?!1:t instanceof mc?(t instanceof ps&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function t$e(t){return t instanceof Ws}function Hl(t){if(t instanceof ps)return"SUBRULE";if(t instanceof La)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof ps)this.walkProdRef(n,a,r);else if(n instanceof qn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof La)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof mi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new La({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new La({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new La({definition:[new qn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof ps)return Cx(t.referencedRule);if(t instanceof qn)return i$e(t);if(e$e(t))return r$e(t);if(t$e(t))return n$e(t);throw Error("non exhaustive match")}function r$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function n$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function i$e(t){return[t.terminalType]}const Lae="_~IN~_";class a$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=o$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function s$e(t){const e={};return t.forEach(r=>{const n=new a$e(r).startWalking();Object.assign(e,n)}),e}function o$e(t,e){return t.name+e+Lae}let H3={};const l$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=l$e.pattern(e);return H3[e]=r,r}}function c$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: +`;function u$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` @@ -1213,49 +1213,49 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),WL(`${Fw} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&XL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&l$e(t,e)}function l$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function XL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(XL):XL(t.value):!1}class c$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new c$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function u$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:(S,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{O$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(S=>S[T0]!==Fs.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(S=>{const T=S[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(S=>S.tokenTypeIdx),o=n.map(S=>{const T=S.GROUP;if(T!==Fs.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(S=>{const T=S.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(S=>S.PUSH_MODE),h=n.map(S=>Object.hasOwn(S,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const S=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,S)===!1&&zM(S,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(D$e),m=n.reduce((S,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==Fs.SKIPPED&&(S[E]=[]),S},{}),v=a.map((S,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((S,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=pd(_);iA(S,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=pd(k);_!==L&&(_=L,iA(S,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&XL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&h$e(t,e)}function h$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function XL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(XL):XL(t.value):!1}class d$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new d$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function f$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{P$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(O$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=pd(_);iA(C,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=pd(k);_!==L&&(_=L,iA(C,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=o$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{iA(S,R,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=u$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{iA(C,R,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return S},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function h$e(t,e){let r=[];const n=f$e(t);r=r.concat(n.errors);const i=p$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(d$e(a)),r=r.concat(w$e(a)),r=r.concat(C$e(a,e)),r=r.concat(S$e(a)),r}function d$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(m$e(r)),e=e.concat(b$e(r)),e=e.concat(x$e(r)),e=e.concat(T$e(r)),e=e.concat(y$e(r)),e}function f$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:yi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function p$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:yi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const g$e=/[^\\][$]/;function m$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return g$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function p$e(t,e){let r=[];const n=m$e(t);r=r.concat(n.errors);const i=y$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(g$e(a)),r=r.concat(E$e(a)),r=r.concat(k$e(a,e)),r=r.concat(_$e(a)),r}function g$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(b$e(r)),e=e.concat(w$e(r)),e=e.concat(C$e(r)),e=e.concat(S$e(r)),e=e.concat(x$e(r)),e}function m$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:yi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function y$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:yi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const v$e=/[^\\][$]/;function b$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return v$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function y$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:yi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const v$e=/[^\\[][\^]|^\^/;function b$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return v$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function x$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:yi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const T$e=/[^\\[][\^]|^\^/;function w$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return T$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function x$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:yi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function T$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==Fs.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:yi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function w$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==Fs.SKIPPED&&i!==Fs.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:yi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function C$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:yi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function S$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===Fs.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&k$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function C$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:yi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function S$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:yi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function E$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:yi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function k$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:yi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function _$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&L$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:yi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function E$e(t,e){if(e instanceof RegExp){if(_$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function k$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function _$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:yi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function A$e(t,e){if(e instanceof RegExp){if(R$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function L$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function R$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition `,type:yi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,MT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+MT+`> property in its definition `,type:yi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,MT)&&Object.hasOwn(t,f2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${f2}: <${t.defaultMode}>which does not exist `,type:yi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,MT)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> `,type:yi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(u=>{u!==void 0&&!a.includes(u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${i}> -`,type:yi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function L$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==Fs.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:M$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +`,type:yi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function N$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:B$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:yi.NO_LINE_BREAKS_FLAGS}),n}function R$e(t){const e={};return Object.keys(t).forEach(n=>{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function D$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const N$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function O$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const I$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===yi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=I$e(t);B$e(e),F$e(e),P$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function I$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function B$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),$$e(e)||(e.categoryMatches=[]),z$e(e)||(e.categoryMatchesMap={})})}function P$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function F$e(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function $$e(t){return Object.hasOwn(t??{},"categoryMatches")}function z$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function q$e(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const jL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var yi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(yi||(yi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:jL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class Fs{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=N$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(A$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(L$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(h$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=u$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=F$e(t);$$e(e),q$e(e),z$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function F$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function $$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),V$e(e)||(e.categoryMatches=[]),G$e(e)||(e.categoryMatchesMap={})})}function z$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function q$e(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function V$e(t){return Object.hasOwn(t??{},"categoryMatches")}function G$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function U$e(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const jL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var yi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(yi||(yi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:jL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class $s{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=I$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(D$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(N$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(p$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=f$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+l)}this.lexerDefinitionWarning.forEach(o=>{kae(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Object.entries(this.canModeBeOptimized).reduce((l,[u,h])=>(h===!1&&l.push(u),l),[]);if(r.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{s$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{c$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const S=e,T=S.length;let E=0,_=0;const R=this.hasCustom?0:Math.floor(e.length/10),k=new Array(R),L=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=R$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const R=this.hasCustom?0:Math.floor(e.length/10),k=new Array(R),L=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=M$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` but found: '`+e[0].image+"'";if(n)return a+n+o;{const d=`one of these possible Token sequences: ${t.reduce((f,p)=>f.concat(p),[]).map(f=>`[${f.map(p=>qg(p)).join(", ")}]`).map((f,p)=>` ${p+1}. ${f}`).join(` `)}`;return a+d+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=` but found: '`+e[0].image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const U$e={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof qn?h.terminalType.name:h instanceof ps?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Ul(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} + <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const Y$e={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof qn?h.terminalType.name:h instanceof ps?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Hl(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,` @@ -1272,7 +1272,7 @@ For Further details.`},buildAlternationAmbiguityError(t){const e=t.alternation.i Only the last alternative may be empty. `;else{const i=t.prefixPath.map(a=>qg(a)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives. `}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n},buildEmptyRepetitionError(t){let e=Ul(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +For Further details.`,n},buildEmptyRepetitionError(t){let e=Hl(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. @@ -1281,43 +1281,43 @@ rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function H$e(t,e){const r=new W$e(t,e);return r.resolveRefs(),r.errors}class W$e extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:gs.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class Y$e extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class X$e extends Y$e{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new qs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class j$e extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class K$e extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof qn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function Z$e(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const S={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(S)}else if(x instanceof qn)if(m=0;S--){const T=x.definition[S],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof qs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(Q$e(x,m,v,b));else throw Error("non exhaustive match")}return h}function Q$e(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ii;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ii||(ii={}));function VM(t){if(t instanceof La||t==="Option")return ii.OPTION;if(t instanceof mi||t==="Repetition")return ii.REPETITION;if(t instanceof vo||t==="RepetitionMandatory")return ii.REPETITION_MANDATORY;if(t instanceof bo||t==="RepetitionMandatoryWithSeparator")return ii.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Us||t==="RepetitionWithSeparator")return ii.REPETITION_WITH_SEPARATOR;if(t instanceof Hs||t==="Alternation")return ii.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ii.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function J$e(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function eze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function tze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(S=>{i[l][S]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ii.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new nze(e,t,r).startWalking(),l=new qs({definition:a}),u=new qs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function sze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:gs.CUSTOM_LOOKAHEAD_VALIDATION},r))}function oze(t,e,r,n){const i=t.flatMap(l=>lze(l,r)),a=xze(t,e,r),s=t.flatMap(l=>mze(l,r)),o=t.flatMap(l=>hze(l,t,n,r));return i.concat(a,s,o)}function lze(t,e){const r=new uze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,cze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Ul(l),d={message:u,type:gs.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function cze(t){return`${Ul(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof qn?t.terminalType.name:t instanceof ps?t.nonTerminalName:""}class uze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function hze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:gs.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function dze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:gs.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:gs.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof ps)e.push(r.referencedRule);else if(r instanceof qs||r instanceof La||r instanceof vo||r instanceof bo||r instanceof Us||r instanceof mi)e=e.concat(Y3(r.definition));else if(r instanceof Hs)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof qn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function fze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>Z$e([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:gs.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function pze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=vze(u,s,t,r),d=bze(u,s,t,r);return h.concat(d)})}class gze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function mze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:gs.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function yze(t,e,r){const n=[];return t.forEach(i=>{const a=new gze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:gs.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function vze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:gs.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function bze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:gs.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function xze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:gs.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Tze(t){const e=Object.assign({errMsgProvider:U$e},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),H$e(r,e.errMsgProvider)}function wze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return oze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",Xae="NotAllInputParsedException",jae=[Hae,Wae,Yae,Xae];Object.freeze(jae);function zw(t){return jae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class Cze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class Sze extends GS{constructor(e,r){super(e,r),this.name=Xae}}class Eze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class kze extends Error{constructor(e){super(e),this.name=Zae}}class _ze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Aze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new X$e(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new kze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>fze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>pze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return yze(e,r,Wf)}buildLookaheadForAlternation(e){return J$e(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,tze)}buildLookaheadForOptional(e){return eze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),rze)}}class Rze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Nze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Ul(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Ul(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Ul(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Ul(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,X3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Ul(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Ul(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class Dze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new Dze;function Nze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function X$e(t,e){const r=new j$e(t,e);return r.resolveRefs(),r.errors}class j$e extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:gs.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class K$e extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Z$e extends K$e{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class Q$e extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class J$e extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof qn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function eze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof qn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(tze(x,m,v,b));else throw Error("non exhaustive match")}return h}function tze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ii;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ii||(ii={}));function VM(t){if(t instanceof La||t==="Option")return ii.OPTION;if(t instanceof mi||t==="Repetition")return ii.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ii.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ii.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ii.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ii.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ii.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function rze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function nze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function ize(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ii.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new sze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function cze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:gs.CUSTOM_LOOKAHEAD_VALIDATION},r))}function uze(t,e,r,n){const i=t.flatMap(l=>hze(l,r)),a=Cze(t,e,r),s=t.flatMap(l=>bze(l,r)),o=t.flatMap(l=>pze(l,t,n,r));return i.concat(a,s,o)}function hze(t,e){const r=new fze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,dze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:gs.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function dze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof qn?t.terminalType.name:t instanceof ps?t.nonTerminalName:""}class fze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function pze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:gs.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function gze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:gs.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:gs.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof ps)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof La||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof mi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof qn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function mze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>eze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:gs.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function yze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Tze(u,s,t,r),d=wze(u,s,t,r);return h.concat(d)})}class vze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function bze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:gs.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function xze(t,e,r){const n=[];return t.forEach(i=>{const a=new vze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:gs.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Tze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:gs.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function wze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:gs.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Cze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:gs.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Sze(t){const e=Object.assign({errMsgProvider:Y$e},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),X$e(r,e.errMsgProvider)}function Eze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return uze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",Xae="NotAllInputParsedException",jae=[Hae,Wae,Yae,Xae];Object.freeze(jae);function zw(t){return jae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class kze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class _ze extends GS{constructor(e,r){super(e,r),this.name=Xae}}class Aze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Lze extends Error{constructor(e){super(e),this.name=Zae}}class Rze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Dze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Z$e(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Lze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>mze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>yze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return xze(e,r,Wf)}buildLookaheadForAlternation(e){return rze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,ize)}buildLookaheadForOptional(e){return nze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),aze)}}class Mze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Ize(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,X3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class Oze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new Oze;function Ize(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Fze(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=Bze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function $ze(t,e){return zze(t,e)}function zze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class qze{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Mze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Oze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Pze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Fze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Vze{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class Gze{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:gs.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=dze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return KFe(Object.values(this.gastProductionsCache))}}class Uze{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function qze(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=$ze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function Vze(t,e){return Gze(t,e)}function Gze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class Uze{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Bze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Pze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=zze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=qze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Hze{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class Wze{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:gs.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=gze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return JFe(Object.values(this.gastProductionsCache))}}class Yze{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(q$e)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,K$e)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(X3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,X3,e,uH)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,j$e,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,X3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(U$e)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,J$e)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(X3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,X3,e,uH)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,Q$e,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,X3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,La,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,vo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,bo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,mi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Us,r,e,gH)}orInternalRecord(e,r){return Xze.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new ps({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?Wze:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new qn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function Xze(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Hs({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new qs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class jze{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function Kze(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var gs;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(gs||(gs={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Tze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=wze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=sze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=n$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,La,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,mi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return Zze.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new ps({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?jze:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new qn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function Zze(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Qze{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function Jze(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var gs;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(gs||(gs={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Sze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=Eze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=cze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=s$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;Kze(kx,[_ze,Rze,qze,Vze,Uze,Gze,Hze,Yze,jze]);class Zze extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,Qze=2,nse=4,ise=5,_x=7,Jze=8,eqe=9,tqe=10,rqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function nqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};iqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function uqe(t,e,r){const n=ca(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return hqe(t,e,r,i)}function G0(t,e,r){const n=Xl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:fqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:rqe});Ad(t,o);const l=ca(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Pi(s,o),i===void 0?(Pi(o,a),Pi(o,l)):(Pi(o,l),Pi(o,i.left),Pi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:tqe});Ad(t,o);const l=ca(t,e,r,{type:ase}),u=ca(t,e,r,{type:eqe});return o.loopback=u,l.loopback=u,Pi(o,a),Pi(o,l),Pi(s,u),i!==void 0?(Pi(u,l),Pi(u,i.left),Pi(i.right,a)):Pi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function hqe(t,e,r,n){const i=n.left,a=n.right;return Pi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ca(t,e,n,{type:Jze,start:r});r.end=a;for(const o of i)o!==void 0?(Pi(r,o.left),Pi(o.right,a)):Pi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,dqe(n),n.idx)]=r,s}function dqe(t){if(t instanceof Hs)return"Alternation";if(t instanceof La)return"Option";if(t instanceof mi)return"Repetition";if(t instanceof Us)return"RepetitionWithSeparator";if(t instanceof vo)return"RepetitionMandatory";if(t instanceof bo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function fqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function yqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=nqe(e.rules),this.dfas=bqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function bqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Sqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;Jze(kx,[Rze,Mze,Uze,Hze,Yze,Wze,Xze,Kze,Qze]);class eqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,tqe=2,nse=4,ise=5,_x=7,rqe=8,nqe=9,iqe=10,aqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function sqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};oqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function fqe(t,e,r){const n=ca(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return pqe(t,e,r,i)}function G0(t,e,r){const n=jl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:mqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:aqe});Ad(t,o);const l=ca(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Pi(s,o),i===void 0?(Pi(o,a),Pi(o,l)):(Pi(o,l),Pi(o,i.left),Pi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:iqe});Ad(t,o);const l=ca(t,e,r,{type:ase}),u=ca(t,e,r,{type:nqe});return o.loopback=u,l.loopback=u,Pi(o,a),Pi(o,l),Pi(s,u),i!==void 0?(Pi(u,l),Pi(u,i.left),Pi(i.right,a)):Pi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function pqe(t,e,r,n){const i=n.left,a=n.right;return Pi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ca(t,e,n,{type:rqe,start:r});r.end=a;for(const o of i)o!==void 0?(Pi(r,o.left),Pi(o.right,a)):Pi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,gqe(n),n.idx)]=r,s}function gqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof La)return"Option";if(t instanceof mi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function mqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function xqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=sqe(e.rules),this.dfas=wqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function wqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${_qe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function Sqe(t){if(t instanceof ps)return"SUBRULE";if(t instanceof La)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof vo)return"AT_LEAST_ONE";if(t instanceof bo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}function Eqe(t,e,r){const n=x8e(e.configs.elements,a=>a.state.transitions),i=U8e(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function kqe(t,e){return t.edges[e.tokenTypeIdx]}function _qe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Nqe(a))for(const s of i)a.add(s);return a}function Aqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Lqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Rqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Pqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var Ea;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(Ea||(Ea={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||Ea.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(Am||(Am={}));var Xw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(Xw||(Xw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):Ea.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):Ea.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):Ea.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Ea.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class Fqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||Ea.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=Ea.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||Ea.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=Ea.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||Ea.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=Ea.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var jw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(jw||(jw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&jw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Xw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var XR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(XR||(XR={}));var jR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(jR||(jR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const $qe=[` +For Further details.`,n}function _qe(t){if(t instanceof ps)return"SUBRULE";if(t instanceof La)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}function Aqe(t,e,r){const n=C8e(e.configs.elements,a=>a.state.transitions),i=Y8e(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Lqe(t,e){return t.edges[e.tokenTypeIdx]}function Rqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Iqe(a))for(const s of i)a.add(s);return a}function Dqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Nqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Mqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function zqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var Ea;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(Ea||(Ea={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||Ea.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(Am||(Am={}));var Xw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(Xw||(Xw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):Ea.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):Ea.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):Ea.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Ea.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class qqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||Ea.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=Ea.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||Ea.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=Ea.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||Ea.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=Ea.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var jw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(jw||(jw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&jw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Xw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var XR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(XR||(XR={}));var jR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(jR||(jR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const Vqe=[` `,`\r -`,"\r"];var r9;(function(t){function e(a,s,o,l){return new zqe(a,s,o,l)}t.create=e;function r(a){let s=a;return!!(ht.defined(s)&&ht.string(s.uri)&&(ht.undefined(s.languageId)||ht.string(s.languageId))&&ht.uinteger(s.lineCount)&&ht.func(s.getText)&&ht.func(s.positionAt)&&ht.func(s.offsetAt))}t.is=r;function n(a,s){let o=a.getText(),l=i(s,(h,d)=>{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const qqe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return Ea},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:$qe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return XR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return jw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return jR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:Fqe,get WorkspaceEdit(){return Xw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class Vqe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Yqe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Gqe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Vqe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),ju(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(KPe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Uqe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends Uqe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class Hqe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const Wqe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends Zze{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...Wqe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new vqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class Yqe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return Xqe({parser:e,tokens:r,ruleNames:new Map},t),e}function Xqe(t,e){const r=vae(e,!1),n=ni(e.rules).filter(ju).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ni(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,jqe(t,a))}function jqe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=rVe(t,e);else if(OS(e))n=Kqe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=Zqe(t,e);else if(hae(e))n=Jqe(t,e);else if(fae(e))n=eVe(t,e);else if(BM(e))n=tVe(t,e);else if(rFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function Kqe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function Zqe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=ju(r)&&r.fragment,a=e.arguments.length>0?Qqe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Qqe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Wl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Wl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(eFe(t)){const e=Wl(t.left),r=Wl(t.right);return n=>e(n)&&r(n)}else if(aFe(t)){const e=Wl(t.value);return r=>!e(r)}else if(sFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(QPe(t)){const e=!!t.true;return()=>e}wx()}function Jqe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Wl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function eVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Wl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function tVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&ju(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function rVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Wl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=nVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function nVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ju(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function iVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Hqe(t);return xse(e,n,r.definition),n.finalize(),n}function aVe(t){const e=sVe(t);return e.finalize(),e}function sVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Gqe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ni(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?Fs.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&RFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=OFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(qFe(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return va.stringArray=s,va}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var ai=HS();function oVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let j3=0,lVe=10;function cVe(){return j3=performance.now(),new ai.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function as(t){if(t===ai.CancellationToken.None)return;const e=performance.now();if(e-j3>=lVe&&(j3=e,await oVe(),j3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(uVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function uVe(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return S(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=S(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function S($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),_se=n})();const{URI:yl,Utils:Rv}=_se;var so;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?yl.parse(s).path:s.path,u=typeof o=="string"?yl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:so.joinPath(yl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(so.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class dVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ai.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??yl.parse(e.uri),ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class fVe{constructor(e){this.documentTrie=new hVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ni(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class pVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ai.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await as(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await as(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(za(this._ref))return this._ref;if(XPe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=$Fe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(cl(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((cl(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||mFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>so.equals(a.sourceUri,r.documentUri))),n.push(...i),ni(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ni(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ni(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ni(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ni(this.map.keys())}values(){return ni(this.map.values()).flat()}entriesGroupedByKey(){return ni(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class vVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ai.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=ai.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await as(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ai.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await as(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class bVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ni(n).concat(this.outerScope.getElements(e)):ni(n)}getAllElements(){let e=ni(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class xVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class TVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class wVe extends xVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class CVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new wVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ni(e),r,n)}createScopeForNodes(e,r,n){const i=ni(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new bVe(this.indexManager.allElements(e)))}}function SVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class EVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(cl(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(za(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=BFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ni(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const AVe=Object.freeze({validateNode:!0,validateChildren:!0});class LVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ai.CancellationToken.None){const i=e.parseResult,a=[];if(await as(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===ll.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===ll.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===ll.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await as(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:DVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(ll.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:ll.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=ai.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await as(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ai.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await as(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return AVe}async validateAstAfter(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await as(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:RVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function RVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=PFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function DVe(t){switch(t){case"error":return m2(ll.LexingError);case"warning":return m2(ll.LexingWarning);case"info":return m2(ll.LexingInfo);case"hint":return m2(ll.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var ll;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(ll||(ll={}));class NVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class MVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ai.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await as(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];cl(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:so.equals(l.documentUri,i)});return s}}class OVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var IVe=sy();class BVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new IVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class S extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=S;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function PVe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function FVe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function $Ve(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function zVe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r -`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function qVe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const Uqe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return Ea},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:Vqe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return XR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return jw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return jR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:qqe,get WorkspaceEdit(){return Xw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class Hqe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Kqe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Wqe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Hqe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),ju(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(JPe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Yqe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends Yqe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class Xqe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const jqe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends eqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...jqe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Tqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class Kqe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return Zqe({parser:e,tokens:r,ruleNames:new Map},t),e}function Zqe(t,e){const r=vae(e,!1),n=ni(e.rules).filter(ju).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ni(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,Qqe(t,a))}function Qqe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=aVe(t,e);else if(OS(e))n=Jqe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=eVe(t,e);else if(hae(e))n=rVe(t,e);else if(fae(e))n=nVe(t,e);else if(BM(e))n=iVe(t,e);else if(aFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function Jqe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function eVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=ju(r)&&r.fragment,a=e.arguments.length>0?tVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function tVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(nFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(lFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(cFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(tFe(t)){const e=!!t.true;return()=>e}wx()}function rVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function nVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function iVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&ju(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function aVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=sVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function sVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ju(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function oVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Xqe(t);return xse(e,n,r.definition),n.finalize(),n}function lVe(t){const e=cVe(t);return e.finalize(),e}function cVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Wqe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ni(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&MFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=PFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(UFe(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return va.stringArray=s,va}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var ai=HS();function uVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let j3=0,hVe=10;function dVe(){return j3=performance.now(),new ai.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function as(t){if(t===ai.CancellationToken.None)return;const e=performance.now();if(e-j3>=hVe&&(j3=e,await uVe(),j3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(fVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function fVe(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class gVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ai.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class mVe{constructor(e){this.documentTrie=new pVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ni(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class yVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ai.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await as(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await as(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(za(this._ref))return this._ref;if(ZPe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=VFe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||bFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ni(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ni(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ni(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ni(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ni(this.map.keys())}values(){return ni(this.map.values()).flat()}entriesGroupedByKey(){return ni(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class TVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ai.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=ai.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await as(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ai.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await as(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class wVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ni(n).concat(this.outerScope.getElements(e)):ni(n)}getAllElements(){let e=ni(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class CVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class SVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class EVe extends CVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class kVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new EVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ni(e),r,n)}createScopeForNodes(e,r,n){const i=ni(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new wVe(this.indexManager.allElements(e)))}}function _Ve(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class AVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(za(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=$Fe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ni(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const DVe=Object.freeze({validateNode:!0,validateChildren:!0});class NVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ai.CancellationToken.None){const i=e.parseResult,a=[];if(await as(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await as(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:OVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=ai.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await as(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ai.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await as(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return DVe}async validateAstAfter(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await as(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:MVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function MVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=zFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function OVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class IVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class BVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ai.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await as(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class PVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var FVe=sy();class $Ve{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new FVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function zVe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function qVe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function VVe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function GVe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r +`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function UVe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r `;class n{constructor(a="utf-8"){this._encoding=a,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(a){const s=typeof a=="string"?this.fromString(a,this._encoding):a;this._chunks.push(s),this._totalLength+=s.byteLength}tryReadHeaders(a=!1){if(this._chunks.length===0)return;let s=0,o=0,l=0,u=0;e:for(;othis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function VVe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class S extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,S.prototype)}}t.ConnectionError=S;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Ae=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: +${m}`);const b=m.substr(0,v),x=m.substr(v+1).trim();d.set(a?b.toLowerCase():b,x)}return d}tryReadBody(a){if(!(this._totalLengththis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function HVe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Ae=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: ${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=j.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Ae.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){const st=nt.id,It=te.get(st);It&&It.reject(new Error("The received response has neither a result nor an error property."))}}function ze(Ce){if(Ce!=null)switch(ne){case f.Verbose:return JSON.stringify(Ce,null,4);case f.Compact:return JSON.stringify(Ce);default:return}}function et(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&Ce.params&&(nt=`Params: ${ze(Ce.params)} @@ -1343,45 +1343,45 @@ ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){ `:Ce.error===void 0&&(st=`No result returned. -`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new S(x.Closed,"Connection is closed.");if(xe())throw new S(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new S(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Ae.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=PVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=FVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=$Ve();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=zVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=qVe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=VVe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function GVe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,GVe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(qqe);var Qa={},WH;function hi(){if(WH)return Qa;WH=1,Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.ProtocolNotificationType=Qa.ProtocolNotificationType0=Qa.ProtocolRequestType=Qa.ProtocolRequestType0=Qa.RegistrationType=Qa.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Qa.MessageDirection=e={}));class r{constructor(l){this.method=l}}Qa.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Qa.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Qa.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Qa.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Qa.ProtocolNotificationType=s,Qa}var pA={},Ci={},YH;function tO(){if(YH)return Ci;YH=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.objectLiteral=Ci.typedArray=Ci.stringArray=Ci.array=Ci.func=Ci.error=Ci.number=Ci.string=Ci.boolean=void 0;function t(u){return u===!0||u===!1}Ci.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Ci.string=e;function r(u){return typeof u=="number"||u instanceof Number}Ci.number=r;function n(u){return u instanceof Error}Ci.error=n;function i(u){return typeof u=="function"}Ci.func=i;function a(u){return Array.isArray(u)}Ci.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Ci.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Ci.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Ci.objectLiteral=l,Ci}var Ov={},XH;function UVe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},jH;function HVe(){if(jH)return Iv;jH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function WVe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=hi();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function YVe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=hi();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function XVe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function jVe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function KVe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function ZVe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function QVe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=hi();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var Xc={},nW;function JVe(){if(nW)return Xc;nW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.CallHierarchyOutgoingCallsRequest=Xc.CallHierarchyIncomingCallsRequest=Xc.CallHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Xc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Xc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.CallHierarchyOutgoingCallsRequest=n={})),Xc}var Ja={},iW;function eGe(){if(iW)return Ja;iW=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.SemanticTokensRefreshRequest=Ja.SemanticTokensRangeRequest=Ja.SemanticTokensDeltaRequest=Ja.SemanticTokensRequest=Ja.SemanticTokensRegistrationType=Ja.TokenFormat=void 0;const t=hi();var e;(function(o){o.Relative="relative"})(e||(Ja.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(Ja.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(Ja.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(Ja.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(Ja.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(Ja.SemanticTokensRefreshRequest=s={})),Ja}var $v={},aW;function tGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=hi();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function rGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var ba={},oW;function nGe(){if(oW)return ba;oW=1,Object.defineProperty(ba,"__esModule",{value:!0}),ba.WillDeleteFilesRequest=ba.DidDeleteFilesNotification=ba.DidRenameFilesNotification=ba.WillRenameFilesRequest=ba.DidCreateFilesNotification=ba.WillCreateFilesRequest=ba.FileOperationPatternKind=void 0;const t=hi();var e;(function(l){l.file="file",l.folder="folder"})(e||(ba.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(ba.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(ba.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(ba.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(ba.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(ba.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(ba.WillDeleteFilesRequest=o={})),ba}var jc={},lW;function iGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.MonikerRequest=jc.MonikerKind=jc.UniquenessLevel=void 0;const t=hi();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(jc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(jc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.MonikerRequest=n={})),jc}var Kc={},cW;function aGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function sGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function oGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var to={},dW;function lGe(){if(dW)return to;dW=1,Object.defineProperty(to,"__esModule",{value:!0}),to.DiagnosticRefreshRequest=to.WorkspaceDiagnosticRequest=to.DocumentDiagnosticRequest=to.DocumentDiagnosticReportKind=to.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=hi();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(to.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(to.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(to.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(to.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(to.DiagnosticRefreshRequest=o={})),to}var ei={},fW;function cGe(){if(fW)return ei;fW=1,Object.defineProperty(ei,"__esModule",{value:!0}),ei.DidCloseNotebookDocumentNotification=ei.DidSaveNotebookDocumentNotification=ei.DidChangeNotebookDocumentNotification=ei.NotebookCellArrayChange=ei.DidOpenNotebookDocumentNotification=ei.NotebookDocumentSyncRegistrationType=ei.NotebookDocument=ei.NotebookCell=ei.ExecutionSummary=ei.NotebookCellKind=void 0;const t=eO,e=tO(),r=hi();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ei.NotebookCellKind=n={}));var i;(function(p){function m(x,S){const T={executionOrder:x};return(S===!0||S===!1)&&(T.success=S),T}p.create=m;function v(x){const S=x;return e.objectLiteral(S)&&t.uinteger.is(S.executionOrder)&&(S.success===void 0||e.boolean(S.success))}p.is=v;function b(x,S){return x===S?!0:x==null||S===null||S===void 0?!1:x.executionOrder===S.executionOrder&&x.success===S.success}p.equals=b})(i||(ei.ExecutionSummary=i={}));var a;(function(p){function m(S,T){return{kind:S,document:T}}p.create=m;function v(S){const T=S;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(S,T){const E=new Set;return S.document!==T.document&&E.add("document"),S.kind!==T.kind&&E.add("kind"),S.executionSummary!==T.executionSummary&&E.add("executionSummary"),(S.metadata!==void 0||T.metadata!==void 0)&&!x(S.metadata,T.metadata)&&E.add("metadata"),(S.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(S.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(S,T){if(S===T)return!0;if(S==null||T===null||T===void 0||typeof S!=typeof T||typeof S!="object")return!1;const E=Array.isArray(S),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(S.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Ae;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Ae||(t.TextDocumentSaveReason=Ae={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function dGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function fGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(hi(),t),r(hGe(),t);var n=dGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function pGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(fGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=pGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class gGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ai.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ai.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ni(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await as(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ni(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ai.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{so.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await as(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await as(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ni(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class mGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new TVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{so.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ni(i)}allElements(e,r){let n=ni(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class yGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ai.CancellationToken.None){const n=await this.performStartup(e);await as(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ni(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return yl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=so.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class vGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return jL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return jL.buildUnableToPopLexerModeMessage(e)}}const bGe={mode:"full"};class xGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Fs(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=bGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function TGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!TGe(t)&&!Nse(t)}function wGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=EGe({lines:a,position:i,options:s});return RGe({index:0,tokens:o,position:i})}function CGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(EFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,SGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function EGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function kGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const _Ge=/\S/,AGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(_Ge);return r?e+r.index:t.length}function LGe(t){const e=t.match(AGe);if(e&&typeof e.index=="number")return e.index}function RGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=OGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}}function OGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??IGe(e,i)}}function IGe(t,e){try{return yl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Ae.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=zVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=qVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=VVe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=GVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=UVe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=HVe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function WVe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,WVe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(Uqe);var Qa={},WH;function hi(){if(WH)return Qa;WH=1,Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.ProtocolNotificationType=Qa.ProtocolNotificationType0=Qa.ProtocolRequestType=Qa.ProtocolRequestType0=Qa.RegistrationType=Qa.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Qa.MessageDirection=e={}));class r{constructor(l){this.method=l}}Qa.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Qa.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Qa.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Qa.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Qa.ProtocolNotificationType=s,Qa}var pA={},Ci={},YH;function tO(){if(YH)return Ci;YH=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.objectLiteral=Ci.typedArray=Ci.stringArray=Ci.array=Ci.func=Ci.error=Ci.number=Ci.string=Ci.boolean=void 0;function t(u){return u===!0||u===!1}Ci.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Ci.string=e;function r(u){return typeof u=="number"||u instanceof Number}Ci.number=r;function n(u){return u instanceof Error}Ci.error=n;function i(u){return typeof u=="function"}Ci.func=i;function a(u){return Array.isArray(u)}Ci.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Ci.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Ci.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Ci.objectLiteral=l,Ci}var Ov={},XH;function YVe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},jH;function XVe(){if(jH)return Iv;jH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function jVe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=hi();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function KVe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=hi();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function ZVe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function QVe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function JVe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function eGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function tGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=hi();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var Xc={},nW;function rGe(){if(nW)return Xc;nW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.CallHierarchyOutgoingCallsRequest=Xc.CallHierarchyIncomingCallsRequest=Xc.CallHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Xc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Xc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.CallHierarchyOutgoingCallsRequest=n={})),Xc}var Ja={},iW;function nGe(){if(iW)return Ja;iW=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.SemanticTokensRefreshRequest=Ja.SemanticTokensRangeRequest=Ja.SemanticTokensDeltaRequest=Ja.SemanticTokensRequest=Ja.SemanticTokensRegistrationType=Ja.TokenFormat=void 0;const t=hi();var e;(function(o){o.Relative="relative"})(e||(Ja.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(Ja.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(Ja.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(Ja.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(Ja.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(Ja.SemanticTokensRefreshRequest=s={})),Ja}var $v={},aW;function iGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=hi();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function aGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var ba={},oW;function sGe(){if(oW)return ba;oW=1,Object.defineProperty(ba,"__esModule",{value:!0}),ba.WillDeleteFilesRequest=ba.DidDeleteFilesNotification=ba.DidRenameFilesNotification=ba.WillRenameFilesRequest=ba.DidCreateFilesNotification=ba.WillCreateFilesRequest=ba.FileOperationPatternKind=void 0;const t=hi();var e;(function(l){l.file="file",l.folder="folder"})(e||(ba.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(ba.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(ba.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(ba.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(ba.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(ba.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(ba.WillDeleteFilesRequest=o={})),ba}var jc={},lW;function oGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.MonikerRequest=jc.MonikerKind=jc.UniquenessLevel=void 0;const t=hi();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(jc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(jc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.MonikerRequest=n={})),jc}var Kc={},cW;function lGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function cGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function uGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function hGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=hi();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ei={},fW;function dGe(){if(fW)return ei;fW=1,Object.defineProperty(ei,"__esModule",{value:!0}),ei.DidCloseNotebookDocumentNotification=ei.DidSaveNotebookDocumentNotification=ei.DidChangeNotebookDocumentNotification=ei.NotebookCellArrayChange=ei.DidOpenNotebookDocumentNotification=ei.NotebookDocumentSyncRegistrationType=ei.NotebookDocument=ei.NotebookCell=ei.ExecutionSummary=ei.NotebookCellKind=void 0;const t=eO,e=tO(),r=hi();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ei.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ei.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Ae;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Ae||(t.TextDocumentSaveReason=Ae={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function gGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function mGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(hi(),t),r(pGe(),t);var n=gGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function yGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(mGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=yGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class vGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ai.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ai.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ni(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await as(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ni(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ai.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await as(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await as(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ni(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class bGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new SVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ni(i)}allElements(e,r){let n=ni(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class xGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ai.CancellationToken.None){const n=await this.performStartup(e);await as(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ni(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class TGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return jL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return jL.buildUnableToPopLexerModeMessage(e)}}const wGe={mode:"full"};class CGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=wGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function SGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!SGe(t)&&!Nse(t)}function EGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=AGe({lines:a,position:i,options:s});return MGe({index:0,tokens:o,position:i})}function kGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(AFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,_Ge=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function AGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function LGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const RGe=/\S/,DGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(RGe);return r?e+r.index:t.length}function NGe(t){const e=t.match(DGe);if(e&&typeof e.index=="number")return e.index}function MGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=PGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}}function PGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??FGe(e,i)}}function FGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` `)}return r}}class Pse{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function wW(t){return t.endsWith(` `)?` `:` -`}class BGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&CGe(r))return wGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class PGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return SVe(e)?e.$comment:xFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class FGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class $Ge{constructor(){this.previousTokenSource=new ai.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=cVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ai.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class zGe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.dehydrateAstNode(o,r)):cl(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else za(a)?n[i]=this.dehydrateAstNode(a,r):cl(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):cl(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else za(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):cl(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))ZPe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new PGe(e),DocumentationProvider:e=>new BGe(e)},parser:{AsyncParser:e=>new FGe(e),GrammarConfig:e=>YFe(e),LangiumParser:e=>aVe(e),CompletionParser:e=>iVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new xGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new vGe},workspace:{AstNodeLocator:()=>new OVe,AstNodeDescriptionProvider:e=>new NVe(e),ReferenceDescriptionProvider:e=>new MVe(e)},references:{Linker:e=>new pVe(e),NameProvider:()=>new mVe,ScopeProvider:e=>new CVe(e),ScopeComputation:e=>new vVe(e),References:e=>new yVe(e)},serializer:{Hydrator:e=>new zGe(e),JsonSerializer:e=>new EVe(e)},validation:{DocumentValidator:e=>new LVe(e),ValidationRegistry:e=>new _Ve(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new kVe(e),workspace:{LangiumDocuments:e=>new fVe(e),LangiumDocumentFactory:e=>new dVe(e),DocumentBuilder:e=>new gGe(e),IndexManager:e=>new mGe(e),WorkspaceManager:e=>new yGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new $Ge,ConfigurationProvider:e=>new BVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Vi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const qGe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===qGe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class VGe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new VGe},GGe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},UGe={AstReflection:()=>new pae};function HGe(){const t=Vi(bc(xc),UGe),e=Vi(vc({shared:t}),GGe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=HGe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,yl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var WGe=Object.defineProperty,Ft=(t,e)=>WGe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function YGe(t){return Wo.isInstance(t,nu.$type)}Ft(YGe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function XGe(t){return Wo.isInstance(t,K3.$type)}Ft(XGe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function jGe(t){return Wo.isInstance(t,ug.$type)}Ft(jGe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Nl={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function KGe(t){return Wo.isInstance(t,Df.$type)}Ft(KGe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function ZGe(t){return Wo.isInstance(t,y2.$type)}Ft(ZGe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function QGe(t){return Wo.isInstance(t,hg.$type)}Ft(QGe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function JGe(t){return Wo.isInstance(t,dg.$type)}Ft(JGe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function eUe(t){return Wo.isInstance(t,fg.$type)}Ft(eUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function tUe(t){return Wo.isInstance(t,Nf.$type)}Ft(tUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function rUe(t){return Wo.isInstance(t,Z3.$type)}Ft(rUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},XT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function nUe(t){return Wo.isInstance(t,pg.$type)}Ft(nUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ta={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function iUe(t){return Wo.isInstance(t,Ta.$type)}Ft(iUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Nl.$type,properties:{lhsDir:{name:Nl.lhsDir},lhsGroup:{name:Nl.lhsGroup,defaultValue:!1},lhsId:{name:Nl.lhsId},lhsInto:{name:Nl.lhsInto,defaultValue:!1},rhsDir:{name:Nl.rhsDir},rhsGroup:{name:Nl.rhsGroup,defaultValue:!1},rhsId:{name:Nl.rhsId},rhsInto:{name:Nl.rhsInto,defaultValue:!1},title:{name:Nl.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:XT.$type,properties:{evolution:{name:XT.evolution},label:{name:XT.label},name:{name:XT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:Ta.$type,properties:{accDescr:{name:Ta.accDescr},accelerators:{name:Ta.accelerators,defaultValue:[]},accTitle:{name:Ta.accTitle},anchors:{name:Ta.anchors,defaultValue:[]},annotation:{name:Ta.annotation,defaultValue:[]},annotations:{name:Ta.annotations,defaultValue:[]},components:{name:Ta.components,defaultValue:[]},deaccelerators:{name:Ta.deaccelerators,defaultValue:[]},evolution:{name:Ta.evolution},evolves:{name:Ta.evolves,defaultValue:[]},links:{name:Ta.links,defaultValue:[]},notes:{name:Ta.notes,defaultValue:[]},pipelines:{name:Ta.pipelines,defaultValue:[]},size:{name:Ta.size},title:{name:Ta.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Wo=new $se,LW,aUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,sUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,oUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,lUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,cUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,uUe=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,hUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,dUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,fUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),pUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},CUe={Grammar:Ft(()=>aUe(),"Grammar"),LanguageMetaData:Ft(()=>pUe,"LanguageMetaData"),parser:{}},SUe={Grammar:Ft(()=>sUe(),"Grammar"),LanguageMetaData:Ft(()=>gUe,"LanguageMetaData"),parser:{}},EUe={Grammar:Ft(()=>oUe(),"Grammar"),LanguageMetaData:Ft(()=>mUe,"LanguageMetaData"),parser:{}},kUe={Grammar:Ft(()=>lUe(),"Grammar"),LanguageMetaData:Ft(()=>yUe,"LanguageMetaData"),parser:{}},_Ue={Grammar:Ft(()=>cUe(),"Grammar"),LanguageMetaData:Ft(()=>vUe,"LanguageMetaData"),parser:{}},AUe={Grammar:Ft(()=>uUe(),"Grammar"),LanguageMetaData:Ft(()=>bUe,"LanguageMetaData"),parser:{}},LUe={Grammar:Ft(()=>hUe(),"Grammar"),LanguageMetaData:Ft(()=>xUe,"LanguageMetaData"),parser:{}},RUe={Grammar:Ft(()=>dUe(),"Grammar"),LanguageMetaData:Ft(()=>TUe,"LanguageMetaData"),parser:{}},DUe={Grammar:Ft(()=>fUe(),"Grammar"),LanguageMetaData:Ft(()=>wUe,"LanguageMetaData"),parser:{}},NUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,MUe=/accTitle[\t ]*:([^\n\r]*)/,OUe=/title([\t ][^\n\r]*|)/,IUe={ACC_DESCR:NUe,ACC_TITLE:MUe,TITLE:OUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=IUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,BUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),PUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,FUe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=PUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,$Ue=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new BUe,"TokenBuilder"),ValueConverter:Ft(()=>new FUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new $Ue,"TreemapValidator")}};function Vse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),LUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,zUe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new zUe,"ValueConverter")}};function Use(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),DUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,qUe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new qUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),SUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,VUe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new VUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Xse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),EUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Xse,"createInfoServices");var w1,GUe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),jse={parser:{TokenBuilder:Ft(()=>new GUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),kUe,jse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,UUe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,HUe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new UUe,"TokenBuilder"),ValueConverter:Ft(()=>new HUe,"ValueConverter")}};function Qse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),_Ue,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,WUe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,YUe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new YUe,"TokenBuilder"),ValueConverter:Ft(()=>new WUe,"ValueConverter")}};function eoe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),RUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,XUe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,jUe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new XUe,"TokenBuilder"),ValueConverter:Ft(()=>new jUe,"ValueConverter")}};function roe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),CUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,KUe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new KUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),AUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var tl={},ZUe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>Xrt);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;tl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>jrt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;tl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>Krt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;tl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>Zrt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;tl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>Qrt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;tl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>Jrt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;tl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>ent);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;tl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>tnt);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;tl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>rnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;tl.wardley=e},"wardley")};async function Tc(t,e){const r=ZUe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);tl[t]||await r();const i=tl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new QUe(i);return i.value}Ft(Tc,"parse");var R1,QUe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` +`}class $Ge{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&kGe(r))return EGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class zGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return _Ve(e)?e.$comment:CFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class qGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class VGe{constructor(){this.previousTokenSource=new ai.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=dVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ai.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class GGe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else za(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else za(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))eFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new zGe(e),DocumentationProvider:e=>new $Ge(e)},parser:{AsyncParser:e=>new qGe(e),GrammarConfig:e=>KFe(e),LangiumParser:e=>lVe(e),CompletionParser:e=>oVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new CGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new TGe},workspace:{AstNodeLocator:()=>new PVe,AstNodeDescriptionProvider:e=>new IVe(e),ReferenceDescriptionProvider:e=>new BVe(e)},references:{Linker:e=>new yVe(e),NameProvider:()=>new bVe,ScopeProvider:e=>new kVe(e),ScopeComputation:e=>new TVe(e),References:e=>new xVe(e)},serializer:{Hydrator:e=>new GGe(e),JsonSerializer:e=>new AVe(e)},validation:{DocumentValidator:e=>new NVe(e),ValidationRegistry:e=>new RVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new LVe(e),workspace:{LangiumDocuments:e=>new mVe(e),LangiumDocumentFactory:e=>new gVe(e),DocumentBuilder:e=>new vGe(e),IndexManager:e=>new bGe(e),WorkspaceManager:e=>new xGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new VGe,ConfigurationProvider:e=>new $Ve(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Vi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const UGe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===UGe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class HGe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new HGe},WGe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},YGe={AstReflection:()=>new pae};function XGe(){const t=Vi(bc(xc),YGe),e=Vi(vc({shared:t}),WGe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=XGe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var jGe=Object.defineProperty,Ft=(t,e)=>jGe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function KGe(t){return Yo.isInstance(t,nu.$type)}Ft(KGe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function ZGe(t){return Yo.isInstance(t,K3.$type)}Ft(ZGe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function QGe(t){return Yo.isInstance(t,ug.$type)}Ft(QGe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function JGe(t){return Yo.isInstance(t,Df.$type)}Ft(JGe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function eUe(t){return Yo.isInstance(t,y2.$type)}Ft(eUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function tUe(t){return Yo.isInstance(t,hg.$type)}Ft(tUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function rUe(t){return Yo.isInstance(t,dg.$type)}Ft(rUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function nUe(t){return Yo.isInstance(t,fg.$type)}Ft(nUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function iUe(t){return Yo.isInstance(t,Nf.$type)}Ft(iUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function aUe(t){return Yo.isInstance(t,Z3.$type)}Ft(aUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},XT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function sUe(t){return Yo.isInstance(t,pg.$type)}Ft(sUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ta={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function oUe(t){return Yo.isInstance(t,Ta.$type)}Ft(oUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:XT.$type,properties:{evolution:{name:XT.evolution},label:{name:XT.label},name:{name:XT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:Ta.$type,properties:{accDescr:{name:Ta.accDescr},accelerators:{name:Ta.accelerators,defaultValue:[]},accTitle:{name:Ta.accTitle},anchors:{name:Ta.anchors,defaultValue:[]},annotation:{name:Ta.annotation,defaultValue:[]},annotations:{name:Ta.annotations,defaultValue:[]},components:{name:Ta.components,defaultValue:[]},deaccelerators:{name:Ta.deaccelerators,defaultValue:[]},evolution:{name:Ta.evolution},evolves:{name:Ta.evolves,defaultValue:[]},links:{name:Ta.links,defaultValue:[]},notes:{name:Ta.notes,defaultValue:[]},pipelines:{name:Ta.pipelines,defaultValue:[]},size:{name:Ta.size},title:{name:Ta.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,lUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,cUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,uUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,hUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,dUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,fUe=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,pUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,gUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,mUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),yUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},kUe={Grammar:Ft(()=>lUe(),"Grammar"),LanguageMetaData:Ft(()=>yUe,"LanguageMetaData"),parser:{}},_Ue={Grammar:Ft(()=>cUe(),"Grammar"),LanguageMetaData:Ft(()=>vUe,"LanguageMetaData"),parser:{}},AUe={Grammar:Ft(()=>uUe(),"Grammar"),LanguageMetaData:Ft(()=>bUe,"LanguageMetaData"),parser:{}},LUe={Grammar:Ft(()=>hUe(),"Grammar"),LanguageMetaData:Ft(()=>xUe,"LanguageMetaData"),parser:{}},RUe={Grammar:Ft(()=>dUe(),"Grammar"),LanguageMetaData:Ft(()=>TUe,"LanguageMetaData"),parser:{}},DUe={Grammar:Ft(()=>fUe(),"Grammar"),LanguageMetaData:Ft(()=>wUe,"LanguageMetaData"),parser:{}},NUe={Grammar:Ft(()=>pUe(),"Grammar"),LanguageMetaData:Ft(()=>CUe,"LanguageMetaData"),parser:{}},MUe={Grammar:Ft(()=>gUe(),"Grammar"),LanguageMetaData:Ft(()=>SUe,"LanguageMetaData"),parser:{}},OUe={Grammar:Ft(()=>mUe(),"Grammar"),LanguageMetaData:Ft(()=>EUe,"LanguageMetaData"),parser:{}},IUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,BUe=/accTitle[\t ]*:([^\n\r]*)/,PUe=/title([\t ][^\n\r]*|)/,FUe={ACC_DESCR:IUe,ACC_TITLE:BUe,TITLE:PUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=FUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,$Ue=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),zUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,qUe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=zUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,VUe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new $Ue,"TokenBuilder"),ValueConverter:Ft(()=>new qUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new VUe,"TreemapValidator")}};function Vse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),NUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,GUe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new GUe,"ValueConverter")}};function Use(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),OUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,UUe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new UUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),_Ue,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,HUe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new HUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Xse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),AUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Xse,"createInfoServices");var w1,WUe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),jse={parser:{TokenBuilder:Ft(()=>new WUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),LUe,jse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,YUe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,XUe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new YUe,"TokenBuilder"),ValueConverter:Ft(()=>new XUe,"ValueConverter")}};function Qse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),RUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,jUe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,KUe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new KUe,"TokenBuilder"),ValueConverter:Ft(()=>new jUe,"ValueConverter")}};function eoe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),MUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,ZUe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,QUe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new ZUe,"TokenBuilder"),ValueConverter:Ft(()=>new QUe,"ValueConverter")}};function roe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),kUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,JUe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),DUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},eHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>Zrt);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>Qrt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>Jrt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>ent);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>tnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>rnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>nnt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>int);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>ant);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=eHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new tHe(i);return i.value}Ft(Tc,"parse");var R1,tHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(` -`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),kn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},JUe=Vr.gitGraph,H0=C(()=>Ji({...JUe,...gr().gitGraph}),"getConfig"),jt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function XS(){return qZ({length:7})}C(XS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}C(aoe,"uniqBy");var eHe=C(function(t){jt.records.direction=t},"setDirection"),tHe=C(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),rHe=C(function(){return jt.records.options},"getOptions"),nHe=C(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+XS(),message:e,seq:jt.records.seq++,type:n??kn.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),iHe=C(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),aHe=C(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${XS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:kn.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),sHe=C(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===kn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+XS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:kn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===kn.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=C(function(t){if(t=$t.sanitizeText(t,H0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}C(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}C(nO,"prettyPrintCommitHistory");var oHe=C(function(){oe.debug(jt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),lHe=C(function(){jt.reset(),jn()},"clear"),cHe=C(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),uHe=C(function(){return jt.records.branches},"getBranches"),hHe=C(function(){return jt.records.commits},"getCommits"),ooe=C(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),dHe=C(function(){return jt.records.currBranch},"getCurrentBranch"),fHe=C(function(){return jt.records.direction},"getDirection"),pHe=C(function(){return jt.records.head},"getHead"),loe={commitType:kn,getConfig:H0,setDirection:eHe,setOptions:tHe,getOptions:rHe,commit:nHe,branch:iHe,merge:aHe,cherryPick:sHe,checkout:soe,prettyPrint:oHe,clear:lHe,getBranchesAsObjArray:cHe,getBranches:uHe,getCommits:hHe,getCommitsArray:ooe,getCurrentBranch:dHe,getDirection:fHe,getHead:pHe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,setDiagramTitle:oi,getDiagramTitle:Kn},gHe=C((t,e)=>{Xu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)mHe(r,e)},"populate"),mHe=C((t,e)=>{const n={Commit:C(i=>e.commit(yHe(i)),"Commit"),Branch:C(i=>e.branch(vHe(i)),"Branch"),Merge:C(i=>e.merge(bHe(i)),"Merge"),Checkout:C(i=>e.checkout(xHe(i)),"Checkout"),CherryPicking:C(i=>e.cherryPick(THe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),yHe=C(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?kn[t.type]:kn.NORMAL,tags:t.tags??void 0}),"parseCommit"),vHe=C(t=>({name:t.name,order:t.order??0}),"parseBranch"),bHe=C(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?kn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),xHe=C(t=>t.branch,"parseCheckout"),THe=C(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),wHe={parse:C(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),gHe(e,loe)},"parse")},Hh=10,Wh=40,Fl=4,cu=2,Pf=8,jS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),CHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=C((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Is=new Map,$s=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",SHe=C(()=>{Is.clear(),$s.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=C(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=C(t=>{let e,r,n;return Gr==="BT"?(r=C((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=C((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?$s.get(i)?.y:$s.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),EHe=C(t=>{let e="",r=1/0;return t.forEach(n=>{const i=$s.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),kHe=C((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=AHe(o),i=Math.max(n,i)):a.push(o),LHe(o,n)}),n=i,a.forEach(s=>{RHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=EHe(o.parents);n=$s.get(l).y-Wh,n<=i&&(i=n);const u=Is.get(o.branch).pos,h=n-Hh;$s.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),_He=C(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=$s.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),AHe=C(t=>_He(t)+Wh,"calculateCommitPosition"),LHe=C((t,e)=>{const r=Is.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return $s.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),RHe=C((t,e,r)=>{const n=Is.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;$s.set(t.id,{x:a,y:i})},"setRootPosition"),DHe=C((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=jS.has(s??""),l=iO.has(s??""),u=CHe.has(s??"");if(a===kn.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===kn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===kn.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===kn.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),NHe=C((t,e,r,n,i)=>{if(e.type!==kn.CHERRY_PICK&&(e.customId&&e.type===kn.MERGE||e.type!==kn.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*Fl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*Fl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),MHe=C((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` - ${n-a/2-Fl/2},${p+cu} - ${n-a/2-Fl/2},${p-cu} - ${r.posWithOffset-a/2-Fl},${p-f-cu} - ${r.posWithOffset+a/2+Fl},${p-f-cu} - ${r.posWithOffset+a/2+Fl},${p+f+cu} - ${r.posWithOffset-a/2-Fl},${p+f+cu}`),u.attr("cy",p).attr("cx",n-a/2+Fl/2).attr("r",1.5).attr("class","tag-hole"),Gr==="TB"||Gr==="BT"){const m=n+d;h.attr("class","tag-label-bkg").attr("points",` +`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),kn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},rHe=Vr.gitGraph,H0=S(()=>Ji({...rHe,...gr().gitGraph}),"getConfig"),jt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function XS(){return qZ({length:7})}S(XS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var nHe=S(function(t){jt.records.direction=t},"setDirection"),iHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),aHe=S(function(){return jt.records.options},"getOptions"),sHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+XS(),message:e,seq:jt.records.seq++,type:n??kn.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),oHe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),lHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${XS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:kn.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),cHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===kn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+XS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:kn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===kn.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var uHe=S(function(){oe.debug(jt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),hHe=S(function(){jt.reset(),jn()},"clear"),dHe=S(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),fHe=S(function(){return jt.records.branches},"getBranches"),pHe=S(function(){return jt.records.commits},"getCommits"),ooe=S(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),gHe=S(function(){return jt.records.currBranch},"getCurrentBranch"),mHe=S(function(){return jt.records.direction},"getDirection"),yHe=S(function(){return jt.records.head},"getHead"),loe={commitType:kn,getConfig:H0,setDirection:nHe,setOptions:iHe,getOptions:aHe,commit:sHe,branch:oHe,merge:lHe,cherryPick:cHe,checkout:soe,prettyPrint:uHe,clear:hHe,getBranchesAsObjArray:dHe,getBranches:fHe,getCommits:pHe,getCommitsArray:ooe,getCurrentBranch:gHe,getDirection:mHe,getHead:yHe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,setDiagramTitle:oi,getDiagramTitle:Kn},vHe=S((t,e)=>{Xu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)bHe(r,e)},"populate"),bHe=S((t,e)=>{const n={Commit:S(i=>e.commit(xHe(i)),"Commit"),Branch:S(i=>e.branch(THe(i)),"Branch"),Merge:S(i=>e.merge(wHe(i)),"Merge"),Checkout:S(i=>e.checkout(CHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(SHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),xHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?kn[t.type]:kn.NORMAL,tags:t.tags??void 0}),"parseCommit"),THe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),wHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?kn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),CHe=S(t=>t.branch,"parseCheckout"),SHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),EHe={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),vHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,jS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),kHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",_He=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),AHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),LHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=DHe(o),i=Math.max(n,i)):a.push(o),NHe(o,n)}),n=i,a.forEach(s=>{MHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=AHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),RHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),DHe=S(t=>RHe(t)+Wh,"calculateCommitPosition"),NHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),MHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),OHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=jS.has(s??""),l=iO.has(s??""),u=kHe.has(s??"");if(a===kn.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===kn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===kn.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===kn.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),IHe=S((t,e,r,n,i)=>{if(e.type!==kn.CHERRY_PICK&&(e.customId&&e.type===kn.MERGE||e.type!==kn.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),BHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-zl/2},${p+cu} + ${n-a/2-zl/2},${p-cu} + ${r.posWithOffset-a/2-zl},${p-f-cu} + ${r.posWithOffset+a/2+zl},${p-f-cu} + ${r.posWithOffset+a/2+zl},${p+f+cu} + ${r.posWithOffset-a/2-zl},${p+f+cu}`),u.attr("cy",p).attr("cx",n-a/2+zl/2).attr("r",1.5).attr("class","tag-hole"),Gr==="TB"||Gr==="BT"){const m=n+d;h.attr("class","tag-label-bkg").attr("points",` ${r.x},${m+2} ${r.x},${m-2} ${r.x+Hh},${m-f-2} ${r.x+Hh+a+4},${m-f-2} ${r.x+Hh+a+4},${m+f+2} - ${r.x+Hh},${m+f+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("cx",r.x+Fl/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),l.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),OHe=C(t=>{switch(t.customType??t.type){case kn.NORMAL:return"commit-normal";case kn.REVERSE:return"commit-reverse";case kn.HIGHLIGHT:return"commit-highlight";case kn.MERGE:return"commit-merge";case kn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),IHe=C((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),BHe=C((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Is.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Is.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=jS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=C((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=C((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&kHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=IHe(f,Gr,s,$s));const p=BHe(f,s,l);if(r){const m=OHe(f),v=f.customType??f.type,b=Is.get(f.branch)?.index??0;DHe(i,f,p,m,b,v),NHe(a,f,p,s,n),MHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?$s.set(f.id,{x:p.x,y:p.posWithOffset}):$s.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),PHe=C((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=C(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=C((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),FHe=C((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=$s.get(e.id),o=$s.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=PHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Is.get(r.branch)?.index;r.type===kn.MERGE&&e.id!==r.parents[0]&&(p=Is.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),$He=C((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{FHe(r,e.get(a),i,e)})})},"drawArrows"),zHe=C((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=jS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Is.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const S=f.name,T=coe(S),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),R.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),qHe=C(function(t,e,r,n,i){return Is.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),VHe=C(function(t,e,r,n){SHe(),oe.debug("in gitgraph renderer",t+` -`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&jS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,S)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=qHe(x.name,b,S,k,s),R.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&zHe(l,o,a,e),$He(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),GHe={draw:VHe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),UHe=new Set(["redux-color","redux-dark-color"]),HHe=new Set(["neo","neo-dark"]),WHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),YHe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),XHe=C(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{switch(t.customType??t.type){case kn.NORMAL:return"commit-normal";case kn.REVERSE:return"commit-reverse";case kn.HIGHLIGHT:return"commit-highlight";case kn.MERGE:return"commit-merge";case kn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),FHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),$He=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=jS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&LHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=FHe(f,Gr,s,zs));const p=$He(f,s,l);if(r){const m=PHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;OHe(i,f,p,m,b,v),IHe(a,f,p,s,n),BHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),zHe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),qHe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=zHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===kn.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),VHe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{qHe(r,e.get(a),i,e)})})},"drawArrows"),GHe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=jS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),R.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),UHe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),HHe=S(function(t,e,r,n){_He(),oe.debug("in gitgraph renderer",t+` +`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&jS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=UHe(x.name,b,C,k,s),R.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&GHe(l,o,a,e),VHe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),WHe={draw:HHe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),YHe=new Set(["redux-color","redux-dark-color"]),XHe=new Set(["neo","neo-dark"]),jHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),KHe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),ZHe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(HHe.has(r)){let s="";for(let o=0;o{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(XHe.has(r)){let s="";for(let o=0;o`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` + `;return s}},"genColor"),JHe=S(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } .label${e} { fill: ${t["git"+r]}; } .arrow${e} { stroke: ${t["git"+r]}; } `}).join(` -`)}`,"normalTheme"),ZHe=C(t=>{const e=gr(),{theme:r}=e,n=YHe.has(r);return` +`)}`,"normalTheme"),eWe=S(t=>{const e=gr(),{theme:r}=e,n=KHe.has(r);return` .commit-id, .commit-msg, .branch-label { @@ -1419,7 +1419,7 @@ ${r}`),this.inline?`{${i}}`:i}}function OGe(t,e,r){if(t==="linkplain"||t==="link font-family: var(--mermaid-font-family); } - ${n?jHe(t):KHe(t)} + ${n?QHe(t):JHe(t)} .branch { stroke-width: ${t.strokeWidth}; @@ -1459,12 +1459,12 @@ ${r}`),this.inline?`{${i}}`:i}}function OGe(t,e,r){if(t==="linkplain"||t==="link font-size: 18px; fill: ${t.textColor}; } -`},"getStyles"),QHe=ZHe,JHe={parser:wHe,db:loe,renderer:GHe,styles:QHe};const eWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:JHe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},tWe=Q3.exports,$W;function rWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(tWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var nWe=rWe();const iWe=k0(nWe);var J3={exports:{}},aWe=J3.exports,zW;function sWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(aWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var S=x.match(/([+-]|\d\d)/g),T=60*S[1]+(+S[2]||0);return T===0?0:S[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var S,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){S=E>12;break}}else S=b===(x?"pm":"PM");return S},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,S=b.match(/\d+/);if(this.day=S[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),S=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(S<1)throw new Error;this.month=S%12||S}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,S;x=b,S=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||S[q]||r[q]||S[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Ae=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe)):(Me=new Date(me,pe,ne,$e,He,Ae,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,S),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=S.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var oWe=sWe();const lWe=k0(oWe);var e5={exports:{}},cWe=e5.exports,qW;function uWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(cWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var hWe=uWe();const dWe=k0(hWe);var t5={exports:{}},fWe=t5.exports,VW;function pWe(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(fWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},S=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+S(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var gWe=pWe();const mWe=k0(gWe);var C9=(function(){var t=C(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],S=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:C(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:S,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:S,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:C(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:C(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}C(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}C(me,"lex");for(var pe,Me,$e,He,Ae={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: +`},"getStyles"),tWe=eWe,rWe={parser:EHe,db:loe,renderer:WHe,styles:tWe};const nWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:rWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},iWe=Q3.exports,$W;function aWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(iWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var sWe=aWe();const oWe=k0(sWe);var J3={exports:{}},lWe=J3.exports,zW;function cWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(lWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Ae=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe)):(Me=new Date(me,pe,ne,$e,He,Ae,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=C.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var uWe=cWe();const hWe=k0(uWe);var e5={exports:{}},dWe=e5.exports,qW;function fWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(dWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var pWe=fWe();const gWe=k0(pWe);var t5={exports:{}},mWe=t5.exports,VW;function yWe(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(mWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},C=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+C(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var vWe=yWe();const bWe=k0(vWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Ae={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: `+Q.showPosition()+` -Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==j?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,X=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Ae.$=M[M.length-We],Ae._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Ae._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Ae,[P,X,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Ae.$),V.push(Ae._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:C(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:C(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:C(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(D){this.unput(this.match.slice(D))},"less"),pastInput:C(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var D=this.pastInput(),I=new Array(D.length+1).join("-");return D+this.upcomingInput()+` -`+I+"^"},"showPosition"),test_match:C(function(D,I){var N,B,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],N=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var V in M)this[V]=M[V];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,I,N,B;this._more||(this.yytext="",this.match="");for(var M=this._currentRules(),V=0;VI[0].length)){if(I=N,B=V,this.options.backtrack_lexer){if(D=this.test_match(N,M[V]),D!==!1)return D;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(D=this.test_match(I,M[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var I=this.next();return I||this.lex()},"lex"),begin:C(function(I){this.conditionStack.push(I)},"begin"),popState:C(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:C(function(I){this.begin(I)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return C(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var yWe=C9;sa.extend(iWe);sa.extend(lWe);sa.extend(dWe);var GW={friday:5,saturday:6},Zl="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,vWe=C(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,Yi=[],Zl="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",jn(),fO="sunday",rC="saturday"},"clear"),bWe=C(function(t){_g=t},"setDiagramId"),xWe=C(function(t){aO=t},"setAxisFormat"),TWe=C(function(){return aO},"getAxisFormat"),wWe=C(function(t){sO=t},"setTickInterval"),CWe=C(function(){return sO},"getTickInterval"),SWe=C(function(t){oO=t},"setTodayMarker"),EWe=C(function(){return oO},"getTodayMarker"),kWe=C(function(t){Zl=t},"setDateFormat"),_We=C(function(){Dx=!0},"enableInclusiveEndDates"),AWe=C(function(){return Dx},"endDatesAreInclusive"),LWe=C(function(){dO=!0},"enableTopAxis"),RWe=C(function(){return dO},"topAxisEnabled"),DWe=C(function(t){uO=t},"setDisplayMode"),NWe=C(function(){return uO},"getDisplayMode"),MWe=C(function(){return Zl},"getDateFormat"),OWe=C(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),IWe=C(function(){return Lx},"getIncludes"),BWe=C(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),PWe=C(function(){return Rx},"getExcludes"),FWe=C(function(){return lO},"getLinks"),$We=C(function(t){Rm=t,cO.push(t)},"addSection"),zWe=C(function(){return cO},"getSections"),qWe=C(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=sa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=C(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=C(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=C(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),ZWe=C(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=C(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),QWe=C(function(t,e,r){t.split(",").forEach(function(n){ZWe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),JWe=C(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),eYe={getConfig:C(()=>Pe().gantt,"getConfig"),clear:vWe,setDateFormat:kWe,getDateFormat:MWe,enableInclusiveEndDates:_We,endDatesAreInclusive:AWe,enableTopAxis:LWe,topAxisEnabled:RWe,setAxisFormat:xWe,getAxisFormat:TWe,setTickInterval:wWe,getTickInterval:CWe,setTodayMarker:SWe,getTodayMarker:EWe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,setDiagramId:bWe,setDisplayMode:DWe,getDisplayMode:NWe,setAccDescription:ci,getAccDescription:ui,addSection:$We,getSections:zWe,getTasks:qWe,addTask:XWe,findTaskById:W0,addTaskOrg:jWe,setIncludes:OWe,getIncludes:IWe,setExcludes:BWe,getExcludes:PWe,setClickEvent:QWe,setLink:KWe,getLinks:FWe,bindFunctions:JWe,parseDuration:moe,isInvalidDate:poe,setWeekday:VWe,getWeekday:GWe,setWeekend:UWe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}C(pO,"getTaskTags");sa.extend(mWe);var tYe=C(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:ej,wednesday:tj,thursday:i0,friday:rj,saturday:nj,sunday:jb},rYe=C((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,nYe=C(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=rYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=S2e().domain([Dpe(h,function(O){return O.startTime}),Rpe(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}C(S,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(sa(M).diff(sa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=sa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}C(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=sa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}C(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=zpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>AA)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=$pe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}C(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` +Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==j?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,X=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Ae.$=M[M.length-We],Ae._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Ae._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Ae,[P,X,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Ae.$),V.push(Ae._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(D){this.unput(this.match.slice(D))},"less"),pastInput:S(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var D=this.pastInput(),I=new Array(D.length+1).join("-");return D+this.upcomingInput()+` +`+I+"^"},"showPosition"),test_match:S(function(D,I){var N,B,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],N=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var V in M)this[V]=M[V];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,I,N,B;this._more||(this.yytext="",this.match="");for(var M=this._currentRules(),V=0;VI[0].length)){if(I=N,B=V,this.options.backtrack_lexer){if(D=this.test_match(N,M[V]),D!==!1)return D;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(D=this.test_match(I,M[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var xWe=C9;sa.extend(oWe);sa.extend(hWe);sa.extend(gWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,TWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,Yi=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",jn(),fO="sunday",rC="saturday"},"clear"),wWe=S(function(t){_g=t},"setDiagramId"),CWe=S(function(t){aO=t},"setAxisFormat"),SWe=S(function(){return aO},"getAxisFormat"),EWe=S(function(t){sO=t},"setTickInterval"),kWe=S(function(){return sO},"getTickInterval"),_We=S(function(t){oO=t},"setTodayMarker"),AWe=S(function(){return oO},"getTodayMarker"),LWe=S(function(t){Ql=t},"setDateFormat"),RWe=S(function(){Dx=!0},"enableInclusiveEndDates"),DWe=S(function(){return Dx},"endDatesAreInclusive"),NWe=S(function(){dO=!0},"enableTopAxis"),MWe=S(function(){return dO},"topAxisEnabled"),OWe=S(function(t){uO=t},"setDisplayMode"),IWe=S(function(){return uO},"getDisplayMode"),BWe=S(function(){return Ql},"getDateFormat"),PWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),FWe=S(function(){return Lx},"getIncludes"),$We=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),zWe=S(function(){return Rx},"getExcludes"),qWe=S(function(){return lO},"getLinks"),VWe=S(function(t){Rm=t,cO.push(t)},"addSection"),GWe=S(function(){return cO},"getSections"),UWe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=sa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),eYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),tYe=S(function(t,e,r){t.split(",").forEach(function(n){eYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),rYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),nYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:TWe,setDateFormat:LWe,getDateFormat:BWe,enableInclusiveEndDates:RWe,endDatesAreInclusive:DWe,enableTopAxis:NWe,topAxisEnabled:MWe,setAxisFormat:CWe,getAxisFormat:SWe,setTickInterval:EWe,getTickInterval:kWe,setTodayMarker:_We,getTodayMarker:AWe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,setDiagramId:wWe,setDisplayMode:OWe,getDisplayMode:IWe,setAccDescription:ci,getAccDescription:ui,addSection:VWe,getSections:GWe,getTasks:UWe,addTask:ZWe,findTaskById:W0,addTaskOrg:QWe,setIncludes:PWe,getIncludes:FWe,setExcludes:$We,getExcludes:zWe,setClickEvent:tYe,setLink:JWe,getLinks:qWe,bindFunctions:rYe,parseDuration:moe,isInvalidDate:poe,setWeekday:HWe,getWeekday:WWe,setWeekend:YWe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");sa.extend(bWe);var iYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:ej,wednesday:tj,thursday:i0,friday:rj,saturday:nj,sunday:jb},aYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,sYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=aYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=_2e().domain([Ope(h,function(O){return O.startTime}),Mpe(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(sa(M).diff(sa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=sa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=sa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=Gpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>AA)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=Vpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` .mermaid-main-font { font-family: ${t.fontFamily}; } @@ -1750,8 +1750,8 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro fill: ${t.titleColor||t.textColor}; font-family: ${t.fontFamily}; } -`,"getStyles"),sYe=aYe,oYe={parser:yWe,db:eYe,renderer:iYe,styles:sYe};const lYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:oYe},Symbol.toStringTag,{value:"Module"}));var cYe={parse:C(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},uYe={version:"11.14.0"},hYe=C(()=>uYe.version,"getVersion"),dYe={getVersion:hYe},fYe=C((t,e,r)=>{oe.debug(`rendering info diagram -`+t);const n=Vs(e);Gi(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),pYe={draw:fYe},gYe={parser:cYe,db:dYe,renderer:pYe};const mYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:gYe},Symbol.toStringTag,{value:"Module"}));var yYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,vYe=structuredClone(yYe),bYe=C(()=>structuredClone(vYe),"getConfig"),xYe=C(()=>{nC=new Map,mO=gO.showData,jn()},"clear"),TYe=C(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),wYe=C(()=>nC,"getSections"),CYe=C(t=>{mO=t},"setShowData"),SYe=C(()=>mO,"getShowData"),Toe={getConfig:bYe,clear:xYe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:TYe,getSections:wYe,setShowData:CYe,getShowData:SYe},EYe=C((t,e)=>{Xu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),kYe={parse:C(async t=>{const e=await Tc("pie",t);oe.debug(e),EYe(e,Toe)},"parse")},_Ye=C(t=>` +`,"getStyles"),cYe=lYe,uYe={parser:xWe,db:nYe,renderer:oYe,styles:cYe};const hYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:uYe},Symbol.toStringTag,{value:"Module"}));var dYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},fYe={version:"11.14.0"},pYe=S(()=>fYe.version,"getVersion"),gYe={getVersion:pYe},mYe=S((t,e,r)=>{oe.debug(`rendering info diagram +`+t);const n=Gs(e);Gi(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),yYe={draw:mYe},vYe={parser:dYe,db:gYe,renderer:yYe};const bYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:vYe},Symbol.toStringTag,{value:"Module"}));var xYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,TYe=structuredClone(xYe),wYe=S(()=>structuredClone(TYe),"getConfig"),CYe=S(()=>{nC=new Map,mO=gO.showData,jn()},"clear"),SYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),EYe=S(()=>nC,"getSections"),kYe=S(t=>{mO=t},"setShowData"),_Ye=S(()=>mO,"getShowData"),Toe={getConfig:wYe,clear:CYe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:SYe,getSections:EYe,setShowData:kYe,getShowData:_Ye},AYe=S((t,e)=>{Xu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),LYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),AYe(e,Toe)},"parse")},RYe=S(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1779,25 +1779,25 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),AYe=_Ye,LYe=C(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return $2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),RYe=C((t,e,r,n)=>{oe.debug(`rendering pie chart -`+t);const i=n.db,a=Pe(),s=Ji(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Vs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,S=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=LYe(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=jf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",S).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Gi(f,h,U,s.useMaxWidth)},"draw"),DYe={draw:RYe},NYe={parser:kYe,db:Toe,renderer:DYe,styles:AYe};const MYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=C(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],S=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Ae=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:C(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:S,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:S,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:C(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:C(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}C(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}C(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: +`,"getStyles"),DYe=RYe,NYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return V2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),MYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart +`+t);const i=n.db,a=Pe(),s=Ji(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=NYe(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=jf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Gi(f,h,U,s.useMaxWidth)},"draw"),OYe={draw:MYe},IYe={parser:LYe,db:Toe,renderer:OYe,styles:DYe};const BYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:IYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Ae=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: `+Qe.showPosition()+` -Expecting `+It.join(", ")+", got '"+(this.terminals_[gt]||gt)+"'":Wt="Parse error on line "+(ze+1)+": Unexpected "+(gt==lt?"end of input":"'"+(this.terminals_[gt]||gt)+"'"),this.parseError(Wt,{text:Qe.match,token:this.terminals_[gt]||gt,line:Qe.yylineno,loc:At,expected:It})}if(Mt[0]instanceof Array&&Mt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+gt);switch(Mt[0]){case 1:fe.push(gt),Ee.push(Qe.yytext),Ie.push(Qe.yylloc),fe.push(Mt[1]),gt=null,et=Qe.yyleng,_e=Qe.yytext,ze=Qe.yylineno,At=Qe.yylloc;break;case 2:if(nt=this.productions_[Mt[1]][1],bt.$=Ee[Ee.length-nt],bt._$={first_line:Ie[Ie.length-(nt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(nt||1)].first_column,last_column:Ie[Ie.length-1].last_column},Et&&(bt._$.range=[Ie[Ie.length-(nt||1)].range[0],Ie[Ie.length-1].range[1]]),xt=this.performAction.apply(bt,[_e,et,ze,Se.yy,Mt[1],Ee,Ie].concat(ve)),typeof xt<"u")return xt;nt&&(fe=fe.slice(0,-1*nt*2),Ee=Ee.slice(0,-1*nt),Ie=Ie.slice(0,-1*nt)),fe.push(this.productions_[Mt[1]][0]),Ee.push(bt.$),Ie.push(bt._$),st=Ue[fe[fe.length-2]][fe[fe.length-1]],fe.push(st);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var be={EOF:1,parseError:C(function(de,fe){if(this.yy.parser)this.yy.parser.parseError(de,fe);else throw new Error(de)},"parseError"),setInput:C(function(Y,de){return this.yy=de||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var de=Y.match(/(?:\r\n?|\n).*/g);return de?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:C(function(Y){var de=Y.length,fe=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-de),this.offset-=de;var we=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var Ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===we.length?this.yylloc.first_column:0)+we[we.length-fe.length].length-fe[0].length:this.yylloc.first_column-de},this.options.ranges&&(this.yylloc.range=[Ee[0],Ee[0]+this.yyleng-de]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:C(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var Y=this.pastInput(),de=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+` -`+de+"^"},"showPosition"),test_match:C(function(Y,de){var fe,we,Ee;if(this.options.backtrack_lexer&&(Ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ee.yylloc.range=this.yylloc.range.slice(0))),we=Y[0].match(/(?:\r\n?|\n).*/g),we&&(this.yylineno+=we.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:we?we[we.length-1].length-we[we.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Y[0].length),this.matched+=Y[0],fe=this.performAction.call(this,this.yy,this,de,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var Ie in Ee)this[Ie]=Ee[Ie];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,de,fe,we;this._more||(this.yytext="",this.match="");for(var Ee=this._currentRules(),Ie=0;Iede[0].length)){if(de=fe,we=Ie,this.options.backtrack_lexer){if(Y=this.test_match(fe,Ee[Ie]),Y!==!1)return Y;if(this._backtrack){de=!1;continue}else return!1}else if(!this.options.flex)break}return de?(Y=this.test_match(de,Ee[we]),Y!==!1?Y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var de=this.next();return de||this.lex()},"lex"),begin:C(function(de){this.conditionStack.push(de)},"begin"),popState:C(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:C(function(de){this.begin(de)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return C(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var OYe=_9,es=Hb(),D1,IYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:es.quadrant1Fill,quadrant2Fill:es.quadrant2Fill,quadrant3Fill:es.quadrant3Fill,quadrant4Fill:es.quadrant4Fill,quadrant1TextFill:es.quadrant1TextFill,quadrant2TextFill:es.quadrant2TextFill,quadrant3TextFill:es.quadrant3TextFill,quadrant4TextFill:es.quadrant4TextFill,quadrantPointFill:es.quadrantPointFill,quadrantPointTextFill:es.quadrantPointTextFill,quadrantXAxisTextFill:es.quadrantXAxisTextFill,quadrantYAxisTextFill:es.quadrantYAxisTextFill,quadrantTitleFill:es.quadrantTitleFill,quadrantInternalBorderStrokeFill:es.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:es.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},C(D1,"QuadrantBuilder"),D1),N1,jT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},C(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}C(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}C(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}C(Coe,"validateSizeInPixels");var BYe=Pe();function wc(t){return Jr(t.trim(),BYe)}C(wc,"textSanitizer");var ka=new IYe;function Soe(t){ka.setData({quadrant1Text:wc(t.text)})}C(Soe,"setQuadrant1Text");function Eoe(t){ka.setData({quadrant2Text:wc(t.text)})}C(Eoe,"setQuadrant2Text");function koe(t){ka.setData({quadrant3Text:wc(t.text)})}C(koe,"setQuadrant3Text");function _oe(t){ka.setData({quadrant4Text:wc(t.text)})}C(_oe,"setQuadrant4Text");function Aoe(t){ka.setData({xAxisLeftText:wc(t.text)})}C(Aoe,"setXAxisLeftText");function Loe(t){ka.setData({xAxisRightText:wc(t.text)})}C(Loe,"setXAxisRightText");function Roe(t){ka.setData({yAxisTopText:wc(t.text)})}C(Roe,"setYAxisTopText");function Doe(t){ka.setData({yAxisBottomText:wc(t.text)})}C(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new jT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new jT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new jT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new jT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}C(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);ka.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}C(Noe,"addPoint");function Moe(t,e){ka.addClass(t,KS(e))}C(Moe,"addClass");function Ooe(t){ka.setConfig({chartWidth:t})}C(Ooe,"setWidth");function Ioe(t){ka.setConfig({chartHeight:t})}C(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&ka.setConfig(r),ka.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),ka.setData({titleText:Kn()}),ka.build()}C(Boe,"getQuadrantData");var PYe=C(function(){ka.clear(),jn()},"clear"),FYe={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:PYe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},$Ye=C((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}C(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}C(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}C(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart -`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Gi(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),S=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=S.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),zYe={draw:$Ye},qYe={parser:OYe,db:FYe,renderer:zYe,styles:C(()=>"","styles")};const VYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:qYe},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=C(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],S=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:C(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:S,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:C(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:C(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}C(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}C(Me,"lex");for(var $e,He,Ae,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Ae=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Ae=H[He]&&H[He][$e]),typeof Ae>"u"||!Ae.length||!Ae[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: +Expecting `+It.join(", ")+", got '"+(this.terminals_[gt]||gt)+"'":Wt="Parse error on line "+(ze+1)+": Unexpected "+(gt==lt?"end of input":"'"+(this.terminals_[gt]||gt)+"'"),this.parseError(Wt,{text:Qe.match,token:this.terminals_[gt]||gt,line:Qe.yylineno,loc:At,expected:It})}if(Mt[0]instanceof Array&&Mt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+gt);switch(Mt[0]){case 1:fe.push(gt),Ee.push(Qe.yytext),Ie.push(Qe.yylloc),fe.push(Mt[1]),gt=null,et=Qe.yyleng,_e=Qe.yytext,ze=Qe.yylineno,At=Qe.yylloc;break;case 2:if(nt=this.productions_[Mt[1]][1],bt.$=Ee[Ee.length-nt],bt._$={first_line:Ie[Ie.length-(nt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(nt||1)].first_column,last_column:Ie[Ie.length-1].last_column},Et&&(bt._$.range=[Ie[Ie.length-(nt||1)].range[0],Ie[Ie.length-1].range[1]]),xt=this.performAction.apply(bt,[_e,et,ze,Se.yy,Mt[1],Ee,Ie].concat(ve)),typeof xt<"u")return xt;nt&&(fe=fe.slice(0,-1*nt*2),Ee=Ee.slice(0,-1*nt),Ie=Ie.slice(0,-1*nt)),fe.push(this.productions_[Mt[1]][0]),Ee.push(bt.$),Ie.push(bt._$),st=Ue[fe[fe.length-2]][fe[fe.length-1]],fe.push(st);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var be={EOF:1,parseError:S(function(de,fe){if(this.yy.parser)this.yy.parser.parseError(de,fe);else throw new Error(de)},"parseError"),setInput:S(function(Y,de){return this.yy=de||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var de=Y.match(/(?:\r\n?|\n).*/g);return de?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:S(function(Y){var de=Y.length,fe=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-de),this.offset-=de;var we=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var Ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===we.length?this.yylloc.first_column:0)+we[we.length-fe.length].length-fe[0].length:this.yylloc.first_column-de},this.options.ranges&&(this.yylloc.range=[Ee[0],Ee[0]+this.yyleng-de]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:S(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Y=this.pastInput(),de=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+` +`+de+"^"},"showPosition"),test_match:S(function(Y,de){var fe,we,Ee;if(this.options.backtrack_lexer&&(Ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ee.yylloc.range=this.yylloc.range.slice(0))),we=Y[0].match(/(?:\r\n?|\n).*/g),we&&(this.yylineno+=we.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:we?we[we.length-1].length-we[we.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Y[0].length),this.matched+=Y[0],fe=this.performAction.call(this,this.yy,this,de,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var Ie in Ee)this[Ie]=Ee[Ie];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,de,fe,we;this._more||(this.yytext="",this.match="");for(var Ee=this._currentRules(),Ie=0;Iede[0].length)){if(de=fe,we=Ie,this.options.backtrack_lexer){if(Y=this.test_match(fe,Ee[Ie]),Y!==!1)return Y;if(this._backtrack){de=!1;continue}else return!1}else if(!this.options.flex)break}return de?(Y=this.test_match(de,Ee[we]),Y!==!1?Y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var PYe=_9,es=Hb(),D1,FYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:es.quadrant1Fill,quadrant2Fill:es.quadrant2Fill,quadrant3Fill:es.quadrant3Fill,quadrant4Fill:es.quadrant4Fill,quadrant1TextFill:es.quadrant1TextFill,quadrant2TextFill:es.quadrant2TextFill,quadrant3TextFill:es.quadrant3TextFill,quadrant4TextFill:es.quadrant4TextFill,quadrantPointFill:es.quadrantPointFill,quadrantPointTextFill:es.quadrantPointTextFill,quadrantXAxisTextFill:es.quadrantXAxisTextFill,quadrantYAxisTextFill:es.quadrantYAxisTextFill,quadrantTitleFill:es.quadrantTitleFill,quadrantInternalBorderStrokeFill:es.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:es.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,jT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var $Ye=Pe();function wc(t){return Jr(t.trim(),$Ye)}S(wc,"textSanitizer");var ka=new FYe;function Soe(t){ka.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){ka.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){ka.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){ka.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){ka.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){ka.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){ka.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){ka.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new jT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new jT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new jT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new jT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);ka.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){ka.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){ka.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){ka.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&ka.setConfig(r),ka.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),ka.setData({titleText:Kn()}),ka.build()}S(Boe,"getQuadrantData");var zYe=S(function(){ka.clear(),jn()},"clear"),qYe={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:zYe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},VYe=S((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}S(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart +`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Gi(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),GYe={draw:VYe},UYe={parser:PYe,db:qYe,renderer:GYe,styles:S(()=>"","styles")};const HYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:UYe},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Ae,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Ae=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Ae=H[He]&&H[He][$e]),typeof Ae>"u"||!Ae.length||!Ae[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: `+te.showPosition()+` -Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Ae[0]instanceof Array&&Ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Ae[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Ae[1]),$e=null,j=te.yyleng,X=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Ae[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[X,j,Z,ae.yy,Ae[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Ae[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:C(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:C(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:C(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(N){this.unput(this.match.slice(N))},"less"),pastInput:C(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var N=this.pastInput(),B=new Array(N.length+1).join("-");return N+this.upcomingInput()+` -`+B+"^"},"showPosition"),test_match:C(function(N,B){var M,V,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),V=N[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],M=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var P in U)this[P]=U[P];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,B,M,V;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),P=0;PB[0].length)){if(B=M,V=P,this.options.backtrack_lexer){if(N=this.test_match(M,U[P]),N!==!1)return N;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(N=this.test_match(B,U[V]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var B=this.next();return B||this.lex()},"lex"),begin:C(function(B){this.conditionStack.push(B)},"begin"),popState:C(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:C(function(B){this.begin(B)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return C(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var GYe=L9;function R9(t){return t.type==="bar"}C(R9,"isBarPlot");function yO(t){return t.type==="band"}C(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}C(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},C(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},C(O1,"BaseAxis"),O1),I1,UYe=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},C(I1,"BandAxis"),I1),B1,HYe=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},C(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new UYe(e,r,t.categories,t.title,i):new HYe(e,r,[t.min,t.max],t.title,i)}C(D9,"getAxis");var P1,WYe=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},C(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new WYe(i,t,e,r)}C($oe,"getChartTitleComponent");var F1,YYe=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},C(F1,"LinePlot"),F1),$1,XYe=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},C($1,"BarPlot"),$1),z1,jYe=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new YYe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new XYe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},C(z1,"BasePlot"),z1);function zoe(t,e,r){return new jYe(t,e,r)}C(zoe,"getPlotComponent");var q1,KYe=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},C(q1,"Orchestrator"),q1),V1,ZYe=(V1=class{static build(e,r,n,i){return new KYe(e,r,n,i).getDrawableElement()}},C(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return Ji(t.xyChart,e.themeVariables.xyChart)}C(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return Ji(Vr.xyChart,t.xyChart)}C(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}C(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}C(QS,"textSanitizer");function Voe(t){qoe=t}C(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}C(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}C(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}C(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}C(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}C(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}C(Yoe,"setYAxisRangeData");function Xoe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}C(Xoe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||Xoe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}C(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}C(SO,"getPlotColorFromPalette");function joe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}C(joe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}C(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Kn(),ZYe.build(Pb,pn,Fb,qoe)}C(Zoe,"getDrawableElem");function Qoe(){return Fb}C(Qoe,"getChartThemeConfig");function Joe(){return Pb}C(Joe,"getChartConfig");function ele(){return pn}C(ele,"getXYChartData");var QYe=C(function(){jn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),JYe={getDrawableElem:Zoe,clear:QYe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:joe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},eXe=C((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}C(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}C(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}C(h,"getTextTransformation"),oe.debug(`Rendering xychart chart -`+t);const d=Vs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Gi(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let S=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],S=v[T],S||(S=v[T]=_.append("g").attr("class",x[E]))}return S}C(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const S=b(x.groupTexts);switch(x.type){case"rect":if(S.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};C(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=C($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");S.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};C(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=C(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");S.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":S.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":S.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),tXe={draw:eXe},rXe={parser:GYe,db:JYe,renderer:tXe};const nXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:rXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=C(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],S=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Ae=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:C(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:S,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Ae,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Ae,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Ae,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Ae,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:C(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:C(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}C(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}C(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: +Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Ae[0]instanceof Array&&Ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Ae[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Ae[1]),$e=null,j=te.yyleng,X=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Ae[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[X,j,Z,ae.yy,Ae[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Ae[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(N){this.unput(this.match.slice(N))},"less"),pastInput:S(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var N=this.pastInput(),B=new Array(N.length+1).join("-");return N+this.upcomingInput()+` +`+B+"^"},"showPosition"),test_match:S(function(N,B){var M,V,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),V=N[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],M=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var P in U)this[P]=U[P];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,B,M,V;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),P=0;PB[0].length)){if(B=M,V=P,this.options.backtrack_lexer){if(N=this.test_match(M,U[P]),N!==!1)return N;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(N=this.test_match(B,U[V]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var WYe=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,YYe=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,XYe=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new YYe(e,r,t.categories,t.title,i):new XYe(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,jYe=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new jYe(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,KYe=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,ZYe=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,QYe=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new KYe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new ZYe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new QYe(t,e,r)}S(zoe,"getPlotComponent");var q1,JYe=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,eXe=(V1=class{static build(e,r,n,i){return new JYe(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return Ji(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return Ji(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function Xoe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(Xoe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||Xoe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function joe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(joe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Kn(),eXe.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var tXe=S(function(){jn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),rXe={getDrawableElem:Zoe,clear:tXe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:joe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},nXe=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart +`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Gi(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};S(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=S($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),iXe={draw:nXe},aXe={parser:WYe,db:rXe,renderer:iXe};const sXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Ae=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Ae,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Ae,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Ae,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Ae,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: `+qe.showPosition()+` -Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},Xe=(function(){var xe={EOF:1,parseError:C(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:C(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:C(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(Ze){this.unput(this.match.slice(Ze))},"less"),pastInput:C(function(){var Ze=this.matched.substr(0,this.matched.length-this.match.length);return(Ze.length>20?"...":"")+Ze.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var Ze=this.match;return Ze.length<20&&(Ze+=this._input.substr(0,20-Ze.length)),(Ze.substr(0,20)+(Ze.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var Ze=this.pastInput(),se=new Array(Ze.length+1).join("-");return Ze+this.upcomingInput()+` -`+se+"^"},"showPosition"),test_match:C(function(Ze,se){var be,Y,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),Y=Ze[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ze[0].length},this.yytext+=Ze[0],this.match+=Ze[0],this.matches=Ze,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ze[0].length),this.matched+=Ze[0],be=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),be)return be;if(this._backtrack){for(var fe in de)this[fe]=de[fe];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ze,se,be,Y;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),fe=0;fese[0].length)){if(se=be,Y=fe,this.options.backtrack_lexer){if(Ze=this.test_match(be,de[fe]),Ze!==!1)return Ze;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(Ze=this.test_match(se,de[Y]),Ze!==!1?Ze:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var se=this.next();return se||this.lex()},"lex"),begin:C(function(se){this.conditionStack.push(se)},"begin"),popState:C(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:C(function(se){this.begin(se)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return C(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var iXe=M9,G1,aXe=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=C(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,jn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},C(G1,"RequirementDB"),G1),sXe=C(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},Xe=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ze){this.unput(this.match.slice(Ze))},"less"),pastInput:S(function(){var Ze=this.matched.substr(0,this.matched.length-this.match.length);return(Ze.length>20?"...":"")+Ze.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ze=this.match;return Ze.length<20&&(Ze+=this._input.substr(0,20-Ze.length)),(Ze.substr(0,20)+(Ze.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ze=this.pastInput(),se=new Array(Ze.length+1).join("-");return Ze+this.upcomingInput()+` +`+se+"^"},"showPosition"),test_match:S(function(Ze,se){var be,Y,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),Y=Ze[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ze[0].length},this.yytext+=Ze[0],this.match+=Ze[0],this.matches=Ze,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ze[0].length),this.matched+=Ze[0],be=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),be)return be;if(this._backtrack){for(var fe in de)this[fe]=de[fe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ze,se,be,Y;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),fe=0;fese[0].length)){if(se=be,Y=fe,this.options.backtrack_lexer){if(Ze=this.test_match(be,de[fe]),Ze!==!1)return Ze;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(Ze=this.test_match(se,de[Y]),Ze!==!1?Ze:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var se=this.next();return se||this.lex()},"lex"),begin:S(function(se){this.conditionStack.push(se)},"begin"),popState:S(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var oXe=M9,G1,lXe=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,jn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),cXe=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` - ${sXe(t)} + `;return s},"genColor"),uXe=S(t=>{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` + ${cXe(t)} marker { fill: ${t.relationColor}; stroke: ${t.relationColor}; @@ -1875,16 +1875,16 @@ Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse erro background-color: ${i??t.edgeLabelBackground}; } -`},"getStyles"),lXe=oXe,tle={};fC(tle,{draw:()=>cXe});var cXe=C(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),uXe={parser:iXe,get db(){return new aXe},renderer:tle,styles:lXe};const hXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:uXe},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=C(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],S=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Ae=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:C(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:S,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:C(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:C(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}C(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}C(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: +`},"getStyles"),hXe=uXe,tle={};fC(tle,{draw:()=>dXe});var dXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),fXe={parser:oXe,get db(){return new lXe},renderer:tle,styles:hXe};const pXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:fXe},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Ae=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: `+gt.showPosition()+` -Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse error on line "+(Nt+1)+": Unexpected "+(st==zt?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(Rt,{text:gt.match,token:this.terminals_[st]||st,line:gt.yylineno,loc:xt,expected:ft})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+It+", token: "+st);switch(Wt[0]){case 1:et.push(st),lt.push(gt.yytext),ve.push(gt.yylloc),et.push(Wt[1]),st=null,At=gt.yyleng,Se=gt.yytext,Nt=gt.yylineno,xt=gt.yylloc;break;case 2:if(vt=this.productions_[Wt[1]][1],rr.$=lt[lt.length-vt],rr._$={first_line:ve[ve.length-(vt||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(vt||1)].first_column,last_column:ve[ve.length-1].last_column},bt&&(rr._$.range=[ve[ve.length-(vt||1)].range[0],ve[ve.length-1].range[1]]),Ut=this.performAction.apply(rr,[Se,At,Nt,ue.yy,Wt[1],lt,ve].concat(St)),typeof Ut<"u")return Ut;vt&&(et=et.slice(0,-1*vt*2),lt=lt.slice(0,-1*vt),ve=ve.slice(0,-1*vt)),et.push(this.productions_[Wt[1]][0]),lt.push(rr.$),ve.push(rr._$),Ne=Qe[et[et.length-2]][et[et.length-1]],et.push(Ne);break;case 3:return!0}}return!0},"parse")},Ee=(function(){var Ue={EOF:1,parseError:C(function(ze,et){if(this.yy.parser)this.yy.parser.parseError(ze,et);else throw new Error(ze)},"parseError"),setInput:C(function(_e,ze){return this.yy=ze||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var ze=_e.match(/(?:\r\n?|\n).*/g);return ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:C(function(_e){var ze=_e.length,et=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ze),this.offset-=ze;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),et.length-1&&(this.yylineno-=et.length-1);var lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:et?(et.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-et.length].length-et[0].length:this.yylloc.first_column-ze},this.options.ranges&&(this.yylloc.range=[lt[0],lt[0]+this.yyleng-ze]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:C(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var _e=this.pastInput(),ze=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` -`+ze+"^"},"showPosition"),test_match:C(function(_e,ze){var et,qe,lt;if(this.options.backtrack_lexer&&(lt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(lt.yylloc.range=this.yylloc.range.slice(0))),qe=_e[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],et=this.performAction.call(this,this.yy,this,ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),et)return et;if(this._backtrack){for(var ve in lt)this[ve]=lt[ve];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,ze,et,qe;this._more||(this.yytext="",this.match="");for(var lt=this._currentRules(),ve=0;veze[0].length)){if(ze=et,qe=ve,this.options.backtrack_lexer){if(_e=this.test_match(et,lt[ve]),_e!==!1)return _e;if(this._backtrack){ze=!1;continue}else return!1}else if(!this.options.flex)break}return ze?(_e=this.test_match(ze,lt[qe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:C(function(ze){this.conditionStack.push(ze)},"begin"),popState:C(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:C(function(ze){this.begin(ze)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return C(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var dXe=O9,fXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},pXe={FILLED:0,OPEN:1},gXe={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,mXe=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=fXe,this.ARROWTYPE=pXe,this.PLACEMENT=gXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` +Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse error on line "+(Nt+1)+": Unexpected "+(st==zt?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(Rt,{text:gt.match,token:this.terminals_[st]||st,line:gt.yylineno,loc:xt,expected:ft})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+It+", token: "+st);switch(Wt[0]){case 1:et.push(st),lt.push(gt.yytext),ve.push(gt.yylloc),et.push(Wt[1]),st=null,At=gt.yyleng,Se=gt.yytext,Nt=gt.yylineno,xt=gt.yylloc;break;case 2:if(vt=this.productions_[Wt[1]][1],rr.$=lt[lt.length-vt],rr._$={first_line:ve[ve.length-(vt||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(vt||1)].first_column,last_column:ve[ve.length-1].last_column},bt&&(rr._$.range=[ve[ve.length-(vt||1)].range[0],ve[ve.length-1].range[1]]),Ut=this.performAction.apply(rr,[Se,At,Nt,ue.yy,Wt[1],lt,ve].concat(St)),typeof Ut<"u")return Ut;vt&&(et=et.slice(0,-1*vt*2),lt=lt.slice(0,-1*vt),ve=ve.slice(0,-1*vt)),et.push(this.productions_[Wt[1]][0]),lt.push(rr.$),ve.push(rr._$),Ne=Qe[et[et.length-2]][et[et.length-1]],et.push(Ne);break;case 3:return!0}}return!0},"parse")},Ee=(function(){var Ue={EOF:1,parseError:S(function(ze,et){if(this.yy.parser)this.yy.parser.parseError(ze,et);else throw new Error(ze)},"parseError"),setInput:S(function(_e,ze){return this.yy=ze||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var ze=_e.match(/(?:\r\n?|\n).*/g);return ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:S(function(_e){var ze=_e.length,et=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ze),this.offset-=ze;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),et.length-1&&(this.yylineno-=et.length-1);var lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:et?(et.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-et.length].length-et[0].length:this.yylloc.first_column-ze},this.options.ranges&&(this.yylloc.range=[lt[0],lt[0]+this.yyleng-ze]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:S(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _e=this.pastInput(),ze=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` +`+ze+"^"},"showPosition"),test_match:S(function(_e,ze){var et,qe,lt;if(this.options.backtrack_lexer&&(lt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(lt.yylloc.range=this.yylloc.range.slice(0))),qe=_e[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],et=this.performAction.call(this,this.yy,this,ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),et)return et;if(this._backtrack){for(var ve in lt)this[ve]=lt[ve];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,ze,et,qe;this._more||(this.yytext="",this.match="");for(var lt=this._currentRules(),ve=0;veze[0].length)){if(ze=et,qe=ve,this.options.backtrack_lexer){if(_e=this.test_match(et,lt[ve]),_e!==!1)return _e;if(this._backtrack){ze=!1;continue}else return!1}else if(!this.options.flex)break}return ze?(_e=this.test_match(ze,lt[qe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var gXe=O9,mXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},yXe={FILLED:0,OPEN:1},vXe={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,bXe=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=mXe,this.ARROWTYPE=yXe,this.PLACEMENT=vXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` `)?u=a+` `:u=`{ `+a+` -}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),jn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Xn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},C(U1,"SequenceDB"),U1),yXe=C(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { +}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),jn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Xn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),xXe=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; stroke-width: ${t.strokeWidth??1}; @@ -2018,25 +2018,25 @@ Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse erro filter: ${e}; stroke: ${t.nodeBorder}; } -`},"getStyles"),vXe=yXe,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=C(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),bXe=C(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),VXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=C(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=C(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=C(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=C(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=C(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=C(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=C(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=C(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}C(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=C((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),xXe=C(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=yo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),S=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[S%f.length]),x.style("fill",d[S%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),TXe=C(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=yo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,S={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,S);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Li(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),wXe=C(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=yo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,S=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} - a ${S},${x} 0 0 0 0,${v.height} - h ${v.width-2*S} - a ${S},${x} 0 0 0 0,-${v.height} +`},"getStyles"),TXe=xXe,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),wXe=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),HXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),CXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),SXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Li(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),EXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} + a ${C},${x} 0 0 0 0,${v.height} + h ${v.width-2*C} + a ${C},${x} 0 0 0 0,-${v.height} Z `;T.append("path").attr("d",_),E.append("path").attr("d",`M ${v.x},${v.y+x} - a ${S},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${S}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-S}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),CXe=C(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let S=S0;n?S+=` ${Rd}`:S+=` ${Ld}`,x.attr("class",S),x.attr("name",e.name);const T=yo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Li(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),SXe=C(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=yo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,S=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",S).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",S+T).attr("y2",S+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Li(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),EXe=C(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=yo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const S=b.width/3,T=b.width/3,E=S/2,_=E/(2.5+S/50),R=v.append("g");R.attr("class",x);const k=` + a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),kXe=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Li(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),_Xe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Li(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),AXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),R=v.append("g");R.attr("class",x);const k=` M ${b.x},${b.y+_} - a ${E},${_} 0 0 0 ${S},0 - a ${E},${_} 0 0 0 -${S},0 + a ${E},${_} 0 0 0 ${C},0 + a ${E},${_} 0 0 0 -${C},0 l 0,${T-2*_} - a ${E},${_} 0 0 0 ${S},0 + a ${E},${_} 0 0 0 ${C},0 l 0,-${T-2*_} -`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;eh.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${S}, ${_})`),e.rectData=b,th(r,Li(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),kXe=C(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const S=yo();S.x=e.x,S.y=a,S.fill="#eaeaea",S.width=e.width,S.height=e.height,S.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Li(e.description))(e.description,b,S.x,S.y+15,S.width,S.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),_Xe=C(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,S=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",S+25*x).attr("x2",s).attr("y2",S+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",S+33*x).attr("x2",s+Yf/2*x).attr("y2",S+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",S+60*x).attr("x2",s).attr("y2",S+45*x),v.append("line").attr("x1",s).attr("y1",S+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",S+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",S+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=yo();_.x=e.x,_.y=S,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),th(r,Li(e.description))(e.description,v,_.x,S+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),AXe=C(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await _Xe(t,e,r,n,o);case"participant":return await xXe(t,e,r,n,o);case"boundary":return await kXe(t,e,r,n,o);case"control":return await CXe(t,e,r,n,i,o);case"entity":return await SXe(t,e,r,n,o);case"database":return await EXe(t,e,r,n,o);case"collections":return await TXe(t,e,r,n,o);case"queue":return await wXe(t,e,r,n,o)}},"drawActor"),LXe=C(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),RXe=C(function(t){return t.append("g")},"anchorElement"),DXe=C(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=yo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((S,T)=>[S.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),NXe=C(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=C(function(b,x,S,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",S).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Li(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Li(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let S=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=S-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=C(function(t,e){Yie(t,e)},"drawBackgroundRect"),MXe=C(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),OXe=C(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),IXe=C(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),BXe=C(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),PXe=C(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),FXe=C(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),$Xe=C(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),zXe=C(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=C(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),qXe=C(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}C(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),S=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:C(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:C(function(t){this.boxes.push(t)},"addBox"),addActor:C(function(t){this.actors.push(t)},"addActor"),addLoop:C(function(t){this.loops.push(t)},"addLoop"),addMessage:C(function(t){this.messages.push(t)},"addMessage"),addNote:C(function(t){this.notes.push(t)},"addNote"),lastActor:C(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:C(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:C(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:C(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:C(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:C(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:C(function(t,e,r,n){const i=this;let a=0;function s(o){return C(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}C(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:C(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:C(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:On.anchorElement(e)})},"newActivation"),endActivation:C(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:C(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:C(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:C(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:C(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:C(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:C(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:C(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:C(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:C(function(){return this.verticalPos},"getVerticalPos"),getBounds:C(function(){return{bounds:this.data,models:this.models}},"getBounds")},YXe=C(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=yo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=On.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Li(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),XW=C(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=C((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),S=C(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:S(f);break;case E:S(d);break;case _:S(d),S(f);break}},"drawCentralConnection"),E0=C(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=C(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=C(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Li(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}C(sle,"boundMessage");var XXe=C(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Li(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const S=f||Je.showSequenceNumbers,T=dle(i,n),E=tje(i,n),_=s+(S&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&XW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&XW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const S=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let R=s,k=o;S?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),jXe=C(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=C(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await On.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await On.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=C(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=ZXe(o),u=On.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=C(function(t){ki(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=C(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),jW=C(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function Jo(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}C(Jo,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));jXe(h,d,f,v,0,b,!1);const R=await nje(b,d,E,n);On.insertArrowHead(h,e),On.insertArrowCrossHead(h,e),On.insertArrowFilledHead(h,e),On.insertSequenceNumber(h,e),On.insertSolidTopArrowHead(h,e),On.insertSolidBottomArrowHead(h,e),On.insertStickTopArrowHead(h,e),On.insertStickBottomArrowHead(h,e),s==="neo"&&On.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),On.drawActivation(h,X,H,Je,tE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}C(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await YXe(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Jo(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await On.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:Jo(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Jo(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:Jo(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:Jo(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Jo(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Jo(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await On.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Jo(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:Jo(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await On.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:Jo(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await On.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await sle(h,Z);cle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await XXe(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>On.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",On.drawBox(h,P,Je)}S&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}C(hle,"calculateActorMargins");var QXe=C(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Li(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=C(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),nje=C(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await QXe(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=rje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),ije={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:KXe},aje={parser:dXe,get db(){return new mXe},renderer:ije,styles:vXe,init:C(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const sje=Object.freeze(Object.defineProperty({__proto__:null,diagram:aje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=C(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],S=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Ae=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:C(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:S,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:S,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:S,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Ae,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Ae,[2,65]),t(Ae,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Ae,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:C(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:C(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}C(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}C(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: +`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;eh.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Li(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),LXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Li(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),RXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),th(r,Li(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),DXe=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await RXe(t,e,r,n,o);case"participant":return await CXe(t,e,r,n,o);case"boundary":return await LXe(t,e,r,n,o);case"control":return await kXe(t,e,r,n,i,o);case"entity":return await _Xe(t,e,r,n,o);case"database":return await AXe(t,e,r,n,o);case"collections":return await SXe(t,e,r,n,o);case"queue":return await EXe(t,e,r,n,o)}},"drawActor"),NXe=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),MXe=S(function(t){return t.append("g")},"anchorElement"),OXe=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),IXe=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Li(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Li(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),BXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),PXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),FXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),$Xe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),zXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),qXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),VXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),GXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),UXe=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:On.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},KXe=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=On.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Li(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),XW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),C=S(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Li(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var ZXe=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Li(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=ije(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&XW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&XW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let R=s,k=o;C?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),QXe=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await On.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await On.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=eje(o),u=On.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){ki(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),jW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));QXe(h,d,f,v,0,b,!1);const R=await sje(b,d,E,n);On.insertArrowHead(h,e),On.insertArrowCrossHead(h,e),On.insertArrowFilledHead(h,e),On.insertSequenceNumber(h,e),On.insertSolidTopArrowHead(h,e),On.insertSolidBottomArrowHead(h,e),On.insertStickTopArrowHead(h,e),On.insertStickBottomArrowHead(h,e),s==="neo"&&On.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),On.drawActivation(h,X,H,Je,tE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}S(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await KXe(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await On.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await On.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await On.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await On.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await sle(h,Z);cle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await ZXe(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>On.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",On.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var tje=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Li(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),sje=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await tje(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=aje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),oje={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:JXe},lje={parser:gXe,get db(){return new bXe},renderer:oje,styles:TXe,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const cje=Object.freeze(Object.defineProperty({__proto__:null,diagram:lje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Ae=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Ae,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Ae,[2,65]),t(Ae,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Ae,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:S(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: `+Ue.showPosition()+` -Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},De=(function(){var it={EOF:1,parseError:C(function(Xe,at){if(this.yy.parser)this.yy.parser.parseError(Xe,at);else throw new Error(Xe)},"parseError"),setInput:C(function(Ye,Xe){return this.yy=Xe||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var Xe=Ye.match(/(?:\r\n?|\n).*/g);return Xe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:C(function(Ye){var Xe=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xe),this.offset-=Xe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-Xe},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-Xe]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:C(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var Ye=this.pastInput(),Xe=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` -`+Xe+"^"},"showPosition"),test_match:C(function(Ye,Xe){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,Xe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,Xe,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seXe[0].length)){if(Xe=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){Xe=!1;continue}else return!1}else if(!this.options.flex)break}return Xe?(Ye=this.test_match(Xe,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:C(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:C(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:C(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:C(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return C(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},C(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=C(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=C(e=>{const r=Xie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=C(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",jn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},C(W1,"ClassDB"),W1),oje=C(t=>`g.classGroup text { +Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},De=(function(){var it={EOF:1,parseError:S(function(Xe,at){if(this.yy.parser)this.yy.parser.parseError(Xe,at);else throw new Error(Xe)},"parseError"),setInput:S(function(Ye,Xe){return this.yy=Xe||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var Xe=Ye.match(/(?:\r\n?|\n).*/g);return Xe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:S(function(Ye){var Xe=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xe),this.offset-=Xe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-Xe},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-Xe]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:S(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ye=this.pastInput(),Xe=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` +`+Xe+"^"},"showPosition"),test_match:S(function(Ye,Xe){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,Xe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,Xe,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seXe[0].length)){if(Xe=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){Xe=!1;continue}else return!1}else if(!this.options.flex)break}return Xe?(Ye=this.test_match(Xe,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:S(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:S(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:S(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=Xie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",jn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),uje=S(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -2236,12 +2236,12 @@ g.classGroup line { text-align: center; } ${bx()} -`,"getStyles"),gle=oje,lje=C((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),cje=C(function(t,e){return e.db.getClasses()},"getClasses"),uje=C(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:cje,draw:uje,getDir:lje},hje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:C(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const dje=Object.freeze(Object.defineProperty({__proto__:null,diagram:hje},Symbol.toStringTag,{value:"Module"}));var fje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:C(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const pje=Object.freeze(Object.defineProperty({__proto__:null,diagram:fje},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=C(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],S=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:C(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:S,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:S,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:S,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:S,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:C(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:C(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}C(Ae,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}C(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: +`,"getStyles"),gle=uje,hje=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),dje=S(function(t,e){return e.db.getClasses()},"getClasses"),fje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:dje,draw:fje,getDir:hje},pje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const gje=Object.freeze(Object.defineProperty({__proto__:null,diagram:pje},Symbol.toStringTag,{value:"Module"}));var mje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const yje=Object.freeze(Object.defineProperty({__proto__:null,diagram:mje},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}S(Ae,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: `+me.showPosition()+` -Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),j.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},He&&(Ge._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),De=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,j].concat(ne)),typeof De<"u")return De;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),j.push(Ge._$),Xe=ee[H[H.length-2]][H[H.length-1]],H.push(Xe);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:C(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:C(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:C(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===X.length?this.yylloc.first_column:0)+X[X.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(U){this.unput(this.match.slice(U))},"less"),pastInput:C(function(){var U=this.matched.substr(0,this.matched.length-this.match.length);return(U.length>20?"...":"")+U.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var U=this.match;return U.length<20&&(U+=this._input.substr(0,20-U.length)),(U.substr(0,20)+(U.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var U=this.pastInput(),P=new Array(U.length+1).join("-");return U+this.upcomingInput()+` -`+P+"^"},"showPosition"),test_match:C(function(U,P){var H,X,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),X=U[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var j in Z)this[j]=Z[j];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,X;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),j=0;jP[0].length)){if(P=H,X=j,this.options.backtrack_lexer){if(U=this.test_match(H,Z[j]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[X]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var P=this.next();return P||this.lex()},"lex"),begin:C(function(P){this.conditionStack.push(P)},"begin"),popState:C(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:C(function(P){this.begin(P)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return C(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,gje="TB",vle="TB",JW="dir",mg="state",Xp="root",$9="relation",mje="classDef",yje="style",vje="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",bje="stateStart",xje="stateEnd",eY="divider",tY="roundedWithTitle",Tje="note",wje="noteGroup",Nx="statediagram",Cje="state",Sje=`${Nx}-${Cje}`,Ele="transition",Eje="note",kje="note-edge",_je=`${Ele} ${kje}`,Aje=`${Nx}-${Eje}`,Lje="cluster",Rje=`${Nx}-${Lje}`,Dje="cluster-alt",Nje=`${Nx}-${Dje}`,kle="parent",_le="note",Mje="state",EO="----",Oje=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=C((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Ije=C(function(t,e){return e.db.getClasses()},"getClasses"),Bje=C(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const S=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(S.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),S.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");S.setAttribute("title",E)}x.replaceChild(S,b),S.appendChild(b),oe.info("🔗 Wrapped node in
    tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),Pje={getClasses:Ije,draw:Bje,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${Mje}-${t}${i}-${e}`}C(a5,"stateDomId");var Fje=C((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=C((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}C(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}C(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}C(Rle,"getStylesFromDbInfo");var T2=C((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=bje:e.start===!1&&(p=xje),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${Sje}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${Rje} ${a?Nje:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:Tje,label:e.note.text,labelType:"markdown",cssClasses:Aje,cssStyles:[],cssCompiledStyles:[],id:l+Oje+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,S={labelStyle:"",shape:wje,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,S.id=x,b.parentId=x,x2(n,S,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:_je,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),Fje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),$je=C(()=>{i5.clear(),Ph=0},"reset"),ts={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=C(()=>new Map,"newClassesList"),aY=C(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=C(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=li,this.setAccTitle=Xn,this.getAccDescription=ui,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case mje:this.addStyleClass(i.id.trim(),i.classes);break;case yje:this.handleStyleDef(i);break;case vje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();$je(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===ts.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Xp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Xp,stmt:Xp},{id:Xp,stmt:Xp,doc:this.rootDoc},!0),{id:Xp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,jn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===ts.START_NODE?(this.startEndCount++,`${ts.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===ts.START_NODE?ts.START_TYPE:r}endIdIfNeeded(e=""){return e===ts.END_NODE?(this.startEndCount++,`${ts.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===ts.END_NODE?ts.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(ts.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(ts.COLOR_KEYWORD).exec(i)){const o=a.replace(ts.FILL_KEYWORD,ts.BG_FILL).replace(ts.COLOR_KEYWORD,ts.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??gje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},C(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),zje=C(t=>` +Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),j.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},He&&(Ge._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),De=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,j].concat(ne)),typeof De<"u")return De;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),j.push(Ge._$),Xe=ee[H[H.length-2]][H[H.length-1]],H.push(Xe);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:S(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:S(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:S(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===X.length?this.yylloc.first_column:0)+X[X.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(U){this.unput(this.match.slice(U))},"less"),pastInput:S(function(){var U=this.matched.substr(0,this.matched.length-this.match.length);return(U.length>20?"...":"")+U.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var U=this.match;return U.length<20&&(U+=this._input.substr(0,20-U.length)),(U.substr(0,20)+(U.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var U=this.pastInput(),P=new Array(U.length+1).join("-");return U+this.upcomingInput()+` +`+P+"^"},"showPosition"),test_match:S(function(U,P){var H,X,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),X=U[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var j in Z)this[j]=Z[j];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,X;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),j=0;jP[0].length)){if(P=H,X=j,this.options.backtrack_lexer){if(U=this.test_match(H,Z[j]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[X]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,vje="TB",vle="TB",JW="dir",mg="state",Xp="root",$9="relation",bje="classDef",xje="style",Tje="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",wje="stateStart",Cje="stateEnd",eY="divider",tY="roundedWithTitle",Sje="note",Eje="noteGroup",Nx="statediagram",kje="state",_je=`${Nx}-${kje}`,Ele="transition",Aje="note",Lje="note-edge",Rje=`${Ele} ${Lje}`,Dje=`${Nx}-${Aje}`,Nje="cluster",Mje=`${Nx}-${Nje}`,Oje="cluster-alt",Ije=`${Nx}-${Oje}`,kle="parent",_le="note",Bje="state",EO="----",Pje=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Fje=S(function(t,e){return e.db.getClasses()},"getClasses"),$je=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),zje={getClasses:Fje,draw:$je,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${Bje}-${t}${i}-${e}`}S(a5,"stateDomId");var qje=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=wje:e.start===!1&&(p=Cje),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${_je}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${Mje} ${a?Ije:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:Sje,label:e.note.text,labelType:"markdown",cssClasses:Dje,cssStyles:[],cssCompiledStyles:[],id:l+Pje+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:Eje,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:Rje,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),qje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),Vje=S(()=>{i5.clear(),Ph=0},"reset"),ts={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=li,this.setAccTitle=Xn,this.getAccDescription=ui,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case bje:this.addStyleClass(i.id.trim(),i.classes);break;case xje:this.handleStyleDef(i);break;case Tje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();Vje(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===ts.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Xp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Xp,stmt:Xp},{id:Xp,stmt:Xp,doc:this.rootDoc},!0),{id:Xp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,jn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===ts.START_NODE?(this.startEndCount++,`${ts.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===ts.START_NODE?ts.START_TYPE:r}endIdIfNeeded(e=""){return e===ts.END_NODE?(this.startEndCount++,`${ts.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===ts.END_NODE?ts.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(ts.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(ts.COLOR_KEYWORD).exec(i)){const o=a.replace(ts.FILL_KEYWORD,ts.BG_FILL).replace(ts.COLOR_KEYWORD,ts.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??vje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),Gje=S(t=>` defs [id$="-barbEnd"] { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -2466,12 +2466,12 @@ g.stateGroup line { ry: ${t.radius}px; filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} } -`,"getStyles"),Dle=zje,qje=C(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),Vje=C(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Gje=C((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),Uje=C((t,e)=>{const r=C(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),Hje=C((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),Wje=C(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),Yje=C((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),Xje=C((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),jje=C((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=Xje(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=C(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&qje(i),e.type==="end"&&Wje(i),(e.type==="fork"||e.type==="join")&&Yje(i,e),e.type==="note"&&jje(e.note.text,i),e.type==="divider"&&Vje(i),e.type==="default"&&e.descriptions.length===0&&Gje(i,e),e.type==="default"&&e.descriptions.length>0&&Uje(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,Kje=C(function(t,e,r){const n=C(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(X2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let S=0;S<=d.length;S++){const T=l.append("text").attr("text-anchor","middle").text(d[S]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const S=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-S)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),io,NA={},Zje=C(function(){},"setConf"),Qje=C(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),Jje=C(function(t,e,r,n){io=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);Qje(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=io.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Gi(l,m,v,io.useMaxWidth),l.attr("viewBox",`${f.x-io.padding} ${f.y-io.padding} `+p+" "+m)},"draw"),eKe=C(t=>t?t.length*io.fontSizeFactor:1,"getLabelWidth"),Nle=C((t,e,r,n,i,a,s)=>{const o=new Gs({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),Kje(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*io.padding,b.height=v.height+2*io.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),tKe={setConf:Zje,draw:Jje},rKe={parser:yle,get db(){return new $f(1)},renderer:tKe,styles:Dle,init:C(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const nKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:rKe},Symbol.toStringTag,{value:"Module"}));var iKe={parser:yle,get db(){return new $f(2)},renderer:Pje,styles:Dle,init:C(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const aKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:iKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=C(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:C(function(f,p,m,v,b,x,S){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:C(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:C(function(f){var p=this,m=[0],v=[],b=[null],x=[],S=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}C(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}C(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=S[B]&&S[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in S[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: +`,"getStyles"),Dle=Gje,Uje=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),Hje=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Wje=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),Yje=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),Xje=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),jje=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),Kje=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),Zje=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),Qje=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=Zje(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&Uje(i),e.type==="end"&&jje(i),(e.type==="fork"||e.type==="join")&&Kje(i,e),e.type==="note"&&Qje(e.note.text,i),e.type==="divider"&&Hje(i),e.type==="default"&&e.descriptions.length===0&&Wje(i,e),e.type==="default"&&e.descriptions.length>0&&Yje(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,Jje=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(X2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},eKe=S(function(){},"setConf"),tKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),rKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);tKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Gi(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),nKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),Jje(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),iKe={setConf:eKe,draw:rKe},aKe={parser:yle,get db(){return new $f(1)},renderer:iKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const sKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aKe},Symbol.toStringTag,{value:"Module"}));var oKe={parser:yle,get db(){return new $f(2)},renderer:zje,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const lKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:oKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in C[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: `+O.showPosition()+` -Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(j,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(L)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),X=S[m[m.length-2]][m[m.length-1]],m.push(X);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:C(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:C(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:C(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(f){this.unput(this.match.slice(f))},"less"),pastInput:C(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+` -`+p+"^"},"showPosition"),test_match:C(function(f,p){var m,v,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),v=f[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(f[0].length),this.matched+=f[0],m=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var x in b)this[x]=b[x];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var f,p,m,v;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),x=0;xp[0].length)){if(p=m,v=x,this.options.backtrack_lexer){if(f=this.test_match(m,b[x]),f!==!1)return f;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(f=this.test_match(p,b[v]),f!==!1?f:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var p=this.next();return p||this.lex()},"lex"),begin:C(function(p){this.conditionStack.push(p)},"begin"),popState:C(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:C(function(p){this.begin(p)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return C(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var sKe=z9,Nm="",kO=[],zb=[],qb=[],oKe=C(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,jn()},"clear"),lKe=C(function(t){Nm=t,kO.push(t)},"addSection"),cKe=C(function(){return kO},"getSections"),uKe=C(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),dKe=C(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),fKe=C(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=C(function(){const t=C(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),pKe=C(function(){return hKe()},"getActors"),cY={getConfig:C(()=>Pe().journey,"getConfig"),clear:oKe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:lKe,getSections:cKe,getTasks:uKe,addTask:dKe,addTaskOrg:fKe,getActors:pKe},gKe=C(t=>`.label { +Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(j,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(L)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),X=C[m[m.length-2]][m[m.length-1]],m.push(X);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(f){this.unput(this.match.slice(f))},"less"),pastInput:S(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+` +`+p+"^"},"showPosition"),test_match:S(function(f,p){var m,v,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),v=f[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(f[0].length),this.matched+=f[0],m=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var x in b)this[x]=b[x];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var f,p,m,v;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),x=0;xp[0].length)){if(p=m,v=x,this.options.backtrack_lexer){if(f=this.test_match(m,b[x]),f!==!1)return f;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(f=this.test_match(p,b[v]),f!==!1?f:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var cKe=z9,Nm="",kO=[],zb=[],qb=[],uKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,jn()},"clear"),hKe=S(function(t){Nm=t,kO.push(t)},"addSection"),dKe=S(function(){return kO},"getSections"),fKe=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),gKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),mKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),yKe=S(function(){return pKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:uKe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:hKe,getSections:dKe,getTasks:fKe,addTask:gKe,addTaskOrg:mKe,getActors:yKe},vKe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.textColor}; } @@ -2604,12 +2604,12 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on ${t.actor5?`fill: ${t.actor5}`:""}; } ${bx()} -`,"getStyles"),mKe=gKe,_O=C(function(t,e){return NS(t,e)},"drawRect"),yKe=C(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}C(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}C(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return C(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=C(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=C(function(t,e){return MBe(t,e)},"drawText"),vKe=C(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}C(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),bKe=C(function(t,e,r){const n=t.append("g"),i=yo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,xKe=C(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),yKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=yo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),TKe=C(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}C(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}C(Ble,"drawActorLegend");var rl=Pe().journey,Ih=0,SKe=C(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Oo.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:rl.actorColours[v%rl.actorColours.length],position:v},v++}),Ble(d),Ih=rl.leftMargin+s5,Oo.insert(0,0,Ih,Object.keys(vu).length*50),EKe(d,f,0,e);const b=Oo.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*rl.diagramMarginY,S=Ih+b.stopx+2*rl.diagramMarginX;Gi(d,x,S,rl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",rl.height*4).attr("x2",S-Ih-4).attr("y2",rl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${S} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Oo={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:C(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:C(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:C(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return C(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Oo.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Oo.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Oo.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Oo.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}C(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:C(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Oo.data,"startx",i,Math.min),this.updateVal(Oo.data,"starty",s,Math.min),this.updateVal(Oo.data,"stopx",a,Math.max),this.updateVal(Oo.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:C(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:C(function(){return this.verticalPos},"getVerticalPos"),getBounds:C(function(){return this.data},"getBounds")},MA=rl.sectionFills,uY=rl.sectionColours,EKe=C(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let S=f;S(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Oo.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:CKe,draw:SKe},kKe={parser:sKe,db:cY,renderer:hY,styles:mKe,init:C(t=>{hY.setConf(t.journey),cY.clear()},"init")};const _Ke=Object.freeze(Object.defineProperty({__proto__:null,diagram:kKe},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=C(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:C(function(p,m,v,b,x,S,T){var E=S.length-1;switch(x){case 1:return S[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:S[E-1].push(S[E]),this.$=S[E-1];break;case 7:case 8:this.$=S[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(S[E].substr(6)),this.$=S[E].substr(6);break;case 12:this.$=S[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=S[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(S[E].substr(8)),this.$=S[E].substr(8);break;case 18:b.addTask(S[E],0,""),this.$=S[E];break;case 19:b.addEvent(S[E].substr(2)),this.$=S[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:C(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:C(function(p){var m=this,v=[0],b=[],x=[null],S=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=S.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;S.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,S.length=S.length-Q}C(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}C(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: +`,"getStyles"),bKe=vKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),xKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return BBe(t,e)},"drawText"),TKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),wKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,CKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),xKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),SKe=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,_Ke=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),AKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Gi(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,AKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:kKe,draw:_Ke},LKe={parser:cKe,db:cY,renderer:hY,styles:bKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const RKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:LKe},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: `+F.showPosition()+` -Expecting `+j.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:j})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),S.push(F.yylloc),v.push(V[1]),B=null,R=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(X=this.productions_[V[1]][1],P.$=x[x.length-X],P._$={first_line:S[S.length-(X||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(X||1)].first_column,last_column:S[S.length-1].last_column},D&&(P._$.range=[S[S.length-(X||1)].range[0],S[S.length-1].range[1]]),U=this.performAction.apply(P,[E,R,_,$.yy,V[1],x,S].concat(O)),typeof U<"u")return U;X&&(v=v.slice(0,-1*X*2),x=x.slice(0,-1*X),S=S.slice(0,-1*X)),v.push(this.productions_[V[1]][0]),x.push(P.$),S.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:C(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:C(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:C(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(p){this.unput(this.match.slice(p))},"less"),pastInput:C(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` -`+m+"^"},"showPosition"),test_match:C(function(p,m){var v,b,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),b=p[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var S in x)this[S]=x[S];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,v,b;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),S=0;Sm[0].length)){if(m=v,b=S,this.options.backtrack_lexer){if(p=this.test_match(v,x[S]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,x[b]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var m=this.next();return m||this.lex()},"lex"),begin:C(function(m){this.conditionStack.push(m)},"begin"),popState:C(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:C(function(m){this.begin(m)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return C(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var AKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>Xle,clear:()=>zle,default:()=>LKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=C(()=>yD,"getCommonDb"),zle=C(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",jn()},"clear"),qle=C(function(t){AO=t},"setDirection"),Vle=C(function(){return AO},"getDirection"),Gle=C(function(t){Mm=t,LO.push(t)},"addSection"),Ule=C(function(){return LO},"getSections"),Hle=C(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),Xle=C(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=C(function(){const t=C(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),LKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:Xle,addEvent:Yle},jle=0,rE=C(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),RKe=C(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}C(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}C(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return C(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),DKe=C(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=C(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),NKe=C(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}C(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),MKe=C(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,OKe=C(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),RKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),IKe=C(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),BKe=C(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=C(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}C(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}C(DO,"wrap");var FKe=C(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),zKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),S=t.node()?.ownerSVGElement??t.node(),T=kt(S),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),$Ke=C(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),zKe=C(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+jle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Bs={drawRect:rE,drawCircle:DKe,drawSection:MKe,drawText:Kle,drawLabel:NKe,drawTask:OKe,drawBackgroundRect:IKe,getTextObj:BKe,getNoteRect:RO,initGraphics:PKe,drawNode:FKe,getVirtualNodeHeight:$Ke},qKe=C(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Bs.initGraphics(v,e);const S=n.db.getSections();oe.debug("sections",S);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;S.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Bs.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Bs.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Bs.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),S&&S.length>0?S.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Bs.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&fY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,fY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=C(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Bs.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let S=a;i+=100,S=S+VKe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),VKe=C(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Bs.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),GKe={setConf:C(()=>{},"setConf"),draw:qKe},nE=200,hu=5,UKe=nE+hu*2,NO=nE+100,HKe=NO+hu*2,Qle=10,WKe=0,pY=20,Jle=20,gY=30,ece=50,YKe=C(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Vs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Bs.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=UKe+Jle,x=HKe+ece,S=v+b;let T=0;const E=u&&u.length>0,_=E?S:f+b,R=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h},B=Bs.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Bs.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Bs.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+WKe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Bs.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=X,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=C(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Bs.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;XKe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),XKe=C(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Bs.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),jKe={setConf:C(()=>{},"setConf"),draw:YKe},KKe=C(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,R=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(X=this.productions_[V[1]][1],P.$=x[x.length-X],P._$={first_line:C[C.length-(X||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(X||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(X||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,R,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;X&&(v=v.slice(0,-1*X*2),x=x.slice(0,-1*X),C=C.slice(0,-1*X)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(p){this.unput(this.match.slice(p))},"less"),pastInput:S(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` +`+m+"^"},"showPosition"),test_match:S(function(p,m){var v,b,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),b=p[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var C in x)this[C]=x[C];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,v,b;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),C=0;Cm[0].length)){if(m=v,b=C,this.options.backtrack_lexer){if(p=this.test_match(v,x[C]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,x[b]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var m=this.next();return m||this.lex()},"lex"),begin:S(function(m){this.conditionStack.push(m)},"begin"),popState:S(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var DKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>Xle,clear:()=>zle,default:()=>NKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",jn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),Xle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),NKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:Xle,addEvent:Yle},jle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),MKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),OKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),IKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),BKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,PKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),MKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),FKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),$Ke=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var qKe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),GKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),VKe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),GKe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+jle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:OKe,drawSection:BKe,drawText:Kle,drawLabel:IKe,drawTask:PKe,drawBackgroundRect:FKe,getTextObj:$Ke,getNoteRect:RO,initGraphics:zKe,drawNode:qKe,getVirtualNodeHeight:VKe},UKe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&fY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,fY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+HKe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),HKe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),WKe={setConf:S(()=>{},"setConf"),draw:UKe},nE=200,hu=5,YKe=nE+hu*2,NO=nE+100,XKe=NO+hu*2,Qle=10,jKe=0,pY=20,Jle=20,gY=30,ece=50,KKe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=YKe+Jle,x=XKe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,R=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+jKe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=X,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;ZKe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),ZKe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),QKe={setConf:S(()=>{},"setConf"),draw:KKe},JKe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o{let e="";for(let r=0;r{let e="";for(let r=0;r{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{},"setConf"),draw:C((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?jKe.draw(t,e,r,n):GKe.draw(t,e,r,n),"draw")},tZe={db:Ple,renderer:eZe,parser:AKe,styles:JKe};const rZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:tZe},Symbol.toStringTag,{value:"Module"})),wa=[];for(let t=0;t<256;++t)wa.push((t+256).toString(16).slice(1));function nZe(t,e=0){return(wa[t[e+0]]+wa[t[e+1]]+wa[t[e+2]]+wa[t[e+3]]+"-"+wa[t[e+4]]+wa[t[e+5]]+"-"+wa[t[e+6]]+wa[t[e+7]]+"-"+wa[t[e+8]]+wa[t[e+9]]+"-"+wa[t[e+10]]+wa[t[e+11]]+wa[t[e+12]]+wa[t[e+13]]+wa[t[e+14]]+wa[t[e+15]]).toLowerCase()}let OA;const iZe=new Uint8Array(16);function aZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(iZe)}const sZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:sZe};function oZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??aZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,nZe(n)}var U9=(function(){var t=C(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:C(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:C(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:C(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}C(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}C(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: +`},"getStyles"),rZe=tZe,nZe={setConf:S(()=>{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?QKe.draw(t,e,r,n):WKe.draw(t,e,r,n),"draw")},iZe={db:Ple,renderer:nZe,parser:DKe,styles:rZe};const aZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:iZe},Symbol.toStringTag,{value:"Module"})),wa=[];for(let t=0;t<256;++t)wa.push((t+256).toString(16).slice(1));function sZe(t,e=0){return(wa[t[e+0]]+wa[t[e+1]]+wa[t[e+2]]+wa[t[e+3]]+"-"+wa[t[e+4]]+wa[t[e+5]]+"-"+wa[t[e+6]]+wa[t[e+7]]+"-"+wa[t[e+8]]+wa[t[e+9]]+"-"+wa[t[e+10]]+wa[t[e+11]]+wa[t[e+12]]+wa[t[e+13]]+wa[t[e+14]]+wa[t[e+15]]).toLowerCase()}let OA;const oZe=new Uint8Array(16);function lZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(oZe)}const cZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:cZe};function uZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??lZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,sZe(n)}var U9=(function(){var t=S(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:S(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}S(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: `+M.showPosition()+` -Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error on line "+(z+1)+": Unexpected "+(j==N?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(pe,{text:M.match,token:this.terminals_[j]||j,line:M.yylineno,loc:P,expected:me})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+j);switch(Q[0]){case 1:k.push(j),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),j=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},S=(function(){var E={EOF:1,parseError:C(function(R,k){if(this.yy.parser)this.yy.parser.parseError(R,k);else throw new Error(R)},"parseError"),setInput:C(function(_,R){return this.yy=R||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var R=_.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:C(function(_){var R=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===L.length?this.yylloc.first_column:0)+L[L.length-k.length].length-k[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(_){this.unput(this.match.slice(_))},"less"),pastInput:C(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var _=this.pastInput(),R=new Array(_.length+1).join("-");return _+this.upcomingInput()+` -`+R+"^"},"showPosition"),test_match:C(function(_,R){var k,L,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),L=_[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,R,k,L;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FR[0].length)){if(R=k,L=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(_=this.test_match(R,O[L]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var R=this.next();return R||this.lex()},"lex"),begin:C(function(R){this.conditionStack.push(R)},"begin"),popState:C(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:C(function(R){this.begin(R)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=S;function T(){this.yy={}}return C(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var lZe=U9,cZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,uZe=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(cZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=C(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=Q0e().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+oZe()}}getLogger(){return oe}},C(Y1,"MindmapDB"),Y1),hZe=C(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram -`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),dZe={draw:hZe},fZe=C(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+j);switch(Q[0]){case 1:k.push(j),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),j=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:S(function(R,k){if(this.yy.parser)this.yy.parser.parseError(R,k);else throw new Error(R)},"parseError"),setInput:S(function(_,R){return this.yy=R||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var R=_.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:S(function(_){var R=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===L.length?this.yylloc.first_column:0)+L[L.length-k.length].length-k[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_){this.unput(this.match.slice(_))},"less"),pastInput:S(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _=this.pastInput(),R=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+R+"^"},"showPosition"),test_match:S(function(_,R){var k,L,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),L=_[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,R,k,L;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FR[0].length)){if(R=k,L=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(_=this.test_match(R,O[L]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var R=this.next();return R||this.lex()},"lex"),begin:S(function(R){this.conditionStack.push(R)},"begin"),popState:S(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:S(function(R){this.begin(R)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var hZe=U9,dZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,fZe=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(dZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=tpe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+uZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),pZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram +`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),gZe={draw:pZe},mZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i{let n="";for(let i=0;i{let n="";for(let i=0;i{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` + }`;return n},"genGradient"),vZe=S(t=>{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` .edge { stroke-width: 3; } - ${fZe(t)} + ${mZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2817,18 +2817,18 @@ Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error [data-look="neo"].mindmap-node.section-root .text-inner-tspan { fill: ${e?.includes("redux")?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:0)]}; } - ${t.useGradient&&r&&t.mainBkg?pZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} -`},"getStyles"),mZe=gZe,yZe={get db(){return new uZe},renderer:dZe,parser:lZe,styles:mZe};const vZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:yZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=C(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],S=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:C(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(S,[2,8]),t(S,[2,9]),t(S,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(S,[2,11]),t(S,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:C(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:C(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Ae){F.length=F.length-2*Ae,q.length=q.length-Ae,z.length=z.length-Ae}C(ee,"popStack");function Q(){var Ae;return Ae=$.pop()||P.lex()||V,typeof Ae!="number"&&(Ae instanceof Array&&($=Ae,Ae=$.pop()),Ae=O.symbols_[Ae]||Ae),Ae}C(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: + ${t.useGradient&&r&&t.mainBkg?yZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} +`},"getStyles"),bZe=vZe,xZe={get db(){return new fZe},renderer:gZe,parser:hZe,styles:bZe};const TZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:xZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:S(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Ae){F.length=F.length-2*Ae,q.length=q.length-Ae,z.length=z.length-Ae}S(ee,"popStack");function Q(){var Ae;return Ae=$.pop()||P.lex()||V,typeof Ae!="number"&&(Ae instanceof Array&&($=Ae,Ae=$.pop()),Ae=O.symbols_[Ae]||Ae),Ae}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: `+P.showPosition()+` -Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},j&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:C(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:C(function(L,O){return this.yy=O||this.yy||{},this._input=L,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var L=this._input[0];this.yytext+=L,this.yyleng++,this.offset++,this.match+=L,this.matched+=L;var O=L.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),L},"input"),unput:C(function(L){var O=L.length,F=L.split(/(?:\r\n?|\n)/g);this._input=L+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(L){this.unput(this.match.slice(L))},"less"),pastInput:C(function(){var L=this.matched.substr(0,this.matched.length-this.match.length);return(L.length>20?"...":"")+L.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var L=this.match;return L.length<20&&(L+=this._input.substr(0,20-L.length)),(L.substr(0,20)+(L.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var L=this.pastInput(),O=new Array(L.length+1).join("-");return L+this.upcomingInput()+` -`+O+"^"},"showPosition"),test_match:C(function(L,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=L[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+L[0].length},this.yytext+=L[0],this.match+=L[0],this.matches=L,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(L[0].length),this.matched+=L[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var L,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(L=this.test_match(F,q[z]),L!==!1)return L;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(L=this.test_match(O,q[$]),L!==!1?L:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var O=this.next();return O||this.lex()},"lex"),begin:C(function(O){this.conditionStack.push(O)},"begin"),popState:C(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:C(function(O){this.begin(O)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return C(R,"Parser"),R.prototype=E,E.Parser=R,new R})();H9.parser=H9;var bZe=H9,Io=[],MO=[],W9=0,OO={},xZe=C(()=>{Io=[],MO=[],W9=0,OO={}},"clear"),TZe=C(t=>{if(Io.length===0)return null;const e=Io[0].level;let r=null;for(let n=Io.length-1;n>=0;n--)if(Io[n].level===e&&!r&&(r=Io[n]),Io[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),CZe=C((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Ki.ROUNDED_RECT:case Ki.RECT:case Ki.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` +Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},j&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:S(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:S(function(L,O){return this.yy=O||this.yy||{},this._input=L,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var L=this._input[0];this.yytext+=L,this.yyleng++,this.offset++,this.match+=L,this.matched+=L;var O=L.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),L},"input"),unput:S(function(L){var O=L.length,F=L.split(/(?:\r\n?|\n)/g);this._input=L+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(L){this.unput(this.match.slice(L))},"less"),pastInput:S(function(){var L=this.matched.substr(0,this.matched.length-this.match.length);return(L.length>20?"...":"")+L.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var L=this.match;return L.length<20&&(L+=this._input.substr(0,20-L.length)),(L.substr(0,20)+(L.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var L=this.pastInput(),O=new Array(L.length+1).join("-");return L+this.upcomingInput()+` +`+O+"^"},"showPosition"),test_match:S(function(L,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=L[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+L[0].length},this.yytext+=L[0],this.match+=L[0],this.matches=L,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(L[0].length),this.matched+=L[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var L,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(L=this.test_match(F,q[z]),L!==!1)return L;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(L=this.test_match(O,q[$]),L!==!1?L:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return S(R,"Parser"),R.prototype=E,E.Parser=R,new R})();H9.parser=H9;var wZe=H9,Bo=[],MO=[],W9=0,OO={},CZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),SZe=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),kZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Ki.ROUNDED_RECT:case Ki.RECT:case Ki.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` `)?u=i+` `:u=`{ `+i+` -}`;const h=LC(u,{schema:AC});if(h.shape&&(h.shape!==h.shape.toLowerCase()||h.shape.includes("_")))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);h?.shape&&h.shape==="kanbanItem"&&(o.shape=h?.shape),h?.label&&(o.label=h?.label),h?.icon&&(o.icon=h?.icon.toString()),h?.assigned&&(o.assigned=h?.assigned.toString()),h?.ticket&&(o.ticket=h?.ticket.toString()),h?.priority&&(o.priority=h?.priority)}const l=TZe(t);l?o.parentId=l.id||"kbn"+W9++:MO.push(o),Io.push(o)},"addNode"),Ki={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},SZe=C((t,e)=>{switch(oe.debug("In get type",t,e),t){case"[":return Ki.RECT;case"(":return e===")"?Ki.ROUNDED_RECT:Ki.CLOUD;case"((":return Ki.CIRCLE;case")":return Ki.CLOUD;case"))":return Ki.BANG;case"{{":return Ki.HEXAGON;default:return Ki.DEFAULT}},"getType"),EZe=C((t,e)=>{OO[t]=e},"setElementForId"),kZe=C(t=>{if(!t)return;const e=Pe(),r=Io[Io.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),_Ze=C(t=>{switch(t){case Ki.DEFAULT:return"no-border";case Ki.RECT:return"rect";case Ki.ROUNDED_RECT:return"rounded-rect";case Ki.CIRCLE:return"circle";case Ki.CLOUD:return"cloud";case Ki.BANG:return"bang";case Ki.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),AZe=C(()=>oe,"getLogger"),LZe=C(t=>OO[t],"getElementById"),RZe={clear:xZe,addNode:CZe,getSections:tce,getData:wZe,nodeType:Ki,getType:SZe,setElementForId:EZe,decorateNode:kZe,type2Str:_Ze,getLogger:AZe,getElementById:LZe},DZe=RZe,NZe=C(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram -`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Vs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const S=await mN(l,b);m=Math.max(m,S?.labelBBox?.height),p.push(S)}let v=0;for(const b of h){const x=p[v];v=v+1;const S=s?.kanban?.sectionWidth||200,T=-S*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=S-1.5*f;const F=(await HC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await $8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),MZe={draw:NZe},OZe=C(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n{switch(oe.debug("In get type",t,e),t){case"[":return Ki.RECT;case"(":return e===")"?Ki.ROUNDED_RECT:Ki.CLOUD;case"((":return Ki.CIRCLE;case")":return Ki.CLOUD;case"))":return Ki.BANG;case"{{":return Ki.HEXAGON;default:return Ki.DEFAULT}},"getType"),AZe=S((t,e)=>{OO[t]=e},"setElementForId"),LZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),RZe=S(t=>{switch(t){case Ki.DEFAULT:return"no-border";case Ki.RECT:return"rect";case Ki.ROUNDED_RECT:return"rounded-rect";case Ki.CIRCLE:return"circle";case Ki.CLOUD:return"cloud";case Ki.BANG:return"bang";case Ki.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),DZe=S(()=>oe,"getLogger"),NZe=S(t=>OO[t],"getElementById"),MZe={clear:CZe,addNode:kZe,getSections:tce,getData:EZe,nodeType:Ki,getType:_Ze,setElementForId:AZe,decorateNode:LZe,type2Str:RZe,getLogger:DZe,getElementById:NZe},OZe=MZe,IZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram +`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=C-1.5*f;const F=(await HC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await $8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),BZe={draw:IZe},PZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n` + `}return e},"genSections"),FZe=S(t=>` .edge { stroke-width: 3; } - ${OZe(t)} + ${PZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2906,16 +2906,16 @@ Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse erro text-align: center; } ${bx()} -`,"getStyles"),BZe=IZe,PZe={db:DZe,renderer:MZe,parser:bZe,styles:BZe};const FZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:PZe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function $Ze(t){return t.target.depth}function zZe(t){return t.depth}function qZe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function VZe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,$Ze)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function GZe(t){return t.index}function UZe(t){return t.nodes}function HZe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function WZe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=GZe,l=nce,u,h,d=UZe,f=HZe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),S(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function S({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,X9=2*Y9,Mf=1e-6,YZe=X9-Mf;function j9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new j9}j9.prototype=ice.prototype={constructor:j9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),S=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=S/x,E=S/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%X9+X9),d>YZe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function XZe(t){return t[0]}function jZe(t){return t[1]}var KZe=Array.prototype.slice;function ZZe(t){return t.source}function QZe(t){return t.target}function JZe(t){var e=ZZe,r=QZe,n=XZe,i=jZe,a=null;function s(){var o,l=KZe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function eQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function tQe(){return JZe(eQe)}function rQe(t){return[t.source.x1,t.y0]}function nQe(t){return[t.target.x0,t.y1]}function iQe(){return tQe().source(rQe).target(nQe)}var K9=(function(){var t=C(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:C(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),S=parseFloat(p[v].trim());d.addLink(b,x,S);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:C(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:C(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,S=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}C(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}C($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>S&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: +`,"getStyles"),$Ze=FZe,zZe={db:OZe,renderer:BZe,parser:wZe,styles:$Ze};const qZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:zZe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function VZe(t){return t.target.depth}function GZe(t){return t.depth}function UZe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function HZe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,VZe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function WZe(t){return t.index}function YZe(t){return t.nodes}function XZe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function jZe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=WZe,l=nce,u,h,d=YZe,f=XZe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,X9=2*Y9,Mf=1e-6,KZe=X9-Mf;function j9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new j9}j9.prototype=ice.prototype={constructor:j9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%X9+X9),d>KZe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function ZZe(t){return t[0]}function QZe(t){return t[1]}var JZe=Array.prototype.slice;function eQe(t){return t.source}function tQe(t){return t.target}function rQe(t){var e=eQe,r=tQe,n=ZZe,i=QZe,a=null;function s(){var o,l=JZe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function nQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function iQe(){return rQe(nQe)}function aQe(t){return[t.source.x1,t.y0]}function sQe(t){return[t.target.x0,t.y1]}function oQe(){return iQe().source(aQe).target(sQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: `+_.showPosition()+` -Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:L,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,L=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,R.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:C(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:C(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:C(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(l){this.unput(this.match.slice(l))},"less"),pastInput:C(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` -`+u+"^"},"showPosition"),test_match:C(function(l,u){var h,d,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),d=l[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],h=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var p in f)this[p]=f[p];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,u,h,d;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),p=0;pu[0].length)){if(u=h,d=p,this.options.backtrack_lexer){if(l=this.test_match(h,f[p]),l!==!1)return l;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(l=this.test_match(u,f[d]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var u=this.next();return u||this.lex()},"lex"),begin:C(function(u){this.conditionStack.push(u)},"begin"),popState:C(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:C(function(u){this.begin(u)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return C(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,aQe=C(()=>{iE=[],aE=[],lC=new Map,jn()},"clear"),X1,sQe=(X1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},C(X1,"SankeyLink"),X1),oQe=C((t,e,r)=>{iE.push(new sQe(t,e,r))},"addLink"),j1,lQe=(j1=class{constructor(e){this.ID=e}},C(j1,"SankeyNode"),j1),cQe=C(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new lQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),uQe=C(()=>aE,"getNodes"),hQe=C(()=>iE,"getLinks"),dQe=C(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),fQe={nodesMap:lC,getConfig:C(()=>Pe().sankey,"getConfig"),getNodes:uQe,getLinks:hQe,getGraph:dQe,addLink:oQe,findOrCreateNode:cQe,getAccTitle:li,setAccTitle:Xn,getAccDescription:ui,setAccDescription:ci,getDiagramTitle:Kn,setDiagramTitle:oi,clear:aQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},C(bu,"Uid"),bu.count=0,bu),pQe={left:zZe,right:qZe,center:VZe,justify:nce},gQe=C(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),S=pQe[p];WZe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(S).extent([[0,0],[h,d]])(x);const _=jf(k2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=C(({id:F,value:$})=>b?`${F} -${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=C(F=>F.uid,"coloring");break;case"source":O=C(F=>_(F.source.id),"coloring");break;case"target":O=C(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",iQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),mQe={draw:gQe},yQe=C(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing"),vQe=C(t=>`.label { +Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:L,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,L=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,R.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:S(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` +`+u+"^"},"showPosition"),test_match:S(function(l,u){var h,d,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),d=l[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],h=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var p in f)this[p]=f[p];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,u,h,d;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),p=0;pu[0].length)){if(u=h,d=p,this.options.backtrack_lexer){if(l=this.test_match(h,f[p]),l!==!1)return l;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(l=this.test_match(u,f[d]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,lQe=S(()=>{iE=[],aE=[],lC=new Map,jn()},"clear"),X1,cQe=(X1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(X1,"SankeyLink"),X1),uQe=S((t,e,r)=>{iE.push(new cQe(t,e,r))},"addLink"),j1,hQe=(j1=class{constructor(e){this.ID=e}},S(j1,"SankeyNode"),j1),dQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new hQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),fQe=S(()=>aE,"getNodes"),pQe=S(()=>iE,"getLinks"),gQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),mQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:fQe,getLinks:pQe,getGraph:gQe,addLink:uQe,findOrCreateNode:dQe,getAccTitle:li,setAccTitle:Xn,getAccDescription:ui,setAccDescription:ci,getDiagramTitle:Kn,setDiagramTitle:oi,clear:lQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),yQe={left:GZe,right:UZe,center:HZe,justify:nce},vQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=yQe[p];jZe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=jf(L2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=S(({id:F,value:$})=>b?`${F} +${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",oQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),bQe={draw:vQe},xQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing"),TQe=S(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),bQe=vQe,xQe=oC.parse.bind(oC);oC.parse=t=>xQe(yQe(t));var TQe={styles:bQe,parser:oC,db:fQe,renderer:mQe};const wQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:TQe},Symbol.toStringTag,{value:"Module"}));var CQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getConfig(){const e=Ji({...CQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){jn(),this.packet=[]}},C(K1,"PacketDB"),K1),SQe=1e4,EQe=C((t,e)=>{Xu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:C(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),EQe(e,r)},"parse")},_Qe=C((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Vs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Gi(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())AQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),AQe=C((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),LQe={draw:_Qe},RQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},DQe=C(({packet:t}={})=>{const e=Ji(RQe,t);return` + }`,"getStyles"),wQe=TQe,CQe=oC.parse.bind(oC);oC.parse=t=>CQe(xQe(t));var SQe={styles:wQe,parser:oC,db:mQe,renderer:bQe};const EQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:SQe},Symbol.toStringTag,{value:"Module"}));var kQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getConfig(){const e=Ji({...kQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){jn(),this.packet=[]}},S(K1,"PacketDB"),K1),_Qe=1e4,AQe=S((t,e)=>{Xu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),AQe(e,r)},"parse")},RQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Gi(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())DQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),DQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),NQe={draw:RQe},MQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},OQe=S(({packet:t}={})=>{const e=Ji(MQe,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2938,7 +2938,7 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles"),NQe={parser:sce,get db(){return new ace},renderer:LQe,styles:DQe};const MQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NQe},Symbol.toStringTag,{value:"Module"}));var yg={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},oce={axes:[],curves:[],options:yg},Y0=structuredClone(oce),OQe=Vr.radar,IQe=C(()=>Ji({...OQe,...gr().radar}),"getConfig"),lce=C(()=>Y0.axes,"getAxes"),BQe=C(()=>Y0.curves,"getCurves"),PQe=C(()=>Y0.options,"getOptions"),FQe=C(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),$Qe=C(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:zQe(e.entries)}))},"setCurves"),zQe=C(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),qQe=C(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),VQe=C(()=>{jn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:BQe,getOptions:PQe,setAxes:FQe,setCurves:$Qe,setOptions:qQe,getConfig:IQe,clear:VQe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},GQe=C(t=>{Xu(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),UQe={parse:C(async t=>{const e=await Tc("radar",t);oe.debug(e),GQe(e)},"parse")},HQe=C((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Vs(e),d=WQe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;YQe(d,a,m,o.ticks,o.graticule),XQe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),WQe=C((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Gi(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),YQe=C((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),XQe=C((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}C(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}C(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}C(dce,"drawLegend");var jQe={draw:HQe},KQe=C((t,e)=>{let r="";for(let n=0;nJi({...PQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),$Qe=S(()=>Y0.curves,"getCurves"),zQe=S(()=>Y0.options,"getOptions"),qQe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),VQe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:GQe(e.entries)}))},"setCurves"),GQe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),UQe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),HQe=S(()=>{jn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:$Qe,getOptions:zQe,setAxes:qQe,setCurves:VQe,setOptions:UQe,getConfig:FQe,clear:HQe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},WQe=S(t=>{Xu(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),YQe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),WQe(e)},"parse")},XQe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=jQe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;KQe(d,a,m,o.ticks,o.graticule),ZQe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),jQe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Gi(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),KQe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),ZQe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var QQe={draw:XQe},JQe=S((t,e)=>{let r="";for(let n=0;n{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),QQe=C(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=ZQe(t);return` + `}return r},"genIndexStyles"),eJe=S(t=>{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),tJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=eJe(t);return` .radarTitle { font-size: ${e.fontSize}; color: ${e.titleColor}; @@ -2979,13 +2979,13 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- font-size: ${r.legendFontSize}px; dominant-baseline: hanging; } - ${KQe(e,r)} - `},"styles"),JQe={parser:UQe,db:w2,renderer:jQe,styles:QQe};const eJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:JQe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=C(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:C(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:C(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:C(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}C(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}C(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: + ${JQe(e,r)} + `},"styles"),rJe={parser:YQe,db:w2,renderer:QQe,styles:tJe};const nJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:rJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:S(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}S(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: `+B.showPosition()+` -Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+Z);switch(ee[0]){case 1:R.push(Z),L.push(B.yytext),O.push(B.yylloc),R.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=L[L.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],L,O].concat(N)),typeof Q<"u")return Q;ae&&(R=R.slice(0,-1*ae*2),L=L.slice(0,-1*ae),O=O.slice(0,-1*ae)),R.push(this.productions_[ee[1]][0]),L.push(he.$),O.push(he._$),ie=F[R[R.length-2]][R[R.length-1]],R.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:C(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw new Error(_)},"parseError"),setInput:C(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:C(function(E){var _=E.length,R=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1&&(this.yylineno-=R.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===k.length?this.yylloc.first_column:0)+k[k.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(E){this.unput(this.match.slice(E))},"less"),pastInput:C(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` -`+_+"^"},"showPosition"),test_match:C(function(E,_){var R,k,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],R=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var O in L)this[O]=L[O];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,R,k;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),O=0;O_[0].length)){if(_=R,k=O,this.options.backtrack_lexer){if(E=this.test_match(R,L[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,L[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var _=this.next();return _||this.lex()},"lex"),begin:C(function(_){this.conditionStack.push(_)},"begin"),popState:C(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:C(function(_){this.begin(_)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:C(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function S(){this.yy={}}return C(S,"Parser"),S.prototype=b,b.Parser=S,new S})();Z9.parser=Z9;var tJe=Z9,vl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",rJe="bgFill",fce=",",nJe=Pe(),cC=new Map,BO="",iJe=C(t=>$t.sanitizeText(t,nJe),"sanitizeText"),aJe=C(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,rJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),sJe=C(function(t,e=""){const r=vl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),oJe=C(function(t,e){t.split(",").forEach(function(r){let n=vl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},vl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=C((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=iJe(s.label)),s.type==="classDef"){aJe(s.id,s.css);continue}if(s.type==="applyClass"){oJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&sJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=vl.get(s.id);if(o===void 0?vl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),jn(),F2={id:"root",type:"composite",children:[],columns:-1},vl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}C(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}C(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}C(yce,"edgeStrToEdgeData");var _Y=0,cJe=C(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),uJe=C(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),hJe=C(t=>{const e=vl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),dJe=C(()=>[...vl.values()],"getBlocksFlat"),fJe=C(()=>PO||[],"getBlocks"),pJe=C(()=>IO,"getEdges"),gJe=C(t=>vl.get(t),"getBlock"),mJe=C(t=>{vl.set(t.id,t)},"setBlock"),yJe=C(t=>{BO=t},"setDiagramId"),vJe=C(()=>BO,"getDiagramId"),bJe=C(()=>oe,"getLogger"),xJe=C(function(){return cC},"getClasses"),TJe={getConfig:C(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:bJe,getBlocksFlat:dJe,getBlocks:fJe,getEdges:pJe,setHierarchy:uJe,getBlock:gJe,setBlock:mJe,getColumns:hJe,getClasses:xJe,clear:lJe,generateId:cJe,setDiagramId:yJe,getDiagramId:vJe},wJe=TJe,PA=C((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return hl(n,i,a,e)},"fade"),CJe=C(t=>`.label { +Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+Z);switch(ee[0]){case 1:R.push(Z),L.push(B.yytext),O.push(B.yylloc),R.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=L[L.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],L,O].concat(N)),typeof Q<"u")return Q;ae&&(R=R.slice(0,-1*ae*2),L=L.slice(0,-1*ae),O=O.slice(0,-1*ae)),R.push(this.productions_[ee[1]][0]),L.push(he.$),O.push(he._$),ie=F[R[R.length-2]][R[R.length-1]],R.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:S(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw new Error(_)},"parseError"),setInput:S(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:S(function(E){var _=E.length,R=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1&&(this.yylineno-=R.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===k.length?this.yylloc.first_column:0)+k[k.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(E){this.unput(this.match.slice(E))},"less"),pastInput:S(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` +`+_+"^"},"showPosition"),test_match:S(function(E,_){var R,k,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],R=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var O in L)this[O]=L[O];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,R,k;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),O=0;O_[0].length)){if(_=R,k=O,this.options.backtrack_lexer){if(E=this.test_match(R,L[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,L[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var iJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",aJe="bgFill",fce=",",sJe=Pe(),cC=new Map,BO="",oJe=S(t=>$t.sanitizeText(t,sJe),"sanitizeText"),lJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,aJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),cJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),uJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=oJe(s.label)),s.type==="classDef"){lJe(s.id,s.css);continue}if(s.type==="applyClass"){uJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&cJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),jn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,dJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),fJe=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),pJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),gJe=S(()=>[...xl.values()],"getBlocksFlat"),mJe=S(()=>PO||[],"getBlocks"),yJe=S(()=>IO,"getEdges"),vJe=S(t=>xl.get(t),"getBlock"),bJe=S(t=>{xl.set(t.id,t)},"setBlock"),xJe=S(t=>{BO=t},"setDiagramId"),TJe=S(()=>BO,"getDiagramId"),wJe=S(()=>oe,"getLogger"),CJe=S(function(){return cC},"getClasses"),SJe={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:wJe,getBlocksFlat:gJe,getBlocks:mJe,getEdges:yJe,setHierarchy:fJe,getBlock:vJe,setBlock:bJe,getColumns:pJe,getClasses:CJe,clear:hJe,generateId:dJe,setDiagramId:xJe,getDiagramId:TJe},EJe=SJe,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),kJe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -3108,11 +3108,11 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error fill: ${t.textColor}; } ${bx()} -`,"getStyles"),SJe=CJe,EJe=C((t,e,r,n)=>{e.forEach(i=>{IJe[i](t,r,n)})},"insertMarkers"),kJe=C((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),_Je=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),AJe=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),LJe=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),RJe=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),DJe=C((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),NJe=C((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),MJe=C((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),OJe=C((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),IJe={extension:kJe,composition:_Je,aggregation:AJe,dependency:LJe,lollipop:RJe,point:DJe,circle:NJe,cross:MJe,barb:OJe},BJe=EJe,Si=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}C(J9,"calculateBlockPosition");var PJe=C(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=PJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Si*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Si-Si)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}C(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Si;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Si}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Si}`),d.size){const x=f/2;h.size.x=l+Si+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Si} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const S=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+S+T/2+Si,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Si}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}C(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}C($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}C(vce,"layout");var FJe=C(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await ys(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),ul=FJe,$Je=C((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),zJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=C((t,e,r,n,i,a)=>{const s=zJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},$a={},qJe=C(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await ys(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Hl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await ul(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await ul(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await ul(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await ul(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}C(C2,"setTerminalWidth");var VJe=C((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=$a[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=$a[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=$a[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=$a[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),GJe=C((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),UJe=C((t,e,r)=>{oe.debug(`intersection calc abc89: +`,"getStyles"),_Je=kJe,AJe=S((t,e,r,n)=>{e.forEach(i=>{FJe[i](t,r,n)})},"insertMarkers"),LJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),RJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),DJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),NJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),MJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),OJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),IJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),BJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),PJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),FJe={extension:LJe,composition:RJe,aggregation:DJe,dependency:NJe,lollipop:MJe,point:OJe,circle:IJe,cross:BJe,barb:PJe},$Je=AJe,Si=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var zJe=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=zJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Si*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Si-Si)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Si;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Si}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Si}`),d.size){const x=f/2;h.size.x=l+Si+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Si} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Si,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Si}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var qJe=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await ys(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=qJe,VJe=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),GJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=GJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},$a={},UJe=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await ys(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var HJe=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=$a[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=$a[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=$a[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=$a[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),WJe=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),YJe=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!GJe(e,a)&&!i){const s=UJe(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),HJe=C(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=X2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let S="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(S=mC(!0)),$Je(x,r,S,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),WJe=C(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),YJe=C((t,e,r)=>{const n=WJe(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}C(bce,"intersectNode");var XJe=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}C(tD,"sameSign");var KJe=Cce,ZJe=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,S=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return S<_?-1:S===_?0:1}),a[0]):t}C(Sce,"intersectPolygon");var QJe=C((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),JJe=QJe,Qn={node:XJe,circle:jJe,ellipse:Tce,polygon:ZJe,rect:JJe},da=C(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=ys(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await ul(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),bi=C((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function Cl(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}C(Cl,"insertPolygonShape");var eet=C(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await da(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},n},"note"),tet=eet,RY=C(t=>t?" "+t:"","formatClass"),xo=C((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=Cl(r,s,s,o);return l.attr("style",e.style),bi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Qn.polygon(e,o,u)},r},"question"),ret=C((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Qn.circle(e,14,s)},r},"choice"),net=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=Cl(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"hexagon"),iet=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=YJe(e.directions,n,e),u=Cl(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"block_arrow"),aet=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Cl(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_left_inv_arrow"),set=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=Cl(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_right"),oet=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=Cl(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_left"),cet=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=Cl(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"trapezoid"),uet=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=Cl(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"inv_trapezoid"),het=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=Cl(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_right_inv_arrow"),det=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return bi(e,u),e.intersect=function(h){const d=Qn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),fet=C(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"rect"),pet=C(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"composite"),get=C(async(t,e)=>{const{shapeSvg:r}=await da(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return bi(e,n),e.intersect=function(s){return Qn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=C(o=>{i.push(o,0)},"addBorder"),s=C(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}C(sE,"applyNodePropertyBorders");var met=C(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await ul(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await ul(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},r},"stadium"),vet=C(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,xo(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),bi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Qn.circle(e,n.width/2+i,s)},r},"circle"),bet=C(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,xo(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),bi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Qn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),xet=C(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,xo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=Cl(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"subroutine"),Tet=C((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),bi(e,n),e.intersect=function(i){return Qn.circle(e,7,i)},r},"start"),NY=C((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return bi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Qn.rect(e,o)},n},"forkJoin"),wet=C((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),bi(e,i),e.intersect=function(a){return Qn.circle(e,7,a)},r},"end"),Cet=C(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await ul(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let S=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?S+="<"+e.classData.type+">":S+="<"+e.classData.type+">");const T=await ul(f,S,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await ul(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await ul(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),bi(e,o),e.intersect=function(L){return Qn.rect(e,L)},s},"class_box"),MY={rhombus:DY,composite:pet,question:DY,rect:fet,labelRect:get,rectWithTitle:met,choice:ret,circle:vet,doublecircle:bet,stadium:yet,hexagon:net,block_arrow:iet,rect_left_inv_arrow:aet,lean_right:set,lean_left:oet,trapezoid:cet,inv_trapezoid:uet,rect_right_inv_arrow:het,cylinder:det,start:Tet,end:wet,note:tet,subroutine:xet,fork:NY,join:NY,class_box:Cet},o5={},Ece=C(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Eet=C(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}C(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}C(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Eet(n)}}C(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}C(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}C(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}C(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Gs({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;HJe(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await qJe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),VJe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}C(Rce,"insertEdges");var ket=C(function(t,e){return e.db.getClasses()},"getClasses"),_et=C(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);BJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),S=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Gi(u,S,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Aet={draw:_et,getClasses:ket},Let={parser:tJe,db:wJe,renderer:Aet,styles:SJe};const Ret=Object.freeze(Object.defineProperty({__proto__:null,diagram:Let},Symbol.toStringTag,{value:"Module"}));var ql=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Det=C(()=>{ql.reset(),jn()},"clear"),Net=C(()=>ql.records.stack[0],"getRoot"),Met=C(()=>ql.records.cnt,"getCount"),Oet=Vr.treeView,Iet=C(()=>Ji(Oet,gr().treeView),"getConfig"),Bet=C((t,e)=>{for(;t<=ql.records.stack[ql.records.stack.length-1].level;)ql.records.stack.pop();const r={id:ql.records.cnt++,level:t,name:e,children:[]};ql.records.stack[ql.records.stack.length-1].children.push(r),ql.records.stack.push(r)},"addNode"),Pet={clear:Det,addNode:Bet,getRoot:Net,getCount:Met,getConfig:Iet,getAccTitle:li,getAccDescription:ui,getDiagramTitle:Kn,setAccDescription:ci,setAccTitle:Xn,setDiagramTitle:oi},rD=Pet,Fet=C(t=>{Xu(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),$et={parse:C(async t=>{const e=await Tc("treeView",t);oe.debug(e),Fet(e)},"parse")},zet=C((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=C((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),qet=C((t,e,r)=>{let n=0,i=0;const a=C((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);zet(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=C((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),Vet=C((t,e,r,n)=>{oe.debug(`Rendering treeView diagram -`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Vs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=qet(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Gi(o,u,h,s.useMaxWidth)},"draw"),Get={draw:Vet},Uet=Get,Het={labelFontSize:"16px",labelColor:"black",lineColor:"black"},Wet=C(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=Ji(Het,t);return` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!WJe(e,a)&&!i){const s=YJe(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),XJe=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=X2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),VJe(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),jJe=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),KJe=S((t,e,r)=>{const n=jJe(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var ZJe=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var JJe=Cce,eet=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var tet=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),ret=tet,Qn={node:ZJe,circle:QJe,ellipse:Tce,polygon:eet,rect:ret},da=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=ys(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),bi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var net=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await da(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},n},"note"),iet=net,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),bi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Qn.polygon(e,o,u)},r},"question"),aet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Qn.circle(e,14,s)},r},"choice"),set=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"hexagon"),oet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=KJe(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"block_arrow"),cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_left_inv_arrow"),uet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_right"),het=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_left"),det=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"trapezoid"),fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"inv_trapezoid"),pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_right_inv_arrow"),get=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return bi(e,u),e.intersect=function(h){const d=Qn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),met=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"rect"),yet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"composite"),vet=S(async(t,e)=>{const{shapeSvg:r}=await da(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return bi(e,n),e.intersect=function(s){return Qn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var bet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},r},"stadium"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),bi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Qn.circle(e,n.width/2+i,s)},r},"circle"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),bi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Qn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"subroutine"),Eet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),bi(e,n),e.intersect=function(i){return Qn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return bi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Qn.rect(e,o)},n},"forkJoin"),ket=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),bi(e,i),e.intersect=function(a){return Qn.circle(e,7,a)},r},"end"),_et=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),bi(e,o),e.intersect=function(L){return Qn.rect(e,L)},s},"class_box"),MY={rhombus:DY,composite:yet,question:DY,rect:met,labelRect:vet,rectWithTitle:bet,choice:aet,circle:Tet,doublecircle:wet,stadium:xet,hexagon:set,block_arrow:oet,rect_left_inv_arrow:cet,lean_right:uet,lean_left:het,trapezoid:det,inv_trapezoid:fet,rect_right_inv_arrow:pet,cylinder:get,start:Eet,end:ket,note:iet,subroutine:Cet,fork:NY,join:NY,class_box:_et},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Aet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Aet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;XJe(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await UJe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),HJe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Let=S(function(t,e){return e.db.getClasses()},"getClasses"),Ret=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);$Je(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Gi(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Det={draw:Ret,getClasses:Let},Net={parser:iJe,db:EJe,renderer:Det,styles:_Je};const Met=Object.freeze(Object.defineProperty({__proto__:null,diagram:Net},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Oet=S(()=>{Gl.reset(),jn()},"clear"),Iet=S(()=>Gl.records.stack[0],"getRoot"),Bet=S(()=>Gl.records.cnt,"getCount"),Pet=Vr.treeView,Fet=S(()=>Ji(Pet,gr().treeView),"getConfig"),$et=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),zet={clear:Oet,addNode:$et,getRoot:Iet,getCount:Bet,getConfig:Fet,getAccTitle:li,getAccDescription:ui,getDiagramTitle:Kn,setAccDescription:ci,setAccTitle:Xn,setDiagramTitle:oi},rD=zet,qet=S(t=>{Xu(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),Vet={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),qet(e)},"parse")},Get=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),Uet=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);Get(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),Het=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram +`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=Uet(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Gi(o,u,h,s.useMaxWidth)},"draw"),Wet={draw:Het},Yet=Wet,Xet={labelFontSize:"16px",labelColor:"black",lineColor:"black"},jet=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=Ji(Xet,t);return` .treeView-node-label { font-size: ${e}; fill: ${r}; @@ -3120,7 +3120,7 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error .treeView-node-line { stroke: ${n}; } - `},"styles"),Yet=Wet,Xet={db:rD,renderer:Uet,parser:$et,styles:Yet};const jet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Xet},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},Ket=u5.exports,IY;function Zet(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(Ket,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,S){a.call(this,S),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,S){if(x==null&&S==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(S)>-1))throw"Source or target not in graph!";if(!(x.owner==S.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=S.owner?null:(E.source=x,E.target=S,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),S!=x&&S.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var S=x.edges.slice(),T,E=S.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,S,T,E,_=this.getNodes(),R=_.length,k=0;kS&&(b=S),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,S=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Sk&&(T=k),E_&&(x=_),Sk&&(T=k),E=this.nodes.length){var $=0;S.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=S,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=S,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=S,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,S=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=S-b,L=v-x,F=x*b-v*S,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var S=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return S>=0&&S<=1?[S]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,S=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var S=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=S.get(D),N=I-1;N==1&&L.push(D),S.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,S,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*S)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*S*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Ae=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Ae),Te=this.s[Oe]/We,ot=Ae/We;this.s[Oe]=We,Oe!==pe&&(Ae=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,S=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=S.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Ae){if(!Me.has(Ae)){ne[$e]=[],me[$e]=!1;var Oe=Ae;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(S.WORLD_CENTER_X-U.x/2,S.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,S=0;S{function h(b){if(Array.isArray(b)){for(var x=0,S=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var ett=l5.exports,PY;function ttt(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(Jet())})(ett,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,S=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){S=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(S)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,S=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+S)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+S)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,S=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Sk&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,S=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:S}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Ae=He.boundingBox();z.push({x:Ae.x1+Ae.w/2,y:Ae.y1+Ae.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Ae){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Ae))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Ae){k.eles=He,$.push(x(k,F[Ae])),p.relocateComponent(z[Ae],$[Ae],k)})}else q.forEach(function(He,Ae){p.relocateComponent(z[Ae],F[Ae],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Ae){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Ae].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Ae].xCoords[Te]-ot.boundingbox().w/2,y:F[Ae].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Ae].xCoords,F[Ae].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Ae][ot.id()]&&We.nodes.push({x:$[Ae][ot.id()].getLeft(),y:$[Ae][ot.id()].getTop(),width:$[Ae][ot.id()].getWidth(),height:$[Ae][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Ae].xCoords,F[Ae].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Ae].xCoords[it]),Xe.push(F[Ae].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Ae].xCoords,F[Ae].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Ae].xCoords[Ye]),at.push(F[Ae].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Ae][De.id()]&&$[Ae][Ge.id()]&&We.edges.push({startX:$[Ae][De.id()].getCenterX(),startY:$[Ae][De.id()].getCenterY(),endX:$[Ae][Ge.id()].getCenterX(),endY:$[Ae][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Ae))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Ae){var Oe=He.xCoords.map(function(Te){return Te+ne[Ae].dx}),We=He.yCoords.map(function(Te){return Te+ne[Ae].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Ae){var Oe=$[He][Ae];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Ae,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Ae=="number"&&(Ae=Oe);var We=void 0,Te=void 0,ot=Ae.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Ae.position("x"),y:Ae.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Ae.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Ae.position("x"),y:Ae.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,S=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Ae=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Ae=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Ae)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var rtt=ttt();const ntt=k0(rtt);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:C(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:C(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:C(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:C(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:C((t,e)=>t-e+2,"L"),R:C((t,e)=>t-2,"R"),T:C((t,e)=>t-e+2,"T"),B:C((t,e)=>t-2,"B")},itt=C(function(t){return is(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=C(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),is=C(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=C(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=C(function(t,e){const r=is(t)&&yd(e),n=yd(t)&&is(e);return r||n},"isArchitectureDirectionXY"),att=C(function(t){const e=t[0],r=t[1],n=is(e)&&yd(r),i=yd(e)&&is(r);return n||i},"isArchitecturePairXY"),stt=C(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=C(function(t,e){const r=`${t}${e}`;return stt(r)?r:void 0},"getArchitectureDirectionPair"),ott=C(function([t,e],r){const n=r[0],i=r[1];return is(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:is(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),ltt=C(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),ctt=C(function(t,e){return qO(t,e)?"bend":is(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),utt=C(function(t){return t.type==="service"},"isArchitectureService"),htt=C(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=C(t=>t.data(),"edgeData"),Ag=C(t=>t.data(),"nodeData"),dtt=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",jn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(utt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(htt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=ctt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=C(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=ott([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Ji({...dtt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},C(Z1,"ArchitectureDB"),Z1),ftt=C((t,e)=>{Xu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:C(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ftt(e,r)},"parse")},ptt=C(t=>` + `},"styles"),Ket=jet,Zet={db:rD,renderer:Yet,parser:Vet,styles:Ket};const Qet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Zet},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},Jet=u5.exports,IY;function ett(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(Jet,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Ae=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Ae),Te=this.s[Oe]/We,ot=Ae/We;this.s[Oe]=We,Oe!==pe&&(Ae=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Ae){if(!Me.has(Ae)){ne[$e]=[],me[$e]=!1;var Oe=Ae;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var ntt=l5.exports,PY;function itt(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(rtt())})(ntt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){C=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Ae=He.boundingBox();z.push({x:Ae.x1+Ae.w/2,y:Ae.y1+Ae.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Ae){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Ae))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Ae){k.eles=He,$.push(x(k,F[Ae])),p.relocateComponent(z[Ae],$[Ae],k)})}else q.forEach(function(He,Ae){p.relocateComponent(z[Ae],F[Ae],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Ae){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Ae].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Ae].xCoords[Te]-ot.boundingbox().w/2,y:F[Ae].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Ae].xCoords,F[Ae].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Ae][ot.id()]&&We.nodes.push({x:$[Ae][ot.id()].getLeft(),y:$[Ae][ot.id()].getTop(),width:$[Ae][ot.id()].getWidth(),height:$[Ae][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Ae].xCoords,F[Ae].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Ae].xCoords[it]),Xe.push(F[Ae].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Ae].xCoords,F[Ae].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Ae].xCoords[Ye]),at.push(F[Ae].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Ae][De.id()]&&$[Ae][Ge.id()]&&We.edges.push({startX:$[Ae][De.id()].getCenterX(),startY:$[Ae][De.id()].getCenterY(),endX:$[Ae][Ge.id()].getCenterX(),endY:$[Ae][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Ae))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Ae){var Oe=He.xCoords.map(function(Te){return Te+ne[Ae].dx}),We=He.yCoords.map(function(Te){return Te+ne[Ae].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Ae){var Oe=$[He][Ae];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Ae,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Ae=="number"&&(Ae=Oe);var We=void 0,Te=void 0,ot=Ae.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Ae.position("x"),y:Ae.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Ae.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Ae.position("x"),y:Ae.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Ae=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Ae=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Ae)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var att=itt();const stt=k0(att);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},ott=S(function(t){return is(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),is=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=is(t)&&yd(e),n=yd(t)&&is(e);return r||n},"isArchitectureDirectionXY"),ltt=S(function(t){const e=t[0],r=t[1],n=is(e)&&yd(r),i=yd(e)&&is(r);return n||i},"isArchitecturePairXY"),ctt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return ctt(r)?r:void 0},"getArchitectureDirectionPair"),utt=S(function([t,e],r){const n=r[0],i=r[1];return is(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:is(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),htt=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),dtt=S(function(t,e){return qO(t,e)?"bend":is(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),ftt=S(function(t){return t.type==="service"},"isArchitectureService"),ptt=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),gtt=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",jn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(ftt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(ptt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=dtt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=utt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Ji({...gtt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),mtt=S((t,e)=>{Xu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");mtt(e,r)},"parse")},ytt=S(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; @@ -3151,17 +3151,17 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error display: -webkit-box; -webkit-box-orient: vertical; } -`,"getStyles"),gtt=ptt,jp=C(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:jp('')},server:{body:jp('')},disk:{body:jp('')},internet:{body:jp('')},cloud:{body:jp('')},unknown:nQ,blank:{body:jp("")}}},mtt=C(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:S}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(is(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(is(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(is(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(is(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=is(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=is(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](L,o):L-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(S){const $=qO(d,v)?"XY":is(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await ys(z,S,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&&att(D)){const I=z.node().getBoundingClientRect(),[N,B]=ltt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` +`,"getStyles"),vtt=ytt,jp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:jp('')},server:{body:jp('')},disk:{body:jp('')},internet:{body:jp('')},cloud:{body:jp('')},unknown:nQ,blank:{body:jp("")}}},btt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(is(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(is(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(is(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(is(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=is(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=is(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](L,o):L-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":is(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await ys(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&<t(D)){const I=z.node().getBoundingClientRect(),[N,B]=htt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` translate(${_}, ${R-I.height/2}) translate(${N*M.width/2}, ${B*M.height/2}) rotate(${-1*N*B*45}, 0, ${I.height/2}) - `)}}}}}))},"drawEdges"),ytt=C(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,S=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(S+l+1)+")"),x+=a,S+=s/2-1-2}if(h.label){const T=b.append("g");await ys(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(S+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),vtt=C(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await ys(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),btt=C(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(ntt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}C(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}C(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}C(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}C(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}C(Fce,"addEdges");function $ce(t,e,r){const n=C((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}C($ce,"getAlignments");function zce(t,e){const r=[],n=C(a=>`${a[0]},${a[1]}`,"posToStr"),i=C(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[itt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}C(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let S,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),S=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));S=S/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,S=S*F,{distances:T,weights:S}}C(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:S}=m.target().position();if(v!==x&&b!==S){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[R,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}C(qce,"layoutArchitecture");var xtt=C(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Vs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await vtt(i,f,a,e),btt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await mtt(d,m,i,e),await ytt(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Ttt={draw:xtt},wtt={parser:Mce,get db(){return new Nce},renderer:Ttt,styles:gtt};const Ctt=Object.freeze(Object.defineProperty({__proto__:null,diagram:wtt},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=C(function(x,S,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=S);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:C(function(S,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:C(function(S,T){if(T.recoverable)this.trace(S);else{var E=new Error(S);throw E.hash=T,E}},"parseError"),parse:C(function(S){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(S,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}C(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}C(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: + `)}}}}}))},"drawEdges"),xtt=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await ys(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Ttt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await ys(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),wtt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(stt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[ott(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));C=C/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[R,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Ctt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Ttt(i,f,a,e),wtt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await btt(d,m,i,e),await xtt(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Stt={draw:Ctt},Ett={parser:Mce,get db(){return new Nce},renderer:Stt,styles:vtt};const ktt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Ett},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: `+I.showPosition()+` -Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+H);switch(Z[0]){case 1:E.push(H),R.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=R[R.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),j=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],R,k].concat(D)),typeof j<"u")return j;he&&(E=E.slice(0,-1*he*2),R=R.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),R.push(ee.$),k.push(ee._$),te=L[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:C(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:C(function(S,T){return this.yy=T||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var T=S.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:C(function(S){var T=S.length,E=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(S){this.unput(this.match.slice(S))},"less"),pastInput:C(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var S=this.pastInput(),T=new Array(S.length+1).join("-");return S+this.upcomingInput()+` -`+T+"^"},"showPosition"),test_match:C(function(S,T){var E,_,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),_=S[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in R)this[k]=R[k];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,T,E,_;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(S=this.test_match(E,R[k]),S!==!1)return S;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(S=this.test_match(T,R[_]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var T=this.next();return T||this.lex()},"lex"),begin:C(function(T){this.conditionStack.push(T)},"begin"),popState:C(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:C(function(T){this.begin(T)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return C(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var Stt=iD,Q1,Ett=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,jn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],oi(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return li()}setAccTitle(e){Xn(e)}getAccDescription(){return ui()}setAccDescription(e){ci(e)}getDiagramTitle(){return Kn()}setDiagramTitle(e){oi(e)}},C(Q1,"IshikawaDB"),Q1),ktt=14,Kp=250,_tt=30,Att=60,Ltt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=C((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Gi(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Rtt=C((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??ktt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Vs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,S=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const R=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(Dtt(b,E,_,a.text,h,S),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",S),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(L),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",S);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=C(t=>{const e=C(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),Dtt=C((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Ntt=C((t,e)=>{const r=[],n=[],i=C((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Mtt=C((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=C((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ott=C((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Mtt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Ntt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const S=new Map;S.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=S.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?Att+k.childCount*Ltt:_tt),Ug(F,$,L,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,L,1,0,o),hC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Ug(F,$,q,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-L,o),hC(F,k.text,z,L,_,"end",s)}k.childCount>0&&S.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Itt=C(t=>t.split(/|\n/),"splitLines"),Gce=C((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` -`)},"wrapText"),hC=C((t,e,r,n,i,a,s)=>{const o=Itt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=C((t,e,r)=>t+(e-t)*r,"lerp"),Ug=C((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),Btt={draw:Rtt},Ptt=C(t=>` +Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+H);switch(Z[0]){case 1:E.push(H),R.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=R[R.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),j=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],R,k].concat(D)),typeof j<"u")return j;he&&(E=E.slice(0,-1*he*2),R=R.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),R.push(ee.$),k.push(ee._$),te=L[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(C){this.unput(this.match.slice(C))},"less"),pastInput:S(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var C=this.pastInput(),T=new Array(C.length+1).join("-");return C+this.upcomingInput()+` +`+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in R)this[k]=R[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,R[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,R[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var _tt=iD,Q1,Att=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,jn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],oi(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return li()}setAccTitle(e){Xn(e)}getAccDescription(){return ui()}setAccDescription(e){ci(e)}getDiagramTitle(){return Kn()}setDiagramTitle(e){oi(e)}},S(Q1,"IshikawaDB"),Q1),Ltt=14,Kp=250,Rtt=30,Dtt=60,Ntt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Gi(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Mtt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Ltt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const R=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(Ott(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(L),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),Ott=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Itt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Btt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ptt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Btt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Itt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?Dtt+k.childCount*Ntt:Rtt),Ug(F,$,L,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,L,1,0,o),hC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Ug(F,$,q,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-L,o),hC(F,k.text,z,L,_,"end",s)}k.childCount>0&&C.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Ftt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=Ftt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),$tt={draw:Mtt},ztt=S(t=>` .ishikawa .ishikawa-spine, .ishikawa .ishikawa-branch, .ishikawa .ishikawa-sub-branch { @@ -3224,18 +3224,18 @@ Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .ishikawa .ishikawa-label.down { dominant-baseline: hanging; } -`,"getStyles"),Ftt=Ptt,$tt={parser:Stt,get db(){return new Ett},renderer:Btt,styles:Ftt};const ztt=Object.freeze(Object.defineProperty({__proto__:null,diagram:$tt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=Vtt(t),n=r.filter(o=>qtt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function qtt(t,e){return e.every(r=>zs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=zs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function Gtt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),S=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(S.fx>R.fx?(du(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function Htt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function Wtt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function Xtt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function jtt(t,e={}){let r=Ztt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=Ktt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>Xtt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+jce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,zs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function Qtt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&zs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function Jtt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=Jtt(n);for(const u of i){Qtt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function ert(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],S=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[S];return S+=1,S>=x.length&&(S=0),L},E=Xce,_=Im;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=nrt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,R):_},R}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),S=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",S),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-zs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(zs(o,h)>h.radius){l=!1;break}for(const h of e)if(zs(o,h)h.p1))}function trt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function rrt(t,e,r){const n=[];return n.push(` +`,"getStyles"),qtt=ztt,Vtt={parser:_tt,get db(){return new Att},renderer:$tt,styles:qtt};const Gtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Vtt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=Htt(t),n=r.filter(o=>Utt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function Utt(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function Wtt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>R.fx?(du(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function Xtt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function jtt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function Ztt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function Qtt(t,e={}){let r=ert(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=Jtt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>Ztt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+jce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function trt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function rrt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=rrt(n);for(const u of i){trt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function nrt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[C];return C+=1,C>=x.length&&(C=0),L},E=Xce,_=Im;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=srt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,R):_},R}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function irt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function art(t,e,r){const n=[];return n.push(` M`,t,e),n.push(` m`,-r,0),n.push(` a`,r,r,0,1,0,r*2,0),n.push(` -a`,r,r,0,1,0,-r*2,0),n.join(" ")}function nrt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return rrt(n(a.x),n(a.y),n(a.radius))}const i=[` +a`,r,r,0,1,0,-r*2,0),n.join(" ")}function srt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return art(n(a.x),n(a.y),n(a.radius))}const i=[` M`,n(t[0].p2.x),n(t[0].p2.y)];for(const a of t){const s=n(a.circle.radius);i.push(` -A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function irt(t,e={}){const{lossFunction:r,layoutFunction:n=Xce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),S=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=nue(_),k=iue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of S)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return S.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var hD=(function(){var t=C(function(S,T,E,_){for(E=E||{},_=S.length;_--;E[S[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:C(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:C(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:C(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:C(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}C(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}C(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: +A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function ort(t,e={}){const{lossFunction:r,layoutFunction:n=Xce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=nue(_),k=iue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of C)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return C.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}S(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: `+N.showPosition()+` -Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[X]||X,line:N.yylineno,loc:V,expected:ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+X);switch(j[0]){case 1:_.push(X),k.push(N.yytext),L.push(N.yylloc),_.push(j[1]),X=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[j[1]][1],Q.$=k[k.length-te],Q._$={first_line:L[L.length-(te||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(te||1)].first_column,last_column:L[L.length-1].last_column},U&&(Q._$.range=[L[L.length-(te||1)].range[0],L[L.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,j[1],k,L].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),L=L.slice(0,-1*te)),_.push(this.productions_[j[1]][0]),k.push(Q.$),L.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var S={EOF:1,parseError:C(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:C(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:C(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:C(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===R.length?this.yylloc.first_column:0)+R[R.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:C(function(){return this._more=!0,this},"more"),reject:C(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:C(function(T){this.unput(this.match.slice(T))},"less"),pastInput:C(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:C(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:C(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` -`+E+"^"},"showPosition"),test_match:C(function(T,E){var _,R,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),R=T[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var L in k)this[L]=k[L];return!1}return!1},"test_match"),next:C(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,R;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),L=0;LE[0].length)){if(E=_,R=L,this.options.backtrack_lexer){if(T=this.test_match(_,k[L]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[R]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:C(function(){var E=this.next();return E||this.lex()},"lex"),begin:C(function(E){this.conditionStack.push(E)},"begin"),popState:C(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:C(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:C(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:C(function(E){this.begin(E)},"pushState"),stateStackSize:C(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:C(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return S})();v.lexer=b;function x(){this.yy={}}return C(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var art=hD,GO=[],UO=[],HO=[],WO=new Set,YO,XO=!1,srt=C((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),ort=C(()=>GO,"getSubsetData"),Ub=C(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),lrt=C(t=>t&&Ub(t),"normalizeStyleValue"),crt=C((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),urt=C((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=lrt(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),hrt=C(()=>HO,"getStyleData"),cE=C(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),drt=C(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),frt=C(()=>UO,"getTextData"),prt=C(()=>YO,"getCurrentSets"),grt=C(()=>XO,"getIndentMode"),mrt=C(t=>{XO=t},"setIndentMode"),yrt=Vr.venn;function aue(){return Ji(yrt,gr().venn)}C(aue,"getConfig");var vrt=C(()=>{jn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,XO=!1},"customClear"),brt={getConfig:aue,clear:vrt,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,addSubsetData:srt,getSubsetData:ort,addTextData:crt,addStyleData:urt,validateUnionIdentifiers:drt,getTextData:frt,getStyleData:hrt,getCurrentSets:prt,getIndentMode:grt,setIndentMode:mrt},xrt=C(t=>` +Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[X]||X,line:N.yylineno,loc:V,expected:ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+X);switch(j[0]){case 1:_.push(X),k.push(N.yytext),L.push(N.yylloc),_.push(j[1]),X=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[j[1]][1],Q.$=k[k.length-te],Q._$={first_line:L[L.length-(te||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(te||1)].first_column,last_column:L[L.length-1].last_column},U&&(Q._$.range=[L[L.length-(te||1)].range[0],L[L.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,j[1],k,L].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),L=L.slice(0,-1*te)),_.push(this.productions_[j[1]][0]),k.push(Q.$),L.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var C={EOF:1,parseError:S(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:S(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:S(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===R.length?this.yylloc.first_column:0)+R[R.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(T){this.unput(this.match.slice(T))},"less"),pastInput:S(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` +`+E+"^"},"showPosition"),test_match:S(function(T,E){var _,R,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),R=T[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var L in k)this[L]=k[L];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,R;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),L=0;LE[0].length)){if(E=_,R=L,this.options.backtrack_lexer){if(T=this.test_match(_,k[L]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[R]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var lrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,XO=!1,crt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),urt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),hrt=S(t=>t&&Ub(t),"normalizeStyleValue"),drt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),frt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=hrt(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),prt=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),grt=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),mrt=S(()=>UO,"getTextData"),yrt=S(()=>YO,"getCurrentSets"),vrt=S(()=>XO,"getIndentMode"),brt=S(t=>{XO=t},"setIndentMode"),xrt=Vr.venn;function aue(){return Ji(xrt,gr().venn)}S(aue,"getConfig");var Trt=S(()=>{jn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,XO=!1},"customClear"),wrt={getConfig:aue,clear:Trt,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,addSubsetData:crt,getSubsetData:urt,addTextData:drt,addStyleData:frt,validateUnionIdentifiers:grt,getTextData:mrt,getStyleData:prt,getCurrentSets:yrt,getIndentMode:vrt,setIndentMode:brt},Crt=S(t=>` .venn-title { font-size: 32px; fill: ${t.vennTitleTextColor}; @@ -3257,7 +3257,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error font-family: ${t.fontFamily}; color: ${t.vennSetTextColor}; } -`,"getStyles"),Trt=xrt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}C(sue,"buildStyleByKey");var wrt=C((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,S=v/1600,T=d?48*S:0,E=s.primaryTextColor??s.textColor,_=Vs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*S}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*S).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=ert().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=irt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,R,p,S,m);const $=ms(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*S}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*S}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*S}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*S}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Gi(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}C(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const S=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&S.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&S.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=S.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}C(oue,"renderTextNodes");var Crt={draw:wrt},Srt={parser:art,db:brt,renderer:Crt,styles:Trt};const Ert=Object.freeze(Object.defineProperty({__proto__:null,diagram:Srt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return Ji({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){jn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},C(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}C(cue,"buildHierarchy");var krt=C((t,e)=>{Xu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=_rt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=C((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),_rt=C(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:C(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");krt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Art=10,Zp=10,Xv=25,Lrt=C((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Art,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Vs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Gi(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=C(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=C(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=C(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=jf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),S=jf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=jf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=eve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Xv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Xv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Xv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>S(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Xv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Xv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(Nrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` +`,"getStyles"),Srt=Crt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var Ert=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=nrt().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=ort(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,R,p,C,m);const $=ms(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*C}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Gi(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}S(oue,"renderTextNodes");var krt={draw:Ert},_rt={parser:lrt,db:wrt,renderer:krt,styles:Srt};const Art=Object.freeze(Object.defineProperty({__proto__:null,diagram:_rt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return Ji({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){jn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Lrt=S((t,e)=>{Xu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Rrt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Rrt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Lrt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Drt=10,Zp=10,Xv=25,Nrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Drt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Gi(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=jf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=jf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=jf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=nve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Xv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Xv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Xv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Xv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Xv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(Irt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` .treemapNode.section { stroke: ${i.sectionStrokeColor}; stroke-width: ${i.sectionStrokeWidth}; @@ -3280,8 +3280,8 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error fill: ${a}; font-size: ${i.titleFontSize}; } - `},"getStyles"),Ort=Mrt,Irt={parser:uue,get db(){return new lue},renderer:Drt,styles:Ort};const Brt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Irt},Symbol.toStringTag,{value:"Module"}));var dC=C((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=C((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),XY=C(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),Prt=C(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Frt=C((t,e)=>{if(Xu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=XY(r.fromPort)??XY(r.toPort);const{flow:a,label:s}=Prt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:C(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Frt(e,r)},"parse")},em,$rt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},C(em,"WardleyBuilder"),em),xs=new $rt;function _u(t){const e=Pe();return Jr(t.trim(),e)}C(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}C(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){xs.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}C(fue,"addNode");function pue(t,e,r=!1,n,i){xs.addLink({source:t,target:e,dashed:r,label:n,flow:i})}C(pue,"addLink");function gue(t,e,r){xs.addTrend({nodeId:t,targetX:e,targetY:r})}C(gue,"addTrend");function mue(t,e,r){xs.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}C(mue,"addAnnotation");function yue(t,e,r){xs.addNote({text:_u(t),x:e,y:r})}C(yue,"addNote");function vue(t,e,r){xs.addAccelerator({name:_u(t),x:e,y:r})}C(vue,"addAccelerator");function bue(t,e,r){xs.addDeaccelerator({name:_u(t),x:e,y:r})}C(bue,"addDeaccelerator");function xue(t,e){xs.setAnnotationsBox(t,e)}C(xue,"setAnnotationsBox");function Tue(t,e){xs.setSize(t,e)}C(Tue,"setSize");function wue(t){xs.startPipeline(t)}C(wue,"startPipeline");function Cue(t,e){xs.addPipelineComponent(t,e)}C(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),xs.setAxes(e)}C(Sue,"updateAxes");function Eue(t){return xs.getNode(t)}C(Eue,"getNode");function kue(){return xs.build()}C(kue,"getWardleyData");function _ue(){xs.clear(),jn()}C(_ue,"clear");var zrt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},qrt=["Genesis","Custom Built","Product","Commodity"],Vrt=C(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),Grt=C(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),Urt=C((t,e,r,n)=>{oe.debug(`Rendering Wardley map -`+t);const i=Grt(),a=Vrt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Vs(e);f.selectAll("*").remove(),Gi(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=C(M=>i.padding+M/100*v,"projectX"),S=C(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:qrt;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:S(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=S(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:S(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=S(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Ae=$e.getBBox();he=Math.max(he,Ae.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=S(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=S(V.y),H=60,X=30,Z=20,j=` + `},"getStyles"),Prt=Brt,Frt={parser:uue,get db(){return new lue},renderer:Ort,styles:Prt};const $rt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Frt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),XY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),zrt=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),qrt=S((t,e)=>{if(Xu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=XY(r.fromPort)??XY(r.toPort);const{flow:a,label:s}=zrt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");qrt(e,r)},"parse")},em,Vrt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),xs=new Vrt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){xs.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){xs.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){xs.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){xs.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){xs.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){xs.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){xs.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){xs.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){xs.setSize(t,e)}S(Tue,"setSize");function wue(t){xs.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){xs.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),xs.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return xs.getNode(t)}S(Eue,"getNode");function kue(){return xs.build()}S(kue,"getWardleyData");function _ue(){xs.clear(),jn()}S(_ue,"clear");var Grt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},Urt=["Genesis","Custom Built","Product","Commodity"],Hrt=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),Wrt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),Yrt=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map +`+t);const i=Wrt(),a=Hrt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Gi(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:Urt;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Ae=$e.getBBox();he=Math.max(he,Ae.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` M ${U} ${P-X/2} L ${U+H-Z} ${P-X/2} L ${U+H-Z} ${P-X/2-8} @@ -3290,7 +3290,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error L ${U+H-Z} ${P+X/2} L ${U} ${P+X/2} Z - `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}if(l.deaccelerators.length>0){const M=p.append("g").attr("class","wardley-deaccelerators");l.deaccelerators.forEach(V=>{const U=x(V.x),P=S(V.y),H=60,X=30,Z=20,j=` + `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}if(l.deaccelerators.length>0){const M=p.append("g").attr("class","wardley-deaccelerators");l.deaccelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` M ${U+H} ${P-X/2} L ${U+Z} ${P-X/2} L ${U+Z} ${P-X/2-8} @@ -3299,4 +3299,4 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error L ${U+Z} ${P+X/2} L ${U+H} ${P+X/2} Z - `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),Hrt={draw:Urt},Wrt={parser:hue,db:zrt,renderer:Hrt,styles:C(()=>"","styles")};const Yrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Wrt},Symbol.toStringTag,{value:"Module"})),Xrt=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:Xse},Symbol.toStringTag,{value:"Module"})),jrt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:jse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),Krt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),Zrt=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),Qrt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),Jrt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),ent=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),tnt=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),rnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default nnt(); + `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),Xrt={draw:Yrt},jrt={parser:hue,db:Grt,renderer:Xrt,styles:S(()=>"","styles")};const Krt=Object.freeze(Object.defineProperty({__proto__:null,diagram:jrt},Symbol.toStringTag,{value:"Module"})),Zrt=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:Xse},Symbol.toStringTag,{value:"Module"})),Qrt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:jse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),Jrt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),ent=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),tnt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),rnt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),nnt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),int=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),ant=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default snt(); diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index 62197d4..987ac31 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,8 +5,8 @@ webview_ui - - + +
    From 13c23bbfabe23b9b117f1633b6627fc99cb53af8 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Wed, 10 Jun 2026 10:23:47 -0700 Subject: [PATCH 04/36] style new python interpretor --- webview_ui/src/css/tree_app.module.css | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/webview_ui/src/css/tree_app.module.css b/webview_ui/src/css/tree_app.module.css index 5f8501d..7f5a55b 100644 --- a/webview_ui/src/css/tree_app.module.css +++ b/webview_ui/src/css/tree_app.module.css @@ -27,6 +27,27 @@ gap: 10px; } +.python_env_container { + margin-bottom: 20px; +} + +.python_env_label { + display: block; + margin: 0 0 5px 0; + font-size: 13px; + color: var(--vscode-foreground); +} + +.dropdown_select { + width: 100%; + padding: 6px; + background-color: var(--vscode-dropdown-background); + color: var(--vscode-dropdown-foreground); + border: 1px solid var(--vscode-dropdown-border); + border-radius: 2px; + cursor: pointer; +} + .open_results_view_label{ display:block; font-size: 18px; From 5d71a94efddc6a6ea00cfa315132619c41161e6a Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Wed, 10 Jun 2026 13:02:47 -0700 Subject: [PATCH 05/36] Add Python env listing, switching, and broadcasting to webviews List every interpreter the Python extension has discovered and broadcast it (with the active one) as python_env_update on webview ready, on interpreter change, and as async discovery progresses (debounced). Force a refreshEnvironments() pass when the list is empty so the first render isn't blank. Handle a change_python_env instruction that switches the active interpreter via the Python extension API, keeping the status bar and our UI in sync. --- extension/src/util/activate_tab_handler.ts | 20 +- extension/src/util/python_env.ts | 237 +++++++++++++++++- .../util/webview_receive_message_handler.ts | 16 ++ 3 files changed, 260 insertions(+), 13 deletions(-) diff --git a/extension/src/util/activate_tab_handler.ts b/extension/src/util/activate_tab_handler.ts index 09877b6..0f259e7 100644 --- a/extension/src/util/activate_tab_handler.ts +++ b/extension/src/util/activate_tab_handler.ts @@ -4,7 +4,7 @@ import { isWrappedFlowsheet } from './validate_flowsheet'; import { trimFileName } from './trim_file_name'; import { checkActivePythonEnv } from './extension_initial_check'; import { runFiSteps } from './run_fi_steps'; -import { onDidChangeActivePythonEnv } from './python_env'; +import { onDidChangeActivePythonEnv, onDidChangeKnownPythonEnvs, broadcastPythonEnvUpdate } from './python_env'; function getOpenPythonFiles() { const pyFiles: { name: string, path: string }[] = []; @@ -149,8 +149,22 @@ export default function activateTabListener(context: vscode.ExtensionContext) { // Re-run steps when the user switches Python interpreter, so fixing the env // (or any interpreter change) immediately refreshes the view — clearing a // stale "package not installed" warning instead of stranding the user. - onDidChangeActivePythonEnv(() => handleActiveEditor(vscode.window.activeTextEditor)) - .then((disposable) => { if (disposable) { context.subscriptions.push(disposable); } }); + // Also push the refreshed env list so the tree view selector stays in sync. + onDidChangeActivePythonEnv(() => { + broadcastPythonEnvUpdate().catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); + handleActiveEditor(vscode.window.activeTextEditor); + }).then((disposable) => { if (disposable) { context.subscriptions.push(disposable); } }); + + // Environment discovery is async and trickles in after activation — push + // the refreshed list to the UI as environments are found (debounced, + // since discovery fires one event per env). + let envRefreshTimer: NodeJS.Timeout | undefined; + onDidChangeKnownPythonEnvs(() => { + clearTimeout(envRefreshTimer); + envRefreshTimer = setTimeout(() => { + broadcastPythonEnvUpdate().catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); + }, 500); + }).then((disposable) => { if (disposable) { context.subscriptions.push(disposable); } }); // Fire immediately for the file already open when the extension first activates handleActiveEditor(vscode.window.activeTextEditor); diff --git a/extension/src/util/python_env.ts b/extension/src/util/python_env.ts index 1c0598d..5a0c6d9 100644 --- a/extension/src/util/python_env.ts +++ b/extension/src/util/python_env.ts @@ -11,6 +11,15 @@ import * as vscode from 'vscode'; import * as path from 'path'; import { isWindows } from './platform_config'; +import { brodcastMessage } from './webview_handler'; + +/** One entry in the Python extension's list of discovered environments. */ +interface IKnownEnvironment { + id: string; + path: string; + environment?: { type?: string; folderUri?: vscode.Uri; name?: string }; + executable?: { uri?: vscode.Uri }; +} /** Minimal shape of the bits of the Python extension API we use. */ interface IPythonEnvApi { @@ -21,10 +30,25 @@ interface IPythonEnvApi { environment?: { type?: string; folderUri?: vscode.Uri; name?: string }; } | undefined>; onDidChangeActiveEnvironmentPath: vscode.Event<{ id: string; path: string; resource?: vscode.Uri }>; + onDidChangeEnvironments: vscode.Event; + readonly known: readonly IKnownEnvironment[]; + refreshEnvironments(): Promise; + updateActiveEnvironmentPath(environmentPath: string, resource?: vscode.Uri): Promise; }; } -/** Returns the Python extension API, activating it if needed. */ +/** + * Locates and returns the VS Code Python extension's public API. + * + * Looks up the `ms-python.python` extension and activates it if it hasn't + * been activated yet (activation is required before `exports` is populated). + * All other helpers in this file go through this function so the activation + * handshake lives in one place. + * + * @returns The Python extension API, or `undefined` if the extension is not + * installed (should not happen in practice — it is declared in + * `extensionDependencies` — but callers still handle it defensively). + */ async function getPythonApi(): Promise { const ext = vscode.extensions.getExtension('ms-python.python'); if (!ext) { @@ -37,8 +61,17 @@ async function getPythonApi(): Promise { } /** - * Subscribe to "user changed the selected interpreter" events. Returns a - * Disposable (or undefined if the Python extension isn't available). + * Subscribes to "the user changed the selected interpreter" events. + * + * Fires whenever the active interpreter changes, regardless of how it was + * changed — via the VS Code status-bar picker, the "Python: Select + * Interpreter" command, or our own {@link setActivePythonEnv}. Used to re-run + * fi-steps and refresh the tree view whenever the user switches environment. + * + * @param listener Callback invoked (with no arguments) on every interpreter change. + * @returns A Disposable that unsubscribes the listener (push it onto + * `context.subscriptions`), or `undefined` if the Python extension + * is unavailable. */ export async function onDidChangeActivePythonEnv(listener: () => void): Promise { const api = await getPythonApi(); @@ -48,6 +81,29 @@ export async function onDidChangeActivePythonEnv(listener: () => void): Promise< return api.environments.onDidChangeActiveEnvironmentPath(() => listener()); } +/** + * Subscribes to changes in the *set* of Python environments VS Code knows about. + * + * Environment discovery is asynchronous: after the Python extension activates, + * environments "trickle in" one event at a time as the machine is scanned. + * Listening to this lets the UI fill its environment dropdown progressively + * instead of showing only whatever was discovered at first render. Callers + * should debounce, as discovery can fire many events in a short burst. + * + * @param listener Callback invoked (with no arguments) each time an + * environment is added, removed, or updated. + * @returns A Disposable that unsubscribes the listener (push it onto + * `context.subscriptions`), or `undefined` if the Python extension + * is unavailable. + */ +export async function onDidChangeKnownPythonEnvs(listener: () => void): Promise { + const api = await getPythonApi(); + if (!api?.environments?.onDidChangeEnvironments) { + return undefined; + } + return api.environments.onDidChangeEnvironments(() => listener()); +} + export interface IResolvedPythonEnv { /** Absolute path to the interpreter (python / python.exe). */ interpreterPath: string; @@ -67,8 +123,21 @@ export interface IResolvedPythonEnv { } /** - * Returns the active Python environment, or undefined if the Python extension - * is not installed or no interpreter is selected. + * Resolves the Python environment the user currently has selected in VS Code. + * + * Asks the Python extension for the active interpreter and resolves it into + * everything needed to run tools from that environment without any shell + * activation: the interpreter path, the env prefix (root folder), the bin/ + * Scripts directory holding console-script entry points (fi-steps, fi-run), + * and the PATH segments a child process needs for compiled dependencies + * (numpy/scipy DLLs on Windows) to load — i.e. what `conda activate` would + * have put on PATH. + * + * @param resource Optional file/workspace URI; in multi-root workspaces the + * selected interpreter can differ per folder, so pass the + * flowsheet file when available. + * @returns The resolved environment, or `undefined` if the Python extension + * is not installed or no interpreter has been selected yet. */ export async function getActivePythonEnv(resource?: vscode.Uri): Promise { const api = await getPythonApi(); @@ -107,17 +176,35 @@ export async function getActivePythonEnv(resource?: vscode.Uri): Promise/bin` on Unix and + * `\Scripts` on Windows; this resolves into that directory and adds + * the `.exe` suffix on Windows. The result is passed directly to + * `child_process.spawn` — no shell or PATH lookup involved. + * + * @param env The environment resolved by {@link getActivePythonEnv}. + * @param tool The console-script name without extension, e.g. `"fi-steps"`. + * @returns Absolute path to the tool's executable inside the environment. */ export function pythonToolPath(env: IResolvedPythonEnv, tool: string): string { return path.join(env.binDir, isWindows() ? `${tool}.exe` : tool); } /** - * Returns a child-process env that mimics environment activation by prepending - * the env's dirs to PATH — so the tool's compiled dependencies (and their DLLs - * on Windows) resolve. Handles the Windows `Path` vs `PATH` casing correctly. + * Builds the environment-variable map for spawning a tool from a Python env, + * mimicking what `conda activate` / venv activation would do to PATH. + * + * Takes the current process env and prepends the environment's directories + * (bin/Scripts, plus conda's `Library\bin` etc. on Windows) to PATH so that + * the spawned tool and its compiled dependencies (DLLs on Windows, shared + * libs on Unix) resolve correctly. Looks up the existing PATH key + * case-insensitively because Windows uses `Path` while Unix uses `PATH`. + * + * @param env The environment resolved by {@link getActivePythonEnv}. + * @returns A copy of `process.env` with the environment's dirs prepended to + * PATH, ready to pass as `options.env` to `child_process.spawn`. */ export function activatedProcessEnv(env: IResolvedPythonEnv): NodeJS.ProcessEnv { const result: NodeJS.ProcessEnv = { ...process.env }; @@ -127,3 +214,133 @@ export function activatedProcessEnv(env: IResolvedPythonEnv): NodeJS.ProcessEnv result[pathKey] = prepend + sep + (result[pathKey] ?? ''); return result; } + +/** A Python environment entry for display in the UI. */ +export interface IPythonEnvListItem { + id: string; + /** Interpreter path — used as the
    +

    Select Steps to Run:

    From e0f5dc2694009597258520a6241a4fc5f6f4712e Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Wed, 10 Jun 2026 13:03:26 -0700 Subject: [PATCH 07/36] Expand docstrings on env check and fi-steps runner Document checkActivePythonEnv and runFiSteps in detail: what each does, why it sits where it does in the flow, parameters, return shapes, and failure modes. --- extension/src/util/extension_initial_check.ts | 16 +++++++++++++--- extension/src/util/run_fi_steps.ts | 17 +++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/extension/src/util/extension_initial_check.ts b/extension/src/util/extension_initial_check.ts index 72eeaec..a5d0658 100644 --- a/extension/src/util/extension_initial_check.ts +++ b/extension/src/util/extension_initial_check.ts @@ -12,9 +12,19 @@ let lastCheckResult: { success: boolean; errorMsg?: string } | null = null; * Verifies the Python environment VS Code currently has selected can run the * flowsheet tools — using the interpreter directly (no shell / conda activate). * - * 1. an interpreter is selected (Python extension active) - * 2. `import idaes` succeeds - * 3. `import idaes_fi` succeeds + * Performs three checks, stopping at the first failure: + * 1. an interpreter is selected (Python extension active and configured) + * 2. `import idaes` succeeds in that interpreter + * 3. `import idaes_fi` succeeds in that interpreter + * + * Runs before fi-steps so the user gets a targeted, actionable message + * ("install X or pick a different interpreter") instead of a raw spawn error. + * + * @param resource Optional file/workspace URI for per-folder interpreter + * resolution in multi-root workspaces. + * @returns `{ success: true }` when all checks pass, otherwise + * `{ success: false, errorMsg }` where `errorMsg` names the failed + * check, the environment, and how to fix it (shown in the tree view). */ export async function checkActivePythonEnv(resource?: vscode.Uri): Promise<{ success: boolean; errorMsg?: string }> { const env = await getActivePythonEnv(resource); diff --git a/extension/src/util/run_fi_steps.ts b/extension/src/util/run_fi_steps.ts index 9c72915..724bde7 100644 --- a/extension/src/util/run_fi_steps.ts +++ b/extension/src/util/run_fi_steps.ts @@ -18,6 +18,23 @@ const NO_INTERPRETER_MSG = 'No Python interpreter selected. Pick the environment with Flowsheet Inspector ' + 'installed via the Python: Select Interpreter command (bottom-right status bar).'; +/** + * Runs `fi-steps --fs -t json` and returns the parsed step list. + * + * Resolves the interpreter the user selected in VS Code, then spawns the + * `fi-steps` entry point from that environment directly (with an activated + * PATH via {@link activatedProcessEnv}) — no shell, no `conda activate`, no + * reliance on the extension config. Output parsing scans stdout from the end + * for the line starting with `[`, skipping any log lines tools may print + * before the JSON array. + * + * @param fileName Absolute path to the flowsheet `.py` file to inspect. + * @returns `{ classname: 'FlowsheetRunner', steps }` where `steps` is the + * JSON array produced by fi-steps. + * @throws If no interpreter is selected, if fi-steps exits non-zero (the + * error includes stderr/stdout details), or if no JSON array can be + * found in the output. + */ export async function runFiSteps(fileName: string): Promise { const env = await getActivePythonEnv(fileName ? vscode.Uri.file(fileName) : undefined); if (!env) { From 2558036c99661b4d87798d3b1c4d8b1dbea62116 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Wed, 10 Jun 2026 15:41:20 -0700 Subject: [PATCH 08/36] update file path resolver make it robust --- extension/src/tree_view/treeview.ts | 3 +-- extension/src/util/get_webview_template.ts | 9 ++++----- extension/src/web_view/web_view_panel.ts | 7 ++----- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/extension/src/tree_view/treeview.ts b/extension/src/tree_view/treeview.ts index 3fa7403..b2798bd 100644 --- a/extension/src/tree_view/treeview.ts +++ b/extension/src/tree_view/treeview.ts @@ -1,5 +1,4 @@ import * as vscode from 'vscode'; -import * as path from 'path'; import { isWrappedFlowsheet } from '../util/validate_flowsheet'; import { getReactTemplate } from '../util/get_webview_template'; import { registerWebview } from '../util/webview_handler'; @@ -15,7 +14,7 @@ export default function treeview(context: vscode.ExtensionContext) { async resolveWebviewView(webviewView: vscode.WebviewView) { webviewView.webview.options = { enableScripts: true, - localResourceRoots: [vscode.Uri.file(path.join(context.extensionPath, 'src'))] + localResourceRoots: [vscode.Uri.joinPath(context.extensionUri, 'src')] }; // define webview template diff --git a/extension/src/util/get_webview_template.ts b/extension/src/util/get_webview_template.ts index 26f2827..52cc320 100644 --- a/extension/src/util/get_webview_template.ts +++ b/extension/src/util/get_webview_template.ts @@ -1,6 +1,5 @@ import * as vscode from 'vscode'; import * as fs from 'fs'; -import * as path from 'path'; export function getReactTemplate( context: vscode.ExtensionContext, @@ -8,12 +7,12 @@ export function getReactTemplate( fileName: string, content: string ): string { - // Path to the React build output - const webviewNewPath = path.join(context.extensionPath, 'src', 'webview_template', 'webview_new'); - const htmlPath = path.join(webviewNewPath, 'index.html'); + // Path to the React build output — use extensionUri + joinPath (works under Snap/Flatpak/remote) + const webviewNewUri = vscode.Uri.joinPath(context.extensionUri, 'src', 'webview_template', 'webview_new'); + const htmlPath = webviewNewUri.fsPath + '/index.html'; // Convert local file paths to webview URIs - const assetsUri = webview.asWebviewUri(vscode.Uri.file(path.join(webviewNewPath, 'assets'))); + const assetsUri = webview.asWebviewUri(vscode.Uri.joinPath(webviewNewUri, 'assets')); // Read HTML content let htmlContent = fs.readFileSync(htmlPath, 'utf-8'); diff --git a/extension/src/web_view/web_view_panel.ts b/extension/src/web_view/web_view_panel.ts index 12c55d5..977f853 100644 --- a/extension/src/web_view/web_view_panel.ts +++ b/extension/src/web_view/web_view_panel.ts @@ -1,7 +1,4 @@ import * as vscode from 'vscode'; -import * as path from 'path'; -import * as fs from 'fs'; -import * as cp from 'child_process'; import { getReactTemplate } from '../util/get_webview_template'; import { registerWebview, unregisterWebview } from '../util/webview_handler'; @@ -48,12 +45,12 @@ export default async function openWebView(context: vscode.ExtensionContext, outp { enableScripts: true, // Enable local resource loading (the React rendered static html css js files) - localResourceRoots: [vscode.Uri.file(path.join(context.extensionPath, 'src'))], + localResourceRoots: [vscode.Uri.joinPath(context.extensionUri, 'src')], retainContextWhenHidden: true } ); - webViewPanel.iconPath = vscode.Uri.file(path.join(context.extensionPath, 'resources', 'prommis_icon.svg')); + webViewPanel.iconPath = vscode.Uri.joinPath(context.extensionUri, 'resources', 'prommis_icon.svg'); registerWebview("webView", webViewPanel); From 2ae0df944f8b2803afcb5ee152dcd04c928d74a6 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Wed, 10 Jun 2026 16:08:18 -0700 Subject: [PATCH 09/36] Replace sqlite3 CLI dependency with node-sqlite3-wasm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously the extension shelled out to the sqlite3 CLI binary for all database reads (history polling, post-run report fetch, historical run load). This required sqlite3 to be installed on the user's machine and was fragile on systems where it was absent. Switch to node-sqlite3-wasm (pure WebAssembly, no native addon) so the user never needs sqlite3 installed. Centralise all DB access in the new sqlite_reader.ts module which also handles: - Modern vs legacy schema detection via PRAGMA table_info - Python json.dumps Infinity/NaN sanitisation before JSON.parse - Uint8Array → string coercion for TEXT columns that node-sqlite3-wasm returns as bytes Remove buildSqliteCommand, buildSqliteFallbackCommand, and getStderrRedirect from platform_config.ts as they are no longer needed. --- extension/package-lock.json | 9 ++ extension/package.json | 3 + .../src/util/flowsheet_history_polling.ts | 126 ++++++--------- extension/src/util/platform_config.ts | 30 ---- extension/src/util/run_flowsheet.ts | 44 +---- extension/src/util/sqlite_reader.ts | 151 ++++++++++++++++++ .../util/webview_receive_message_handler.ts | 40 ++--- 7 files changed, 227 insertions(+), 176 deletions(-) create mode 100644 extension/src/util/sqlite_reader.ts diff --git a/extension/package-lock.json b/extension/package-lock.json index e0b1955..faf1f45 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -7,6 +7,9 @@ "": { "name": "flowsheet-inspector", "version": "0.0.5", + "dependencies": { + "node-sqlite3-wasm": "^0.8.58" + }, "devDependencies": { "@playwright/test": "^1.60.0", "@types/mocha": "^10.0.10", @@ -4529,6 +4532,12 @@ "node": ">=20" } }, + "node_modules/node-sqlite3-wasm": { + "version": "0.8.58", + "resolved": "https://registry.npmjs.org/node-sqlite3-wasm/-/node-sqlite3-wasm-0.8.58.tgz", + "integrity": "sha512-oXh7/N26JzIZF2jLq6sOUzyT0vh97uyg2259budPaaDFE7vaR1F4RqWT3wc0u7N3zJEup0EPr78jgVypr4/7yQ==", + "license": "MIT" + }, "node_modules/normalize-package-data": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", diff --git a/extension/package.json b/extension/package.json index fd834fa..4a6323d 100644 --- a/extension/package.json +++ b/extension/package.json @@ -104,5 +104,8 @@ "eslint": "^9.39.1", "typescript": "^5.9.3", "typescript-eslint": "^8.48.1" + }, + "dependencies": { + "node-sqlite3-wasm": "^0.8.58" } } diff --git a/extension/src/util/flowsheet_history_polling.ts b/extension/src/util/flowsheet_history_polling.ts index d4e140a..5d7abc3 100644 --- a/extension/src/util/flowsheet_history_polling.ts +++ b/extension/src/util/flowsheet_history_polling.ts @@ -1,8 +1,6 @@ -import * as fs from 'fs'; -import * as cp from 'child_process'; import * as vscode from 'vscode'; import { brodcastMessage } from './webview_handler'; -import { getIdaesDbPath, buildSqliteFallbackCommand } from './platform_config'; +import { queryHistory, IHistoryRow } from './sqlite_reader'; let lastHistoryString = ""; @@ -10,88 +8,56 @@ export function startHistoryPolling(context: vscode.ExtensionContext) { console.log("Starting Flowsheet History Polling..."); setInterval(() => { - const dbPath = getIdaesDbPath(); - - // Validate if IDAES database actually exists (checking the file, not just the folder) - if (!fs.existsSync(dbPath)) { - // Silently return until the python script is run for the very first time and establishes the DB. - return; - } - - // Fetch the list of history natively by sqlite3 using JSON mode to perfectly escape multiline text (like Python tracebacks). - // Uses a fallback query for schema compatibility (modern schema → legacy schema). - const modernQuery = "SELECT id, created, name, filename, CASE WHEN run_status = 1 THEN 1 ELSE 0 END as status, COALESCE(NULLIF(run_exception, ''), SUBSTR(report, INSTR(report, 'EXIT:'), 100)) as rawError, tags FROM reports ORDER BY id DESC LIMIT 100;"; - const legacyQuery = "SELECT id, created, name, filename, status as status, SUBSTR(report, INSTR(report, 'EXIT:'), 100) as rawError, tags FROM reports ORDER BY id DESC LIMIT 100;"; - const fetchCommand = buildSqliteFallbackCommand(dbPath, modernQuery, legacyQuery, true); - - cp.exec(fetchCommand, { windowsHide: true }, (err, stdout, stderr) => { - if (err) { - // If the DB is completely empty (0-byte file created by accident), it will throw "no such table". - // We should silently ignore this so we don't spam the UI, waiting for Python to actually create the table. - const errorStr = (err.message || stderr || "").toString(); - if (errorStr.includes("no such table")) { - return; - } - - // If it's a real error, broadcast it. - brodcastMessage({ - type: 'error', - message: `Failed to read IDAES database. Error: ${errorStr}` - }); - return; - } - - let parsedData = []; - try { - if (stdout.trim().length > 0) { - parsedData = JSON.parse(stdout); - } - } catch (e) { - console.error("Failed to parse SQLite JSON:", e); + let rows: IHistoryRow[]; + try { + rows = queryHistory(); + } catch (e: any) { + // Silently ignore "no such table" — the DB exists but Python hasn't + // created the reports table yet (first-ever run not started). + if (e.message?.includes('no such table')) { return; } - - const historyList = parsedData.map((row: any) => { - const id = row.id?.toString(); - const created = row.created?.toString(); - const name = row.name; - const filename = row.filename; - const status = row.status?.toString(); - const rawError = row.rawError; - const tags = row.tags; - - let solverError = ""; - // If the rawError was from Pyomo's string manipulation - if (rawError && rawError.startsWith("EXIT:")) { - solverError = rawError.split('\\n')[0].replace(/["\\]/g, '').trim(); - } else if (rawError) { - // It's a real traceback from the run_exception field, just use the first line or raw string - solverError = String(rawError).split('\n').pop()?.trim() || "Python exception thrown"; - } - - // Treat falsy or '0' status as failure - const isSuccess = status === "1" || status === "true" || parseInt(status, 10) === 1; - - return { - id: parseInt(id, 10), - created: parseFloat(created), - name: name ? name.toString().trim() : "", - filename: filename ? filename.toString().trim() : "", - status: isSuccess, - solverError: !isSuccess ? solverError : "", - tags: tags ? tags.toString().trim() : "" - }; + brodcastMessage({ + type: 'error', + message: `Failed to read IDAES database. Error: ${e.message}` }); + return; + } - const newHistoryString = JSON.stringify(historyList); - if (newHistoryString !== lastHistoryString) { - lastHistoryString = newHistoryString; - console.log(`Detected SQLite changes. History string diff registered. Fetching and syncing recent runs...`); - // Update global state and immediately broadcast this chunk of data to React - context.globalState.update('idaesHistoryList', historyList); - brodcastMessage({ type: 'history_update', data: historyList }); + const historyList = rows.map((row) => { + const id = row.id; + const created = row.created; + const name = row.name; + const filename = row.filename; + const rawError = row.rawError ?? ''; + const tags = row.tags ?? ''; + + let solverError = ""; + if (rawError.startsWith("EXIT:")) { + solverError = rawError.split('\\n')[0].replace(/["\\]/g, '').trim(); + } else if (rawError) { + solverError = String(rawError).split('\n').pop()?.trim() || "Python exception thrown"; } + + const isSuccess = row.status === 1; + + return { + id, + created, + name: name ? String(name).trim() : "", + filename: filename ? String(filename).trim() : "", + status: isSuccess, + solverError: !isSuccess ? solverError : "", + tags: tags ? String(tags).trim() : "" + }; }); - }, 5000); // 5 seconds polling + const newHistoryString = JSON.stringify(historyList); + if (newHistoryString !== lastHistoryString) { + lastHistoryString = newHistoryString; + console.log(`Detected SQLite changes. History string diff registered. Fetching and syncing recent runs...`); + context.globalState.update('idaesHistoryList', historyList); + brodcastMessage({ type: 'history_update', data: historyList }); + } + }, 5000); } diff --git a/extension/src/util/platform_config.ts b/extension/src/util/platform_config.ts index 3c75972..03e32d6 100644 --- a/extension/src/util/platform_config.ts +++ b/extension/src/util/platform_config.ts @@ -172,33 +172,3 @@ export function getIdaesDbPath(): string { return path.join(getIdaesDataDir(), 'reportdb.sqlite'); } -/** - * Returns the stderr-suppress redirect for the current platform. - * - Unix: `2>/dev/null` - * - Windows: `2>NUL` - */ -export function getStderrRedirect(): string { - return isWindows() ? '2>NUL' : '2>/dev/null'; -} - -/** - * Builds a sqlite3 CLI command string with proper quoting per platform. - * Wraps the db path in quotes to handle paths with spaces (common on Windows). - */ -export function buildSqliteCommand(dbPath: string, query: string, jsonMode: boolean = false): string { - const jsonFlag = jsonMode ? '-json ' : ''; - return `sqlite3 ${jsonFlag}"${dbPath}" "${query}"`; -} - -/** - * Builds a sqlite3 command with a fallback query for schema compatibility. - * Uses `||` (works in both bash/zsh and cmd.exe) and platform-appropriate stderr redirect. - * - * This pattern tries `query1` first (modern schema); if it fails, falls back to `query2` (legacy schema). - */ -export function buildSqliteFallbackCommand(dbPath: string, query1: string, query2: string, jsonMode: boolean = false): string { - const stderrRedirect = getStderrRedirect(); - const cmd1 = buildSqliteCommand(dbPath, query1, jsonMode); - const cmd2 = buildSqliteCommand(dbPath, query2, jsonMode); - return `${cmd1} ${stderrRedirect} || ${cmd2}`; -} diff --git a/extension/src/util/run_flowsheet.ts b/extension/src/util/run_flowsheet.ts index f97d581..95880f7 100644 --- a/extension/src/util/run_flowsheet.ts +++ b/extension/src/util/run_flowsheet.ts @@ -1,10 +1,10 @@ import * as vscode from 'vscode'; -import * as cp from 'child_process'; import { activateWebviews, brodcastMessage } from "./webview_handler"; import { IExtensionConfig } from '../interface'; import runTerminalCommand from "./run_terminal_command"; import openWebView from '../web_view/web_view_panel'; -import { buildCommandChain, getIdaesDbPath, buildSqliteCommand } from './platform_config'; +import { buildCommandChain } from './platform_config'; +import { queryLatestReport } from './sqlite_reader'; export default async function runFlowsheet(context: vscode.ExtensionContext, webview: vscode.Webview, selectedStep: string | undefined) { try { @@ -63,42 +63,12 @@ export default async function runFlowsheet(context: vscode.ExtensionContext, web // This is non-fatal — if the DB/table doesn't exist yet, the history // polling mechanism will pick up the results later. try { - const dbPath = getIdaesDbPath(); - const reportQuery = `SELECT report FROM reports ORDER BY id DESC LIMIT 1;`; - const sqliteCmd = buildSqliteCommand(dbPath, reportQuery); - - const reportData = await new Promise((resolve, reject) => { - cp.exec(sqliteCmd, { maxBuffer: 50 * 1024 * 1024, windowsHide: true }, (err, stdout, stderr) => { - if (err) { - reject(err); - return; - } - if (!stdout.trim()) { - reject(new Error('Empty report from SQLite')); - return; - } - try { - // Python's json.dumps can produce -Infinity, Infinity, NaN - // which are invalid in standard JSON. Replace with null. - const sanitized = stdout.trim() - .replace(/:\s*-Infinity/g, ': null') - .replace(/:\s*Infinity/g, ': null') - .replace(/:\s*NaN/g, ': null'); - const parsed = JSON.parse(sanitized); - resolve(parsed); - } catch (e) { - reject(e); - } - }); - }); - + const reportData = queryLatestReport(); + if (!reportData) { + throw new Error('No report found in database'); + } console.log('Successfully loaded report from SQLite. Broadcasting to webviews...'); - - // Broadcast the full report to all webviews - brodcastMessage({ - type: 'flowsheet_runner_result', - data: reportData - }); + brodcastMessage({ type: 'flowsheet_runner_result', data: reportData }); } catch (dbErr: any) { console.warn(`Could not load report from SQLite (non-fatal): ${dbErr.message}`); console.warn('The history polling mechanism will pick up results when available.'); diff --git a/extension/src/util/sqlite_reader.ts b/extension/src/util/sqlite_reader.ts new file mode 100644 index 0000000..f7826f4 --- /dev/null +++ b/extension/src/util/sqlite_reader.ts @@ -0,0 +1,151 @@ +/** + * Centralised SQLite reader for the IDAES report database. + * + * Uses node-sqlite3-wasm (pure WebAssembly) so the user never needs the + * sqlite3 CLI installed, and there are no native-module ABI issues across + * different VS Code / Electron / Node.js versions. + * All queries open the file with readOnly:true so concurrent Python writes + * never cause locking errors. + */ +import { Database } from 'node-sqlite3-wasm'; +import * as fs from 'fs'; +import { getIdaesDbPath } from './platform_config'; + +// ── Types ──────────────────────────────────────────────────────────────────── + +export interface IHistoryRow { + id: number; + created: number; + name: string; + filename: string; + status: number; + rawError: string | null; + tags: string | null; +} + +// ── Helpers ────────────────────────────────────────────────────────────────── + +/** + * node-sqlite3-wasm returns TEXT columns as string on most platforms but can + * return Uint8Array when the column affinity is BLOB. This converts either + * to a plain JS string so downstream code always gets a string. + */ +function toStr(value: unknown): string { + if (value instanceof Uint8Array) { + return Buffer.from(value).toString('utf-8'); + } + return String(value ?? ''); +} + +/** Same as toStr but preserves null/undefined as null. */ +function toStrNullable(value: unknown): string | null { + if (value == null) { return null; } + return toStr(value); +} + +/** + * Python's json.dumps() can emit bare Infinity, -Infinity, and NaN which are + * not valid JSON. Replace them with null before calling JSON.parse. + */ +export function sanitizeJsonString(raw: string): string { + return raw + .replace(/:\s*-Infinity/g, ': null') + .replace(/:\s*Infinity/g, ': null') + .replace(/:\s*NaN/g, ': null'); +} + +/** + * Returns true when the reports table has the modern schema columns + * (run_status, run_exception). Legacy schema only has status. + */ +function hasModernSchema(db: Database): boolean { + const cols = db.all('PRAGMA table_info(reports)') as { name: string }[]; + return cols.some((c) => c.name === 'run_status'); +} + +// ── Public API ─────────────────────────────────────────────────────────────── + +/** + * Reads the last 100 history rows from the IDAES report database. + * + * Handles both the modern schema (run_status / run_exception columns) and the + * legacy schema (status column) transparently via a PRAGMA column check. + * Returns an empty array when the database file does not exist yet. + * + * @returns Array of history rows ordered newest-first, or [] if DB is absent. + * @throws If the database exists but the reports table is missing or + * the query otherwise fails. + */ +export function queryHistory(): IHistoryRow[] { + const dbPath = getIdaesDbPath(); + if (!fs.existsSync(dbPath)) { + return []; + } + + const db = new Database(dbPath, { readOnly: true }); + try { + const sql = hasModernSchema(db) + ? `SELECT id, created, name, filename, + CASE WHEN run_status = 1 THEN 1 ELSE 0 END AS status, + COALESCE(NULLIF(run_exception, ''), SUBSTR(report, INSTR(report, 'EXIT:'), 100)) AS rawError, + tags + FROM reports ORDER BY id DESC LIMIT 100` + : `SELECT id, created, name, filename, + status, + SUBSTR(report, INSTR(report, 'EXIT:'), 100) AS rawError, + tags + FROM reports ORDER BY id DESC LIMIT 100`; + return (db.all(sql) as unknown as Record[]).map((r) => ({ + id: Number(r.id), + created: Number(r.created), + name: toStr(r.name), + filename: toStr(r.filename), + status: Number(r.status ?? 0), + rawError: toStrNullable(r.rawError), + tags: toStrNullable(r.tags), + })); + } finally { + db.close(); + } +} + +/** + * Reads and parses the JSON report blob for a single run by its row ID. + * + * @param id The primary-key ID of the reports row to fetch. + * @returns The parsed report object, or null if no row with that ID exists. + * @throws If the database cannot be opened or JSON parsing fails. + */ +export function queryReportById(id: number): unknown { + const dbPath = getIdaesDbPath(); + const db = new Database(dbPath, { readOnly: true }); + try { + const row = db.get('SELECT report FROM reports WHERE id = ?', id) as { report: unknown } | null; + if (!row) { + return null; + } + return JSON.parse(sanitizeJsonString(toStr(row.report))); + } finally { + db.close(); + } +} + +/** + * Reads and parses the most recently inserted JSON report blob. + * + * @returns The parsed report object, or null if the table is empty. + * @throws If the database cannot be opened or JSON parsing fails. + */ +export function queryLatestReport(): unknown { + const dbPath = getIdaesDbPath(); + const db = new Database(dbPath, { readOnly: true }); + try { + const row = db.get('SELECT report FROM reports ORDER BY id DESC LIMIT 1') as { report: unknown } | null; + if (!row) { + return null; + } + return JSON.parse(sanitizeJsonString(toStr(row.report))); + } finally { + db.close(); + } +} diff --git a/extension/src/util/webview_receive_message_handler.ts b/extension/src/util/webview_receive_message_handler.ts index c588aa2..03cb938 100644 --- a/extension/src/util/webview_receive_message_handler.ts +++ b/extension/src/util/webview_receive_message_handler.ts @@ -3,7 +3,8 @@ import { activateWebviews } from "./webview_handler"; import { IFrontendMessage } from "../interface"; import runFlowsheet from "./run_flowsheet"; import { getWebview, brodcastMessage } from "./webview_handler"; -import { killProcessTree, getIdaesDbPath, buildSqliteCommand } from './platform_config'; +import { killProcessTree } from './platform_config'; +import { queryReportById } from './sqlite_reader'; import { setActivePythonEnv, broadcastPythonEnvUpdate } from './python_env'; export default function webviewReceiveMessageHandler(context: vscode.ExtensionContext, frontendMessage: IFrontendMessage) { @@ -104,36 +105,17 @@ export default function webviewReceiveMessageHandler(context: vscode.ExtensionCo return; // Exit and let the delayed callback handle it once opened } - const cp = require('child_process'); - const dbPath = getIdaesDbPath(); - // Securely query just the json report block for this explicit exact ID - const queryCmd = buildSqliteCommand(dbPath, `SELECT report FROM reports WHERE id = ${frontendMessage.id};`); - - cp.exec(queryCmd, { maxBuffer: 1024 * 1024 * 10, windowsHide: true }, (err: any, stdout: string, stderr: string) => { - if (err) { - brodcastMessage({ type: 'error', message: `Failed to load historical run: ${err.message || stderr}` }); + try { + const parsedData = queryReportById(Number(frontendMessage.id)); + if (!parsedData) { + brodcastMessage({ type: 'error', message: `No historical data found for id ${frontendMessage.id}` }); return; } - if (stdout && stdout.trim().length > 0) { - try { - // Python's json.dumps() can produce raw Infinity, -Infinity, and NaN which break JS JSON.parse. - // Convert them to null to safely deserialize into JS. - let safeJsonString = stdout.trim() - .replace(/:\s*Infinity/g, ': null') - .replace(/:\s*-Infinity/g, ': null') - .replace(/:\s*NaN/g, ': null'); - - const parsedData = JSON.parse(safeJsonString); - console.log('Successfully fetched and parsed historical flowsheet JSON blob.'); - // Piggyback onto the existing live-run pipeline! - brodcastMessage({ type: 'flowsheet_runner_result', data: parsedData }); - } catch (parse_err) { - brodcastMessage({ type: 'error', message: `Failed to parse historical JSON run data: ${parse_err}` }); - } - } else { - brodcastMessage({ type: 'error', message: `No historical data found for ${frontendMessage.id || frontendMessage.name}` }); - } - }); + console.log('Successfully fetched and parsed historical flowsheet JSON blob.'); + brodcastMessage({ type: 'flowsheet_runner_result', data: parsedData }); + } catch (e: any) { + brodcastMessage({ type: 'error', message: `Failed to load historical run: ${e.message}` }); + } } break; default: From a4a448e3a09d83de3f2da2db83a502a5c55dd961 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 11:29:57 -0700 Subject: [PATCH 10/36] build html --- .../webview_new/assets/index-BiFXKZBy.css | 1 - .../webview_new/assets/index-D6bYdpOb.css | 1 + .../{index-munTRrqv.js => index-y1-Ja362.js} | 424 +++++++++--------- .../webview_template/webview_new/index.html | 4 +- 4 files changed, 215 insertions(+), 215 deletions(-) delete mode 100644 extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css create mode 100644 extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css rename extension/src/webview_template/webview_new/assets/{index-munTRrqv.js => index-y1-Ja362.js} (89%) diff --git a/extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css b/extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css deleted file mode 100644 index b28b9e6..0000000 --- a/extension/src/webview_template/webview_new/assets/index-BiFXKZBy.css +++ /dev/null @@ -1 +0,0 @@ -*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_v3h5x_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_v3h5x_12,._flowsheet_steps_container_v3h5x_18{display:flex;flex-direction:column;gap:10px}._step_selector_container_v3h5x_24{display:flex;flex-direction:row;gap:10px}._python_env_container_v3h5x_30{margin-bottom:20px}._python_env_label_v3h5x_34{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._dropdown_select_v3h5x_41{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_v3h5x_51{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_v3h5x_58{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_v3h5x_58:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_v3h5x_58:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_v3h5x_86{width:100%}._open_results_view_select_v3h5x_90{width:100%;min-width:200px;height:40px;padding:5px 30px 5px 10px;border:1px solid #05d868;border-radius:5px;color:#05d868;background-color:var(--vscode-sideBar-background);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2305d868' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}._view_switch_container_v3h5x_105{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_v3h5x_105 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_v3h5x_105 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_v3h5x_105 li._active_v3h5x_133{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css b/extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css new file mode 100644 index 0000000..5275317 --- /dev/null +++ b/extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css @@ -0,0 +1 @@ +*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_1cg4x_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_1cg4x_12,._flowsheet_steps_container_1cg4x_18{display:flex;flex-direction:column;gap:10px}._step_selector_container_1cg4x_24{display:flex;flex-direction:row;gap:10px}._python_env_container_1cg4x_30{margin-bottom:20px}._python_env_label_1cg4x_34{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_1cg4x_41{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_1cg4x_49{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_1cg4x_61{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_1cg4x_61:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_1cg4x_61:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_1cg4x_86{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_1cg4x_96{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_1cg4x_103{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_1cg4x_103:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_1cg4x_103:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_1cg4x_131{width:100%}._open_results_view_select_1cg4x_135{width:100%;min-width:200px;height:40px;padding:5px 30px 5px 10px;border:1px solid #05d868;border-radius:5px;color:#05d868;background-color:var(--vscode-sideBar-background);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2305d868' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}._view_switch_container_1cg4x_150{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_1cg4x_150 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_1cg4x_150 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_1cg4x_150 li._active_1cg4x_178{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-munTRrqv.js b/extension/src/webview_template/webview_new/assets/index-y1-Ja362.js similarity index 89% rename from extension/src/webview_template/webview_new/assets/index-munTRrqv.js rename to extension/src/webview_template/webview_new/assets/index-y1-Ja362.js index 70f1421..9c2878b 100644 --- a/extension/src/webview_template/webview_new/assets/index-munTRrqv.js +++ b/extension/src/webview_template/webview_new/assets/index-y1-Ja362.js @@ -1,18 +1,18 @@ -var Rde=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var snt=Rde((lo,co)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var d6={exports:{}},Zy={};var _F;function Nde(){if(_F)return Zy;_F=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Zy.Fragment=e,Zy.jsx=r,Zy.jsxs=r,Zy}var AF;function Mde(){return AF||(AF=1,d6.exports=Nde()),d6.exports}var Le=Mde(),f6={exports:{}},Dr={};var LF;function Ode(){if(LF)return Dr;LF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=x.prototype;function T(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}var E=T.prototype=new C;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function R(){}var k={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(P,H,X){var Z=X.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:X}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(X){return H[X]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(R,R):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,X,Z,j){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,X,Z,j)}}if(Q)return j=j(P),Q=Z===""?"."+D(P,0):Z,_(j)?(X="",Q!=null&&(X=Q.replace(z,"$&/")+"/"),N(j,H,X,"",function(ae){return ae})):j!=null&&($(j)&&(j=F(j,X+(j.key==null||P&&P.key===j.key?"":(""+j.key).replace(z,"$&/")+"/")+Q)),H.push(j)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(X,M))Zi(j,X)?(N[V]=j,N[Z]=M,V=Z):(N[V]=X,N[H]=M,V=H);else if(Zi(j,M))N[V]=j,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,R||(R=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var R=!1,k=-1,L=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():R=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(C(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,R||(R=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(m6)),m6}var NF;function Bde(){return NF||(NF=1,g6.exports=Ide()),g6.exports}var y6={exports:{}},Ma={};var MF;function Pde(){if(MF)return Ma;MF=1;var t=dD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),y6.exports=Pde(),y6.exports}var IF;function $de(){if(IF)return Qy;IF=1;var t=Bde(),e=dD(),r=Fde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function X(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),j=P(null),ee=P(null),Q=P(null);function he(g,y){switch(X(ee,y),X(j,g),X(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?KP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=KP(y),g=ZP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),X(Z,g)}function te(){H(Z),H(j),H(ee)}function ae(g){g.memoizedState!==null&&X(Q,g);var y=Z.current,w=ZP(y,g.type);y!==w&&(X(j,g),X(Z,w))}function ie(g){j.current===g&&(H(Z),H(j)),Q.current===g&&(H(Q),Yy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1()=>(e||t((e={exports:{}}).exports,e),e.exports);var cnt=Rde((lo,co)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var d6={exports:{}},Zy={};var _F;function Nde(){if(_F)return Zy;_F=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Zy.Fragment=e,Zy.jsx=r,Zy.jsxs=r,Zy}var AF;function Mde(){return AF||(AF=1,d6.exports=Nde()),d6.exports}var Ae=Mde(),f6={exports:{}},Dr={};var LF;function Ode(){if(LF)return Dr;LF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=x.prototype;function T(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}var E=T.prototype=new C;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function R(){}var k={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(P,H,X){var Z=X.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:X}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(X){return H[X]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(R,R):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,X,Z,j){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,X,Z,j)}}if(Q)return j=j(P),Q=Z===""?"."+D(P,0):Z,_(j)?(X="",Q!=null&&(X=Q.replace(z,"$&/")+"/"),N(j,H,X,"",function(ae){return ae})):j!=null&&($(j)&&(j=F(j,X+(j.key==null||P&&P.key===j.key?"":(""+j.key).replace(z,"$&/")+"/")+Q)),H.push(j)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(X,M))Zi(j,X)?(N[V]=j,N[Z]=M,V=Z):(N[V]=X,N[H]=M,V=H);else if(Zi(j,M))N[V]=j,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,R||(R=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var R=!1,k=-1,L=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():R=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(C(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,R||(R=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(m6)),m6}var NF;function Bde(){return NF||(NF=1,g6.exports=Ide()),g6.exports}var y6={exports:{}},Oa={};var MF;function Pde(){if(MF)return Oa;MF=1;var t=dD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),y6.exports=Pde(),y6.exports}var IF;function $de(){if(IF)return Qy;IF=1;var t=Bde(),e=dD(),r=Fde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function X(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),j=P(null),ee=P(null),Q=P(null);function he(g,y){switch(X(ee,y),X(j,g),X(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?KP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=KP(y),g=ZP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),X(Z,g)}function te(){H(Z),H(j),H(ee)}function ae(g){g.memoizedState!==null&&X(Q,g);var y=Z.current,w=ZP(y,g.type);y!==w&&(X(j,g),X(Z,w))}function ie(g){j.current===g&&(H(Z),H(j)),Q.current===g&&(H(Q),Yy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1)":-1G||Ve[A]!==ut[G]){var Tt=` -`+Ve[A].replace(" at new "," at ");return g.displayName&&Tt.includes("")&&(Tt=Tt.replace("",g.displayName)),Tt}while(1<=A&&0<=G);break}}}finally{Me=!1,Error.prepareStackTrace=w}return(w=g?g.displayName||g.name:"")?pe(w):""}function He(g,y){switch(g.tag){case 26:case 27:case 5:return pe(g.type);case 16:return pe("Lazy");case 13:return g.child!==y&&y!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return $e(g.type,!1);case 11:return $e(g.type.render,!1);case 1:return $e(g.type,!0);case 31:return pe("Activity");default:return""}}function Ae(g){try{var y="",w=null;do y+=He(g,w),w=g,g=g.return;while(g);return y}catch(A){return` +`+Ve[A].replace(" at new "," at ");return g.displayName&&Tt.includes("")&&(Tt=Tt.replace("",g.displayName)),Tt}while(1<=A&&0<=G);break}}}finally{Me=!1,Error.prepareStackTrace=w}return(w=g?g.displayName||g.name:"")?pe(w):""}function He(g,y){switch(g.tag){case 26:case 27:case 5:return pe(g.type);case 16:return pe("Lazy");case 13:return g.child!==y&&y!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return $e(g.type,!1);case 11:return $e(g.type.render,!1);case 1:return $e(g.type,!0);case 31:return pe("Activity");default:return""}}function Le(g){try{var y="",w=null;do y+=He(g,w),w=g,g=g.return;while(g);return y}catch(A){return` Error generating stack: `+A.message+` -`+A.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var A=g.pendingLanes;if(A===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=A&134217727;return ge!==0?(A=ge&~W,A!==0?G=qe(A):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=A&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=A&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,A,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function Xo(g,y,w,A,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Vn(y)):g.value!==""+Vn(y)&&(g.value=""+Vn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Vn(y)):w!=null?Md(g,re,Vn(w)):A!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Vn(ge):g.removeAttribute("name")}function j0(g,y,w,A,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Vn(w):"",y=y!=null?""+Vn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}A=A??G,A=typeof A!="function"&&typeof A!="symbol"&&!!A,g.checked=ge?g.checked:!!A,g.defaultChecked=!!A,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,A){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,A,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=A}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var A=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(A)||(A=tp,"selectionStart"in A&&TE(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),vy&&yy(vy,A)||(vy=A,A=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),je=W(Eh,je,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return Xr&&kc(rt,Or),fr}for(lr=A(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),Xr&&kc(rt,Or),fr}function Sn(rt,je,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;je!==null;){if(je.key===fr){if(fr=ct.type,fr===v){if(je.tag===7){w(rt,je.sibling),Ct=G(je,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(je.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===L&&Hd(fr)===je.type){w(rt,je.sibling),Ct=G(je,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,je);break}else y(rt,je);je=je.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;je!==null;){if(je.key===fr)if(je.tag===4&&je.stateNode.containerInfo===ct.containerInfo&&je.stateNode.implementation===ct.implementation){w(rt,je.sibling),Ct=G(je,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,je);break}else y(rt,je);je=je.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case L:return ct=Hd(ct),Sn(rt,je,ct,Ct)}if(I(ct))return ir(rt,je,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,je,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,je,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,je,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,je!==null&&je.tag===6?(w(rt,je.sibling),Ct=G(je,ct),Ct.return=rt,rt=Ct):(w(rt,je),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,je)}return function(rt,je,ct,Ct){try{Cy=0;var fr=Sn(rt,je,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===jx)throw lr;var rn=Xs(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var A=g.updateQueue;if(A===null)return null;if(A=A.shared,(un&2)!==0){var G=A.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),A.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,A,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,A=g.alternate;if(A!==null&&(A=A.updateQueue,w===A)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:A.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:A.shared,callbacks:A.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,A){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(A&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,A);Ry(g,y,Tt,Js(g))}else Ry(g,y,A,Js(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Js())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,A){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(A)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Js())}function ck(){return ga(Yy)}function SB(){return wi().memoizedState}function EB(){return wi().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Js();g=ch(w);var A=uh(y,g,w);A!==null&&(_s(A,y,w),Ey(A,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var A=Js();w={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,A),w!==null&&(_s(w,g,A),AB(w,y,A)))}function kB(g,y,w){var A=Js();Ry(g,y,w,A)}function Ry(g,y,w,A){var G={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ys(ge,re))return Vx(g,y,G,0),An===null&&qx(),!1}catch{}if(w=_E(g,y,G,A),w!==null)return _s(w,g,A),AB(w,y,A),!0}return!1}function uk(g,y,w,A){if(A={lane:2,revertLane:Vk(),gesture:null,action:A,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,A,2),y!==null&&_s(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}var Dy={readContext:ga,use:i4,useCallback:di,useContext:di,useEffect:di,useImperativeHandle:di,useLayoutEffect:di,useInsertionEffect:di,useMemo:di,useReducer:di,useRef:di,useState:di,useDebugValue:di,useDeferredValue:di,useTransition:di,useSyncExternalStore:di,useId:di,useHostTransitionStatus:di,useFormState:di,useActionState:di,useOptimistic:di,useMemoCache:di,useCacheRefresh:di};Dy.useEffectEvent=di;var LB={readContext:ga,use:i4,useCallback:function(g,y){return ja().memoizedState=[g,y===void 0?null:y],g},useContext:ga,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=ja();y=y===void 0?null:y;var A=g();if(Xd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[A,y],A},useReducer:function(g,y,w){var A=ja();if(w!==void 0){var G=w(y);if(Xd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return A.memoizedState=A.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},A.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[A.memoizedState,g]},useRef:function(g){var y=ja();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=ja();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),ja().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var A=Mr,G=ja();if(Xr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),An===null)throw Error(n(349));(Hr&127)!==0||KI(A,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,A,W,g),[g]),A.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,A,W,w,y),null),w},useId:function(){var g=ja(),y=An.identifierPrefix;if(Xr){var w=Al,A=_l;w=(A&~(1<<32-we(A)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof A.is=="string"?re.createElement("select",{is:A.is}):re.createElement("select"),A.multiple?W.multiple=!0:A.size&&(W.size=A.size);break;default:W=typeof A.is=="string"?re.createElement(G,{is:A.is}):re.createElement(G)}}W[nt]=y,W[st]=A;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(ya(W,G,A),G){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break e;case"img":A=!0;break e;default:A=!1}A&&Nc(y)}}return Fn(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==A&&Nc(y);else{if(typeof A!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,A=null,G=pa,G!==null)switch(G.tag){case 27:case 5:A=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||A!==null&&A.suppressHydrationWarning===!0||XP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(A),g[nt]=y,y.stateNode=g}return Fn(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(A=op(y),w!==null){if(g===null){if(!A)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Ks(y),y):(Ks(y),null);if((y.flags&128)!==0)throw Error(n(558))}return Fn(y),null;case 13:if(A=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),A!==null&&A.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Ks(y),y):(Ks(y),null)}return Ks(y),(y.flags&128)!==0?(y.lanes=w,y):(w=A!==null,g=g!==null&&g.memoizedState!==null,w&&(A=y.child,G=null,A.alternate!==null&&A.alternate.memoizedState!==null&&A.alternate.memoizedState.cachePool!==null&&(G=A.alternate.memoizedState.cachePool.pool),W=null,A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(W=A.memoizedState.cachePool.pool),W!==G&&(A.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),Fn(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),Fn(y),null;case 10:return Ac(y.type),Fn(y),null;case 19:if(H(Ti),A=y.memoizedState,A===null)return Fn(y),null;if(G=(y.flags&128)!==0,W=A.rendering,W===null)if(G)My(A,!1);else{if(fi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(A,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return X(Ti,Ti.current&1|2),Xr&&kc(y,A.treeForkCount),y.child}g=g.sibling}A.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(A,!0),A.tail===null&&A.tailMode==="hidden"&&!W.alternate&&!Xr)return Fn(y),null}else 2*Ge()-A.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304);A.isBackwards?(W.sibling=y.child,y.child=W):(g=A.last,g!==null?g.sibling=W:y.child=W,A.last=W)}return A.tail!==null?(g=A.tail,A.rendering=g,A.tail=g.sibling,A.renderingStartTime=Ge(),g.sibling=null,w=Ti.current,X(Ti,G?w&1|2:w&1),Xr&&kc(y,A.treeForkCount),g):(Fn(y),null);case 22:case 23:return Ks(y),YE(),A=y.memoizedState!==null,g!==null?g.memoizedState!==null!==A&&(y.flags|=8192):A&&(y.flags|=8192),A?(w&536870912)!==0&&(y.flags&128)===0&&(Fn(y),y.subtreeFlags&6&&(y.flags|=8192)):Fn(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),A=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(A=y.memoizedState.cachePool.pool),A!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Ri),Fn(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Ri),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Ks(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Ks(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(Ti),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Ks(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Ri),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Ri),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Ks(y);break;case 13:Ks(y);break;case 19:H(Ti);break;case 10:Ac(y.type);break;case 22:case 23:Ks(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Ri)}}function Oy(g,y){try{var w=y.updateQueue,A=w!==null?w.lastEffect:null;if(A!==null){var G=A.next;w=G;do{if((w.tag&g)===g){A=void 0;var W=w.create,re=w.inst;A=W(),re.destroy=A}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var A=y.updateQueue,G=A!==null?A.lastEffect:null;if(G!==null){var W=G.next;A=W;do{if((A.tag&g)===g){var re=A.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}A=A.next}while(A!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(A){xn(g,g.return,A)}}}function tP(g,y,w){w.props=jd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(A){xn(g,y,A)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var A=g.stateNode;break;case 30:A=g.stateNode;break;default:A=g.stateNode}typeof w=="function"?g.refCleanup=w(A):w.current=A}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,A=g.refCleanup;if(w!==null)if(typeof A=="function")try{A()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,A=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&A.focus();break e;case"img":w.src?A.src=w.src:w.srcSet&&(A.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var A=g.stateNode;Jhe(A,g.type,w,y),A[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=Ts));else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var A=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);ya(y,A,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Mi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,ia=null;function Nhe(g,y){if(g=g.containerInfo,jk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var A=w.getSelection&&w.getSelection();if(A&&A.rangeCount!==0){w=A.anchorNode;var G=A.anchorOffset,W=A.focusNode;A=A.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||A!==0&&_t.nodeType!==3||(Ve=re+A),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===A&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,ia=y;ia!==null;)if(y=ia,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,ia=g;else for(;ia!==null;){switch(y=ia,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),ya(W,A,w),W[nt]=g,Cr(W),A=W;break e;case"link":var re=hF("link","href",G).get(A+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),je=gI(ge,Sn);if(rt&&je&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==je.node||yt.focusOffset!==je.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(je.node,je.offset)):(ct.setEnd(je.node,je.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!jk,Kk=jk=null}finally{un=G,B.p=A,N.T=w}}g.current=y,Hi=2}}function NP(){if(Hi===2){Hi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var A=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=A,N.T=w}}Hi=3}}function MP(){if(Hi===4||Hi===3){Hi=0,De();var g=yh,y=Tp,w=Fc,A=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Hi=5:(Hi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(A!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Hi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=A,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var A=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&(mh===null||!mh.has(A))){g=Co(w,g),w=PB(2),A=uh(y,w,2),A!==null&&(FB(w,A,y,g),At(A,2),Rl(A));break}}y=y.return}}function $k(g,y,w){var A=g.pingCache;if(A===null){A=g.pingCache=new Ihe;var G=new Set;A.set(y,G)}else G=A.get(y),G===void 0&&(G=new Set,A.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var A=g.pingCache;A!==null&&A.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,An===g&&(Hr&w)===w&&(fi===4||fi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var A=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:A=g.stateNode;break;case 22:A=g.stateNode._retryCache;break;default:throw Error(n(314))}A!==null&&A.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,A=S4;A!==null;){if(g!==0){var G=A.pendingLanes;if(G===0)var W=0;else{var re=A.suspendedLanes,ge=A.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(A,W))}else W=Hr,W=lt(A,A===An?W:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),(W&3)===0||ve(A,W)||(w=!0,qP(A,W));A=A.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,A=S4;A!==null;){var G=A.next,W=$P(A,y);W===0?(A.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=A,(g!==0||(W&3)!==0)&&(E4=!0)),A=G}Hi!==0&&Hi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,A=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&jP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var A=Ep;if(A&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},A.querySelector(G)===null&&(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var A=Ep;if(A&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),A.querySelector(G)!==null||y==="style"&&A.querySelector(Hy(W))||y==="script"&&A.querySelector(Wy(W))||(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var A=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(A)+'"][href="'+cn(g)+'"]',W=G;switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}A=w.createElement("link"),ya(A,"link",g),Cr(A),w.head.appendChild(A)}}}function pde(g,y,w){$c.S(g,y,w);var A=Ep;if(A&&g){var G=_r(A).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=A.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=A.createElement("link");Cr(Ve),ya(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,A)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function lF(g,y,w,A){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,A=w.get(y),A||(A={type:"style",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&A===null)throw Error(n(528,""));return re}if(y&&A!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,A=w.get(y),A||(A={type:"script",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,A){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?A.loading=1:(y=g.createElement("link"),A.preload=y,y.addEventListener("load",function(){return A.loading|=1}),y.addEventListener("error",function(){return A.loading|=2}),ya(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var A=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(A)return y.instance=A,Cr(A),A;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return A=(g.ownerDocument||g).createElement("style"),Cr(A),ya(A,"style",G),R4(A,w.precedence,g),y.instance=A;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;A=cF(w),(G=Lo.get(G))&&n6(A,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(A=w,(G=Lo.get(W))&&(A=d({},w),i6(A,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),ya(G,"link",A),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(A=y.instance,y.state.loading|=4,R4(A,w.precedence,g));return y.instance}function R4(g,y,w){for(var A=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=A.length?A[A.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,A){if(w.type==="stylesheet"&&(typeof A.media!="string"||matchMedia(A.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(A.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,A=cF(A),(G=Lo.get(G))&&n6(A,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(A),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var A=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Ra=Kt.createContext({});function Vde({children:t}){const[e,r]=Kt.useState(!0),[n,i]=Kt.useState({classname:"",steps:[]}),[a,s]=Kt.useState([]),[o,l]=Kt.useState(!1),[u,h]=Kt.useState(null),[d,f]=Kt.useState(""),[p,m]=Kt.useState(""),[v,b]=Kt.useState(""),[x,C]=Kt.useState(null),[T,E]=Kt.useState([]),[_,R]=Kt.useState([]),[k,L]=Kt.useState("error"),[O,F]=Kt.useState(null),[$,q]=Kt.useState([]),[z,D]=Kt.useState(null),[I,N]=Kt.useState(""),[B,M]=Kt.useState(null);return Le.jsx(Ra.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:R,activeLogTab:k,setActiveLogTab:L,initError:O,setInitError:F,openPythonFiles:$,setOpenPythonFiles:q,idaesHistoryList:z,setIdaesHistoryList:D,osPlatform:I,setOsPlatform:N,pythonEnvInfo:B,setPythonEnvInfo:M},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_v3h5x_1",Hde="_flowsheet_steps_main_container_v3h5x_12",Wde="_step_selector_container_v3h5x_24",Yde="_python_env_container_v3h5x_30",Xde="_python_env_label_v3h5x_34",jde="_dropdown_select_v3h5x_41",Kde="_step_selector_checkbox_v3h5x_58",Zde="_open_results_view_container_v3h5x_86",Qde="_open_results_view_select_v3h5x_90",Jde="_view_switch_container_v3h5x_105",efe="_active_v3h5x_133",Rs={tree_app_container:Ude,flowsheet_steps_main_container:Hde,step_selector_container:Wde,python_env_container:Yde,python_env_label:Xde,dropdown_select:jde,step_selector_checkbox:Kde,open_results_view_container:Zde,open_results_view_select:Qde,view_switch_container:Jde,active:efe},tfe="_config_title_8m99f_1",rfe="_config_control_8m99f_7",nfe="_update_button_8m99f_20",ife="_button_group_8m99f_25",afe="_cancel_button_8m99f_31",kh={config_title:tfe,config_control:rfe,update_button:nfe,button_group:ife,cancel_button:afe};function sfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=Kt.useContext(Ra),[i,a]=Kt.useState(null);Kt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return Kt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Le.jsxs("div",{children:[Le.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Le.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Le.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Le.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Le.jsxs("div",{className:`${kh.config_control}`,children:[Le.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Le.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Le.jsxs("div",{className:`${kh.button_group}`,children:[Le.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Le.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const ofe="_run_flowsheet_section_ajmxp_1",lfe="_run_flowsheet_button_container_ajmxp_4",cfe="_run_flowsheet_button_ajmxp_4",ufe="_run_flowsheet_animation_container_ajmxp_28",hfe="_running_time_container_ajmxp_35",dfe="_running_timer_container_hidden_ajmxp_42",ffe="_running_time_label_ajmxp_46",pfe="_running_dots_ajmxp_50",gfe="_running_time_ajmxp_35",mfe="_cancel_flowsheet_run_btn_ajmxp_60",yfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:ofe,run_flowsheet_button_container:lfe,run_flowsheet_button:cfe,run_flowsheet_animation_container:ufe,running_time_container:hfe,running_timer_container_hidden:dfe,running_time_label:ffe,running_dots:pfe,running_time:gfe,cancel_flowsheet_run_btn:mfe,cancel_flowsheet_run_btn_hidden:yfe};function vfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=Kt.useContext(Ra),[l,u]=Kt.useState(0),[h,d]=Kt.useState("."),[f,p]=Kt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};Kt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),Kt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Le.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Le.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Le.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Le.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Le.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Le.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Le.jsx("button",{onClick:()=>v(),className:` +`+A.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var A=g.pendingLanes;if(A===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=A&134217727;return ge!==0?(A=ge&~W,A!==0?G=qe(A):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=A&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=A&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,A,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function Xo(g,y,w,A,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Vn(y)):g.value!==""+Vn(y)&&(g.value=""+Vn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Vn(y)):w!=null?Md(g,re,Vn(w)):A!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Vn(ge):g.removeAttribute("name")}function j0(g,y,w,A,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Vn(w):"",y=y!=null?""+Vn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}A=A??G,A=typeof A!="function"&&typeof A!="symbol"&&!!A,g.checked=ge?g.checked:!!A,g.defaultChecked=!!A,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,A){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,A,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=A}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var A=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(A)||(A=tp,"selectionStart"in A&&TE(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),vy&&yy(vy,A)||(vy=A,A=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),je=W(Eh,je,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return Xr&&kc(rt,Or),fr}for(lr=A(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),Xr&&kc(rt,Or),fr}function Sn(rt,je,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;je!==null;){if(je.key===fr){if(fr=ct.type,fr===v){if(je.tag===7){w(rt,je.sibling),Ct=G(je,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(je.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===L&&Hd(fr)===je.type){w(rt,je.sibling),Ct=G(je,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,je);break}else y(rt,je);je=je.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;je!==null;){if(je.key===fr)if(je.tag===4&&je.stateNode.containerInfo===ct.containerInfo&&je.stateNode.implementation===ct.implementation){w(rt,je.sibling),Ct=G(je,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,je);break}else y(rt,je);je=je.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case L:return ct=Hd(ct),Sn(rt,je,ct,Ct)}if(I(ct))return ir(rt,je,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,je,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,je,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,je,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,je!==null&&je.tag===6?(w(rt,je.sibling),Ct=G(je,ct),Ct.return=rt,rt=Ct):(w(rt,je),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,je)}return function(rt,je,ct,Ct){try{Cy=0;var fr=Sn(rt,je,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===jx)throw lr;var rn=Xs(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var A=g.updateQueue;if(A===null)return null;if(A=A.shared,(un&2)!==0){var G=A.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),A.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,A,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,A=g.alternate;if(A!==null&&(A=A.updateQueue,w===A)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:A.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:A.shared,callbacks:A.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,A){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(A&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,A);Ry(g,y,Tt,Js(g))}else Ry(g,y,A,Js(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Js())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,A){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(A)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Js())}function ck(){return ga(Yy)}function SB(){return wi().memoizedState}function EB(){return wi().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Js();g=ch(w);var A=uh(y,g,w);A!==null&&(As(A,y,w),Ey(A,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var A=Js();w={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,A),w!==null&&(As(w,g,A),AB(w,y,A)))}function kB(g,y,w){var A=Js();Ry(g,y,w,A)}function Ry(g,y,w,A){var G={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ys(ge,re))return Vx(g,y,G,0),An===null&&qx(),!1}catch{}if(w=_E(g,y,G,A),w!==null)return As(w,g,A),AB(w,y,A),!0}return!1}function uk(g,y,w,A){if(A={lane:2,revertLane:Vk(),gesture:null,action:A,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,A,2),y!==null&&As(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}var Dy={readContext:ga,use:i4,useCallback:di,useContext:di,useEffect:di,useImperativeHandle:di,useLayoutEffect:di,useInsertionEffect:di,useMemo:di,useReducer:di,useRef:di,useState:di,useDebugValue:di,useDeferredValue:di,useTransition:di,useSyncExternalStore:di,useId:di,useHostTransitionStatus:di,useFormState:di,useActionState:di,useOptimistic:di,useMemoCache:di,useCacheRefresh:di};Dy.useEffectEvent=di;var LB={readContext:ga,use:i4,useCallback:function(g,y){return Ka().memoizedState=[g,y===void 0?null:y],g},useContext:ga,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=Ka();y=y===void 0?null:y;var A=g();if(Xd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[A,y],A},useReducer:function(g,y,w){var A=Ka();if(w!==void 0){var G=w(y);if(Xd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return A.memoizedState=A.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},A.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[A.memoizedState,g]},useRef:function(g){var y=Ka();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=Ka();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),Ka().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var A=Mr,G=Ka();if(Xr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),An===null)throw Error(n(349));(Hr&127)!==0||KI(A,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,A,W,g),[g]),A.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,A,W,w,y),null),w},useId:function(){var g=Ka(),y=An.identifierPrefix;if(Xr){var w=Al,A=_l;w=(A&~(1<<32-we(A)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof A.is=="string"?re.createElement("select",{is:A.is}):re.createElement("select"),A.multiple?W.multiple=!0:A.size&&(W.size=A.size);break;default:W=typeof A.is=="string"?re.createElement(G,{is:A.is}):re.createElement(G)}}W[nt]=y,W[st]=A;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(ya(W,G,A),G){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break e;case"img":A=!0;break e;default:A=!1}A&&Nc(y)}}return Fn(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==A&&Nc(y);else{if(typeof A!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,A=null,G=pa,G!==null)switch(G.tag){case 27:case 5:A=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||A!==null&&A.suppressHydrationWarning===!0||XP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(A),g[nt]=y,y.stateNode=g}return Fn(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(A=op(y),w!==null){if(g===null){if(!A)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Ks(y),y):(Ks(y),null);if((y.flags&128)!==0)throw Error(n(558))}return Fn(y),null;case 13:if(A=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),A!==null&&A.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Ks(y),y):(Ks(y),null)}return Ks(y),(y.flags&128)!==0?(y.lanes=w,y):(w=A!==null,g=g!==null&&g.memoizedState!==null,w&&(A=y.child,G=null,A.alternate!==null&&A.alternate.memoizedState!==null&&A.alternate.memoizedState.cachePool!==null&&(G=A.alternate.memoizedState.cachePool.pool),W=null,A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(W=A.memoizedState.cachePool.pool),W!==G&&(A.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),Fn(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),Fn(y),null;case 10:return Ac(y.type),Fn(y),null;case 19:if(H(Ti),A=y.memoizedState,A===null)return Fn(y),null;if(G=(y.flags&128)!==0,W=A.rendering,W===null)if(G)My(A,!1);else{if(fi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(A,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return X(Ti,Ti.current&1|2),Xr&&kc(y,A.treeForkCount),y.child}g=g.sibling}A.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(A,!0),A.tail===null&&A.tailMode==="hidden"&&!W.alternate&&!Xr)return Fn(y),null}else 2*Ge()-A.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304);A.isBackwards?(W.sibling=y.child,y.child=W):(g=A.last,g!==null?g.sibling=W:y.child=W,A.last=W)}return A.tail!==null?(g=A.tail,A.rendering=g,A.tail=g.sibling,A.renderingStartTime=Ge(),g.sibling=null,w=Ti.current,X(Ti,G?w&1|2:w&1),Xr&&kc(y,A.treeForkCount),g):(Fn(y),null);case 22:case 23:return Ks(y),YE(),A=y.memoizedState!==null,g!==null?g.memoizedState!==null!==A&&(y.flags|=8192):A&&(y.flags|=8192),A?(w&536870912)!==0&&(y.flags&128)===0&&(Fn(y),y.subtreeFlags&6&&(y.flags|=8192)):Fn(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),A=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(A=y.memoizedState.cachePool.pool),A!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Ri),Fn(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Ri),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Ks(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Ks(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(Ti),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Ks(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Ri),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Ri),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Ks(y);break;case 13:Ks(y);break;case 19:H(Ti);break;case 10:Ac(y.type);break;case 22:case 23:Ks(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Ri)}}function Oy(g,y){try{var w=y.updateQueue,A=w!==null?w.lastEffect:null;if(A!==null){var G=A.next;w=G;do{if((w.tag&g)===g){A=void 0;var W=w.create,re=w.inst;A=W(),re.destroy=A}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var A=y.updateQueue,G=A!==null?A.lastEffect:null;if(G!==null){var W=G.next;A=W;do{if((A.tag&g)===g){var re=A.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}A=A.next}while(A!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(A){xn(g,g.return,A)}}}function tP(g,y,w){w.props=jd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(A){xn(g,y,A)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var A=g.stateNode;break;case 30:A=g.stateNode;break;default:A=g.stateNode}typeof w=="function"?g.refCleanup=w(A):w.current=A}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,A=g.refCleanup;if(w!==null)if(typeof A=="function")try{A()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,A=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&A.focus();break e;case"img":w.src?A.src=w.src:w.srcSet&&(A.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var A=g.stateNode;Jhe(A,g.type,w,y),A[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=ws));else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var A=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);ya(y,A,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Mi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,ia=null;function Nhe(g,y){if(g=g.containerInfo,jk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var A=w.getSelection&&w.getSelection();if(A&&A.rangeCount!==0){w=A.anchorNode;var G=A.anchorOffset,W=A.focusNode;A=A.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||A!==0&&_t.nodeType!==3||(Ve=re+A),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===A&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,ia=y;ia!==null;)if(y=ia,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,ia=g;else for(;ia!==null;){switch(y=ia,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),ya(W,A,w),W[nt]=g,Cr(W),A=W;break e;case"link":var re=hF("link","href",G).get(A+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),je=gI(ge,Sn);if(rt&&je&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==je.node||yt.focusOffset!==je.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(je.node,je.offset)):(ct.setEnd(je.node,je.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!jk,Kk=jk=null}finally{un=G,B.p=A,N.T=w}}g.current=y,Hi=2}}function NP(){if(Hi===2){Hi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var A=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=A,N.T=w}}Hi=3}}function MP(){if(Hi===4||Hi===3){Hi=0,De();var g=yh,y=Tp,w=Fc,A=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Hi=5:(Hi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(A!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Hi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=A,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var A=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&(mh===null||!mh.has(A))){g=Co(w,g),w=PB(2),A=uh(y,w,2),A!==null&&(FB(w,A,y,g),At(A,2),Rl(A));break}}y=y.return}}function $k(g,y,w){var A=g.pingCache;if(A===null){A=g.pingCache=new Ihe;var G=new Set;A.set(y,G)}else G=A.get(y),G===void 0&&(G=new Set,A.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var A=g.pingCache;A!==null&&A.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,An===g&&(Hr&w)===w&&(fi===4||fi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var A=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:A=g.stateNode;break;case 22:A=g.stateNode._retryCache;break;default:throw Error(n(314))}A!==null&&A.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,A=S4;A!==null;){if(g!==0){var G=A.pendingLanes;if(G===0)var W=0;else{var re=A.suspendedLanes,ge=A.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(A,W))}else W=Hr,W=lt(A,A===An?W:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),(W&3)===0||ve(A,W)||(w=!0,qP(A,W));A=A.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,A=S4;A!==null;){var G=A.next,W=$P(A,y);W===0?(A.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=A,(g!==0||(W&3)!==0)&&(E4=!0)),A=G}Hi!==0&&Hi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,A=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&jP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var A=Ep;if(A&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},A.querySelector(G)===null&&(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var A=Ep;if(A&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),A.querySelector(G)!==null||y==="style"&&A.querySelector(Hy(W))||y==="script"&&A.querySelector(Wy(W))||(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var A=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(A)+'"][href="'+cn(g)+'"]',W=G;switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}A=w.createElement("link"),ya(A,"link",g),Cr(A),w.head.appendChild(A)}}}function pde(g,y,w){$c.S(g,y,w);var A=Ep;if(A&&g){var G=_r(A).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=A.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=A.createElement("link");Cr(Ve),ya(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,A)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function lF(g,y,w,A){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,A=w.get(y),A||(A={type:"style",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&A===null)throw Error(n(528,""));return re}if(y&&A!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,A=w.get(y),A||(A={type:"script",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,A){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?A.loading=1:(y=g.createElement("link"),A.preload=y,y.addEventListener("load",function(){return A.loading|=1}),y.addEventListener("error",function(){return A.loading|=2}),ya(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var A=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(A)return y.instance=A,Cr(A),A;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return A=(g.ownerDocument||g).createElement("style"),Cr(A),ya(A,"style",G),R4(A,w.precedence,g),y.instance=A;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;A=cF(w),(G=Lo.get(G))&&n6(A,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(A=w,(G=Lo.get(W))&&(A=d({},w),i6(A,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),ya(G,"link",A),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(A=y.instance,y.state.loading|=4,R4(A,w.precedence,g));return y.instance}function R4(g,y,w){for(var A=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=A.length?A[A.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,A){if(w.type==="stylesheet"&&(typeof A.media!="string"||matchMedia(A.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(A.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,A=cF(A),(G=Lo.get(G))&&n6(A,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(A),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var A=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Da=Kt.createContext({});function Vde({children:t}){const[e,r]=Kt.useState(!0),[n,i]=Kt.useState({classname:"",steps:[]}),[a,s]=Kt.useState([]),[o,l]=Kt.useState(!1),[u,h]=Kt.useState(null),[d,f]=Kt.useState(""),[p,m]=Kt.useState(""),[v,b]=Kt.useState(""),[x,C]=Kt.useState(null),[T,E]=Kt.useState([]),[_,R]=Kt.useState([]),[k,L]=Kt.useState("error"),[O,F]=Kt.useState(null),[$,q]=Kt.useState([]),[z,D]=Kt.useState(null),[I,N]=Kt.useState(""),[B,M]=Kt.useState(null);return Ae.jsx(Da.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:R,activeLogTab:k,setActiveLogTab:L,initError:O,setInitError:F,openPythonFiles:$,setOpenPythonFiles:q,idaesHistoryList:z,setIdaesHistoryList:D,osPlatform:I,setOsPlatform:N,pythonEnvInfo:B,setPythonEnvInfo:M},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_1cg4x_1",Hde="_flowsheet_steps_main_container_1cg4x_12",Wde="_step_selector_container_1cg4x_24",Yde="_python_env_container_1cg4x_30",Xde="_python_env_label_1cg4x_34",jde="_python_env_actions_1cg4x_41",Kde="_python_env_path_text_1cg4x_49",Zde="_python_env_icon_btn_1cg4x_61",Qde="_dropdown_select_1cg4x_86",Jde="_step_selector_checkbox_1cg4x_103",efe="_open_results_view_container_1cg4x_131",tfe="_open_results_view_select_1cg4x_135",rfe="_view_switch_container_1cg4x_150",nfe="_active_1cg4x_178",Ca={tree_app_container:Ude,flowsheet_steps_main_container:Hde,step_selector_container:Wde,python_env_container:Yde,python_env_label:Xde,python_env_actions:jde,python_env_path_text:Kde,python_env_icon_btn:Zde,dropdown_select:Qde,step_selector_checkbox:Jde,open_results_view_container:efe,open_results_view_select:tfe,view_switch_container:rfe,active:nfe},ife="_config_title_8m99f_1",afe="_config_control_8m99f_7",sfe="_update_button_8m99f_20",ofe="_button_group_8m99f_25",lfe="_cancel_button_8m99f_31",kh={config_title:ife,config_control:afe,update_button:sfe,button_group:ofe,cancel_button:lfe};function cfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=Kt.useContext(Da),[i,a]=Kt.useState(null);Kt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return Kt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Ae.jsxs("div",{children:[Ae.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Ae.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Ae.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Ae.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Ae.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.button_group}`,children:[Ae.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Ae.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const ufe="_run_flowsheet_section_ajmxp_1",hfe="_run_flowsheet_button_container_ajmxp_4",dfe="_run_flowsheet_button_ajmxp_4",ffe="_run_flowsheet_animation_container_ajmxp_28",pfe="_running_time_container_ajmxp_35",gfe="_running_timer_container_hidden_ajmxp_42",mfe="_running_time_label_ajmxp_46",yfe="_running_dots_ajmxp_50",vfe="_running_time_ajmxp_35",bfe="_cancel_flowsheet_run_btn_ajmxp_60",xfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:ufe,run_flowsheet_button_container:hfe,run_flowsheet_button:dfe,run_flowsheet_animation_container:ffe,running_time_container:pfe,running_timer_container_hidden:gfe,running_time_label:mfe,running_dots:yfe,running_time:vfe,cancel_flowsheet_run_btn:bfe,cancel_flowsheet_run_btn_hidden:xfe};function Tfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=Kt.useContext(Da),[l,u]=Kt.useState(0),[h,d]=Kt.useState("."),[f,p]=Kt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};Kt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),Kt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Ae.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Ae.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Ae.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Ae.jsx("button",{onClick:()=>v(),className:` ${r?Ro.cancel_flowsheet_run_btn:Ro.cancel_flowsheet_run_btn_hidden} - `,children:"Cancel"}),Le.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Le.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Le.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Le.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:Le.jsxs("div",{className:` + `,children:"Cancel"}),Ae.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Ae.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Ae.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Ae.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:Ae.jsxs("div",{className:` ${r?Ro.running_time_container:Ro.running_timer_container_hidden} - `,children:[Le.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Le.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Le.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const bfe="_navContainer_1o0u5_1",xfe={navContainer:bfe};function Tfe({setShowConfig:t}){return Le.jsx("nav",{className:xfe.navContainer,children:Le.jsx(vfe,{setShowConfig:t})})}function wfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,openPythonFiles:a,activateFileName:s,pythonEnvInfo:o}=Kt.useContext(Ra),[l,u]=Kt.useState([]),h=v=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:v})},d=v=>{const b=v.target.value;b&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:b})},f=v=>{const b=v.target.value;b&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:b})},p=(v,b)=>{let x=[];v.target.checked?x=Array.from({length:b+1},(T,E)=>E):(x=Array.from({length:b},(T,E)=>E),x=x.sort((T,E)=>T-E)),u(x);const C=x.map(T=>t.steps[T]).filter(Boolean);r(C)},m=()=>{if(n)return console.log("loading idaes-extension-steps"),Le.jsx("div",{children:Le.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Le.jsx("div",{style:{padding:"10px",backgroundColor:"var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, 0.1))",border:"1px solid var(--vscode-inputValidation-errorBorder, red)",color:"var(--vscode-errorForeground, red)",borderRadius:"4px",marginTop:"15px"},children:Le.jsx("p",{style:{margin:0,fontWeight:"bold",whiteSpace:"pre-wrap"},children:i})});if(!t)return Le.jsx("div",{children:Le.jsx("p",{children:"Loading config data..."})});const v=Object.keys(t);if(!v.includes("steps"))return Le.jsxs("div",{children:[Le.jsx("h2",{children:"Steps Display"}),Le.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(v.includes("steps")&&v.length===0)return Le.jsxs("div",{children:[Le.jsx("h2",{children:"Step Display"}),Le.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(v.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((x,C)=>Le.jsxs("div",{className:`${Rs.step_selector_container}`,children:[Le.jsx("input",{type:"checkbox",id:`step_${C}`,className:`${Rs.step_selector_checkbox}`,checked:l.includes(C),onChange:T=>p(T,C)}),Le.jsx("label",{htmlFor:`${C}`,children:x})]},x+C))};return Kt.useEffect(()=>{console.log("Selected steps:",l)},[l]),Le.jsxs("div",{className:`${Rs.flowsheet_steps_main_container}`,children:[Le.jsxs("div",{style:{marginBottom:"20px"},children:[Le.jsx("label",{style:{display:"block",margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Flowsheet to inspect:"}),Le.jsxs("select",{className:Rs.dropdown_select,onChange:d,value:a?.find(v=>v.name===s)?.path||"",children:[Le.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),a?.map((v,b)=>Le.jsx("option",{value:v.path,children:v.name},b))]}),Le.jsx("p",{style:{margin:"5px 0 0 0",fontSize:"11px",color:"var(--vscode-descriptionForeground, #cccccc)",fontStyle:"italic"},children:"Open the flowsheet in editor to select"})]}),Le.jsxs("div",{className:Rs.python_env_container,children:[Le.jsx("label",{className:Rs.python_env_label,children:"Current Python:"}),Le.jsxs("select",{className:Rs.dropdown_select,onChange:f,value:o?.current?.path||"",children:[Le.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),o?.envs.map((v,b)=>Le.jsx("option",{value:v.path,children:v.label},b))]})]}),Le.jsx("p",{style:{margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Select Steps to Run:"}),Le.jsx("div",{className:`${Rs.steps_container}`,children:m()}),Le.jsxs("div",{style:{marginTop:"15px",display:"flex",flexDirection:"column",gap:"15px"},children:[Le.jsx(Tfe,{setShowConfig:e}),Le.jsx("div",{className:`${Rs.open_results_view_container}`,children:Le.jsx("button",{className:`${Rs.open_results_view_select}`,style:{width:"100%",padding:"8px",backgroundColor:"transparent",border:"1px solid var(--vscode-editor-foreground)",color:"var(--vscode-editor-foreground)",cursor:"pointer",borderRadius:"4px",display:"flex",justifyContent:"center",alignItems:"center",gap:"8px",backgroundImage:"none"},onClick:()=>h("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Cfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=Kt.useContext(Ra),[n,i]=Kt.useState(!1);return Kt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Le.jsxs(Le.Fragment,{children:[Le.jsxs("h2",{children:["Current Files is: ",e]}),Le.jsx("div",{style:{display:n?"block":"none"},children:Le.jsx(sfe,{setShowConfig:i})}),Le.jsx("div",{style:{display:n?"none":"block"},children:Le.jsx(wfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Sfe="_container_1qs3w_1",Efe="_controlBar_1qs3w_10",kfe="_searchBox_1qs3w_18",_fe="_actionGroup_1qs3w_42",Afe="_runCount_1qs3w_50",Lfe="_tableContainer_1qs3w_70",Rfe="_headerRow_1qs3w_76",Dfe="_dataRowContainer_1qs3w_89",Nfe="_dataRow_1qs3w_89",Mfe="_colStatus_1qs3w_119",Ofe="_colTime_1qs3w_124",Ife="_colTags_1qs3w_128",Bfe="_tagBadge_1qs3w_134",Pfe="_emptyMessage_1qs3w_143",Ffe="_cssTooltip_1qs3w_175",$fe="_colFlowsheet_1qs3w_211",zfe="_flowsheetText_1qs3w_216",qfe="_pathTooltip_1qs3w_225",Dn={container:Sfe,controlBar:Efe,searchBox:kfe,actionGroup:_fe,runCount:Afe,tableContainer:Lfe,headerRow:Rfe,dataRowContainer:Dfe,dataRow:Nfe,colStatus:Mfe,colTime:Ofe,colTags:Ife,tagBadge:Bfe,emptyMessage:Pfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Ffe,colFlowsheet:$fe,flowsheetText:zfe,pathTooltip:qfe};function Vfe(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function Gfe(){const{idaesHistoryList:t}=Kt.useContext(Ra),[e,r]=Kt.useState(""),n=Kt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Le.jsxs("div",{className:Dn.container,children:[Le.jsxs("div",{className:Dn.controlBar,children:[Le.jsx("input",{type:"text",className:Dn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Le.jsx("div",{className:Dn.actionGroup,children:Le.jsxs("span",{className:Dn.runCount,children:["Runs: ",n.length]})})]}),Le.jsxs("div",{className:Dn.tableContainer,children:[Le.jsxs("div",{className:Dn.headerRow,children:[Le.jsx("div",{className:Dn.colStatus,children:"Status"}),Le.jsx("div",{className:Dn.colTime,children:"Since"}),Le.jsx("div",{children:"Flowsheet"}),Le.jsx("div",{className:Dn.colTags,children:"Tags"})]}),Le.jsxs("div",{className:Dn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Le.jsxs("div",{className:Dn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Le.jsx("div",{className:Dn.colStatus,children:a.status?Le.jsx("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--success"]}`,children:"✓"}):Le.jsxs("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Le.jsx("span",{className:Dn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Le.jsx("div",{className:Dn.colTime,children:Vfe(a.created)}),Le.jsxs("div",{className:Dn.colFlowsheet,children:[Le.jsx("span",{className:Dn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Le.jsx("div",{className:Dn.pathTooltip,children:l})]}),Le.jsx("div",{className:Dn.colTags,children:Le.jsx("span",{className:Dn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Le.jsx("div",{className:Dn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Le.jsxs("div",{className:Dn.emptyMessage,children:[Le.jsx("div",{children:"No historical runs found across any flowsheet."}),Le.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Le.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function Ufe(){const[t,e]=Kt.useState("runFlowsheet"),r=n=>{e(n)};return Le.jsxs("div",{className:`${Rs.tree_app_container}`,children:[Le.jsxs("ul",{className:Rs.view_switch_container,children:[Le.jsx("li",{className:t==="runFlowsheet"?Rs.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Le.jsx("li",{className:t==="loadFlowsheet"?Rs.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Le.jsx(Cfe,{}),t==="loadFlowsheet"&&Le.jsx(Gfe,{})]})}function Hfe(){const[t,e]=Kt.useState(!1),{editorContent:r,activateFileName:n}=Kt.useContext(Ra),i=()=>{e(!t)};return Le.jsxs("div",{children:[Le.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Le.jsxs("div",{style:{display:t?"block":"none"},children:[Le.jsx("h1",{children:"Editor Page "}),Le.jsxs("h2",{children:["File: ",n]}),Le.jsx("pre",{children:r})]})]})}const Wfe="modulepreload",Yfe=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=Yfe(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":Wfe,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},Xfe=t3.exports,FF;function jfe(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(Xfe,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;R[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(L(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=L,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)jY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)jY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${sa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},Qfe={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:Zfe,unit:Qfe},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Ba={ALL:0,RGB:1,HSL:2};let Jfe=class{constructor(){this.type=Ba.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Ba.ALL}is(e){return this.type===e}};class e0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new Jfe}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Ba.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Ba.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Ba.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Ba.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Ba.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Ba.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Ba.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new e0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},jv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(jv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:jv,rgba:jv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||jv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Ba.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?jv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),t0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},r0e=t=>t0e(t)>=.5,ms=t=>!r0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},n0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,n0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:i0e,getPrototypeOf:a0e,getOwnPropertyDescriptor:s0e}=Object;let{freeze:hs,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;hs||(hs=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(i0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function d0e(t){for(let e=0;e/gm),y0e=Go(/\$\{[\w\W]*/gm),v0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),b0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),x0e=Go(/^(?:\w+script|data):/i),T0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),w0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:b0e,ATTR_WHITESPACE:T0e,CUSTOM_ELEMENT:w0e,DATA_ATTR:v0e,DOCTYPE_NAME:JY,ERB_EXPR:m0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:x0e,MUSTACHE_EXPR:g0e,TMPLIT_EXPR:y0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},C0e=function(){return typeof window>"u"?null:window},S0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function eX(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C0e();const e=vt=>eX(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:R,createNodeIterator:k,createDocumentFragment:L,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&R&&R.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let X=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let j=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Ae=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},Xe=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,X=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,Xe=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Ae=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,j=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Ae=!0),Ye&&(P=Fr({},GF),X=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(X,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(X,C6),Fr(X,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(X,C6),Fr(X,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(X,HF),Fr(X,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(X===Z&&(X=Il(X)),Fr(X,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=S0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));hs&&hs(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,...f0e]),St=Fr({},[...w6,...p0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Ae||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=R.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Ka(/<[/\w!]/g,Ne.innerHTML)&&Ka(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Ka(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt)))return!1;if(Ge&&!Xe[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Bn=v(_r[Qr],!0);Bn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Bn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Ka(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Ka(I,ft))){if(!(te&&Ka(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!X[ft]||Q[ft]){if(!(Ut(Ne)&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Ne)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ne))&&(j.attributeNameCheck instanceof RegExp&&Ka(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft,Ne))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Ka(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Ka(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&c0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Ka(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Bn}=_r,_n=Qe(Cr),Jn=Bn;let Ur=Cr==="value"?Jn:u0e(Jn);if(Rt.attrName=_n,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(_n==="id"||_n==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Ka(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(_n==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Ka(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,_n,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,_n)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==Jn)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Bn=Qe(vt.nodeName);if(!P[Bn]||ee[Bn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Ae&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Ae?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Ae){if(me){ft.normalize();let Bn=ft.innerHTML;Jy([q,z,D],_n=>{Bn=Lp(Bn,_n," ")}),ft.innerHTML=Bn}if(Oe)for(_r=L.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(X.shadowroot||X.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Ka(JY,ft.ownerDocument.doctype.name)&&(Qr=" -`+Qr),me&&Jy([q,z,D],Bn=>{Qr=Lp(Qr,Bn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=o0e($[vt],Ne);return ft===-1?void 0:l0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=eX(),tX=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,E0e=/\s*%%.*\n/gm,Wg,rX=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tX,"").replace(E2,"").replace(E0e,` -`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rX(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nX(e,r,n)},"registerLazyLoadedDiagrams"),nX=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),k0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),ki=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,_0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),A0e=S(t=>{const e=new _0e;return e.calculate(t),e},"getThemeVariables"),Xg,L0e=(Xg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),R0e=S(t=>{const e=new L0e;return e.calculate(t),e},"getThemeVariables"),jg,D0e=(jg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),Hb=S(t=>{const e=new D0e;return e.calculate(t),e},"getThemeVariables"),Kg,N0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),M0e=S(t=>{const e=new N0e;return e.calculate(t),e},"getThemeVariables"),Zg,O0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),I0e=S(t=>{const e=new O0e;return e.calculate(t),e},"getThemeVariables"),Qg,B0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),P0e=S(t=>{const e=new B0e;return e.calculate(t),e},"getThemeVariables"),Jg,F0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),$0e=S(t=>{const e=new F0e;return e.calculate(t),e},"getThemeVariables"),e1,z0e=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),q0e=S(t=>{const e=new z0e;return e.calculate(t),e},"getThemeVariables"),t1,V0e=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),G0e=S(t=>{const e=new V0e;return e.calculate(t),e},"getThemeVariables"),r1,U0e=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),H0e=S(t=>{const e=new U0e;return e.calculate(t),e},"getThemeVariables"),n1,W0e=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),Y0e=S(t=>{const e=new W0e;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:A0e},dark:{getThemeVariables:R0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:M0e},neutral:{getThemeVariables:I0e},neo:{getThemeVariables:P0e},"neo-dark":{getThemeVariables:$0e},redux:{getThemeVariables:q0e},"redux-dark":{getThemeVariables:G0e},"redux-color":{getThemeVariables:H0e},"redux-dark-color":{getThemeVariables:Y0e}},eo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},iX={...eo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...eo.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...eo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...eo.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...eo.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...eo.pie,useWidth:984},xyChart:{...eo.xyChart,useWidth:void 0},requirement:{...eo.requirement,useWidth:void 0},packet:{...eo.packet},treeView:{...eo.treeView,useWidth:void 0},radar:{...eo.radar},ishikawa:{...eo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...eo.venn}},aX=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aX(t[n],"")]:[...r,e+n],[]),"keyify"),X0e=new Set(aX(iX,"")),Vr=iX,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!X0e.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=j0e(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),j0e=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ns=ki({},tm),d5,e0=[],k2=ki({},tm),gC=S((t,e)=>{let r=ki({},t),n={};for(const i of e)lX(i),n=ki(n,i);if(r=ki(r,n),n.theme&&n.theme in xu){const i=ki({},d5),a=ki(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uX(k2),k2},"updateCurrentConfig"),K0e=S(t=>(Ns=ki({},tm),Ns=ki(Ns,t),t.theme&&xu[t.theme]&&(Ns.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ns,e0),Ns),"setSiteConfig"),Z0e=S(t=>{d5=ki({},t)},"saveConfigFromInitialize"),Q0e=S(t=>(Ns=ki(Ns,t),gC(Ns,e0),Ns),"updateSiteConfig"),sX=S(()=>ki({},Ns),"getSiteConfig"),oX=S(t=>(uX(t),ki(k2,t),gr()),"setConfig"),gr=S(()=>ki({},k2),"getConfig"),lX=S(t=>{t&&(["secure",...Ns.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lX(t[e])}))},"sanitize"),J0e=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ns,e0)},"addDirective"),f5=S((t=Ns)=>{e0=[],gC(t,e0)},"reset"),epe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},XF={},cX=S(t=>{XF[t]||(oe.warn(epe[t]),XF[t]=!0)},"issueWarning"),uX=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cX("LAZY_LOAD_DEPRECATED")},"checkConfig"),tpe=S(()=>{let t={};d5&&(t=ki(t,d5));for(const e of e0)t=ki(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cX("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,rpe=S(t=>t?fX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),npe=(()=>{let t=!1;return()=>{t||(hX(),t=!0)}})();function hX(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hX,"setupDompurifyHooks");var dX=S(t=>(npe(),Qh.sanitize(t)),"removeScript"),jF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dX(t):r!=="loose"&&(t=fX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=ope(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(jF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(jF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),ipe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),ape=S(t=>Bm.test(t),"hasBreaks"),spe=S(t=>t.split(Bm),"splitBreaks"),ope=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fX=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),lpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),cpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),upe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),hpe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Li=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),dpe=S(async(t,e)=>{if(!Li(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>F_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Li(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await dpe(t,e),e),"renderKatexSanitized"),$t={getRows:rpe,sanitizeText:Jr,sanitizeTextOrArray:ipe,hasBreaks:ape,splitBreaks:spe,lineBreakRegex:Bm,removeScript:dX,getUrl:mC,evaluate:Pu,getMax:lpe,getMin:cpe},fpe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),ppe=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Gi=S(function(t,e,r,n){const i=ppe(e,r,n);fpe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Gi(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},gpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { + `,children:[Ae.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Ae.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Ae.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const wfe="_navContainer_1o0u5_1",Cfe={navContainer:wfe};function Sfe({setShowConfig:t}){return Ae.jsx("nav",{className:Cfe.navContainer,children:Ae.jsx(Tfe,{setShowConfig:t})})}function Efe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,openPythonFiles:a,activateFileName:s,pythonEnvInfo:o}=Kt.useContext(Da),[l,u]=Kt.useState([]),h=b=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:b})},d=b=>{const x=b.target.value;x&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:x})},f=b=>{const x=b.target.value;x&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:x})},p=()=>{const b=o?.current?.path;b&&navigator.clipboard.writeText(b)},m=(b,x)=>{let C=[];b.target.checked?C=Array.from({length:x+1},(E,_)=>_):(C=Array.from({length:x},(E,_)=>_),C=C.sort((E,_)=>E-_)),u(C);const T=C.map(E=>t.steps[E]).filter(Boolean);r(T)},v=()=>{if(n)return console.log("loading idaes-extension-steps"),Ae.jsx("div",{children:Ae.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Ae.jsx("div",{style:{padding:"10px",backgroundColor:"var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, 0.1))",border:"1px solid var(--vscode-inputValidation-errorBorder, red)",color:"var(--vscode-errorForeground, red)",borderRadius:"4px",marginTop:"15px"},children:Ae.jsx("p",{style:{margin:0,fontWeight:"bold",whiteSpace:"pre-wrap"},children:i})});if(!t)return Ae.jsx("div",{children:Ae.jsx("p",{children:"Loading config data..."})});const b=Object.keys(t);if(!b.includes("steps"))return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Steps Display"}),Ae.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(b.includes("steps")&&b.length===0)return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Step Display"}),Ae.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(b.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((C,T)=>Ae.jsxs("div",{className:`${Ca.step_selector_container}`,children:[Ae.jsx("input",{type:"checkbox",id:`step_${T}`,className:`${Ca.step_selector_checkbox}`,checked:l.includes(T),onChange:E=>m(E,T)}),Ae.jsx("label",{htmlFor:`${T}`,children:C})]},C+T))};return Kt.useEffect(()=>{console.log("Selected steps:",l)},[l]),Ae.jsxs("div",{className:`${Ca.flowsheet_steps_main_container}`,children:[Ae.jsxs("div",{style:{marginBottom:"20px"},children:[Ae.jsx("label",{style:{display:"block",margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Flowsheet to inspect:"}),Ae.jsxs("select",{className:Ca.dropdown_select,onChange:d,value:a?.find(b=>b.name===s)?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),a?.map((b,x)=>Ae.jsx("option",{value:b.path,children:b.name},x))]}),Ae.jsx("p",{style:{margin:"5px 0 0 0",fontSize:"11px",color:"var(--vscode-descriptionForeground, #cccccc)",fontStyle:"italic"},children:"Open the flowsheet in editor to select"})]}),Ae.jsxs("div",{className:Ca.python_env_container,children:[Ae.jsx("label",{className:Ca.python_env_label,children:"Current Python:"}),Ae.jsxs("div",{className:Ca.python_env_actions,children:[Ae.jsx("span",{className:Ca.python_env_path_text,children:o?.current?.path||"No interpreter selected"}),Ae.jsx("button",{className:Ca.python_env_icon_btn,onClick:p,title:"Copy interpreter path",disabled:!o?.current?.path,children:Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),Ae.jsxs("select",{className:Ca.dropdown_select,onChange:f,value:o?.current?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),o?.envs.map((b,x)=>Ae.jsx("option",{value:b.path,children:b.label},x))]})]}),Ae.jsx("p",{style:{margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Select Steps to Run:"}),Ae.jsx("div",{className:`${Ca.steps_container}`,children:v()}),Ae.jsxs("div",{style:{marginTop:"15px",display:"flex",flexDirection:"column",gap:"15px"},children:[Ae.jsx(Sfe,{setShowConfig:e}),Ae.jsx("div",{className:`${Ca.open_results_view_container}`,children:Ae.jsx("button",{className:`${Ca.open_results_view_select}`,style:{width:"100%",padding:"8px",backgroundColor:"transparent",border:"1px solid var(--vscode-editor-foreground)",color:"var(--vscode-editor-foreground)",cursor:"pointer",borderRadius:"4px",display:"flex",justifyContent:"center",alignItems:"center",gap:"8px",backgroundImage:"none"},onClick:()=>h("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function kfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=Kt.useContext(Da),[n,i]=Kt.useState(!1);return Kt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Ae.jsxs(Ae.Fragment,{children:[Ae.jsxs("h2",{children:["Current Files is: ",e]}),Ae.jsx("div",{style:{display:n?"block":"none"},children:Ae.jsx(cfe,{setShowConfig:i})}),Ae.jsx("div",{style:{display:n?"none":"block"},children:Ae.jsx(Efe,{idaesRunInfo:t,setShowConfig:i})})]})}const _fe="_container_1qs3w_1",Afe="_controlBar_1qs3w_10",Lfe="_searchBox_1qs3w_18",Rfe="_actionGroup_1qs3w_42",Dfe="_runCount_1qs3w_50",Nfe="_tableContainer_1qs3w_70",Mfe="_headerRow_1qs3w_76",Ofe="_dataRowContainer_1qs3w_89",Ife="_dataRow_1qs3w_89",Bfe="_colStatus_1qs3w_119",Pfe="_colTime_1qs3w_124",Ffe="_colTags_1qs3w_128",$fe="_tagBadge_1qs3w_134",zfe="_emptyMessage_1qs3w_143",qfe="_cssTooltip_1qs3w_175",Vfe="_colFlowsheet_1qs3w_211",Gfe="_flowsheetText_1qs3w_216",Ufe="_pathTooltip_1qs3w_225",Dn={container:_fe,controlBar:Afe,searchBox:Lfe,actionGroup:Rfe,runCount:Dfe,tableContainer:Nfe,headerRow:Mfe,dataRowContainer:Ofe,dataRow:Ife,colStatus:Bfe,colTime:Pfe,colTags:Ffe,tagBadge:$fe,emptyMessage:zfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:qfe,colFlowsheet:Vfe,flowsheetText:Gfe,pathTooltip:Ufe};function Hfe(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function Wfe(){const{idaesHistoryList:t}=Kt.useContext(Da),[e,r]=Kt.useState(""),n=Kt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Ae.jsxs("div",{className:Dn.container,children:[Ae.jsxs("div",{className:Dn.controlBar,children:[Ae.jsx("input",{type:"text",className:Dn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Ae.jsx("div",{className:Dn.actionGroup,children:Ae.jsxs("span",{className:Dn.runCount,children:["Runs: ",n.length]})})]}),Ae.jsxs("div",{className:Dn.tableContainer,children:[Ae.jsxs("div",{className:Dn.headerRow,children:[Ae.jsx("div",{className:Dn.colStatus,children:"Status"}),Ae.jsx("div",{className:Dn.colTime,children:"Since"}),Ae.jsx("div",{children:"Flowsheet"}),Ae.jsx("div",{className:Dn.colTags,children:"Tags"})]}),Ae.jsxs("div",{className:Dn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Ae.jsxs("div",{className:Dn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Ae.jsx("div",{className:Dn.colStatus,children:a.status?Ae.jsx("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--success"]}`,children:"✓"}):Ae.jsxs("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Ae.jsx("span",{className:Dn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Ae.jsx("div",{className:Dn.colTime,children:Hfe(a.created)}),Ae.jsxs("div",{className:Dn.colFlowsheet,children:[Ae.jsx("span",{className:Dn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Ae.jsx("div",{className:Dn.pathTooltip,children:l})]}),Ae.jsx("div",{className:Dn.colTags,children:Ae.jsx("span",{className:Dn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Ae.jsx("div",{className:Dn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Ae.jsxs("div",{className:Dn.emptyMessage,children:[Ae.jsx("div",{children:"No historical runs found across any flowsheet."}),Ae.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Ae.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function Yfe(){const[t,e]=Kt.useState("runFlowsheet"),r=n=>{e(n)};return Ae.jsxs("div",{className:`${Ca.tree_app_container}`,children:[Ae.jsxs("ul",{className:Ca.view_switch_container,children:[Ae.jsx("li",{className:t==="runFlowsheet"?Ca.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Ae.jsx("li",{className:t==="loadFlowsheet"?Ca.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Ae.jsx(kfe,{}),t==="loadFlowsheet"&&Ae.jsx(Wfe,{})]})}function Xfe(){const[t,e]=Kt.useState(!1),{editorContent:r,activateFileName:n}=Kt.useContext(Da),i=()=>{e(!t)};return Ae.jsxs("div",{children:[Ae.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Ae.jsxs("div",{style:{display:t?"block":"none"},children:[Ae.jsx("h1",{children:"Editor Page "}),Ae.jsxs("h2",{children:["File: ",n]}),Ae.jsx("pre",{children:r})]})]})}const jfe="modulepreload",Kfe=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=Kfe(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":jfe,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},Zfe=t3.exports,FF;function Qfe(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(Zfe,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;R[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(L(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=L,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)jY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)jY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${sa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},t0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:e0e,unit:t0e},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Pa={ALL:0,RGB:1,HSL:2};let r0e=class{constructor(){this.type=Pa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Pa.ALL}is(e){return this.type===e}};class n0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new r0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Pa.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Pa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Pa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Pa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Pa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Pa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Pa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new n0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},jv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(jv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:jv,rgba:jv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||jv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Pa.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?jv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),i0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},a0e=t=>i0e(t)>=.5,ys=t=>!a0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},s0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,s0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:o0e,getPrototypeOf:l0e,getOwnPropertyDescriptor:c0e}=Object;let{freeze:ds,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(o0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function g0e(t){for(let e=0;e/gm),x0e=Go(/\$\{[\w\W]*/gm),T0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),w0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),C0e=Go(/^(?:\w+script|data):/i),S0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),E0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:w0e,ATTR_WHITESPACE:S0e,CUSTOM_ELEMENT:E0e,DATA_ATTR:T0e,DOCTYPE_NAME:JY,ERB_EXPR:b0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:C0e,MUSTACHE_EXPR:v0e,TMPLIT_EXPR:x0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},k0e=function(){return typeof window>"u"?null:window},_0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function eX(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:k0e();const e=vt=>eX(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:R,createNodeIterator:k,createDocumentFragment:L,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&R&&R.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let X=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let j=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Le=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},Xe=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,X=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,Xe=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Le=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,j=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Le=!0),Ye&&(P=Fr({},GF),X=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(X,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(X,C6),Fr(X,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(X,C6),Fr(X,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(X,HF),Fr(X,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(X===Z&&(X=Il(X)),Fr(X,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=_0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,...m0e]),St=Fr({},[...w6,...y0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Le||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=R.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt)))return!1;if(Ge&&!Xe[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Bn=v(_r[Qr],!0);Bn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Bn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!X[ft]||Q[ft]){if(!(Ut(Ne)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Ne)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ne))&&(j.attributeNameCheck instanceof RegExp&&Za(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft,Ne))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&d0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Bn}=_r,_n=Qe(Cr),Jn=Bn;let Ur=Cr==="value"?Jn:f0e(Jn);if(Rt.attrName=_n,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(_n==="id"||_n==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(_n==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,_n,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,_n)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==Jn)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Bn=Qe(vt.nodeName);if(!P[Bn]||ee[Bn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Le&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Le?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Le){if(me){ft.normalize();let Bn=ft.innerHTML;Jy([q,z,D],_n=>{Bn=Lp(Bn,_n," ")}),ft.innerHTML=Bn}if(Oe)for(_r=L.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(X.shadowroot||X.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(JY,ft.ownerDocument.doctype.name)&&(Qr=" +`+Qr),me&&Jy([q,z,D],Bn=>{Qr=Lp(Qr,Bn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=u0e($[vt],Ne);return ft===-1?void 0:h0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=eX(),tX=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,A0e=/\s*%%.*\n/gm,Wg,rX=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tX,"").replace(E2,"").replace(A0e,` +`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rX(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nX(e,r,n)},"registerLazyLoadedDiagrams"),nX=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),L0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),ki=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,R0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),D0e=S(t=>{const e=new R0e;return e.calculate(t),e},"getThemeVariables"),Xg,N0e=(Xg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),M0e=S(t=>{const e=new N0e;return e.calculate(t),e},"getThemeVariables"),jg,O0e=(jg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),Hb=S(t=>{const e=new O0e;return e.calculate(t),e},"getThemeVariables"),Kg,I0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),B0e=S(t=>{const e=new I0e;return e.calculate(t),e},"getThemeVariables"),Zg,P0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),F0e=S(t=>{const e=new P0e;return e.calculate(t),e},"getThemeVariables"),Qg,$0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),z0e=S(t=>{const e=new $0e;return e.calculate(t),e},"getThemeVariables"),Jg,q0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),V0e=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),e1,G0e=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),U0e=S(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),t1,H0e=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),W0e=S(t=>{const e=new H0e;return e.calculate(t),e},"getThemeVariables"),r1,Y0e=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),X0e=S(t=>{const e=new Y0e;return e.calculate(t),e},"getThemeVariables"),n1,j0e=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),K0e=S(t=>{const e=new j0e;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:D0e},dark:{getThemeVariables:M0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:B0e},neutral:{getThemeVariables:F0e},neo:{getThemeVariables:z0e},"neo-dark":{getThemeVariables:V0e},redux:{getThemeVariables:U0e},"redux-dark":{getThemeVariables:W0e},"redux-color":{getThemeVariables:X0e},"redux-dark-color":{getThemeVariables:K0e}},eo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},iX={...eo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...eo.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...eo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...eo.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...eo.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...eo.pie,useWidth:984},xyChart:{...eo.xyChart,useWidth:void 0},requirement:{...eo.requirement,useWidth:void 0},packet:{...eo.packet},treeView:{...eo.treeView,useWidth:void 0},radar:{...eo.radar},ishikawa:{...eo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...eo.venn}},aX=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aX(t[n],"")]:[...r,e+n],[]),"keyify"),Z0e=new Set(aX(iX,"")),Vr=iX,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!Z0e.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=Q0e(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),Q0e=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ns=ki({},tm),d5,e0=[],k2=ki({},tm),gC=S((t,e)=>{let r=ki({},t),n={};for(const i of e)lX(i),n=ki(n,i);if(r=ki(r,n),n.theme&&n.theme in xu){const i=ki({},d5),a=ki(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uX(k2),k2},"updateCurrentConfig"),J0e=S(t=>(Ns=ki({},tm),Ns=ki(Ns,t),t.theme&&xu[t.theme]&&(Ns.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ns,e0),Ns),"setSiteConfig"),epe=S(t=>{d5=ki({},t)},"saveConfigFromInitialize"),tpe=S(t=>(Ns=ki(Ns,t),gC(Ns,e0),Ns),"updateSiteConfig"),sX=S(()=>ki({},Ns),"getSiteConfig"),oX=S(t=>(uX(t),ki(k2,t),gr()),"setConfig"),gr=S(()=>ki({},k2),"getConfig"),lX=S(t=>{t&&(["secure",...Ns.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lX(t[e])}))},"sanitize"),rpe=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ns,e0)},"addDirective"),f5=S((t=Ns)=>{e0=[],gC(t,e0)},"reset"),npe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},XF={},cX=S(t=>{XF[t]||(oe.warn(npe[t]),XF[t]=!0)},"issueWarning"),uX=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cX("LAZY_LOAD_DEPRECATED")},"checkConfig"),ipe=S(()=>{let t={};d5&&(t=ki(t,d5));for(const e of e0)t=ki(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cX("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,ape=S(t=>t?fX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),spe=(()=>{let t=!1;return()=>{t||(hX(),t=!0)}})();function hX(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hX,"setupDompurifyHooks");var dX=S(t=>(spe(),Qh.sanitize(t)),"removeScript"),jF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dX(t):r!=="loose"&&(t=fX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=upe(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(jF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(jF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),ope=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),lpe=S(t=>Bm.test(t),"hasBreaks"),cpe=S(t=>t.split(Bm),"splitBreaks"),upe=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fX=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),hpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),dpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),fpe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),ppe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Li=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),gpe=S(async(t,e)=>{if(!Li(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>q_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Li(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await gpe(t,e),e),"renderKatexSanitized"),$t={getRows:ape,sanitizeText:Jr,sanitizeTextOrArray:ope,hasBreaks:lpe,splitBreaks:cpe,lineBreakRegex:Bm,removeScript:dX,getUrl:mC,evaluate:Pu,getMax:hpe,getMin:dpe},mpe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),ype=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Gi=S(function(t,e,r,n){const i=ype(e,r,n);mpe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Gi(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},vpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -130,27 +130,27 @@ Error generating stack: `+A.message+` } ${e} -`},"getStyles"),mpe=S((t,e)=>{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),ype=gpe,yD={};fC(yD,{clear:()=>jn,getAccDescription:()=>ui,getAccTitle:()=>li,getDiagramTitle:()=>Kn,setAccDescription:()=>ci,setAccTitle:()=>Xn,setDiagramTitle:()=>oi});var vD="",bD="",xD="",TD=S(t=>Jr(t,gr()),"sanitizeText"),jn=S(()=>{vD="",xD="",bD=""},"clear"),Xn=S(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),li=S(()=>vD,"getAccTitle"),ci=S(t=>{xD=TD(t).replace(/\n\s+/g,` -`)},"setAccDescription"),ui=S(()=>xD,"getAccDescription"),oi=S(t=>{bD=TD(t)},"setDiagramTitle"),Kn=S(()=>bD,"getDiagramTitle"),ZF=oe,vpe=fD,Pe=gr,YA=oX,pX=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gX=Pm,bpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nX(t,r),mpe(t,e.styles),e.injectUtils?.(ZF,vpe,Pe,wD,gX,bpe(),()=>{})},"registerDiagram"),XA=S(t=>{if(t in p5)return p5[t];throw new xpe(t)},"getDiagram"),i1,xpe=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Tpe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Tpe?t:wpe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function wpe(){return 0}function Cpe(t){return t===null?NaN:+t}const Spe=CD(a3),Epe=Spe.right;CD(Cpe).center;class QF extends Map{constructor(e,r=Ape){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(kpe(this,e),r)}delete(e){return super.delete(_pe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function kpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function _pe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Ape(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Lpe=Math.sqrt(50),Rpe=Math.sqrt(10),Dpe=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Lpe?10:a>=Rpe?5:a>=Dpe?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function Ope(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Ipe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function zpe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function qpe(){return!this.__axis}function mX(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?Ppe:Fpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Bpe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?zpe:$pe)(e.copy(),l),_=p.selection?p.selection():p,R=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),L=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(R=R.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),L=L.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),L.remove(),R.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(qpe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function Vpe(t){return mX(s3,t)}function Gpe(t){return mX(ZA,t)}var Upe={value:()=>{}};function yX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yX.prototype={constructor:o3,on:function(t,e){var r=this._,n=Hpe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function Ype(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function Xpe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vX(t){var e=vC(t);return(e.local?Xpe:Ype)(e)}function jpe(){}function SD(t){return t==null?jpe:function(){return this.querySelector(t)}}function Kpe(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Tge(t){t||(t=wge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function Cge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Sge(){return Array.from(this)}function Ege(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Bge:typeof e=="function"?Fge:Pge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||CX(t).getComputedStyle(t,null).getPropertyValue(e)}function zge(t){return function(){delete this[t]}}function qge(t,e){return function(){this[t]=e}}function Vge(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Gge(t,e){return arguments.length>1?this.each((e==null?zge:typeof e=="function"?Vge:qge)(t,e)):this.node()[t]}function SX(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new EX(t)}function EX(t){this._node=t,this._names=SX(t.getAttribute("class")||"")}EX.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kX(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function y1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=k1e.exec(t))?new qa(e[1],e[2],e[3],1):(e=_1e.exec(t))?new qa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=A1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=L1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=R1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=D1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new qa(NaN,NaN,NaN,0):null}function s$(t){return new qa(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new qa(t,e,r,n)}function RX(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new qa(t.r,t.g,t.b,t.opacity)):new qa}function JA(t,e,r,n){return arguments.length===1?RX(t):new qa(t,e,r,n??1)}function qa(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Xb(qa,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new qa(Xf(this.r),Xf(this.g),Xf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:O1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function O1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${Xf(this.r)}, ${Xf(this.g)}, ${Xf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Xf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Xf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function DX(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function I1e(t,e,r,n){return arguments.length===1?DX(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Xb(ll,I1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new qa(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const B1e=Math.PI/180,P1e=180/Math.PI,x5=18,NX=.96422,MX=1,OX=.82521,IX=4/29,Dg=6/29,BX=3*Dg*Dg,F1e=Dg*Dg*Dg;function PX(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return FX(t);t instanceof qa||(t=RX(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/MX),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/NX),s=k6((.0139322*e+.0971045*r+.7141733*n)/OX)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function $1e(t,e,r,n){return arguments.length===1?PX(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Xb(ec,$1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=NX*_6(e),t=MX*_6(t),r=OX*_6(r),new qa(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>F1e?Math.pow(t,1/3):t/BX+IX}function _6(t){return t>Dg?t*t*t:BX*(t-IX)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function z1e(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=PX(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $X(t,e){return function(r){return t+r*e}}function q1e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function V1e(t,e){var r=e-t;return r?$X(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function G1e(t){return(t=+t)==1?_2:function(e,r){return r-e?q1e(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$X(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=G1e(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function U1e(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{ame()}finally{nm=0,ome(),r0=0}}function sme(){var t=q2.now(),e=t-C5;e>GX&&(TC-=e,C5=t)}function ome(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(sme,GX)),nm=1,UX(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var lme=yX("start","end","cancel","interrupt"),cme=[],WX=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;ume(t,r,{name:e,index:n,group:i,on:lme,tween:cme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:WX})}function AD(t,e){var r=Sl(t,e);if(r.state>WX)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function ume(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=HX(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function qme(t,e,r){var n,i,a=zme(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function Vme(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(qme(r,t,e))}function Gme(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Ume(){return this.on("end.remove",Gme(this._id))}function Hme(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return KX;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>mye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function bye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function xye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Tye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var wye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=wye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Cye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function Sye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:bye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:Sye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Eye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:xye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Tye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,R=d.type;R==="n"?(T=!0,R="g"):y$[R]||(E===void 0&&(E=12),_=!0,R="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():""),L=(b==="$"?n:/[%p]/.test(R)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[R],F=/[defgprs%]/.test(R);E=E===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=L,I,N,B;if(R==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=Cye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(R==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,ZX;kye({thousands:",",grouping:[3],currency:["$",""]});function kye(t){return Y4=Eye(t),Of=Y4.format,ZX=Y4.formatPrefix,Y4}function _ye(t){return Math.max(0,-im(Math.abs(t)))}function Aye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function Lye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function Rye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Dye(){return this.eachAfter(Rye)}function Nye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Mye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Oye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Pye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Fye(t){for(var e=this,r=$ye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function $ye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function zye(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function qye(){return Array.from(this)}function Vye(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Gye(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*Uye(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(jye)}function Hye(){return DD(this).eachBefore(Xye)}function Wye(t){return t.children}function Yye(t){return Array.isArray(t)?t[1]:null}function Xye(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function jye(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Dye,each:Nye,eachAfter:Oye,eachBefore:Mye,find:Iye,sum:Bye,sort:Pye,path:Fye,ancestors:zye,descendants:qye,leaves:Vye,links:Gye,copy:Hye,[Symbol.iterator]:Uye};function Kye(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function Zye(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Qye(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),R=b*b*_,T=Math.max(C/R,R/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(eve);function nve(){var t=rve,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(Zye),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function ove(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?lve:ove,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,ave),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=Z1e,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function JX(){return cve()(vg,vg)}function uve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Aye(i,s))&&(n.precision=a),ZX(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Lye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=_ye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function hve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Npe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return uve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=jA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=JX();return t.copy=function(){return QX(t,am())},CC.apply(t,arguments),hve(t)}function dve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(ura(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=ra(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?ra(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=ra(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const fve=ra(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());fve.range;const G2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const pve=ra(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());pve.range;const n0=ra(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const gve=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));gve.range;function A0(t){return ra(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const jb=A0(0),U2=A0(1),ej=A0(2),tj=A0(3),i0=A0(4),rj=A0(5),nj=A0(6);jb.range;U2.range;ej.range;tj.range;i0.range;rj.range;nj.range;function L0(t){return ra(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const ij=L0(0),L5=L0(1),mve=L0(2),yve=L0(3),om=L0(4),vve=L0(5),bve=L0(6);ij.range;L5.range;mve.range;yve.range;om.range;vve.range;bve.range;const H2=ra(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const xve=ra(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());xve.range;const Ru=ra(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=ra(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Tve(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function L(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return L(te,e,ae,ie)}function I(te,ae,ie){return L(te,r,ae,ie)}function N(te,ae,ie){return L(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function X(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function j(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=R(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=R(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ua=/^\s*\d+/,Eve=/^%/,kve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Ave(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Lve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Rve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Dve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Nve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ua.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Mve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Ove(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Ive(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Bve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Pve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Fve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function $ve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function zve(t,e,r){var n=ua.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function qve(t,e,r){var n=Eve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Vve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function Uve(t,e){return sn(t.getHours(),e,2)}function Hve(t,e){return sn(t.getHours()%12||12,e,2)}function Wve(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aj(t,e){return sn(t.getMilliseconds(),e,3)}function Yve(t,e){return aj(t,e)+"000"}function Xve(t,e){return sn(t.getMonth()+1,e,2)}function jve(t,e){return sn(t.getMinutes(),e,2)}function Kve(t,e){return sn(t.getSeconds(),e,2)}function Zve(t){var e=t.getDay();return e===0?7:e}function Qve(t,e){return sn(jb.count(Ru(t)-1,t),e,2)}function sj(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function Jve(t,e){return t=sj(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function e2e(t){return t.getDay()}function t2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function r2e(t,e){return sn(t.getFullYear()%100,e,2)}function n2e(t,e){return t=sj(t),sn(t.getFullYear()%100,e,2)}function i2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function a2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function s2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function o2e(t,e){return sn(t.getUTCHours(),e,2)}function l2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function c2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oj(t,e){return sn(t.getUTCMilliseconds(),e,3)}function u2e(t,e){return oj(t,e)+"000"}function h2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function d2e(t,e){return sn(t.getUTCMinutes(),e,2)}function f2e(t,e){return sn(t.getUTCSeconds(),e,2)}function p2e(t){var e=t.getUTCDay();return e===0?7:e}function g2e(t,e){return sn(ij.count(a0(t)-1,t),e,2)}function lj(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function m2e(t,e){return t=lj(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function y2e(t){return t.getUTCDay()}function v2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function b2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function x2e(t,e){return t=lj(t),sn(t.getUTCFullYear()%100,e,2)}function T2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function w2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function C2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;S2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function S2e(t){return Rp=Sve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function E2e(t){return new Date(t)}function k2e(t){return t instanceof Date?+t:+new Date(+t)}function cj(t,e,r,n,i,a,s,o,l,u){var h=JX(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(R){return(l(R)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uj(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new vye(e)}function N2e(t){return t.innerRadius}function M2e(t){return t.outerRadius}function O2e(t){return t.startAngle}function I2e(t){return t.endAngle}function B2e(t){return t&&t.padAngle}function P2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(L=F,O=$),{cx:L,cy:O,x01:-h,y01:-d,x11:L*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=N2e,e=M2e,r=Ei(0),n=null,i=O2e,a=I2e,s=B2e,o=null,l=uj(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pPa))o.moveTo(0,0);else if(b>u3-Pa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Pa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,R=b,k=b,L=s.apply(this,arguments)/2,O=L>Pa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Pa){var I=I$(O/f*Dl(L)),N=I$(O/p*Dl(L));(R-=I*2)>Pa?(I*=x?1:-1,E+=I,_-=I):(R=0,E=_=(m+v)/2),(k-=N*2)>Pa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Pa){var P=p*Qd(T),H=p*Dl(T),X=f*Qd(E),Z=f*Dl(E),j;if(bPa?q>Pa?(z=X4(X,Z,B,M,p,q,x),D=X4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qPa)||!(R>Pa)?o.lineTo(V,U):$>Pa?(z=X4(V,U,P,H,f,-$,x),D=X4(B,M,X,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function q2e(t){return t}function V2e(){var t=q2e,e=z2e,r=null,n=Ei(0),i=Ei(u3),a=Ei(0);function s(o){var l,u=(o=hj(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,R){return e(m[_],m[R])}):r!=null&&p.sort(function(_,R){return r(o[_],o[R])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:Ei(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ei(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ei(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:Ei(+o),s):a},s}class fj{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pj(t){return new fj(t,!0)}function gj(t){return new fj(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function X2(t){return new SC(t)}function mj(t){this._context=t}mj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function G2e(t){return new mj(t)}function yj(t){this._context=t}yj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function U2e(t){return new yj(t)}function vj(t,e){this._basis=new SC(t),this._beta=e}vj.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const H2e=(function t(e){function r(n){return e===1?new SC(n):new vj(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bj=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const W2e=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Y2e=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Pa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Pa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xj(t,e){this._context=t,this._alpha=e}xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Tj=(function t(e){function r(n){return e?new xj(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wj(t,e){this._context=t,this._alpha=e}wj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const X2e=(function t(e){function r(n){return e?new wj(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Cj(t,e){this._context=t,this._alpha=e}Cj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const j2e=(function t(e){function r(n){return e?new Cj(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Sj(t){this._context=t}Sj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function K2e(t){return new Sj(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function Ej(t){this._context=new kj(t)}(Ej.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kj(t){this._context=t}kj.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _j(t){return new O5(t)}function Aj(t){return new Ej(t)}function Lj(t){this._context=t}Lj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Dj(t){return new EC(t,.5)}function Nj(t){return new EC(t,0)}function Mj(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Gs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function Oj(t){return typeof t=="object"&&t!==null}S(Oj,"isObject");function Ij(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(Ij,"toArray");function Bj(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;r{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),xpe=vpe,yD={};fC(yD,{clear:()=>jn,getAccDescription:()=>ui,getAccTitle:()=>li,getDiagramTitle:()=>Kn,setAccDescription:()=>ci,setAccTitle:()=>Xn,setDiagramTitle:()=>oi});var vD="",bD="",xD="",TD=S(t=>Jr(t,gr()),"sanitizeText"),jn=S(()=>{vD="",xD="",bD=""},"clear"),Xn=S(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),li=S(()=>vD,"getAccTitle"),ci=S(t=>{xD=TD(t).replace(/\n\s+/g,` +`)},"setAccDescription"),ui=S(()=>xD,"getAccDescription"),oi=S(t=>{bD=TD(t)},"setDiagramTitle"),Kn=S(()=>bD,"getDiagramTitle"),ZF=oe,Tpe=fD,Pe=gr,YA=oX,pX=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gX=Pm,wpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nX(t,r),bpe(t,e.styles),e.injectUtils?.(ZF,Tpe,Pe,wD,gX,wpe(),()=>{})},"registerDiagram"),XA=S(t=>{if(t in p5)return p5[t];throw new Cpe(t)},"getDiagram"),i1,Cpe=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Spe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Spe?t:Epe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function Epe(){return 0}function kpe(t){return t===null?NaN:+t}const _pe=CD(a3),Ape=_pe.right;CD(kpe).center;class QF extends Map{constructor(e,r=Dpe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(Lpe(this,e),r)}delete(e){return super.delete(Rpe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function Lpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Rpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Dpe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Npe=Math.sqrt(50),Mpe=Math.sqrt(10),Ope=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Npe?10:a>=Mpe?5:a>=Ope?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function Ppe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Fpe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function Gpe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Upe(){return!this.__axis}function mX(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?zpe:qpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):$pe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?Gpe:Vpe)(e.copy(),l),_=p.selection?p.selection():p,R=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),L=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(R=R.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),L=L.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),L.remove(),R.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(Upe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function Hpe(t){return mX(s3,t)}function Wpe(t){return mX(ZA,t)}var Ype={value:()=>{}};function yX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yX.prototype={constructor:o3,on:function(t,e){var r=this._,n=Xpe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function Kpe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function Zpe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vX(t){var e=vC(t);return(e.local?Zpe:Kpe)(e)}function Qpe(){}function SD(t){return t==null?Qpe:function(){return this.querySelector(t)}}function Jpe(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Sge(t){t||(t=Ege);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function kge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function _ge(){return Array.from(this)}function Age(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?$ge:typeof e=="function"?qge:zge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||CX(t).getComputedStyle(t,null).getPropertyValue(e)}function Gge(t){return function(){delete this[t]}}function Uge(t,e){return function(){this[t]=e}}function Hge(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Wge(t,e){return arguments.length>1?this.each((e==null?Gge:typeof e=="function"?Hge:Uge)(t,e)):this.node()[t]}function SX(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new EX(t)}function EX(t){this._node=t,this._names=SX(t.getAttribute("class")||"")}EX.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kX(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function x1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=L1e.exec(t))?new Va(e[1],e[2],e[3],1):(e=R1e.exec(t))?new Va(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=D1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=N1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=M1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=O1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new Va(NaN,NaN,NaN,0):null}function s$(t){return new Va(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Va(t,e,r,n)}function RX(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new Va(t.r,t.g,t.b,t.opacity)):new Va}function JA(t,e,r,n){return arguments.length===1?RX(t):new Va(t,e,r,n??1)}function Va(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Xb(Va,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Va(Xf(this.r),Xf(this.g),Xf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:P1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function P1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${Xf(this.r)}, ${Xf(this.g)}, ${Xf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Xf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Xf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function DX(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function F1e(t,e,r,n){return arguments.length===1?DX(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Xb(ll,F1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Va(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const $1e=Math.PI/180,z1e=180/Math.PI,x5=18,NX=.96422,MX=1,OX=.82521,IX=4/29,Dg=6/29,BX=3*Dg*Dg,q1e=Dg*Dg*Dg;function PX(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return FX(t);t instanceof Va||(t=RX(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/MX),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/NX),s=k6((.0139322*e+.0971045*r+.7141733*n)/OX)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function V1e(t,e,r,n){return arguments.length===1?PX(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Xb(ec,V1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=NX*_6(e),t=MX*_6(t),r=OX*_6(r),new Va(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>q1e?Math.pow(t,1/3):t/BX+IX}function _6(t){return t>Dg?t*t*t:BX*(t-IX)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function G1e(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=PX(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $X(t,e){return function(r){return t+r*e}}function U1e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function H1e(t,e){var r=e-t;return r?$X(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function W1e(t){return(t=+t)==1?_2:function(e,r){return r-e?U1e(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$X(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=W1e(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function Y1e(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{lme()}finally{nm=0,ume(),r0=0}}function cme(){var t=q2.now(),e=t-C5;e>GX&&(TC-=e,C5=t)}function ume(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(cme,GX)),nm=1,UX(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var hme=yX("start","end","cancel","interrupt"),dme=[],WX=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;fme(t,r,{name:e,index:n,group:i,on:hme,tween:dme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:WX})}function AD(t,e){var r=Sl(t,e);if(r.state>WX)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function fme(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=HX(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function Ume(t,e,r){var n,i,a=Gme(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function Hme(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(Ume(r,t,e))}function Wme(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Yme(){return this.on("end.remove",Wme(this._id))}function Xme(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return KX;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>bye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function wye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function Cye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Sye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var Eye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=Eye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function kye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function _ye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:wye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:_ye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Aye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:Cye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Sye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,R=d.type;R==="n"?(T=!0,R="g"):y$[R]||(E===void 0&&(E=12),_=!0,R="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():""),L=(b==="$"?n:/[%p]/.test(R)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[R],F=/[defgprs%]/.test(R);E=E===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=L,I,N,B;if(R==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=kye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(R==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,ZX;Lye({thousands:",",grouping:[3],currency:["$",""]});function Lye(t){return Y4=Aye(t),Of=Y4.format,ZX=Y4.formatPrefix,Y4}function Rye(t){return Math.max(0,-im(Math.abs(t)))}function Dye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function Nye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function Mye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Oye(){return this.eachAfter(Mye)}function Iye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Bye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Pye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function zye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function qye(t){for(var e=this,r=Vye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function Vye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function Gye(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function Uye(){return Array.from(this)}function Hye(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Wye(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*Yye(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(Qye)}function Xye(){return DD(this).eachBefore(Zye)}function jye(t){return t.children}function Kye(t){return Array.isArray(t)?t[1]:null}function Zye(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Qye(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Oye,each:Iye,eachAfter:Pye,eachBefore:Bye,find:Fye,sum:$ye,sort:zye,path:qye,ancestors:Gye,descendants:Uye,leaves:Hye,links:Wye,copy:Xye,[Symbol.iterator]:Yye};function Jye(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function eve(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function tve(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),R=b*b*_,T=Math.max(C/R,R/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(nve);function sve(){var t=ave,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(eve),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function uve(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?hve:uve,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,lve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=eme,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function JX(){return dve()(vg,vg)}function fve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Dye(i,s))&&(n.precision=a),ZX(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Nye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=Rye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function pve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Ipe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return fve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=jA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=JX();return t.copy=function(){return QX(t,am())},CC.apply(t,arguments),pve(t)}function gve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(ura(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=ra(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?ra(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=ra(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const mve=ra(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());mve.range;const G2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const yve=ra(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());yve.range;const n0=ra(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const vve=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));vve.range;function A0(t){return ra(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const jb=A0(0),U2=A0(1),ej=A0(2),tj=A0(3),i0=A0(4),rj=A0(5),nj=A0(6);jb.range;U2.range;ej.range;tj.range;i0.range;rj.range;nj.range;function L0(t){return ra(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const ij=L0(0),L5=L0(1),bve=L0(2),xve=L0(3),om=L0(4),Tve=L0(5),wve=L0(6);ij.range;L5.range;bve.range;xve.range;om.range;Tve.range;wve.range;const H2=ra(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const Cve=ra(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Cve.range;const Ru=ra(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=ra(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Sve(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function L(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return L(te,e,ae,ie)}function I(te,ae,ie){return L(te,r,ae,ie)}function N(te,ae,ie){return L(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function X(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function j(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=R(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=R(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ua=/^\s*\d+/,Ave=/^%/,Lve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Dve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Nve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Mve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Ove(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Ive(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ua.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Bve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Pve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Fve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $ve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function zve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function qve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Vve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ua.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Uve(t,e,r){var n=Ave.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Hve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Wve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function Yve(t,e){return sn(t.getHours(),e,2)}function Xve(t,e){return sn(t.getHours()%12||12,e,2)}function jve(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aj(t,e){return sn(t.getMilliseconds(),e,3)}function Kve(t,e){return aj(t,e)+"000"}function Zve(t,e){return sn(t.getMonth()+1,e,2)}function Qve(t,e){return sn(t.getMinutes(),e,2)}function Jve(t,e){return sn(t.getSeconds(),e,2)}function e2e(t){var e=t.getDay();return e===0?7:e}function t2e(t,e){return sn(jb.count(Ru(t)-1,t),e,2)}function sj(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function r2e(t,e){return t=sj(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function n2e(t){return t.getDay()}function i2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function a2e(t,e){return sn(t.getFullYear()%100,e,2)}function s2e(t,e){return t=sj(t),sn(t.getFullYear()%100,e,2)}function o2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function l2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function c2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function u2e(t,e){return sn(t.getUTCHours(),e,2)}function h2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function d2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oj(t,e){return sn(t.getUTCMilliseconds(),e,3)}function f2e(t,e){return oj(t,e)+"000"}function p2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function g2e(t,e){return sn(t.getUTCMinutes(),e,2)}function m2e(t,e){return sn(t.getUTCSeconds(),e,2)}function y2e(t){var e=t.getUTCDay();return e===0?7:e}function v2e(t,e){return sn(ij.count(a0(t)-1,t),e,2)}function lj(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function b2e(t,e){return t=lj(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function x2e(t){return t.getUTCDay()}function T2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function w2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function C2e(t,e){return t=lj(t),sn(t.getUTCFullYear()%100,e,2)}function S2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function E2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function k2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;_2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function _2e(t){return Rp=_ve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function A2e(t){return new Date(t)}function L2e(t){return t instanceof Date?+t:+new Date(+t)}function cj(t,e,r,n,i,a,s,o,l,u){var h=JX(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(R){return(l(R)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uj(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Tye(e)}function I2e(t){return t.innerRadius}function B2e(t){return t.outerRadius}function P2e(t){return t.startAngle}function F2e(t){return t.endAngle}function $2e(t){return t&&t.padAngle}function z2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(L=F,O=$),{cx:L,cy:O,x01:-h,y01:-d,x11:L*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=I2e,e=B2e,r=Ei(0),n=null,i=P2e,a=F2e,s=$2e,o=null,l=uj(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pFa))o.moveTo(0,0);else if(b>u3-Fa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Fa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,R=b,k=b,L=s.apply(this,arguments)/2,O=L>Fa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Fa){var I=I$(O/f*Dl(L)),N=I$(O/p*Dl(L));(R-=I*2)>Fa?(I*=x?1:-1,E+=I,_-=I):(R=0,E=_=(m+v)/2),(k-=N*2)>Fa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Fa){var P=p*Qd(T),H=p*Dl(T),X=f*Qd(E),Z=f*Dl(E),j;if(bFa?q>Fa?(z=X4(X,Z,B,M,p,q,x),D=X4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qFa)||!(R>Fa)?o.lineTo(V,U):$>Fa?(z=X4(V,U,P,H,f,-$,x),D=X4(B,M,X,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function U2e(t){return t}function H2e(){var t=U2e,e=G2e,r=null,n=Ei(0),i=Ei(u3),a=Ei(0);function s(o){var l,u=(o=hj(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,R){return e(m[_],m[R])}):r!=null&&p.sort(function(_,R){return r(o[_],o[R])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:Ei(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ei(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ei(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:Ei(+o),s):a},s}class fj{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pj(t){return new fj(t,!0)}function gj(t){return new fj(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function X2(t){return new SC(t)}function mj(t){this._context=t}mj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function W2e(t){return new mj(t)}function yj(t){this._context=t}yj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Y2e(t){return new yj(t)}function vj(t,e){this._basis=new SC(t),this._beta=e}vj.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const X2e=(function t(e){function r(n){return e===1?new SC(n):new vj(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bj=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const j2e=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const K2e=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Fa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Fa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xj(t,e){this._context=t,this._alpha=e}xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Tj=(function t(e){function r(n){return e?new xj(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wj(t,e){this._context=t,this._alpha=e}wj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Z2e=(function t(e){function r(n){return e?new wj(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Cj(t,e){this._context=t,this._alpha=e}Cj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Q2e=(function t(e){function r(n){return e?new Cj(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Sj(t){this._context=t}Sj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function J2e(t){return new Sj(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function Ej(t){this._context=new kj(t)}(Ej.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kj(t){this._context=t}kj.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _j(t){return new O5(t)}function Aj(t){return new Ej(t)}function Lj(t){this._context=t}Lj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Dj(t){return new EC(t,.5)}function Nj(t){return new EC(t,0)}function Mj(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Gs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function Oj(t){return typeof t=="object"&&t!==null}S(Oj,"isObject");function Ij(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(Ij,"toArray");function Bj(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;ro&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(h3,"getLine");function d3(t,e){return Zi.repeat(" ",e-t.length)+t}S(d3,"padStart");function $j(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Zi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` `+o;for(u=h3(t.buffer,n[s],i[s],t.position,d),o+=Zi.repeat(" ",e.indent)+d3((t.line+1).toString(),h)+" | "+u.str+` `,o+=Zi.repeat("-",e.indent+h+3+u.pos)+`^ `,l=1;l<=e.linesAfter&&!(s+l>=i.length);l++)u=h3(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),d),o+=Zi.repeat(" ",e.indent)+d3((t.line+l+1).toString(),h)+" | "+u.str+` -`;return o.replace(/\n$/,"")}S($j,"makeSnippet");var nbe=$j,ibe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],abe=["scalar","sequence","mapping"];function zj(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}S(zj,"compileStyleAliases");function qj(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(ibe.indexOf(r)===-1)throw new Is('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=zj(e.styleAliases||null),abe.indexOf(this.kind)===-1)throw new Is('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}S(qj,"Type$1");var Va=qj;function u8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}S(u8,"compileList");function Vj(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(S(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),pbe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!pbe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var gbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Zi.isNegativeZero(t))return"-0.0";return r=t.toString(10),gbe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Zi.isNegativeZero(t))}S(iK,"isFloat");var mbe=new Va("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=ube.extend({implicit:[hbe,dbe,fbe,mbe]}),ybe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var vbe=new Va("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var bbe=new Va("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(gK,"isBinary");var xbe=new Va("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),Tbe=Object.prototype.hasOwnProperty,wbe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=nbe(r),new Is(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function j2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(j2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&j2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Zi.repeat(` -`,e-1))}S(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),ss(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),ss(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),ss(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),ss(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(pl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,_i(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else pl(r)?(Tu(t,n,i,!0),_C(t,_i(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),pl(o))_i(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else pl(o)?(Tu(t,r,n,!0),_C(t,_i(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(_i(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),ss(u)&&(d=f=!0,t.position++,_i(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,_i(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),_i(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),_i(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Abe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!pl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),pl(d)){l++;continue}if(t.lineIndent=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ybe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!ybe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var vbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Zi.isNegativeZero(t))return"-0.0";return r=t.toString(10),vbe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Zi.isNegativeZero(t))}S(iK,"isFloat");var bbe=new Ga("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=fbe.extend({implicit:[pbe,gbe,mbe,bbe]}),xbe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var Tbe=new Ga("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var wbe=new Ga("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(gK,"isBinary");var Cbe=new Ga("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),Sbe=Object.prototype.hasOwnProperty,Ebe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=sbe(r),new Is(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function j2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(j2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&j2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Zi.repeat(` +`,e-1))}S(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),os(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),os(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(pl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,_i(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else pl(r)?(Tu(t,n,i,!0),_C(t,_i(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),pl(o))_i(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else pl(o)?(Tu(t,r,n,!0),_C(t,_i(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(_i(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),os(u)&&(d=f=!0,t.position++,_i(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,_i(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),_i(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),_i(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Dbe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!pl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),pl(d)){l++;continue}if(t.lineIndente)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),_i(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(_i(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!ss(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!pl(s));break}if(pl(s))break;for(r=t.position;s!==0&&!ss(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):j2(t,'unknown document directive "'+n+'"')}if(_i(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,_i(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),_i(t,!0,-1),t.checkLineBreaks&&Rbe.test(t.input.slice(e,t.position))&&j2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,_i(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;ie)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),_i(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(_i(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!pl(s));break}if(pl(s))break;for(r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):j2(t,'unknown document directive "'+n+'"')}if(_i(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,_i(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),_i(t,!0,-1),t.checkLineBreaks&&Mbe.test(t.input.slice(e,t.position))&&j2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,_i(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(Zbe.indexOf(e)!==-1||Qbe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Is("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` +`+Zi.repeat(" ",t.indent*e)}S($5,"generateNextLine");function tZ(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(exe.indexOf(e)!==-1||txe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Is("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` @@ -161,13 +161,13 @@ Error generating stack: `+A.message+` `:"")+w8(l,e),i=a}return n}S(cZ,"foldString");function w8(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=` `+t.slice(i,a),i=a+1),s=o;return l+=` `,t.length-i>e&&s>i?l+=t.slice(i,s)+` -`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Wa[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Is("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Is("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),Fa={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Hn(t),e=Hn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(e2,"calculateDeltaAndAngle");var Hn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Hn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),o=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),l=Math.abs(Hn(e).x-Hn(n[0]).x),u=Math.abs(Hn(e).y-Hn(n[0]).y),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),o=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),l=Math.abs(Hn(e).y-Hn(n[0]).y),u=Math.abs(Hn(e).x-Hn(n[0]).x),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return j4}var R0=nxe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,ixe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||ixe||Function("return this")(),Uo=uc.Symbol,yZ=Object.prototype,axe=yZ.hasOwnProperty,sxe=yZ.toString,uv=Uo?Uo.toStringTag:void 0;function oxe(t){var e=axe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=sxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var lxe=Object.prototype,cxe=lxe.toString;function uxe(t){return cxe.call(t)}var hxe="[object Null]",dxe="[object Undefined]",H$=Uo?Uo.toStringTag:void 0;function D0(t){return t==null?t===void 0?dxe:hxe:H$&&H$ in Object(t)?oxe(t):uxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var fxe="[object AsyncFunction]",pxe="[object Function]",gxe="[object GeneratorFunction]",mxe="[object Proxy]";function J2(t){if(!po(t))return!1;var e=D0(t);return e==pxe||e==gxe||e==fxe||e==mxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function yxe(t){return!!W$&&W$ in t}var vxe=Function.prototype,bxe=vxe.toString;function N0(t){if(t!=null){try{return bxe.call(t)}catch{}try{return t+""}catch{}}return""}var xxe=/[\\^$.*+?()[\]{}|]/g,Txe=/^\[object .+?Constructor\]$/,wxe=Function.prototype,Cxe=Object.prototype,Sxe=wxe.toString,Exe=Cxe.hasOwnProperty,kxe=RegExp("^"+Sxe.call(Exe).replace(xxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _xe(t){if(!po(t)||yxe(t))return!1;var e=J2(t)?kxe:Txe;return e.test(N0(t))}function Axe(t,e){return t?.[e]}function M0(t,e){var r=Axe(t,e);return _xe(r)?r:void 0}var eb=M0(Object,"create");function Lxe(){this.__data__=eb?eb(null):{},this.size=0}function Rxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Dxe="__lodash_hash_undefined__",Nxe=Object.prototype,Mxe=Nxe.hasOwnProperty;function Oxe(t){var e=this.__data__;if(eb){var r=e[t];return r===Dxe?void 0:r}return Mxe.call(e,t)?e[t]:void 0}var Ixe=Object.prototype,Bxe=Ixe.hasOwnProperty;function Pxe(t){var e=this.__data__;return eb?e[t]!==void 0:Bxe.call(e,t)}var Fxe="__lodash_hash_undefined__";function $xe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?Fxe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function Wxe(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=f4e}function vd(t){return t!=null&&jD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function p4e(){return!1}var kZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Q$=kZ&&typeof co=="object"&&co&&!co.nodeType&&co,g4e=Q$&&Q$.exports===kZ,J$=g4e?uc.Buffer:void 0,m4e=J$?J$.isBuffer:void 0,dm=m4e||p4e,y4e="[object Object]",v4e=Function.prototype,b4e=Object.prototype,_Z=v4e.toString,x4e=b4e.hasOwnProperty,T4e=_Z.call(Object);function w4e(t){if(!nc(t)||D0(t)!=y4e)return!1;var e=XD(t);if(e===null)return!0;var r=x4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==T4e}var C4e="[object Arguments]",S4e="[object Array]",E4e="[object Boolean]",k4e="[object Date]",_4e="[object Error]",A4e="[object Function]",L4e="[object Map]",R4e="[object Number]",D4e="[object Object]",N4e="[object RegExp]",M4e="[object Set]",O4e="[object String]",I4e="[object WeakMap]",B4e="[object ArrayBuffer]",P4e="[object DataView]",F4e="[object Float32Array]",$4e="[object Float64Array]",z4e="[object Int8Array]",q4e="[object Int16Array]",V4e="[object Int32Array]",G4e="[object Uint8Array]",U4e="[object Uint8ClampedArray]",H4e="[object Uint16Array]",W4e="[object Uint32Array]",$n={};$n[F4e]=$n[$4e]=$n[z4e]=$n[q4e]=$n[V4e]=$n[G4e]=$n[U4e]=$n[H4e]=$n[W4e]=!0;$n[C4e]=$n[S4e]=$n[B4e]=$n[E4e]=$n[P4e]=$n[k4e]=$n[_4e]=$n[A4e]=$n[L4e]=$n[R4e]=$n[D4e]=$n[N4e]=$n[M4e]=$n[O4e]=$n[I4e]=!1;function Y4e(t){return nc(t)&&jD(t.length)&&!!$n[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,L2=AZ&&typeof co=="object"&&co&&!co.nodeType&&co,X4e=L2&&L2.exports===AZ,z6=X4e&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):Y4e;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var j4e=Object.prototype,K4e=j4e.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(K4e.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=uTe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=fTe(cTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function pTe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=ki(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${mTe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),vTe=S(function(t){return t.replace(E2,"")},"removeDirectives"),bTe=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return gTe[r]??e}S(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}S(IZ,"formatUrl");var xTe=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}S(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}S(PZ,"calcLabelPosition");var rz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),TTe=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(JD,"getStylesFromArray");var nz=0,$Z=S(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),wTe=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),CTe=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=cs(`${s} `,r),u=cs(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=STe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),STe=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(cs(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}S(U5,"calculateTextHeight");function cs(t,e){return eN(t,e).width}S(cs,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=wTe();b.text=v||MZ;const x=CTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,ETe=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(a1,"InitIDGenerator"),a1),K4,kTe=S(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}S(tN,"isDetailedError");var _Te=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function Ji(t,e){return G5({},t,e)}S(Ji,"cleanAndMerge");var Lr={assignWithDepth:ki,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:cs,calculateTextDimensions:eN,cleanAndMerge:Ji,detectInit:yTe,detectDirective:OZ,isSubstringInArray:bTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:TTe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:xTe,entityDecode:kTe,insertTitle:_Te,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:ETe},ATe=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function oa(t){return t??null}S(oa,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(GZ,"isLabelCoordinateInPath");var Qb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(rN,"configureLabelImages");var LTe=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=S(t=>{const e=RTe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),RTe=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:DTe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),DTe=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const NTe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...NTe,...H5}),MTe=Object.freeze({...UZ,body:"",hidden:!1}),OTe=Object.freeze({width:null,height:null}),ITe=Object.freeze({...OTe,...H5}),BTe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function PTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=PTe(t,e);for(const n in MTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function FTe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function $Te(t,e){if(t.icons[e])return az(t,e,[]);const r=FTe(t,[e])[e];return r?az(t,e,r):null}const zTe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,qTe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(zTe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=qTe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function VTe(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function GTe(t,e){return t?""+t+""+e:e}function UTe(t,e,r){const n=VTe(t);return GTe(n.defs,e+n.content+r)}const HTe=t=>t==="unset"||t==="undefined"||t==="none";function WTe(t,e){const r={...UZ,...t},n={...ITe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=UTe(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{HTe(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const YTe=/\sid="(\S+)"/g,oz=new Map;function XTe(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function jTe(t){const e=[];let r;for(;r=YTe.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=XTe(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function KTe(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(os.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var ZTe=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},QTe=/^(?:[ \t]*(?:\n|$))+/,JTe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,e3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,t3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),r3e=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,n3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,i3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),a3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,s3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),o3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XZ).getRegex(),cN={blockquote:o3e,code:JTe,def:i3e,fences:e3e,heading:t3e,hr:Jb,html:s3e,lheading:YZ,list:a3e,newline:QTe,paragraph:XZ,table:R2,text:n3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),l3e={...cN,lheading:r3e,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},c3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},u3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,h3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jZ=/^( {2,}|\\)\n(?!\s*$)/,d3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",ZTe?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,y3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),v3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",b3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),x3e=on(JZ,"gu").replace(/notPunctSpace/g,g3e).replace(/punctSpace/g,p3e).replace(/punct/g,ZZ).getRegex(),T3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),w3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),C3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),S3e=on(lN).replace("(?:-->|$)","-->").getRegex(),E3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",S3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,k3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),_3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:w3e,autolink:C3e,blockSkip:m3e,br:jZ,code:h3e,del:R2,emStrongLDelim:y3e,emStrongRDelimAst:b3e,emStrongRDelimUnd:T3e,escape:u3e,link:k3e,nolink:tQ,punctuation:f3e,reflink:eQ,reflinkSearch:_3e,tag:E3e,text:d3e,url:R2},A3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:x3e,emStrongLDelim:v3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>R3e[t];function Bl(t,e){if(e){if(os.escapeTest.test(t))return t.replace(os.escapeReplace,uz)}else if(os.escapeTestNoEncode.test(t))return t.replace(os.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(os.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(os.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(os.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function N3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` +`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Ya[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Is("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Is("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),$a={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Hn(t),e=Hn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(e2,"calculateDeltaAndAngle");var Hn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Hn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),o=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),l=Math.abs(Hn(e).x-Hn(n[0]).x),u=Math.abs(Hn(e).y-Hn(n[0]).y),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),o=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),l=Math.abs(Hn(e).y-Hn(n[0]).y),u=Math.abs(Hn(e).x-Hn(n[0]).x),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return j4}var R0=sxe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,oxe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||oxe||Function("return this")(),Uo=uc.Symbol,yZ=Object.prototype,lxe=yZ.hasOwnProperty,cxe=yZ.toString,uv=Uo?Uo.toStringTag:void 0;function uxe(t){var e=lxe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=cxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var hxe=Object.prototype,dxe=hxe.toString;function fxe(t){return dxe.call(t)}var pxe="[object Null]",gxe="[object Undefined]",H$=Uo?Uo.toStringTag:void 0;function D0(t){return t==null?t===void 0?gxe:pxe:H$&&H$ in Object(t)?uxe(t):fxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var mxe="[object AsyncFunction]",yxe="[object Function]",vxe="[object GeneratorFunction]",bxe="[object Proxy]";function J2(t){if(!po(t))return!1;var e=D0(t);return e==yxe||e==vxe||e==mxe||e==bxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function xxe(t){return!!W$&&W$ in t}var Txe=Function.prototype,wxe=Txe.toString;function N0(t){if(t!=null){try{return wxe.call(t)}catch{}try{return t+""}catch{}}return""}var Cxe=/[\\^$.*+?()[\]{}|]/g,Sxe=/^\[object .+?Constructor\]$/,Exe=Function.prototype,kxe=Object.prototype,_xe=Exe.toString,Axe=kxe.hasOwnProperty,Lxe=RegExp("^"+_xe.call(Axe).replace(Cxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Rxe(t){if(!po(t)||xxe(t))return!1;var e=J2(t)?Lxe:Sxe;return e.test(N0(t))}function Dxe(t,e){return t?.[e]}function M0(t,e){var r=Dxe(t,e);return Rxe(r)?r:void 0}var eb=M0(Object,"create");function Nxe(){this.__data__=eb?eb(null):{},this.size=0}function Mxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Oxe="__lodash_hash_undefined__",Ixe=Object.prototype,Bxe=Ixe.hasOwnProperty;function Pxe(t){var e=this.__data__;if(eb){var r=e[t];return r===Oxe?void 0:r}return Bxe.call(e,t)?e[t]:void 0}var Fxe=Object.prototype,$xe=Fxe.hasOwnProperty;function zxe(t){var e=this.__data__;return eb?e[t]!==void 0:$xe.call(e,t)}var qxe="__lodash_hash_undefined__";function Vxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?qxe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function jxe(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=m4e}function vd(t){return t!=null&&jD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function y4e(){return!1}var kZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Q$=kZ&&typeof co=="object"&&co&&!co.nodeType&&co,v4e=Q$&&Q$.exports===kZ,J$=v4e?uc.Buffer:void 0,b4e=J$?J$.isBuffer:void 0,dm=b4e||y4e,x4e="[object Object]",T4e=Function.prototype,w4e=Object.prototype,_Z=T4e.toString,C4e=w4e.hasOwnProperty,S4e=_Z.call(Object);function E4e(t){if(!nc(t)||D0(t)!=x4e)return!1;var e=XD(t);if(e===null)return!0;var r=C4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==S4e}var k4e="[object Arguments]",_4e="[object Array]",A4e="[object Boolean]",L4e="[object Date]",R4e="[object Error]",D4e="[object Function]",N4e="[object Map]",M4e="[object Number]",O4e="[object Object]",I4e="[object RegExp]",B4e="[object Set]",P4e="[object String]",F4e="[object WeakMap]",$4e="[object ArrayBuffer]",z4e="[object DataView]",q4e="[object Float32Array]",V4e="[object Float64Array]",G4e="[object Int8Array]",U4e="[object Int16Array]",H4e="[object Int32Array]",W4e="[object Uint8Array]",Y4e="[object Uint8ClampedArray]",X4e="[object Uint16Array]",j4e="[object Uint32Array]",$n={};$n[q4e]=$n[V4e]=$n[G4e]=$n[U4e]=$n[H4e]=$n[W4e]=$n[Y4e]=$n[X4e]=$n[j4e]=!0;$n[k4e]=$n[_4e]=$n[$4e]=$n[A4e]=$n[z4e]=$n[L4e]=$n[R4e]=$n[D4e]=$n[N4e]=$n[M4e]=$n[O4e]=$n[I4e]=$n[B4e]=$n[P4e]=$n[F4e]=!1;function K4e(t){return nc(t)&&jD(t.length)&&!!$n[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,L2=AZ&&typeof co=="object"&&co&&!co.nodeType&&co,Z4e=L2&&L2.exports===AZ,z6=Z4e&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):K4e;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Q4e=Object.prototype,J4e=Q4e.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(J4e.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=fTe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=mTe(dTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function yTe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=ki(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${bTe.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),TTe=S(function(t){return t.replace(E2,"")},"removeDirectives"),wTe=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return vTe[r]??e}S(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}S(IZ,"formatUrl");var CTe=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}S(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}S(PZ,"calcLabelPosition");var rz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),STe=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(JD,"getStylesFromArray");var nz=0,$Z=S(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),ETe=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),kTe=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=us(`${s} `,r),u=us(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=_Te(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),_Te=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(us(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}S(U5,"calculateTextHeight");function us(t,e){return eN(t,e).width}S(us,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=ETe();b.text=v||MZ;const x=kTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,ATe=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(a1,"InitIDGenerator"),a1),K4,LTe=S(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}S(tN,"isDetailedError");var RTe=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function Ji(t,e){return G5({},t,e)}S(Ji,"cleanAndMerge");var Lr={assignWithDepth:ki,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:us,calculateTextDimensions:eN,cleanAndMerge:Ji,detectInit:xTe,detectDirective:OZ,isSubstringInArray:wTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:STe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:CTe,entityDecode:LTe,insertTitle:RTe,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:ATe},DTe=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function oa(t){return t??null}S(oa,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(GZ,"isLabelCoordinateInPath");var Qb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(rN,"configureLabelImages");var NTe=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=S(t=>{const e=MTe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),MTe=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:OTe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),OTe=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const ITe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...ITe,...H5}),BTe=Object.freeze({...UZ,body:"",hidden:!1}),PTe=Object.freeze({width:null,height:null}),FTe=Object.freeze({...PTe,...H5}),$Te=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function zTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=zTe(t,e);for(const n in BTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function qTe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function VTe(t,e){if(t.icons[e])return az(t,e,[]);const r=qTe(t,[e])[e];return r?az(t,e,r):null}const GTe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,UTe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(GTe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=UTe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function HTe(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function WTe(t,e){return t?""+t+""+e:e}function YTe(t,e,r){const n=HTe(t);return WTe(n.defs,e+n.content+r)}const XTe=t=>t==="unset"||t==="undefined"||t==="none";function jTe(t,e){const r={...UZ,...t},n={...FTe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=YTe(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{XTe(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const KTe=/\sid="(\S+)"/g,oz=new Map;function ZTe(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function QTe(t){const e=[];let r;for(;r=KTe.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=ZTe(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function JTe(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(ls.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var e3e=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},t3e=/^(?:[ \t]*(?:\n|$))+/,r3e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,i3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),a3e=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,s3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,o3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),l3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,c3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),u3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XZ).getRegex(),cN={blockquote:u3e,code:r3e,def:o3e,fences:n3e,heading:i3e,hr:Jb,html:c3e,lheading:YZ,list:l3e,newline:t3e,paragraph:XZ,table:R2,text:s3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),h3e={...cN,lheading:a3e,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},d3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},f3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,p3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jZ=/^( {2,}|\\)\n(?!\s*$)/,g3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",e3e?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,x3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),T3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",w3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),C3e=on(JZ,"gu").replace(/notPunctSpace/g,v3e).replace(/punctSpace/g,y3e).replace(/punct/g,ZZ).getRegex(),S3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),E3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),k3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),_3e=on(lN).replace("(?:-->|$)","-->").getRegex(),A3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",_3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,L3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),R3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:E3e,autolink:k3e,blockSkip:b3e,br:jZ,code:p3e,del:R2,emStrongLDelim:x3e,emStrongRDelimAst:w3e,emStrongRDelimUnd:S3e,escape:f3e,link:L3e,nolink:tQ,punctuation:m3e,reflink:eQ,reflinkSearch:R3e,tag:A3e,text:g3e,url:R2},D3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:C3e,emStrongLDelim:T3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>M3e[t];function Bl(t,e){if(e){if(ls.escapeTest.test(t))return t.replace(ls.escapeReplace,uz)}else if(ls.escapeTestNoEncode.test(t))return t.replace(ls.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(ls.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(ls.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(ls.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function I3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` `).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[o]=s;return o.length>=i.length?a.slice(i.length):a}).join(` `)}var Y5=class{options;rules;lexer;constructor(e){this.options=e||B0}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:dv(n,` -`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=N3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=dv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:dv(r[0],` +`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=I3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=dv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:dv(r[0],` `)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=dv(r[0],` `).split(` `),i="",a="",s=[];for(;n.length>0;){let o=!1,l=[],u;for(u=0;uf.type==="space"),d=h.length>0&&h.some(f=>this.rules.other.anyLine.test(f.raw));a.loose=d}if(a.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[u]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` -`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=dv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=D3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),fz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return fz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},sl=class A8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B0,this.options.tokenizer=this.options.tokenizer||new Y5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:os,block:Z4.normal,inline:hv.normal};this.options.pedantic?(r.block=Z4.pedantic,r.inline=hv.pedantic):this.options.gfm&&(r.block=Z4.gfm,this.options.breaks?r.inline=hv.breaks:r.inline=hv.gfm),this.tokenizer.rules=r}static get rules(){return{block:Z4,inline:hv}}static lex(e,r){return new A8(r).lex(e)}static lexInline(e,r){return new A8(r).inlineTokens(e)}lex(e){e=e.replace(os.carriageReturn,` -`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=dv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=O3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),fz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return fz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},sl=class A8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B0,this.options.tokenizer=this.options.tokenizer||new Y5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:ls,block:Z4.normal,inline:hv.normal};this.options.pedantic?(r.block=Z4.pedantic,r.inline=hv.pedantic):this.options.gfm&&(r.block=Z4.gfm,this.options.breaks?r.inline=hv.breaks:r.inline=hv.gfm),this.tokenizer.rules=r}static get rules(){return{block:Z4,inline:hv}}static lex(e,r){return new A8(r).lex(e)}static lexInline(e,r){return new A8(r).inlineTokens(e)}lex(e){e=e.replace(ls.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` `)+i.raw,s.text+=` @@ -202,7 +202,7 @@ ${d}`:d;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` `)+i.raw,s.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,o)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,d=e.slice(1),f;this.options.extensions.startInline.forEach(p=>{f=p.call({lexer:this},d),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(o=l.raw.slice(-1)),s=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},X5=class{options;parser;constructor(e){this.options=e||B0}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(os.notSpaceStart)?.[0],a=e.replace(os.endingNewline,"")+` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,o)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,d=e.slice(1),f;this.options.extensions.startInline.forEach(p=>{f=p.call({lexer:this},d),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(o=l.raw.slice(-1)),s=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},X5=class{options;parser;constructor(e){this.options=e||B0}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(ls.notSpaceStart)?.[0],a=e.replace(ls.endingNewline,"")+` `;return i?'
    '+(n?a:Bl(a,!0))+`
    `:"
    "+(n?a:Bl(a,!0))+`
    `}blockquote({tokens:e}){return`
    @@ -221,27 +221,27 @@ ${this.parser.parse(e)}
    ${e} `}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` `}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Bl(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=hz(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=hz(e);if(a===null)return Bl(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new X5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new M3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=X5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new X5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new B3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=X5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=BTe(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=$Te(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),O3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=WTe(n,e),a=KTe(jTe(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` +`)),s+=d+n[l+1]}),s}var nQ={body:'?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=$Te(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=VTe(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),P3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=jTe(n,e),a=JTe(QTe(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` `).replace(/\n{2,}/g,` `);return rQ(n)}S(oQ,"preprocessMarkdown");function lQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}S(lQ,"nonMarkdownToLines");function cQ(t,e={}){const r=oQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` `).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return S(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}S(cQ,"markdownToLines");function uQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}S(uQ,"nonMarkdownToHTML");function hQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return S(n,"output"),r.map(n).join("")}S(hQ,"markdownToHTML");function dQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}S(dQ,"splitTextToChars");function fQ(t,e){const r=dQ(e.content);return fN(t,[],r,e.type)}S(fQ,"splitWordToFitWidth");function fN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}S(fN,"splitWordToFitWidthRecursion");function pQ(t,e){if(t.some(({content:r})=>r.includes(` `)))throw new Error("splitLineToFitWidth does not support newlines in the line");return j5(t,e)}S(pQ,"splitLineToFitWidth");function j5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return j5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return j5(t,e,r)}S(j5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Li(e.label)?await yC(e.label.replace($t.lineBreakRegex,` -`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await O3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var ys=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Li(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function I3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function B3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];I3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),B3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class P3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class F3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let $3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*C],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...W3e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function X3e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=H3e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,C),R+=Tr(.01*R,C);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/C.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":C(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=X3e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class j3e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class K3e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new j3e(t,e),svg:(t,e)=>new K3e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",oa(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await ys(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await ys(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var Z3e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=Z3e,Q3e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await ys(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=Q3e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await ys(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),J3e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),e5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),t5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await ys(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),r5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),n5e=kQ,i5e={rect:kQ,squareRect:n5e,roundedWithTitle:e5e,noteGroup:J3e,divider:r5e,kanbanSection:t5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await i5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),a5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var s5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var l5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",oa(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);R.push({x:F,y:$})}return R}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",oa(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} - M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function xa(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var u5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),h5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),d5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=u5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",oa(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",oa(e.cssClasses)).attr("style",oa(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function XQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(XQ,"filledCircle");var Ez=10,kz=10;async function jQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(jQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var f5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=f5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=C.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",oa(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",oa(f)).attr("ry",oa(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var p5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),g5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),m5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=p5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",oa(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=C.path(R,T);const L=Zr(_);let O=C.path(L,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var y5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=y5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",oa(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,LTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",oa(R)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var X6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-X6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=X6*u,d=X6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=C.path(R,T),L=Zr(_),O=C.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var v5e=S((t,e,r,n,i,a)=>`M${t},${e} +`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await P3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Li(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function F3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function $3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];F3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),$3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class z3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class q3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let V3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*C],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...j3e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function Z3e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=X3e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,C),R+=Tr(.01*R,C);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/C.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":C(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=Z3e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class Q3e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class J3e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new Q3e(t,e),svg:(t,e)=>new J3e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",oa(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var e5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=e5e,t5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=t5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),r5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),n5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),i5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),a5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),s5e=kQ,o5e={rect:kQ,squareRect:s5e,roundedWithTitle:n5e,noteGroup:r5e,divider:a5e,kanbanSection:i5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await o5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),l5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var c5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var h5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",oa(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);R.push({x:F,y:$})}return R}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",oa(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function xa(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var f5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),p5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),g5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=f5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",oa(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",oa(e.cssClasses)).attr("style",oa(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function XQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(XQ,"filledCircle");var Ez=10,kz=10;async function jQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(jQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var m5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=m5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=C.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",oa(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",oa(f)).attr("ry",oa(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var y5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),v5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),b5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=y5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",oa(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=C.path(R,T);const L=Zr(_);let O=C.path(L,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var x5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=x5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",oa(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,NTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",oa(R)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var X6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-X6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=X6*u,d=X6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=C.path(R,T),L=Zr(_),O=C.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var T5e=S((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} - l${-r},0`,"createCylinderPathD"),b5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),x5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=v5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",oa(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var pi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-pi,10),e.height=Math.max((e?.height??0)-a*2-pi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+pi,h=(e?.height?e?.height:o.height)+a*2+pi,d=u-pi,f=h-pi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-pi,y:m-pi},{x:p-pi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-pi}],T=`M${p-pi},${m-pi} L${p+d},${m-pi} L${p+d},${m+f} L${p-pi},${m+f} L${p-pi},${m-pi} + l${-r},0`,"createCylinderPathD"),w5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),C5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=T5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",oa(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var pi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-pi,10),e.height=Math.max((e?.height??0)-a*2-pi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+pi,h=(e?.height?e?.height:o.height)+a*2+pi,d=u-pi,f=h-pi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-pi,y:m-pi},{x:p-pi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-pi}],T=`M${p-pi},${m-pi} L${p+d},${m-pi} L${p+d},${m+f} L${p-pi},${m+f} L${p-pi},${m-pi} M${p-pi},${m} L${p+d},${m} - M${p},${m-pi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${pi/2}, ${pi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+pi/2-(o.x-(o.left??0))}, ${-(o.height/2)+pi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,C,R)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),T5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};cs(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&T5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await ys(o,e,{width:cs(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Li(o)&&(s=!0);const l=await ys(i,wD(Du(o)),{width:cs(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,C,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await ys(i,wD(Du(e)),{width:cs(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var w5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",w5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 + M${p},${m-pi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${pi/2}, ${pi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+pi/2-(o.x-(o.left??0))}, ${-(o.height/2)+pi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,C,R)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),S5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};us(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&S5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await vs(o,e,{width:us(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Li(o)&&(s=!0);const l=await vs(i,wD(Du(o)),{width:us(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,C,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await vs(i,wD(Du(e)),{width:us(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var E5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",E5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 a${h},${h} 1 0,0 ${m*.25},${-1*v*.1} a${h},${h} 1 0,0 ${m*.25},0 a${h},${h} 1 0,0 ${m*.25},0 @@ -293,25 +293,25 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error h${-(l-2*h)} q${-h},0 ${-h},${-h} Z - `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var C5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:XQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:jQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],S5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...C5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=S5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",oa(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var E5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),k5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),_5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),A5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},L5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=A5e[r],u=l&&L5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),R5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Ca=new Map,D5e=S(()=>{ew.clear(),Ca.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await ys(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Ca.get(e.id)||Ca.set(e.id,{}),Ca.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var XJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Ca.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Ca.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Ca.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Ca.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),N5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),M5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: + `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var k5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:XQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:jQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],_5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...k5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=_5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",oa(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var A5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),L5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),R5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),D5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},N5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=D5e[r],u=l&&N5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),M5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Sa=new Map,O5e=S(()=>{ew.clear(),Sa.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await vs(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var XJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Sa.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Sa.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Sa.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Sa.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),I5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),B5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!N5e(e,a)&&!i){const s=M5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function jJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(jJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),O5e=S(function(t){const{cornerPointPositions:e}=jJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),I5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=R5e(e.curve);b!=="rounded"&&(v=O5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=X2;break;case"cardinal":x=bj;break;case"bumpX":x=pj;break;case"bumpY":x=gj;break;case"catmullRom":x=Tj;break;case"monotoneX":x=_j;break;case"monotoneY":x=Aj;break;case"natural":x=Rj;break;case"step":x=Dj;break;case"stepAfter":x=Mj;break;case"stepBefore":x=Nj;break;case"rounded":x=A2;break;default:x=X2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,X=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?I5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",oa(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";_5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Fa[e.arrowTypeStart]){const i=Fa[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&Fa[e.arrowTypeEnd]){const i=Fa[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var B5e=S((t,e,r,n)=>{e.forEach(i=>{awe[i](t,r,n)})},"insertMarkers"),P5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),F5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),$5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),z5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),V5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),G5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),U5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),H5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),W5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),Y5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),X5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),j5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),K5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),Z5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),Q5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),J5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),ewe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),twe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!I5e(e,a)&&!i){const s=B5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function jJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(jJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),P5e=S(function(t){const{cornerPointPositions:e}=jJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),F5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=M5e(e.curve);b!=="rounded"&&(v=P5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=X2;break;case"cardinal":x=bj;break;case"bumpX":x=pj;break;case"bumpY":x=gj;break;case"catmullRom":x=Tj;break;case"monotoneX":x=_j;break;case"monotoneY":x=Aj;break;case"natural":x=Rj;break;case"step":x=Dj;break;case"stepAfter":x=Mj;break;case"stepBefore":x=Nj;break;case"rounded":x=A2;break;default:x=X2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,X=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?F5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",oa(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";R5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&$a[e.arrowTypeStart]){const i=$a[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&$a[e.arrowTypeEnd]){const i=$a[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var $5e=S((t,e,r,n)=>{e.forEach(i=>{lwe[i](t,r,n)})},"insertMarkers"),z5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),V5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),G5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),U5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),H5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),W5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),Y5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),X5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),j5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),K5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),Z5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),Q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),J5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),ewe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),twe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),rwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),nwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),iwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`)},"requirement_arrow"),rwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L0,20`)},"requirement_arrow"),awe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),nwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),iwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),awe={extension:P5e,composition:F5e,aggregation:$5e,dependency:z5e,lollipop:q5e,point:V5e,circle:G5e,cross:U5e,barb:H5e,barbNeo:W5e,only_one:Y5e,zero_or_one:X5e,one_or_more:j5e,zero_or_more:K5e,only_one_neo:Z5e,zero_or_one_neo:Q5e,one_or_more_neo:J5e,zero_or_more_neo:ewe,requirement_arrow:twe,requirement_contains:nwe,requirement_arrow_neo:rwe,requirement_contains_neo:iwe},JJ=B5e,swe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:XJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),owe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>XRe),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>IBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");owe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,swe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",lwe="@import",cwe="@namespace",uwe="@keyframes",hwe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function dwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function fwe(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,Fi=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function pwe(){return Fi}function gwe(){return Fi=Ho>0?Mg(Gm,--Ho):0,gm--,Fi===10&&(gm=1,WC--),Fi}function ml(){return Fi=Ho2||ab(Fi)>3?"":" "}function bwe(t,e){for(;--e&&ml()&&!(Fi<48||Fi>102||Fi>57&&Fi<65||Fi>70&&Fi<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch(Fi){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8(Fi);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function xwe(t,e){for(;ml()&&t+Fi!==57;)if(t+Fi===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Twe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function wwe(t){return ywe(y3("",null,null,null,[""],t=mwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){dwe(k+=g3(j6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=j6(C);break;case 9:case 10:case 13:case 32:k+=vwe(m);break;case 92:k+=bwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(Cwe(xwe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(R=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,R,R,n&&rT(Pz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&gwe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=j6(ml())),f=zh(),h=d=ql(T=k+=Twe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=fwe(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function Cwe(t,e,r,n){return xN(t,e,r,tee,bN(pwe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),$we=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>RPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),zwe={id:lee,detector:Fwe,loader:$we},qwe=zwe,cee="flowchart",Vwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Gwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),Uwe={id:cee,detector:Vwe,loader:Gwe},Hwe=Uwe,uee="flowchart-v2",Wwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),Ywe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),Xwe={id:uee,detector:Wwe,loader:Ywe},jwe=Xwe,hee="er",Kwe=S(t=>/^\s*erDiagram/.test(t),"detector"),Zwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KPe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),Qwe={id:hee,detector:Kwe,loader:Zwe},Jwe=Qwe,dee="gitGraph",eCe=S(t=>/^\s*gitGraph/.test(t),"detector"),tCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),rCe={id:dee,detector:eCe,loader:tCe},nCe=rCe,fee="gantt",iCe=S(t=>/^\s*gantt/.test(t),"detector"),aCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>hYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),sCe={id:fee,detector:iCe,loader:aCe},oCe=sCe,pee="info",lCe=S(t=>/^\s*info/.test(t),"detector"),cCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),uCe={id:pee,detector:lCe,loader:cCe},gee="pie",hCe=S(t=>/^\s*pie/.test(t),"detector"),dCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>BYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),fCe={id:gee,detector:hCe,loader:dCe},mee="quadrantChart",pCe=S(t=>/^\s*quadrantChart/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>HYe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),mCe={id:mee,detector:pCe,loader:gCe},yCe=mCe,yee="xychart",vCe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),xCe={id:yee,detector:vCe,loader:bCe},TCe=xCe,vee="requirement",wCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),CCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>pXe);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),SCe={id:vee,detector:wCe,loader:CCe},ECe=SCe,bee="sequence",kCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),_Ce=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>cje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),ACe={id:bee,detector:kCe,loader:_Ce},LCe=ACe,xee="class",RCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),DCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>gje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),NCe={id:xee,detector:RCe,loader:DCe},MCe=NCe,Tee="classDiagram",OCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),ICe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yje);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),BCe={id:Tee,detector:OCe,loader:ICe},PCe=BCe,wee="state",FCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),$Ce=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),zCe={id:wee,detector:FCe,loader:$Ce},qCe=zCe,Cee="stateDiagram",VCe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),GCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>lKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),UCe={id:Cee,detector:VCe,loader:GCe},HCe=UCe,See="journey",WCe=S(t=>/^\s*journey/.test(t),"detector"),YCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>RKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),XCe={id:See,detector:WCe,loader:YCe},jCe=XCe,KCe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error -`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Gi(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:KCe},ZCe=Eee,QCe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},JCe=QCe,kee="flowchart-elk",eSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),tSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),rSe={id:kee,detector:eSe,loader:tSe},nSe=rSe,_ee="timeline",iSe=S(t=>/^\s*timeline/.test(t),"detector"),aSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>aZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),sSe={id:_ee,detector:iSe,loader:aSe},oSe=sSe,Aee="mindmap",lSe=S(t=>/^\s*mindmap/.test(t),"detector"),cSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>TZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),uSe={id:Aee,detector:lSe,loader:cSe},hSe=uSe,Lee="kanban",dSe=S(t=>/^\s*kanban/.test(t),"detector"),fSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>qZe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),pSe={id:Lee,detector:dSe,loader:fSe},gSe=pSe,Ree="sankey",mSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),ySe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>EQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),vSe={id:Ree,detector:mSe,loader:ySe},bSe=vSe,Dee="packet",xSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),TSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>BQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),wSe={id:Dee,detector:xSe,loader:TSe},Nee="radar",CSe=S(t=>/^\s*radar-beta/.test(t),"detector"),SSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),ESe={id:Nee,detector:CSe,loader:SSe},Mee="block",kSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Met);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),ASe={id:Mee,detector:kSe,loader:_Se},LSe=ASe,Oee="treeView",RSe=S(t=>/^\s*treeView-beta/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Qet);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),NSe={id:Oee,detector:RSe,loader:DSe},MSe=NSe,Iee="architecture",OSe=S(t=>/^\s*architecture/.test(t),"detector"),ISe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ktt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),BSe={id:Iee,detector:OSe,loader:ISe},PSe=BSe,Bee="ishikawa",FSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),$Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Gtt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),zSe={id:Bee,detector:FSe,loader:$Se},Pee="venn",qSe=S(t=>/^\s*venn-beta/.test(t),"detector"),VSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Art);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),GSe={id:Pee,detector:qSe,loader:VSe},USe=GSe,Fee="treemap",HSe=S(t=>/^\s*treemap/.test(t),"detector"),WSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$rt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),YSe={id:Fee,detector:HSe,loader:WSe},$ee="wardley-beta",XSe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),jSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Krt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),KSe={id:$ee,detector:XSe,loader:jSe},ZSe=KSe,Uz=!1,XC=S(()=>{Uz||(Uz=!0,g5("error",JCe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(nSe,hSe,PSe),GA(qwe,gSe,PCe,MCe,Jwe,oCe,uCe,fCe,ECe,LCe,jwe,Hwe,oSe,nCe,HCe,qCe,jCe,yCe,bSe,wSe,TCe,LSe,MSe,ESe,zSe,YSe,USe,ZSe))},"addDiagrams"),QSe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{XA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),JSe="graphics-document document";function zee(t,e){t.attr("role",JSe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=ATe(e)+` -`;try{XA(i)}catch{const u=k0e(i);if(!u)throw new rX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=XA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],eEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),tEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tX);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var rEe=S(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),nEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),iEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:vTe(t),directive:e}},"processDirectives");function TN(t){const e=rEe(t),r=nEe(e),n=iEe(r.text),i=Ji(r.config,n.directive);return t=tEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var aEe=5e4,sEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",oEe="sandbox",lEe="loose",cEe="http://www.w3.org/2000/svg",uEe="http://www.w3.org/1999/xlink",hEe="http://www.w3.org/1999/xhtml",dEe="100%",fEe="100%",pEe="border:0;margin:0;",gEe="margin:0",mEe="allow-top-navigation-by-user-activation allow-popups",yEe='The "iframe" tag is not supported by your browser.',vEe=["foreignobject"],bEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),J0e(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){XC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),xEe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),swe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),owe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),lwe={extension:z5e,composition:q5e,aggregation:V5e,dependency:G5e,lollipop:U5e,point:H5e,circle:W5e,cross:Y5e,barb:X5e,barbNeo:j5e,only_one:K5e,zero_or_one:Z5e,one_or_more:Q5e,zero_or_more:J5e,only_one_neo:ewe,zero_or_one_neo:twe,one_or_more_neo:rwe,zero_or_more_neo:nwe,requirement_arrow:iwe,requirement_contains:swe,requirement_arrow_neo:awe,requirement_contains_neo:owe},JJ=$5e,cwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:XJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),uwe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>ZRe),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>FBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");uwe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,cwe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",hwe="@import",dwe="@namespace",fwe="@keyframes",pwe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function gwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function mwe(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,Fi=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function ywe(){return Fi}function vwe(){return Fi=Ho>0?Mg(Gm,--Ho):0,gm--,Fi===10&&(gm=1,WC--),Fi}function ml(){return Fi=Ho2||ab(Fi)>3?"":" "}function wwe(t,e){for(;--e&&ml()&&!(Fi<48||Fi>102||Fi>57&&Fi<65||Fi>70&&Fi<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch(Fi){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8(Fi);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function Cwe(t,e){for(;ml()&&t+Fi!==57;)if(t+Fi===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Swe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function Ewe(t){return xwe(y3("",null,null,null,[""],t=bwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){gwe(k+=g3(j6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=j6(C);break;case 9:case 10:case 13:case 32:k+=Twe(m);break;case 92:k+=wwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(kwe(Cwe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(R=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,R,R,n&&rT(Pz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&vwe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=j6(ml())),f=zh(),h=d=ql(T=k+=Swe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=mwe(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function kwe(t,e,r,n){return xN(t,e,r,tee,bN(ywe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Vwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),Gwe={id:lee,detector:qwe,loader:Vwe},Uwe=Gwe,cee="flowchart",Hwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Wwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),Ywe={id:cee,detector:Hwe,loader:Wwe},Xwe=Ywe,uee="flowchart-v2",jwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),Kwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),Zwe={id:uee,detector:jwe,loader:Kwe},Qwe=Zwe,hee="er",Jwe=S(t=>/^\s*erDiagram/.test(t),"detector"),eCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>JPe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),tCe={id:hee,detector:Jwe,loader:eCe},rCe=tCe,dee="gitGraph",nCe=S(t=>/^\s*gitGraph/.test(t),"detector"),iCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),aCe={id:dee,detector:nCe,loader:iCe},sCe=aCe,fee="gantt",oCe=S(t=>/^\s*gantt/.test(t),"detector"),lCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>pYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),cCe={id:fee,detector:oCe,loader:lCe},uCe=cCe,pee="info",hCe=S(t=>/^\s*info/.test(t),"detector"),dCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>wYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),fCe={id:pee,detector:hCe,loader:dCe},gee="pie",pCe=S(t=>/^\s*pie/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Ye);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),mCe={id:gee,detector:pCe,loader:gCe},mee="quadrantChart",yCe=S(t=>/^\s*quadrantChart/.test(t),"detector"),vCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>XYe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),bCe={id:mee,detector:yCe,loader:vCe},xCe=bCe,yee="xychart",TCe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),wCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>cXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),CCe={id:yee,detector:TCe,loader:wCe},SCe=CCe,vee="requirement",ECe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),kCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yXe);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),_Ce={id:vee,detector:ECe,loader:kCe},ACe=_Ce,bee="sequence",LCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),RCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),DCe={id:bee,detector:LCe,loader:RCe},NCe=DCe,xee="class",MCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),OCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>vje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),ICe={id:xee,detector:MCe,loader:OCe},BCe=ICe,Tee="classDiagram",PCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),FCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xje);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),$Ce={id:Tee,detector:PCe,loader:FCe},zCe=$Ce,wee="state",qCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),VCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>cKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),GCe={id:wee,detector:qCe,loader:VCe},UCe=GCe,Cee="stateDiagram",HCe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),WCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>hKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),YCe={id:Cee,detector:HCe,loader:WCe},XCe=YCe,See="journey",jCe=S(t=>/^\s*journey/.test(t),"detector"),KCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),ZCe={id:See,detector:jCe,loader:KCe},QCe=ZCe,JCe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error +`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Gi(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:JCe},eSe=Eee,tSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},rSe=tSe,kee="flowchart-elk",nSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),iSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),aSe={id:kee,detector:nSe,loader:iSe},sSe=aSe,_ee="timeline",oSe=S(t=>/^\s*timeline/.test(t),"detector"),lSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>lZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),cSe={id:_ee,detector:oSe,loader:lSe},uSe=cSe,Aee="mindmap",hSe=S(t=>/^\s*mindmap/.test(t),"detector"),dSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>SZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),fSe={id:Aee,detector:hSe,loader:dSe},pSe=fSe,Lee="kanban",gSe=S(t=>/^\s*kanban/.test(t),"detector"),mSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UZe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),ySe={id:Lee,detector:gSe,loader:mSe},vSe=ySe,Ree="sankey",bSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),xSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>AQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),TSe={id:Ree,detector:bSe,loader:xSe},wSe=TSe,Dee="packet",CSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),SSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Qe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),ESe={id:Dee,detector:CSe,loader:SSe},Nee="radar",kSe=S(t=>/^\s*radar-beta/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),ASe={id:Nee,detector:kSe,loader:_Se},Mee="block",LSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),RSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Bet);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),DSe={id:Mee,detector:LSe,loader:RSe},NSe=DSe,Oee="treeView",MSe=S(t=>/^\s*treeView-beta/.test(t),"detector"),OSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ttt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),ISe={id:Oee,detector:MSe,loader:OSe},BSe=ISe,Iee="architecture",PSe=S(t=>/^\s*architecture/.test(t),"detector"),FSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Ltt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),$Se={id:Iee,detector:PSe,loader:FSe},zSe=$Se,Bee="ishikawa",qSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),VSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Wtt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),GSe={id:Bee,detector:qSe,loader:VSe},Pee="venn",USe=S(t=>/^\s*venn-beta/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Drt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),WSe={id:Pee,detector:USe,loader:HSe},YSe=WSe,Fee="treemap",XSe=S(t=>/^\s*treemap/.test(t),"detector"),jSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Vrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),KSe={id:Fee,detector:XSe,loader:jSe},$ee="wardley-beta",ZSe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),QSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jrt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),JSe={id:$ee,detector:ZSe,loader:QSe},eEe=JSe,Uz=!1,XC=S(()=>{Uz||(Uz=!0,g5("error",rSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(sSe,pSe,zSe),GA(Uwe,vSe,zCe,BCe,rCe,uCe,fCe,mCe,ACe,NCe,Qwe,Xwe,uSe,sCe,XCe,UCe,QCe,xCe,wSe,ESe,SCe,NSe,BSe,ASe,GSe,KSe,YSe,eEe))},"addDiagrams"),tEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{XA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),rEe="graphics-document document";function zee(t,e){t.attr("role",rEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=DTe(e)+` +`;try{XA(i)}catch{const u=L0e(i);if(!u)throw new rX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=XA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],nEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),iEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tX);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var aEe=S(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),sEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),oEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:TTe(t),directive:e}},"processDirectives");function TN(t){const e=aEe(t),r=sEe(e),n=oEe(r.text),i=Ji(r.config,n.directive);return t=iEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var lEe=5e4,cEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",uEe="sandbox",hEe="loose",dEe="http://www.w3.org/2000/svg",fEe="http://www.w3.org/1999/xlink",pEe="http://www.w3.org/1999/xhtml",gEe="100%",mEe="100%",yEe="border:0;margin:0;",vEe="margin:0",bEe="allow-top-navigation-by-user-activation allow-popups",xEe='The "iframe" tag is not supported by your browser.',TEe=["foreignobject"],wEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),rpe(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){XC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),CEe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),TEe=S((t,e,r,n)=>{const i=xEe(t,r),a=ype(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(wwe(`${n}{${a}}`),Swe)},"createUserStyles"),wEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),CEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":fEe,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",cEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var SEe=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),EEe=S(async function(t,e,r){XC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??aEe)&&(e=sEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===oEe,p=i.securityLevel===lEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,uEe)}else{if(SEe(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=TEe(i,C,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():ZCe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",hEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=wEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=CEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:vEe,ADD_ATTR:bEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(eEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=ki({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),Z0e(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?K0e(e):sX();fD(r.logLevel),XC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:EEe,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oX,getSiteConfig:sX,updateSiteConfig:Q0e,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var kEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Xee=S(async function(t={querySelector:".mermaid"}){try{await _Ee(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),_Ee=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){kEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),jee=S(function(t){c0.initialize(t)},"initialize"),AEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&jee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Xee(n)},"init"),LEe=S(async(t,{lazyLoad:e=!0}={})=>{XC(),GA(...t),e===!1&&await QSe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var REe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),DEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),NEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:DEe,render:Qee,init:AEe,run:Xee,registerExternalDiagrams:LEe,registerLayoutLoaders:eee,initialize:jee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:REe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:NEe},Xz=Nu;function nT(t){dl.postMessage(t)}const MEe="_mermaid_container_lewih_1",OEe="_diagram_container_lewih_17",IEe="_diagram_lewih_17",Z6={mermaid_container:MEe,diagram_container:OEe,diagram:IEe};function BEe(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=Kt.useRef(null),r=Kt.useRef(0),[n,i]=Kt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Kt.useEffect(()=>{Xz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Kt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),SEe=S((t,e,r,n)=>{const i=CEe(t,r),a=xpe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(Ewe(`${n}{${a}}`),_we)},"createUserStyles"),EEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),kEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":mEe,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",dEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var _Ee=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),AEe=S(async function(t,e,r){XC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??lEe)&&(e=cEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===uEe,p=i.securityLevel===hEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,fEe)}else{if(_Ee(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=SEe(i,C,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():eSe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",pEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=EEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=kEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:TEe,ADD_ATTR:wEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(nEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=ki({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),epe(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?J0e(e):sX();fD(r.logLevel),XC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:AEe,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oX,getSiteConfig:sX,updateSiteConfig:tpe,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var LEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Xee=S(async function(t={querySelector:".mermaid"}){try{await REe(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),REe=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){LEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),jee=S(function(t){c0.initialize(t)},"initialize"),DEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&jee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Xee(n)},"init"),NEe=S(async(t,{lazyLoad:e=!0}={})=>{XC(),GA(...t),e===!1&&await tEe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var MEe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),OEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),IEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:OEe,render:Qee,init:DEe,run:Xee,registerExternalDiagrams:NEe,registerLayoutLoaders:eee,initialize:jee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:MEe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:IEe},Xz=Nu;function nT(t){dl.postMessage(t)}const BEe="_mermaid_container_lewih_1",PEe="_diagram_container_lewih_17",FEe="_diagram_lewih_17",Z6={mermaid_container:BEe,diagram_container:PEe,diagram:FEe};function $Ee(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=Kt.useRef(null),r=Kt.useRef(0),[n,i]=Kt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Kt.useEffect(()=>{Xz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Kt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=`

    No Diagram Available Yet

    Click Run in the IDAES Tree View to execute the flowsheet and generate a diagram.

    @@ -344,9 +344,9 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` `);console.log(`mermaid diagram text: ${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p}=await Xz.render(f,h);e.current&&(e.current.innerHTML=p)}catch(f){console.error("mermaid render error:",f),e.current&&(e.current.innerHTML=`

    Mermaid render error: ${f}

    -
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Le.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Le.jsx("h2",{className:"page-title",children:"Diagram:"}),Le.jsx("div",{className:`${Z6.diagram_container}`,children:Le.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const PEe="_ipopt_container_87gan_1",FEe="_solver_output_87gan_11",$Ee="_tabs_87gan_35",zEe="_tab_87gan_35",qEe="_tab_active_87gan_58",VEe="_tab_content_87gan_64",GEe="_run_error_87gan_73",UEe="_run_error_title_87gan_82",HEe="_run_error_body_87gan_87",WEe="_run_error_hint_87gan_92",Ia={ipopt_container:PEe,solver_output:FEe,tabs:$Ee,tab:zEe,tab_active:qEe,tab_content:VEe,run_error:GEe,run_error_title:UEe,run_error_body:HEe,run_error_hint:WEe};function jz(t){if(!t)return"No solver output available for this step.";const e=t.split(` +
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const zEe="_ipopt_container_87gan_1",qEe="_solver_output_87gan_11",VEe="_tabs_87gan_35",GEe="_tab_87gan_35",UEe="_tab_active_87gan_58",HEe="_tab_content_87gan_64",WEe="_run_error_87gan_73",YEe="_run_error_title_87gan_82",XEe="_run_error_body_87gan_87",jEe="_run_error_hint_87gan_92",Ba={ipopt_container:zEe,solver_output:qEe,tabs:VEe,tab:GEe,tab_active:UEe,tab_content:HEe,run_error:WEe,run_error_title:YEe,run_error_body:XEe,run_error_hint:jEe};function jz(t){if(!t)return"No solver output available for this step.";const e=t.split(` `);let r=0;for(let n=0;n0&&` Last completed steps: ${s.join(" → ")}.`]}),Le.jsx("p",{className:Ia.run_error_hint,children:"Check the error log for details."})]})]})}return a?Le.jsxs("div",{className:`${Ia.ipopt_container}`,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT"}),Le.jsxs("div",{className:Ia.tabs,children:[Le.jsx("span",{className:`${Ia.tab} ${e==="initial"?Ia.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Le.jsx("span",{className:`${Ia.tab} ${e==="optimization"?Ia.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Le.jsxs("div",{className:Ia.tab_content,children:[e==="initial"&&Le.jsx("pre",{className:`${Ia.solver_output}`,children:jz(a.solve_initial)}),e==="optimization"&&Le.jsx("pre",{className:`${Ia.solver_output}`,children:jz(a.solve_optimization)})]})]}):Le.jsxs("div",{className:`${Ia.ipopt_container}`,children:[Le.jsx("h2",{className:"page-title",children:"IPOPT:"}),Le.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const XEe="_container_1qp2h_2",jEe="_empty_msg_1qp2h_15",KEe="_tabs_1qp2h_21",ZEe="_tab_1qp2h_21",QEe="_tab_active_1qp2h_43",JEe="_tab_content_1qp2h_49",eke="_group_1qp2h_54",tke="_group_header_1qp2h_58",rke="_group_title_1qp2h_65",nke="_badge_warning_1qp2h_70",ike="_badge_caution_1qp2h_84",ake="_toggle_btns_1qp2h_99",ske="_toggle_btn_1qp2h_99",oke="_toggle_sep_1qp2h_115",lke="_group_body_1qp2h_121",cke="_summary_item_1qp2h_127",uke="_summary_line_1qp2h_131",hke="_clickable_1qp2h_140",dke="_arrow_1qp2h_149",fke="_summary_count_1qp2h_156",pke="_summary_text_1qp2h_163",gke="_detail_list_1qp2h_168",mke="_run_error_1qp2h_189",yke="_run_error_title_1qp2h_198",vke="_run_error_body_1qp2h_203",bke="_run_error_hint_1qp2h_208",jr={container:XEe,empty_msg:jEe,tabs:KEe,tab:ZEe,tab_active:QEe,tab_content:JEe,group:eke,group_header:tke,group_title:rke,badge_warning:nke,badge_caution:ike,toggle_btns:ake,toggle_btn:ske,toggle_sep:oke,group_body:lke,summary_item:cke,summary_line:uke,clickable:hke,arrow:dke,summary_count:fke,summary_text:pke,detail_list:gke,run_error:mke,run_error_title:yke,run_error_body:vke,run_error_hint:bke};function X8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const xke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Tke({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Le.jsxs("div",{className:jr.summary_item,children:[Le.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&Le.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),Le.jsx("span",{className:jr.summary_count,children:t.count}),Le.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Le.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>Le.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Kt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Le.jsxs("div",{className:jr.group,children:[Le.jsxs("div",{className:jr.group_header,children:[Le.jsx("span",{className:jr.group_title,children:t}),Le.jsx("span",{className:e,children:r.length}),r.length>0&&Le.jsxs("span",{className:jr.toggle_btns,children:[Le.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),Le.jsx("span",{className:jr.toggle_sep,children:"|"}),Le.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Le.jsxs("div",{className:jr.group_body,children:[r.length===0&&Le.jsx("div",{className:jr.summary_line,children:Le.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>Le.jsx(Tke,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function wke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Le.jsxs("div",{children:[Le.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Le.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:X8(i.bounds),names:i.names};xke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Cke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Le.jsxs("div",{children:[Le.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Le.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Ske(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=t?.actions?.diagnostics,[r,n]=Kt.useState("structure");if(!e)return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{children:"Diagnostic:"}),Le.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{children:"Diagnostic:"}),Le.jsxs("div",{className:jr.run_error,children:[Le.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Le.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Le.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return Le.jsxs("div",{className:jr.container,children:[Le.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Le.jsxs("div",{className:jr.tabs,children:[Le.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Le.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Le.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&Le.jsx(wke,{data:e.structural_issues}),r==="numerical"&&Le.jsx(Cke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Kt.useState(n??!1);return Le.jsxs("div",{style:{paddingLeft:"12px"},children:[Le.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Le.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Le.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Le.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Le.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Kt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Le.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Le.jsx("span",{style:{fontFamily:"monospace"},children:m}):Le.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Le.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Le.jsxs("div",{style:{paddingLeft:"12px"},children:[Le.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Le.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Le.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Le.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Le.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",Eke(p)]})]}),i&&p.length>0&&Le.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Le.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function Eke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function j8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(j8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>j8(u,h,e)),o=o.filter(([u,h])=>j8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Le.jsxs(Le.Fragment,{children:[s.length>0&&Le.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Le.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Le.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Le.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Le.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Le.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Le.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function kke({data:t,dofSteps:e}){const[r,n]=Kt.useState(""),[i,a]=Kt.useState(!1),[s,o]=Kt.useState(0),l=Kt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Kt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Le.jsxs("div",{children:[Le.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Le.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Le.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Le.jsx("div",{children:Le.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Le.jsx(_ke,{data:t,searchTerm:l})]})}function _ke({data:t,searchTerm:e}){return Kt.useMemo(()=>CN(t,e),[t,e])?null:Le.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Ake="_run_error_nknwf_18",Lke="_run_error_title_nknwf_27",Rke="_run_error_body_nknwf_32",Dke="_run_error_hint_nknwf_37",iT={run_error:Ake,run_error_title:Lke,run_error_body:Rke,run_error_hint:Dke};function Nke(){const{flowsheetRunnerResult:t}=Kt.useContext(Ra),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Le.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Le.jsxs("div",{className:iT.run_error,children:[Le.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Le.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Le.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Le.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Le.jsxs("section",{children:[Le.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Le.jsx(kke,{data:r,dofSteps:i})]})}const Mke="_tabs_1froz_2",Oke="_tab_1froz_2",Ike="_tab_active_1froz_24",Bke="_logs_main_container_1froz_30",Pke="_tab_content_1froz_39",Fke="_content_section_1froz_47",$ke="_logs_container_1froz_54",zke="_logs_header_1froz_67",qke="_logs_title_1froz_76",Vke="_clear_logs_button_1froz_82",Gke="_log_item_1froz_96",Uke="_no_logs_1froz_104",Bi={tabs:Mke,tab:Oke,tab_active:Ike,logs_main_container:Bke,tab_content:Pke,content_section:Fke,logs_container:$ke,logs_header:zke,logs_title:qke,clear_logs_button:Vke,log_item:Gke,no_logs:Uke};function Hke(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Kt.useContext(Ra),r=()=>{e([])};return Le.jsxs("div",{className:Bi.content_section,children:[Le.jsxs("div",{className:Bi.logs_header,children:[Le.jsx("h2",{className:Bi.logs_title,children:"Extension Logs & Errors"}),Le.jsx("button",{className:Bi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Le.jsx("div",{className:Bi.logs_container,children:t.length===0?Le.jsx("span",{className:Bi.no_logs,children:"No errors logged."}):t.map((n,i)=>Le.jsx("div",{className:Bi.log_item,children:n},i))})]})}function Wke(){const{terminalLogs:t,setTerminalLogs:e}=Kt.useContext(Ra),r=Kt.useRef(null);Kt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Le.jsxs("div",{className:Bi.content_section,children:[Le.jsxs("div",{className:Bi.logs_header,children:[Le.jsx("h2",{className:Bi.logs_title,children:"Terminal Output"}),Le.jsx("button",{className:Bi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Le.jsxs("div",{className:Bi.logs_container,children:[t.length===0?Le.jsx("span",{className:Bi.no_logs,children:"No terminal output."}):t.map((i,a)=>Le.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Le.jsx("div",{ref:r})]})]})}function Yke(){const{activeLogTab:t,setActiveLogTab:e}=Kt.useContext(Ra);return Kt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Le.jsxs("div",{className:Bi.logs_main_container,children:[Le.jsxs("div",{className:Bi.tabs,children:[Le.jsx("span",{className:`${Bi.tab} ${t==="error"?Bi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Le.jsx("span",{className:`${Bi.tab} ${t==="terminal"?Bi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Le.jsxs("div",{className:Bi.tab_content,children:[t==="error"&&Le.jsx(Hke,{}),t==="terminal"&&Le.jsx(Wke,{})]})]})}const Xke="_main_display_container_xlfzb_1",jke="_nav_xlfzb_11",Kke="_nav_item_xlfzb_25",Zke="_nav_item_active_xlfzb_44",Qke="_blue_dot_xlfzb_49",Ls={main_display_container:Xke,nav:jke,nav_item:Kke,nav_item_active:Zke,blue_dot:Qke};function Jke(){const[t,e]=Kt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Kt.useContext(Ra),[i,a]=Kt.useState(!1),s=Kt.useRef(r.length),{flowsheetRunnerResult:o}=Kt.useContext(Ra),l=o?.actions?.degrees_of_freedom?.model;Kt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Kt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Le.jsx(Le.Fragment,{});switch(t){case"diagram":u=Le.jsx(BEe,{});break;case"variable":u=Le.jsx(Nke,{});break;case"ipopt":u=Le.jsx(YEe,{});break;case"diagnostics":u=Le.jsx(Ske,{});break;case"logs":u=Le.jsx(Yke,{});break;default:u=Le.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Le.jsxs("div",{className:`${Ls.main_display_container}`,children:[Le.jsxs("ul",{className:`${Ls.nav}`,children:[Le.jsx("li",{className:`${Ls.nav_item} ${t==="diagram"?Ls.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="variable"?Ls.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Le.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Le.jsx("li",{className:`${Ls.nav_item} ${t==="diagnostics"?Ls.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="ipopt"?Ls.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Le.jsx("span",{className:`${Ls.blue_dot}`})]}),Le.jsxs("li",{className:`${Ls.nav_item} ${t==="logs"?Ls.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Le.jsx("span",{className:`${Ls.blue_dot}`})]})]}),Le.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function e6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p,setPythonEnvInfo:m}=Kt.useContext(Ra),[v,b]=Kt.useState(""),[x,C]=Kt.useState(!1);function T(E){let _;switch(console.log(`Now loading page: ${E}`),E){case"editor":_=Le.jsx(Hfe,{});break;case"webView":console.log("loading web view page"),_=Le.jsx(Jke,{});break;case"treeView":console.log("loading tree page"),_=Le.jsx(Ufe,{});break;case"error":console.log(`Encounter an error: ${E}`);break;default:console.log("Unknown message type:",E);break}return _}return Kt.useEffect(()=>{if(!n)return;const E=n.actions?.diagnostics;if(E?.valid!==!1)return;const _=n.last_run??[],R=`[${new Date().toLocaleTimeString()}]`;s(k=>[...k,`${R} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${_.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:E,last_run:_})}`,`${R} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:_})}`,`${R} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:_})}`,`${R} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:_})}`])},[n]),Kt.useEffect(()=>{window.addEventListener("message",E=>{const _=E.data;switch(_.type){case"init":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content),r(_.fileName),t(_.idaesRunInfo),b(_.loadApp),l(!1),_.osPlatform&&p(_.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",_),_.isLoading!==void 0&&(console.log("Calling setIsLoading with:",_.isLoading),l(_.isLoading)),r(_.activate_tab_name),_.idaesRunInfo!==void 0&&t(_.idaesRunInfo),_.initError?u(_.initError):(_.initError===null||_.isLoading)&&u(null),_.open_python_files!==void 0&&h(_.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",_),m({current:_.current??null,envs:_.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),_.open_python_files!==void 0&&h(_.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(_)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(_.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(_)}`),s(R=>{const k=`[${new Date().toLocaleTimeString()}] ${_.message||JSON.stringify(_)}`;return[...R,k]});break;case"terminal_log":o(R=>[...R,_.data]);break;case"start_new_run":i(null),f(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),C(!1),setTimeout(()=>C(!0),10);break;case"history_update":console.log(`Received history list length: ${_.data?.length}`),d(_.data);break;default:console.log("Unknown message type:",JSON.stringify(_));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Le.jsx("div",{className:x?"flash-highlight":"",onAnimationEnd:()=>C(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:T(v)})}qde.createRoot(document.getElementById("root")).render(Le.jsx(Kt.StrictMode,{children:Le.jsx(Vde,{children:Le.jsx(e6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(t6e,"-$1").toLowerCase(),r6e={"&":"&",">":">","<":"<",'"':""","'":"'"},n6e=/[&><"']/g,Ga=t=>String(t).replace(n6e,e=>r6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,i6e=new Set(["mathord","textord","atom"]),Vu=t=>i6e.has(v3(t).type),a6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function s6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:s6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=a6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[o6e[this.id]]}sub(){return Ul[l6e[this.id]]}fracNum(){return Ul[c6e[this.id]]}fracDen(){return Ul[u6e[this.id]]}cramp(){return Ul[h6e[this.id]]}text(){return Ul[d6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,ls=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(ls,3,!0)],o6e=[lb,zo,lb,zo,mm,ls,mm,ls],l6e=[zo,zo,zo,zo,ls,ls,ls,ls],c6e=[Ig,wu,lb,zo,mm,ls,mm,ls],u6e=[wu,wu,zo,zo,ls,ls,ls,ls],h6e=[iw,iw,wu,wu,zo,zo,ls,ls],d6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function f6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,p6e=function(e,r){return"M95,"+(622+e+r)+` +`).trimStart();return t}function KEe(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),[e,r]=Kt.useState("initial"),n=t?.actions?.diagnostics,i=!!t&&n?.valid===!1,a=t?.actions?.solver_output?.output||t?.actions?.capture_solver_output?.solver_logs;if(!t)return Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]});if(i){const s=t.last_run??[];return Ae.jsxs("div",{className:Ba.ipopt_container,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsxs("div",{className:Ba.run_error,children:[Ae.jsx("p",{className:Ba.run_error_title,children:"fi-run has issues: Solver Output Unavailable"}),Ae.jsxs("p",{className:Ba.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",s.length>0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const ZEe="_container_1qp2h_2",QEe="_empty_msg_1qp2h_15",JEe="_tabs_1qp2h_21",eke="_tab_1qp2h_21",tke="_tab_active_1qp2h_43",rke="_tab_content_1qp2h_49",nke="_group_1qp2h_54",ike="_group_header_1qp2h_58",ake="_group_title_1qp2h_65",ske="_badge_warning_1qp2h_70",oke="_badge_caution_1qp2h_84",lke="_toggle_btns_1qp2h_99",cke="_toggle_btn_1qp2h_99",uke="_toggle_sep_1qp2h_115",hke="_group_body_1qp2h_121",dke="_summary_item_1qp2h_127",fke="_summary_line_1qp2h_131",pke="_clickable_1qp2h_140",gke="_arrow_1qp2h_149",mke="_summary_count_1qp2h_156",yke="_summary_text_1qp2h_163",vke="_detail_list_1qp2h_168",bke="_run_error_1qp2h_189",xke="_run_error_title_1qp2h_198",Tke="_run_error_body_1qp2h_203",wke="_run_error_hint_1qp2h_208",jr={container:ZEe,empty_msg:QEe,tabs:JEe,tab:eke,tab_active:tke,tab_content:rke,group:nke,group_header:ike,group_title:ake,badge_warning:ske,badge_caution:oke,toggle_btns:lke,toggle_btn:cke,toggle_sep:uke,group_body:hke,summary_item:dke,summary_line:fke,clickable:pke,arrow:gke,summary_count:mke,summary_text:yke,detail_list:vke,run_error:bke,run_error_title:xke,run_error_body:Tke,run_error_hint:wke};function X8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Cke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ske({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:jr.summary_item,children:[Ae.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:jr.summary_count,children:t.count}),Ae.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Kt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:jr.group,children:[Ae.jsxs("div",{className:jr.group_header,children:[Ae.jsx("span",{className:jr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:jr.toggle_btns,children:[Ae.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:jr.toggle_sep,children:"|"}),Ae.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:jr.group_body,children:[r.length===0&&Ae.jsx("div",{className:jr.summary_line,children:Ae.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ske,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Eke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:X8(i.bounds),names:i.names};Cke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function kke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function _ke(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=Kt.useState("structure");if(!e)return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.run_error,children:[Ae.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.tabs,children:[Ae.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&Ae.jsx(Eke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(kke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Kt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Kt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",Ake(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function Ake(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function j8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(j8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>j8(u,h,e)),o=o.filter(([u,h])=>j8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function Lke({data:t,dofSteps:e}){const[r,n]=Kt.useState(""),[i,a]=Kt.useState(!1),[s,o]=Kt.useState(0),l=Kt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Kt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(Rke,{data:t,searchTerm:l})]})}function Rke({data:t,searchTerm:e}){return Kt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Dke="_run_error_nknwf_18",Nke="_run_error_title_nknwf_27",Mke="_run_error_body_nknwf_32",Oke="_run_error_hint_nknwf_37",iT={run_error:Dke,run_error_title:Nke,run_error_body:Mke,run_error_hint:Oke};function Ike(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(Lke,{data:r,dofSteps:i})]})}const Bke="_tabs_1froz_2",Pke="_tab_1froz_2",Fke="_tab_active_1froz_24",$ke="_logs_main_container_1froz_30",zke="_tab_content_1froz_39",qke="_content_section_1froz_47",Vke="_logs_container_1froz_54",Gke="_logs_header_1froz_67",Uke="_logs_title_1froz_76",Hke="_clear_logs_button_1froz_82",Wke="_log_item_1froz_96",Yke="_no_logs_1froz_104",Bi={tabs:Bke,tab:Pke,tab_active:Fke,logs_main_container:$ke,tab_content:zke,content_section:qke,logs_container:Vke,logs_header:Gke,logs_title:Uke,clear_logs_button:Hke,log_item:Wke,no_logs:Yke};function Xke(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Kt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Bi.content_section,children:[Ae.jsxs("div",{className:Bi.logs_header,children:[Ae.jsx("h2",{className:Bi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Bi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Bi.logs_container,children:t.length===0?Ae.jsx("span",{className:Bi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Bi.log_item,children:n},i))})]})}function jke(){const{terminalLogs:t,setTerminalLogs:e}=Kt.useContext(Da),r=Kt.useRef(null);Kt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Bi.content_section,children:[Ae.jsxs("div",{className:Bi.logs_header,children:[Ae.jsx("h2",{className:Bi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Bi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Bi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Bi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function Kke(){const{activeLogTab:t,setActiveLogTab:e}=Kt.useContext(Da);return Kt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Bi.logs_main_container,children:[Ae.jsxs("div",{className:Bi.tabs,children:[Ae.jsx("span",{className:`${Bi.tab} ${t==="error"?Bi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Bi.tab} ${t==="terminal"?Bi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Bi.tab_content,children:[t==="error"&&Ae.jsx(Xke,{}),t==="terminal"&&Ae.jsx(jke,{})]})]})}const Zke="_main_display_container_xlfzb_1",Qke="_nav_xlfzb_11",Jke="_nav_item_xlfzb_25",e6e="_nav_item_active_xlfzb_44",t6e="_blue_dot_xlfzb_49",Rs={main_display_container:Zke,nav:Qke,nav_item:Jke,nav_item_active:e6e,blue_dot:t6e};function r6e(){const[t,e]=Kt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Kt.useContext(Da),[i,a]=Kt.useState(!1),s=Kt.useRef(r.length),{flowsheetRunnerResult:o}=Kt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;Kt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Kt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx($Ee,{});break;case"variable":u=Ae.jsx(Ike,{});break;case"ipopt":u=Ae.jsx(KEe,{});break;case"diagnostics":u=Ae.jsx(_ke,{});break;case"logs":u=Ae.jsx(Kke,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${Rs.main_display_container}`,children:[Ae.jsxs("ul",{className:`${Rs.nav}`,children:[Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagram"?Rs.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="variable"?Rs.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagnostics"?Rs.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="ipopt"?Rs.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Ae.jsx("span",{className:`${Rs.blue_dot}`})]}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="logs"?Rs.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${Rs.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function n6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p,setPythonEnvInfo:m}=Kt.useContext(Da),[v,b]=Kt.useState(""),[x,C]=Kt.useState(!1);function T(E){let _;switch(console.log(`Now loading page: ${E}`),E){case"editor":_=Ae.jsx(Xfe,{});break;case"webView":console.log("loading web view page"),_=Ae.jsx(r6e,{});break;case"treeView":console.log("loading tree page"),_=Ae.jsx(Yfe,{});break;case"error":console.log(`Encounter an error: ${E}`);break;default:console.log("Unknown message type:",E);break}return _}return Kt.useEffect(()=>{if(!n)return;const E=n.actions?.diagnostics;if(E?.valid!==!1)return;const _=n.last_run??[],R=`[${new Date().toLocaleTimeString()}]`;s(k=>[...k,`${R} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${_.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:E,last_run:_})}`,`${R} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:_})}`,`${R} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:_})}`,`${R} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:_})}`])},[n]),Kt.useEffect(()=>{window.addEventListener("message",E=>{const _=E.data;switch(_.type){case"init":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content),r(_.fileName),t(_.idaesRunInfo),b(_.loadApp),l(!1),_.osPlatform&&p(_.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",_),_.isLoading!==void 0&&(console.log("Calling setIsLoading with:",_.isLoading),l(_.isLoading)),r(_.activate_tab_name),_.idaesRunInfo!==void 0&&t(_.idaesRunInfo),_.initError?u(_.initError):(_.initError===null||_.isLoading)&&u(null),_.open_python_files!==void 0&&h(_.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",_),m({current:_.current??null,envs:_.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),_.open_python_files!==void 0&&h(_.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(_)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(_.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(_)}`),s(R=>{const k=`[${new Date().toLocaleTimeString()}] ${_.message||JSON.stringify(_)}`;return[...R,k]});break;case"terminal_log":o(R=>[...R,_.data]);break;case"start_new_run":i(null),f(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),C(!1),setTimeout(()=>C(!0),10);break;case"history_update":console.log(`Received history list length: ${_.data?.length}`),d(_.data);break;default:console.log("Unknown message type:",JSON.stringify(_));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:x?"flash-highlight":"",onAnimationEnd:()=>C(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:T(v)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(Kt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(n6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(i6e,"-$1").toLowerCase(),a6e={"&":"&",">":">","<":"<",'"':""","'":"'"},s6e=/[&><"']/g,Ua=t=>String(t).replace(s6e,e=>a6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,o6e=new Set(["mathord","textord","atom"]),Vu=t=>o6e.has(v3(t).type),l6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function c6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:c6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=l6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[u6e[this.id]]}sub(){return Ul[h6e[this.id]]}fracNum(){return Ul[d6e[this.id]]}fracDen(){return Ul[f6e[this.id]]}cramp(){return Ul[p6e[this.id]]}text(){return Ul[g6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],u6e=[lb,zo,lb,zo,mm,cs,mm,cs],h6e=[zo,zo,zo,zo,cs,cs,cs,cs],d6e=[Ig,wu,lb,zo,mm,cs,mm,cs],f6e=[wu,wu,zo,zo,cs,cs,cs,cs],p6e=[iw,iw,wu,wu,zo,zo,cs,cs],g6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function m6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,y6e=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -357,7 +357,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},g6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},v6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -367,7 +367,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},m6e=function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},b6e=function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -376,7 +376,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},y6e=function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},x6e=function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -386,18 +386,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},v6e=function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},T6e=function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},b6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},x6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},w6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},C6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},T6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=p6e(r,Mp);break;case"sqrtSize1":i=g6e(r,Mp);break;case"sqrtSize2":i=m6e(r,Mp);break;case"sqrtSize3":i=y6e(r,Mp);break;case"sqrtSize4":i=v6e(r,Mp);break;case"sqrtTall":i=x6e(r,Mp,n)}return i},w6e=function(e,r){switch(e){case"⎜":return Xi("M291 0 H417 V"+r+" H291z");case"∣":return Xi("M145 0 H188 V"+r+" H145z");case"∥":return Xi("M145 0 H188 V"+r+" H145z")+Xi("M367 0 H410 V"+r+" H367z");case"⎟":return Xi("M457 0 H583 V"+r+" H457z");case"⎢":return Xi("M319 0 H403 V"+r+" H319z");case"⎥":return Xi("M263 0 H347 V"+r+" H263z");case"⎪":return Xi("M384 0 H504 V"+r+" H384z");case"⏐":return Xi("M312 0 H355 V"+r+" H312z");case"‖":return Xi("M257 0 H300 V"+r+" H257z")+Xi("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},S6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=y6e(r,Mp);break;case"sqrtSize1":i=v6e(r,Mp);break;case"sqrtSize2":i=b6e(r,Mp);break;case"sqrtSize3":i=x6e(r,Mp);break;case"sqrtSize4":i=T6e(r,Mp);break;case"sqrtTall":i=C6e(r,Mp,n)}return i},E6e=function(e,r){switch(e){case"⎜":return Xi("M291 0 H417 V"+r+" H291z");case"∣":return Xi("M145 0 H188 V"+r+" H145z");case"∥":return Xi("M145 0 H188 V"+r+" H145z")+Xi("M367 0 H410 V"+r+" H367z");case"⎟":return Xi("M457 0 H583 V"+r+" H457z");case"⎢":return Xi("M319 0 H403 V"+r+" H319z");case"⎥":return Xi("M263 0 H347 V"+r+" H263z");case"⎪":return Xi("M384 0 H504 V"+r+" H384z");case"⏐":return Xi("M312 0 H355 V"+r+" H312z");case"‖":return Xi("M257 0 H300 V"+r+" H257z")+Xi("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 @@ -568,7 +568,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},C6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},k6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -596,38 +596,38 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},S6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in S6e||e==="ex"},ri=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ga(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ga(n)+'"');for(var a of Object.keys(this.attributes)){if(E6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ga(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let jC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class k6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ga(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ga(n)+'"');var a=Ga(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var R6e=t=>t instanceof Hm||t instanceof jC||t instanceof Um,Xl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){Xl[t]=e}function _N(t,e,r){if(!Xl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Xl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=Xl[e][n]),!i&&r==="text"&&rte(n)&&(i=Xl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function D6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var N6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},M6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Yn={math:{},text:{}};function K(t,e,r,n,i,a){Yn[t][i]={font:e,group:r,replace:n},a&&n&&(Yn[t][n]=Yn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Zn="accent-token",er="bin",vs="close",Wm="inner",mr="mathord",Ui="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,vs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,vs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,vs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,vs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,vs,"?","?");K(J,ce,vs,"!","!");K(J,ce,vs,"⟩","\\rangle",!0);K(J,ce,vs,"∣","\\rvert");K(J,ce,vs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,vs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,vs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,vs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,vs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,vs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,vs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Ui,"∐","\\coprod");K(J,ce,Ui,"⋁","\\bigvee");K(J,ce,Ui,"⋀","\\bigwedge");K(J,ce,Ui,"⨄","\\biguplus");K(J,ce,Ui,"⋂","\\bigcap");K(J,ce,Ui,"⋃","\\bigcup");K(J,ce,Ui,"∫","\\int");K(J,ce,Ui,"∫","\\intop");K(J,ce,Ui,"∬","\\iint");K(J,ce,Ui,"∭","\\iiint");K(J,ce,Ui,"∏","\\prod");K(J,ce,Ui,"∑","\\sum");K(J,ce,Ui,"⨂","\\bigotimes");K(J,ce,Ui,"⨁","\\bigoplus");K(J,ce,Ui,"⨀","\\bigodot");K(J,ce,Ui,"∮","\\oint");K(J,ce,Ui,"∯","\\oiint");K(J,ce,Ui,"∰","\\oiiint");K(J,ce,Ui,"⨆","\\bigsqcup");K(J,ce,Ui,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Zn,"ˊ","\\acute");K(J,ce,Zn,"ˋ","\\grave");K(J,ce,Zn,"¨","\\ddot");K(J,ce,Zn,"~","\\tilde");K(J,ce,Zn,"ˉ","\\bar");K(J,ce,Zn,"˘","\\breve");K(J,ce,Zn,"ˇ","\\check");K(J,ce,Zn,"^","\\hat");K(J,ce,Zn,"⃗","\\vec");K(J,ce,Zn,"˙","\\dot");K(J,ce,Zn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Zn,"ˊ","\\'");K(Ot,ce,Zn,"ˋ","\\`");K(Ot,ce,Zn,"ˆ","\\^");K(Ot,ce,Zn,"˜","\\~");K(Ot,ce,Zn,"ˉ","\\=");K(Ot,ce,Zn,"˘","\\u");K(Ot,ce,Zn,"˙","\\.");K(Ot,ce,Zn,"¸","\\c");K(Ot,ce,Zn,"˚","\\r");K(Ot,ce,Zn,"ˇ","\\v");K(Ot,ce,Zn,"¨",'\\"');K(Ot,ce,Zn,"˝","\\H");K(Ot,ce,Zn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return ns(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=I6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return ns(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},P6e=function(e,r,n,i){var a=new jC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},F6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ri(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ti={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},$6e={mord:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mop:{mord:ti,mop:ti,mrel:Vc,minner:ti},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mpunct:{mord:ti,mop:ti,mrel:Vc,mopen:ti,mclose:ti,mpunct:ti,minner:ti},minner:{mord:ti,mop:ti,mbin:rf,mrel:Vc,mopen:ti,mpunct:ti,minner:ti}},z6e={mord:{mop:ti},mop:{mord:ti,mop:ti},mbin:{},mrel:{},mopen:{},mclose:{mop:ti},mpunct:{},minner:{mop:ti}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&V6e.has(x)?v.classes[0]="mord":x==="mbin"&&q6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=z6e[C])==null?void 0:b[T]:(x=$6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof jC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return U6e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ea(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ea(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ga(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class zi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ga(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var H6e=new Set(["\\imath","\\jmath"]),W6e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return Yn[r][e]&&Yn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Yn[r][e].replace),new zi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(H6e.has(a))return null;if(Yn[i][a]){var s=Yn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof zi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof zi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Rn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof zi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof zi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Rn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&W6e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new zi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var Y6e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:Y6e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=D6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},X6e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},j6e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},K6e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new zi(K6e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},Z6e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Q6e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(Q6e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=Z6e[l],[T,E,_]=C,R=_/1e3,k=T.length,L,O;if(k===1){var F=C[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},J6e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||M6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(R6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=L6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=A6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Rn(t.base,e),r]);return n.setAttribute("accent","true"),n},e_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!e_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Rn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Rn(t.body,e));if(t.below){var a=hT(Rn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Rn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ea(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:$i(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:$i(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:$i(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:$i(e[0])}},htmlBuilder(t,e){var r=ea(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var t_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",r_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function n_e(t,e,r){var n=t_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function i_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=n_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Rn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Rn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ea(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:$i(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ri(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ri(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},a_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=a_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=Yn.math[e]&&Yn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},s_e=function(e,r,n,i,a,s){var o=ns(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},o_e=function(e,r,n,i){return ns(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=o_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[ns(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=Xl["Size4-Regular"][e.charCodeAt(0)]?Xl["Size4-Regular"][e.charCodeAt(0)][4]:Xl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",w6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},l_e=new Set(["|","\\lvert","\\rvert","\\vert"]),c_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):l_e.has(e)?(u="∣",d="vert",f=333):c_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var R=i2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=C6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=T6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},u_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),h_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(h_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},d_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],f_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],p_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=d_e:Rte.has(e)?o=Mte:o=f_e;var l=Ote(e,r,o,i);return l.type==="small"?s_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},g_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&g_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ea(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ri({number:.6,unit:"pt"},e),u=ri({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=b6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=J6e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Rn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},m_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Uu([We,Xe])},y_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){m_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),i_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Rn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var v_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Rn(t.numer,e),Rn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ri(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new zi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new zi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:v_e,mathmlBuilder:b_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},x_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Rn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:x_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:$i(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ea(t.body,e,!1);return P6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ea(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:$i(e[0]),mathml:$i(e[1])}},htmlBuilder:(t,e)=>{var r=ea(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ri(t.height,e),n=0;t.totalheight.number>0&&(n=ri(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ri(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new k6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ri(t.height,e),i=0;if(t.totalheight.number>0&&(i=ri(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ri(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ri(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Rn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:$i(e[0]),text:$i(e[1]),script:$i(e[2]),scriptscript:$i(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ea(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=ns(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ea(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new zi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},T_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=T_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$i(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var w_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=w_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ea(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new zi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:$i(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:C_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ea(t.body,e,!1)):Pt(["mord"],ea(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Rn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:$i(n)}},htmlBuilder:(t,e)=>{var r=ea(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo($i(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ri(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ri(t.width,e),i=ri(t.height,e),a=t.shift?ri(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ri(t.width,e),n=ri(t.height,e),i=t.shift?ri(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ea(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:S_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Rn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Rn(r,e),Rn(n,e)]):new Vt("msqrt",[Rn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var E_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=E_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Rn(t.base,e)];t.sub&&a.push(Rn(t.sub,e)),t.sup&&a.push(Rn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new zi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},k_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(k_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:$i(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ea(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Rn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r - ]`,__e="\\\\[a-zA-Z@]+",A_e="\\\\[^\uD800-\uDFFF]",L_e="("+__e+")"+Yte+"*",R_e=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},_6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in _6e||e==="ex"},ri=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ua(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ua(n)+'"');for(var a of Object.keys(this.attributes)){if(A6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ua(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let jC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class L6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ua(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ua(n)+'"');var a=Ua(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var M6e=t=>t instanceof Hm||t instanceof jC||t instanceof Um,Xl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){Xl[t]=e}function _N(t,e,r){if(!Xl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Xl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=Xl[e][n]),!i&&r==="text"&&rte(n)&&(i=Xl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function O6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var I6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},B6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Yn={math:{},text:{}};function K(t,e,r,n,i,a){Yn[t][i]={font:e,group:r,replace:n},a&&n&&(Yn[t][n]=Yn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Zn="accent-token",er="bin",bs="close",Wm="inner",mr="mathord",Ui="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Ui,"∐","\\coprod");K(J,ce,Ui,"⋁","\\bigvee");K(J,ce,Ui,"⋀","\\bigwedge");K(J,ce,Ui,"⨄","\\biguplus");K(J,ce,Ui,"⋂","\\bigcap");K(J,ce,Ui,"⋃","\\bigcup");K(J,ce,Ui,"∫","\\int");K(J,ce,Ui,"∫","\\intop");K(J,ce,Ui,"∬","\\iint");K(J,ce,Ui,"∭","\\iiint");K(J,ce,Ui,"∏","\\prod");K(J,ce,Ui,"∑","\\sum");K(J,ce,Ui,"⨂","\\bigotimes");K(J,ce,Ui,"⨁","\\bigoplus");K(J,ce,Ui,"⨀","\\bigodot");K(J,ce,Ui,"∮","\\oint");K(J,ce,Ui,"∯","\\oiint");K(J,ce,Ui,"∰","\\oiiint");K(J,ce,Ui,"⨆","\\bigsqcup");K(J,ce,Ui,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Zn,"ˊ","\\acute");K(J,ce,Zn,"ˋ","\\grave");K(J,ce,Zn,"¨","\\ddot");K(J,ce,Zn,"~","\\tilde");K(J,ce,Zn,"ˉ","\\bar");K(J,ce,Zn,"˘","\\breve");K(J,ce,Zn,"ˇ","\\check");K(J,ce,Zn,"^","\\hat");K(J,ce,Zn,"⃗","\\vec");K(J,ce,Zn,"˙","\\dot");K(J,ce,Zn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Zn,"ˊ","\\'");K(Ot,ce,Zn,"ˋ","\\`");K(Ot,ce,Zn,"ˆ","\\^");K(Ot,ce,Zn,"˜","\\~");K(Ot,ce,Zn,"ˉ","\\=");K(Ot,ce,Zn,"˘","\\u");K(Ot,ce,Zn,"˙","\\.");K(Ot,ce,Zn,"¸","\\c");K(Ot,ce,Zn,"˚","\\r");K(Ot,ce,Zn,"ˇ","\\v");K(Ot,ce,Zn,"¨",'\\"');K(Ot,ce,Zn,"˝","\\H");K(Ot,ce,Zn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=F6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},z6e=function(e,r,n,i){var a=new jC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},q6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ri(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ti={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},V6e={mord:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mop:{mord:ti,mop:ti,mrel:Vc,minner:ti},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mpunct:{mord:ti,mop:ti,mrel:Vc,mopen:ti,mclose:ti,mpunct:ti,minner:ti},minner:{mord:ti,mop:ti,mbin:rf,mrel:Vc,mopen:ti,mpunct:ti,minner:ti}},G6e={mord:{mop:ti},mop:{mord:ti,mop:ti},mbin:{},mrel:{},mopen:{},mclose:{mop:ti},mpunct:{},minner:{mop:ti}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&H6e.has(x)?v.classes[0]="mord":x==="mbin"&&U6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=G6e[C])==null?void 0:b[T]:(x=V6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof jC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return Y6e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ea(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ea(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ua(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class zi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ua(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var X6e=new Set(["\\imath","\\jmath"]),j6e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return Yn[r][e]&&Yn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Yn[r][e].replace),new zi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(X6e.has(a))return null;if(Yn[i][a]){var s=Yn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof zi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof zi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Rn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof zi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof zi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Rn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&j6e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new zi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var K6e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:K6e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=O6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},Z6e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},Q6e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},J6e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new zi(J6e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},e_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},t_e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(t_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=e_e[l],[T,E,_]=C,R=_/1e3,k=T.length,L,O;if(k===1){var F=C[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},r_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||B6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(M6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=N6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=D6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Rn(t.base,e),r]);return n.setAttribute("accent","true"),n},n_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!n_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Rn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Rn(t.body,e));if(t.below){var a=hT(Rn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Rn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ea(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:$i(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:$i(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:$i(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:$i(e[0])}},htmlBuilder(t,e){var r=ea(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var i_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",a_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function s_e(t,e,r){var n=i_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function o_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=s_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Rn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Rn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ea(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:$i(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ri(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ri(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},l_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=l_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=Yn.math[e]&&Yn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},c_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},u_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=u_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=Xl["Size4-Regular"][e.charCodeAt(0)]?Xl["Size4-Regular"][e.charCodeAt(0)][4]:Xl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",E6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},h_e=new Set(["|","\\lvert","\\rvert","\\vert"]),d_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):h_e.has(e)?(u="∣",d="vert",f=333):d_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var R=i2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=k6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=S6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},f_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),p_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(p_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},g_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],m_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],y_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=g_e:Rte.has(e)?o=Mte:o=m_e;var l=Ote(e,r,o,i);return l.type==="small"?c_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},v_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&v_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ea(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ri({number:.6,unit:"pt"},e),u=ri({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=w6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=r_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Rn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},b_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Uu([We,Xe])},x_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){b_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),o_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Rn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var T_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Rn(t.numer,e),Rn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ri(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new zi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new zi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:T_e,mathmlBuilder:w_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},C_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Rn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:C_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:$i(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ea(t.body,e,!1);return z6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ea(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:$i(e[0]),mathml:$i(e[1])}},htmlBuilder:(t,e)=>{var r=ea(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ri(t.height,e),n=0;t.totalheight.number>0&&(n=ri(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ri(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new L6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ri(t.height,e),i=0;if(t.totalheight.number>0&&(i=ri(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ri(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ri(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Rn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:$i(e[0]),text:$i(e[1]),script:$i(e[2]),scriptscript:$i(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ea(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ea(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new zi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},S_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=S_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$i(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var E_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=E_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ea(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new zi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:$i(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:k_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ea(t.body,e,!1)):Pt(["mord"],ea(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Rn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:$i(n)}},htmlBuilder:(t,e)=>{var r=ea(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo($i(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ri(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ri(t.width,e),i=ri(t.height,e),a=t.shift?ri(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ri(t.width,e),n=ri(t.height,e),i=t.shift?ri(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ea(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:__e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Rn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Rn(r,e),Rn(n,e)]):new Vt("msqrt",[Rn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var A_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=A_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Rn(t.base,e)];t.sub&&a.push(Rn(t.sub,e)),t.sup&&a.push(Rn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new zi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},L_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(L_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:$i(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ea(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Rn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r + ]`,R_e="\\\\[a-zA-Z@]+",D_e="\\\\[^\uD800-\uDFFF]",N_e="("+R_e+")"+Yte+"*",M_e=`\\\\( |[ \r ]+ -?)[ \r ]*`,lL="[̀-ͯ]",D_e=new RegExp(lL+"+$"),N_e="("+Yte+"+)|"+(R_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+L_e)+("|"+A_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(N_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class M_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var O_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],Yn.math[r],Yn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},I_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in Yn.math&&I_e.has(Yn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Xte=Gt(Xl["Main-Regular"][84][1]-.7*Xl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var jte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",jte(!1));ye("\\bra@set",jte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class B_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new M_e(O_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||Yn.math.hasOwnProperty(e)||Yn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new B_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var r7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n7e=/^\w*$/;function zN(t,e){if(qi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:n7e.test(t)||!r7e.test(t)||e!=null&&t in Object(e)}var i7e=500;function a7e(t){var e=$m(t,function(n){return r.size===i7e&&r.clear(),n}),r=e.cache;return e}var s7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o7e=/\\(\\)?/g,l7e=a7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(s7e,function(r,n,i,a){e.push(i?a.replace(o7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return qi(t)?t:zN(t,e)?[t]:l7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&IAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var T8e=Math.max;function w8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:K_e(r);return i<0&&(i=T8e(n+i,0)),ore(t,Hu(e),i)}var YN=x8e(w8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=qi(t)?Bg:Sre;return r(t,Hu(e))}function C8e(t,e){return uS(Tn(t,e))}function S8e(t,e){return t==null?t:WD(t,WN(e),O0)}function E8e(t,e){return t&&HN(t,WN(e))}function k8e(t,e){return t>e}var _8e=Object.prototype,A8e=_8e.hasOwnProperty;function L8e(t,e){return t!=null&&A8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,L8e)}function R8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:R8e(t,so(t))}function Ai(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function B8e(t,e,r){e.length?e=Bg(e,function(a){return qi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return M8e(i,function(a,s){return I8e(a,s,r)})}function P8e(t,e){return N8e(t,e,function(r,n){return wre(t,n)})}var uw=h7e(function(t,e){return t==null?{}:P8e(t,e)}),F8e=Math.ceil,$8e=Math.max;function z8e(t,e,r,n){for(var i=-1,a=$8e(F8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function q8e(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),B8e(t,uS(e),[])}),G8e=1/0,U8e=Og&&1/GN(new Og([,-0]))[1]==G8e?function(t){return new Og(t)}:Z_e,H8e=200;function _re(t,e,r){var n=-1,i=t7e,a=t.length,s=!0,o=[],l=o;if(a>=H8e){var u=e?null:U8e(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Ai(r))r=nf;else{r+="";for(var n=r;!Ai(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Ai(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return W8e(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Ai(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Ai(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=Q8e(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Ai(n)?Z8e:n)}function Q8e(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class J8e{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,eLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function eLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var tLe=Tg(1);function rLe(t,e){if(t.nodeCount()<=1)return[];var r=iLe(t,e||tLe),n=nLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function nLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function iLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new J8e}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function aLe(t){var e=t.graph().acyclicer==="greedy"?rLe(t,r(t)):sLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function sLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function oLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Xm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function lLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Xq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Ai(i)||(e[i][n.order]=r)}),e}function cLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function uLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Ai(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function jq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Xm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Ai(r))return r}))}function hLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function dLe(t,e){return e()}function fLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=jl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return jN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),ALe(t,e)}function ALe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=kLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function LLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function RLe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":NLe(t);break;case"longest-path":DLe(t);break;default:Jq(t)}}var DLe=ZN;function NLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function MLe(t){var e=Xm(t,"root",{},"_root"),r=OLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=ILe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=jq(t,"_bt"),u=jq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function OLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function ILe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function BLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function PLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function FLe(t,e,r){var n=$Le(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Ai(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function $Le(t){for(var e;t.hasNode(e=KN("_root")););return e}function zLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function VLe(t){var e={},r=jl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function GLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ULe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Ai(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Ai(a)&&!Ai(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=jl(r,function(i){return!i.indegree});return HLe(n)}function HLe(t){var e=[];function r(a){return function(s){s.merged||(Ai(s.barycenter)||Ai(a.barycenter)||s.barycenter>=a.barycenter)&&WLe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(jl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function WLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function YLe(t,e){var r=hLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(XLe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function XLe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=jl(i,function(m){return m!==s&&m!==o}));var u=GLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&KLe(m,v)}});var h=ULe(u,r);jLe(h,l);var d=YLe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function jLe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function KLe(t,e){Ai(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function ZLe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=VLe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){QLe(o%2?r:n,o%4>=2),i=fS(t);var u=zLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function tRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function rRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=iRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function iRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function aRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function sRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>_Re(t));r(" runLayout",()=>yRe(n,r)),r(" updateInputGraph",()=>vRe(t,n))})}function yRe(t,e){e(" makeSpaceForEdgeLabels",()=>ARe(t)),e(" removeSelfEdges",()=>PRe(t)),e(" acyclic",()=>aLe(t)),e(" nestingGraph.run",()=>MLe(t)),e(" rank",()=>RLe(Are(t))),e(" injectEdgeLabelProxies",()=>LRe(t)),e(" removeEmptyRanks",()=>uLe(t)),e(" nestingGraph.cleanup",()=>BLe(t)),e(" normalizeRanks",()=>cLe(t)),e(" assignRankMinMax",()=>RRe(t)),e(" removeEdgeLabelProxies",()=>DRe(t)),e(" normalize.run",()=>vLe(t)),e(" parentDummyChains",()=>JLe(t)),e(" addBorderSegments",()=>fLe(t)),e(" order",()=>ZLe(t)),e(" insertSelfEdges",()=>FRe(t)),e(" adjustCoordinateSystem",()=>pLe(t)),e(" position",()=>gRe(t)),e(" positionSelfEdges",()=>$Re(t)),e(" removeBorderNodes",()=>BRe(t)),e(" normalize.undo",()=>xLe(t)),e(" fixupEdgeLabelCoords",()=>ORe(t)),e(" undoCoordinateSystem",()=>gLe(t)),e(" translateGraph",()=>NRe(t)),e(" assignNodeIntersects",()=>MRe(t)),e(" reversePoints",()=>IRe(t)),e(" acyclic.undo",()=>oLe(t))}function vRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var bRe=["nodesep","edgesep","ranksep","marginx","marginy"],xRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},TRe=["acyclicer","ranker","rankdir","align"],wRe=["width","height"],CRe={width:0,height:0},SRe=["minlen","weight","width","height","labeloffset"],ERe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},kRe=["labelpos"];function _Re(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},xRe,T_(r,bRe),uw(r,TRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,v8e(T_(i,wRe),CRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},ERe,T_(i,SRe),uw(i,kRe)))}),e}function ARe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function LRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Xm(t,"edge-proxy",a,"_ep")}})}function RRe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function DRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function NRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function MRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Xq(n,a)),r.points.push(Xq(i,s))})}function ORe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function IRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function BRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function PRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function FRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Xm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function $Re(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:zRe(t),edges:qRe(t)};return Ai(t.graph())||(e.value=mre(t.graph())),e}function zRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Ai(r)||(i.value=r),Ai(n)||(i.parent=n),i})}function qRe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Ai(e.name)||(n.name=e.name),Ai(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,VRe=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),GRe=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{GRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),URe=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=URe(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),HRe=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),WRe=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),Xre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX +?)[ \r ]*`,lL="[̀-ͯ]",O_e=new RegExp(lL+"+$"),I_e="("+Yte+"+)|"+(M_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+N_e)+("|"+D_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(I_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class B_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var P_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],Yn.math[r],Yn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},F_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in Yn.math&&F_e.has(Yn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Xte=Gt(Xl["Main-Regular"][84][1]-.7*Xl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var jte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",jte(!1));ye("\\bra@set",jte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class $_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new B_e(P_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||Yn.math.hasOwnProperty(e)||Yn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new $_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var a7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s7e=/^\w*$/;function zN(t,e){if(qi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:s7e.test(t)||!a7e.test(t)||e!=null&&t in Object(e)}var o7e=500;function l7e(t){var e=$m(t,function(n){return r.size===o7e&&r.clear(),n}),r=e.cache;return e}var c7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,u7e=/\\(\\)?/g,h7e=l7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(c7e,function(r,n,i,a){e.push(i?a.replace(u7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return qi(t)?t:zN(t,e)?[t]:h7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&FAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var S8e=Math.max;function E8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:J_e(r);return i<0&&(i=S8e(n+i,0)),ore(t,Hu(e),i)}var YN=C8e(E8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=qi(t)?Bg:Sre;return r(t,Hu(e))}function k8e(t,e){return uS(Tn(t,e))}function _8e(t,e){return t==null?t:WD(t,WN(e),O0)}function A8e(t,e){return t&&HN(t,WN(e))}function L8e(t,e){return t>e}var R8e=Object.prototype,D8e=R8e.hasOwnProperty;function N8e(t,e){return t!=null&&D8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,N8e)}function M8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:M8e(t,so(t))}function Ai(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function $8e(t,e,r){e.length?e=Bg(e,function(a){return qi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return B8e(i,function(a,s){return F8e(a,s,r)})}function z8e(t,e){return I8e(t,e,function(r,n){return wre(t,n)})}var uw=p7e(function(t,e){return t==null?{}:z8e(t,e)}),q8e=Math.ceil,V8e=Math.max;function G8e(t,e,r,n){for(var i=-1,a=V8e(q8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function U8e(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),$8e(t,uS(e),[])}),W8e=1/0,Y8e=Og&&1/GN(new Og([,-0]))[1]==W8e?function(t){return new Og(t)}:e7e,X8e=200;function _re(t,e,r){var n=-1,i=i7e,a=t.length,s=!0,o=[],l=o;if(a>=X8e){var u=e?null:Y8e(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Ai(r))r=nf;else{r+="";for(var n=r;!Ai(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Ai(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return j8e(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Ai(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Ai(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=tLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Ai(n)?eLe:n)}function tLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class rLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,nLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function nLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var iLe=Tg(1);function aLe(t,e){if(t.nodeCount()<=1)return[];var r=oLe(t,e||iLe),n=sLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function sLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function oLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new rLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function lLe(t){var e=t.graph().acyclicer==="greedy"?aLe(t,r(t)):cLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function cLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function uLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Xm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function hLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Xq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Ai(i)||(e[i][n.order]=r)}),e}function dLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function fLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Ai(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function jq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Xm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Ai(r))return r}))}function pLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function gLe(t,e){return e()}function mLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=jl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return jN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),DLe(t,e)}function DLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=LLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function NLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function MLe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":ILe(t);break;case"longest-path":OLe(t);break;default:Jq(t)}}var OLe=ZN;function ILe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function BLe(t){var e=Xm(t,"root",{},"_root"),r=PLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=FLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=jq(t,"_bt"),u=jq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function PLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function FLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function $Le(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function zLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function qLe(t,e,r){var n=VLe(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Ai(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function VLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function GLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function HLe(t){var e={},r=jl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function WLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function YLe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Ai(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Ai(a)&&!Ai(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=jl(r,function(i){return!i.indegree});return XLe(n)}function XLe(t){var e=[];function r(a){return function(s){s.merged||(Ai(s.barycenter)||Ai(a.barycenter)||s.barycenter>=a.barycenter)&&jLe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(jl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function jLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function KLe(t,e){var r=pLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(ZLe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function ZLe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=jl(i,function(m){return m!==s&&m!==o}));var u=WLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&JLe(m,v)}});var h=YLe(u,r);QLe(h,l);var d=KLe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function QLe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function JLe(t,e){Ai(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function eRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=HLe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){tRe(o%2?r:n,o%4>=2),i=fS(t);var u=GLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function iRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function aRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=oRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function oRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function lRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function cRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>RRe(t));r(" runLayout",()=>xRe(n,r)),r(" updateInputGraph",()=>TRe(t,n))})}function xRe(t,e){e(" makeSpaceForEdgeLabels",()=>DRe(t)),e(" removeSelfEdges",()=>zRe(t)),e(" acyclic",()=>lLe(t)),e(" nestingGraph.run",()=>BLe(t)),e(" rank",()=>MLe(Are(t))),e(" injectEdgeLabelProxies",()=>NRe(t)),e(" removeEmptyRanks",()=>fLe(t)),e(" nestingGraph.cleanup",()=>$Le(t)),e(" normalizeRanks",()=>dLe(t)),e(" assignRankMinMax",()=>MRe(t)),e(" removeEdgeLabelProxies",()=>ORe(t)),e(" normalize.run",()=>TLe(t)),e(" parentDummyChains",()=>rRe(t)),e(" addBorderSegments",()=>mLe(t)),e(" order",()=>eRe(t)),e(" insertSelfEdges",()=>qRe(t)),e(" adjustCoordinateSystem",()=>yLe(t)),e(" position",()=>vRe(t)),e(" positionSelfEdges",()=>VRe(t)),e(" removeBorderNodes",()=>$Re(t)),e(" normalize.undo",()=>CLe(t)),e(" fixupEdgeLabelCoords",()=>PRe(t)),e(" undoCoordinateSystem",()=>vLe(t)),e(" translateGraph",()=>IRe(t)),e(" assignNodeIntersects",()=>BRe(t)),e(" reversePoints",()=>FRe(t)),e(" acyclic.undo",()=>uLe(t))}function TRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var wRe=["nodesep","edgesep","ranksep","marginx","marginy"],CRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},SRe=["acyclicer","ranker","rankdir","align"],ERe=["width","height"],kRe={width:0,height:0},_Re=["minlen","weight","width","height","labeloffset"],ARe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},LRe=["labelpos"];function RRe(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},CRe,T_(r,wRe),uw(r,SRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,T8e(T_(i,ERe),kRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},ARe,T_(i,_Re),uw(i,LRe)))}),e}function DRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function NRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Xm(t,"edge-proxy",a,"_ep")}})}function MRe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function ORe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function IRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function BRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Xq(n,a)),r.points.push(Xq(i,s))})}function PRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function FRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function $Re(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function zRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function qRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Xm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function VRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:GRe(t),edges:URe(t)};return Ai(t.graph())||(e.value=mre(t.graph())),e}function GRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Ai(r)||(i.value=r),Ai(n)||(i.parent=n),i})}function URe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Ai(e.name)||(n.name=e.name),Ai(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,HRe=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),WRe=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{WRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),YRe=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=YRe(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),XRe=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),jRe=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),Xre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX Node.id = `,v,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await Xre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),E5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(WRe(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);XJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),YRe=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),k5e(),D5e(),a5e(),VRe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function jre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function QRe(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function JRe(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function e9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ii(t,e){return jRe(t)||JRe(t,e)||eM(t,e)||e9e()}function dw(t){return KRe(t)||QRe(t)||eM(t)||t9e()}function r9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=r9e(t,"string");return typeof e=="symbol"?e:e+""}function ta(t){"@babel/helpers - typeof";return ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ta(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var ji=typeof window>"u"?null:window,iV=ji?ji.navigator:null;ji&&ji.document;var n9e=ta(""),Zre=ta({}),i9e=ta(function(){}),a9e=typeof HTMLElement>"u"?"undefined":ta(HTMLElement),ox=function(e){return e&&e.instanceString&&si(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ta(e)==n9e},si=function(e){return e!=null&&ta(e)===i9e},Ln=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ta(e)===Zre&&!Ln(e)&&e.constructor===Object},s9e=function(e){return e!=null&&ta(e)===Zre},Yt=function(e){return e!=null&&ta(e)===ta(1)&&!isNaN(e)},o9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(a9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},l9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},c9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},u9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},h9e=function(e){return s9e(e)&&si(e.then)},d9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},b9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+g9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},w9e=function(e){var r,n=new RegExp("^"+f9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},C9e=function(e){return S9e[e.toLowerCase()]},rne=function(e){return(Ln(e)?e:null)||C9e(e)||x9e(e)||w9e(e)||T9e(e)},S9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var O9e=M9e(),dx=cx(O9e),P_=ji?ji.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},I9e=(function(){if(ji){if(ji.requestAnimationFrame)return function(t){ji.requestAnimationFrame(t)};if(ji.mozRequestAnimationFrame)return function(t){ji.mozRequestAnimationFrame(t)};if(ji.webkitRequestAnimationFrame)return function(t){ji.webkitRequestAnimationFrame(t)};if(ji.msRequestAnimationFrame)return function(t){ji.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return I9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},B9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},W9e=function(e,r){for(var n=0;n"u"?"undefined":ta(Set))!==X9e?Set:j9e,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Wn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Wn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new jm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ln(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),L=x.slice(C),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,C,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=C,R=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=R,v(x,L,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(K9e)})(T3)),T3.exports}var F_,EV;function Q9e(){return EV||(EV=1,F_=Z9e()),F_}var J9e=Q9e(),fx=cx(J9e),eDe=Da({root:null,weight:function(e){return 1},directed:!1}),tDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=eDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=C.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},rDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,C[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Ae),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=uDe(a,e,r),n--}return r},hDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/cDe);if(a<2){Wn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},yDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},vDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},xDe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},TDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},wDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Ii(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},CDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function SDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=CDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Uh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=s2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},kDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},_De=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},ADe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},LDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},RDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];LDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},NDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,R=C[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},ODe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},jDe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:QDe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,JDe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,eNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return si(t)?s=t:s=wm[t]||wm.euclidean,e===0&&si(t)?s(i,a):s(e,r,n,i,a)}var tNe=Da({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return tNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},iNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=mNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},SNe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},ENe={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,tDe,rDe,iDe,sDe,lDe,hDe,FDe,Fg,$g,pL,ZDe,uNe,pNe,TNe,CNe,SNe,ENe].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function UNe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function HNe(){if(dG)return f7;dG=1;var t=zNe(),e=qNe(),r=VNe(),n=GNe(),i=UNe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ln(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Qi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return b9e(t.selector,e.selector)}),wMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},AMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function BMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,BMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var PMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var FMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,C),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-R,N=m+Math.max(C,E)+_+R,B=v-Math.max(C,E)-_-R,M=v+Math.max(C,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Ae){return He=He-Q,Ae=Ae-he,{x:He*j-Ae*ee+Q,y:He*ee+Ae*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},$Me=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},zMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=fs(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&$Me(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?TDe(pe.all):pe.all=fs(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:tOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ln(e)||(e=[e]),rOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===eOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&W9e(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ta(Symbol))!=e&&ta(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return jre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ua.neighbourhood=Ua.neighborhood;Ua.closedNeighbourhood=Ua.closedNeighborhood;Ua.openNeighbourhood=Ua.openNeighborhood;yr(Ua,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ua.componentsOf=Ua.components;var Aa=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Wn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new jm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new Aa(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var fOe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Nn=function(e,r,n,i){var a=dOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Nn(.25,.1,.25,1),"ease-in":Nn(.42,0,1,1),"ease-out":Nn(0,0,.58,1),"ease-in-out":Nn(.42,0,.58,1),"ease-in-sine":Nn(.47,0,.745,.715),"ease-out-sine":Nn(.39,.575,.565,1),"ease-in-out-sine":Nn(.445,.05,.55,.95),"ease-in-quad":Nn(.55,.085,.68,.53),"ease-out-quad":Nn(.25,.46,.45,.94),"ease-in-out-quad":Nn(.455,.03,.515,.955),"ease-in-cubic":Nn(.55,.055,.675,.19),"ease-out-cubic":Nn(.215,.61,.355,1),"ease-in-out-cubic":Nn(.645,.045,.355,1),"ease-in-quart":Nn(.895,.03,.685,.22),"ease-out-quart":Nn(.165,.84,.44,1),"ease-in-out-quart":Nn(.77,0,.175,1),"ease-in-quint":Nn(.755,.05,.855,.06),"ease-out-quint":Nn(.23,1,.32,1),"ease-in-out-quint":Nn(.86,0,.07,1),"ease-in-expo":Nn(.95,.05,.795,.035),"ease-out-expo":Nn(.19,1,.22,1),"ease-in-out-expo":Nn(1,0,0,1),"ease-in-circ":Nn(.6,.04,.98,.335),"ease-out-circ":Nn(.075,.82,.165,1),"ease-in-out-circ":Nn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=fOe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Nn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Ln(s)&&Ln(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(R.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(R.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(L,O)&&(a.zoom=mb(a.minZoom,Bp(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function gOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||gOe(h,T,t),pOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var mOe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},yOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(yOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Wn("Layout options must be specified to make a layout");return}if(e.name==null){Wn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Wn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var vOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Ln(e)?(r||(r={}),new Aa(this,e,r.unique,r.removed)):new Aa(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var ha={},M2="t",xOe="f";ha.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};ha.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};ha.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};ha.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};ha.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Ln(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:yDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=ji!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new Aa(this),listeners:[],aniEles:new Aa(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(h9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Ln(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,si(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=fs(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Ln(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(De+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Wn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Ae=function(We){return z9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Ae),this};var EOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},EOe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var kOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},kOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(MOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var AOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=fs(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},BOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},POe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},$Oe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},VOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},VOe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=fs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=DDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=RDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ms(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):C(R)||E(R)||E(R,"source")||E(R,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=fs({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Ae=Me.labelBounds.main;if(!Ae)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Ae.x1-$e-ot,it=Ae.x2+$e-ot,Ye=Ae.y1-$e-De,Xe=Ae.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Ae,Oe,We){return(We.y-Ae.y)*(Oe.x-Ae.x)>(Oe.y-Ae.y)*(We.x-Ae.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},XOe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):YOe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(XOe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,jOe=Math.sqrt(2*wb),Ya={};Ya.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Ii(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Ii(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ya.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||R))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Ae=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Ae,We,Ae]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Ya.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Ya.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=jOe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Ae[0],Ae[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Ae=u,Oe=Ef(Ae,wg(s)),We=Ef(Ae,wg(He)),Te=Oe;if(We2){var ot=Ef(Ae,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(L.p0,L.p1,L.p2,q),f=ZOe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=bDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(su(r.rscratch,X,e,Z),Z):Ms(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await Xre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),A5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(jRe(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);XJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),KRe=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),L5e(),O5e(),l5e(),HRe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function jre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function t9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function r9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function n9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function i9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ii(t,e){return QRe(t)||r9e(t,e)||eM(t,e)||n9e()}function dw(t){return JRe(t)||t9e(t)||eM(t)||i9e()}function a9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=a9e(t,"string");return typeof e=="symbol"?e:e+""}function ta(t){"@babel/helpers - typeof";return ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ta(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var ji=typeof window>"u"?null:window,iV=ji?ji.navigator:null;ji&&ji.document;var s9e=ta(""),Zre=ta({}),o9e=ta(function(){}),l9e=typeof HTMLElement>"u"?"undefined":ta(HTMLElement),ox=function(e){return e&&e.instanceString&&si(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ta(e)==s9e},si=function(e){return e!=null&&ta(e)===o9e},Ln=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ta(e)===Zre&&!Ln(e)&&e.constructor===Object},c9e=function(e){return e!=null&&ta(e)===Zre},Yt=function(e){return e!=null&&ta(e)===ta(1)&&!isNaN(e)},u9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(l9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},h9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},d9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},f9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},p9e=function(e){return c9e(e)&&si(e.then)},g9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},w9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+v9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},E9e=function(e){var r,n=new RegExp("^"+m9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},k9e=function(e){return _9e[e.toLowerCase()]},rne=function(e){return(Ln(e)?e:null)||k9e(e)||C9e(e)||E9e(e)||S9e(e)},_9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var P9e=B9e(),dx=cx(P9e),P_=ji?ji.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},F9e=(function(){if(ji){if(ji.requestAnimationFrame)return function(t){ji.requestAnimationFrame(t)};if(ji.mozRequestAnimationFrame)return function(t){ji.mozRequestAnimationFrame(t)};if(ji.webkitRequestAnimationFrame)return function(t){ji.webkitRequestAnimationFrame(t)};if(ji.msRequestAnimationFrame)return function(t){ji.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return F9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},$9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},j9e=function(e,r){for(var n=0;n"u"?"undefined":ta(Set))!==Z9e?Set:Q9e,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Wn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Wn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new jm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ln(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),L=x.slice(C),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,C,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=C,R=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=R,v(x,L,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(J9e)})(T3)),T3.exports}var F_,EV;function tDe(){return EV||(EV=1,F_=eDe()),F_}var rDe=tDe(),fx=cx(rDe),nDe=Na({root:null,weight:function(e){return 1},directed:!1}),iDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=nDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=C.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},aDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,C[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=fDe(a,e,r),n--}return r},pDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/dDe);if(a<2){Wn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},xDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},TDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},CDe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},SDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},EDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Ii(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},kDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function _De(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=kDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Uh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=s2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},LDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},RDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},DDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},NDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},MDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];NDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},IDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,R=C[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},PDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},QDe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:tNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,rNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,nNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return si(t)?s=t:s=wm[t]||wm.euclidean,e===0&&si(t)?s(i,a):s(e,r,n,i,a)}var iNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return iNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},oNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=bNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},_Ne={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},ANe={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,iDe,aDe,oDe,cDe,hDe,pDe,qDe,Fg,$g,pL,eNe,fNe,yNe,SNe,kNe,_Ne,ANe].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function YNe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function XNe(){if(dG)return f7;dG=1;var t=GNe(),e=UNe(),r=HNe(),n=WNe(),i=YNe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ln(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Qi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return w9e(t.selector,e.selector)}),EMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},DMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function $Me(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,$Me)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var zMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var qMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,C),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-R,N=m+Math.max(C,E)+_+R,B=v-Math.max(C,E)-_-R,M=v+Math.max(C,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*j-Le*ee+Q,y:He*ee+Le*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},VMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},GMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&VMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?SDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:iOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ln(e)||(e=[e]),aOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===nOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&j9e(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ta(Symbol))!=e&&ta(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return jre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Wn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new jm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var mOe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Nn=function(e,r,n,i){var a=gOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Nn(.25,.1,.25,1),"ease-in":Nn(.42,0,1,1),"ease-out":Nn(0,0,.58,1),"ease-in-out":Nn(.42,0,.58,1),"ease-in-sine":Nn(.47,0,.745,.715),"ease-out-sine":Nn(.39,.575,.565,1),"ease-in-out-sine":Nn(.445,.05,.55,.95),"ease-in-quad":Nn(.55,.085,.68,.53),"ease-out-quad":Nn(.25,.46,.45,.94),"ease-in-out-quad":Nn(.455,.03,.515,.955),"ease-in-cubic":Nn(.55,.055,.675,.19),"ease-out-cubic":Nn(.215,.61,.355,1),"ease-in-out-cubic":Nn(.645,.045,.355,1),"ease-in-quart":Nn(.895,.03,.685,.22),"ease-out-quart":Nn(.165,.84,.44,1),"ease-in-out-quart":Nn(.77,0,.175,1),"ease-in-quint":Nn(.755,.05,.855,.06),"ease-out-quint":Nn(.23,1,.32,1),"ease-in-out-quint":Nn(.86,0,.07,1),"ease-in-expo":Nn(.95,.05,.795,.035),"ease-out-expo":Nn(.19,1,.22,1),"ease-in-out-expo":Nn(1,0,0,1),"ease-in-circ":Nn(.6,.04,.98,.335),"ease-out-circ":Nn(.075,.82,.165,1),"ease-in-out-circ":Nn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=mOe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Nn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Ln(s)&&Ln(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(R.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(R.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(L,O)&&(a.zoom=mb(a.minZoom,Bp(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function vOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||vOe(h,T,t),yOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var bOe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},xOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(xOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Wn("Layout options must be specified to make a layout");return}if(e.name==null){Wn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Wn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var TOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Ln(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var ha={},M2="t",COe="f";ha.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};ha.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};ha.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};ha.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};ha.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Ln(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:xDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=ji!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(p9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Ln(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,si(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Ln(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(De+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Wn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return G9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var AOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},AOe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var LOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},LOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(BOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var DOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},$Oe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},zOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},VOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},HOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},HOe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=ODe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=MDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ms(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):C(R)||E(R)||E(R,"source")||E(R,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,Xe=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},ZOe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):KOe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(ZOe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,QOe=Math.sqrt(2*wb),Xa={};Xa.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Ii(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Ii(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Xa.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||R))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Xa.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Xa.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=QOe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(L.p0,L.p1,L.p2,q),f=eIe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=wDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(su(r.rscratch,X,e,Z),Z):Ms(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` `),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),R="",k=0,L=Fs(_),O;try{for(L.s();!(O=L.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=R.length===0?q:R+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?R+=q+$:(R&&m.push(R),R=q+$)}}catch(H){L.e(H)}finally{L.f()}R.match(/^[\s\u200b]+$/)||m.push(R)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` `)),s("labelWrapKey",l)}else if(o==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,B="",M="…",V=!1;if(this.calculateLabelDimensions(t,i).widthN)break;B+=i[U],U===i.length-1&&(V=!0)}return V||(B+=M),B}return i};pc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};pc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var p=0,m=0,v=e.split(` -`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",rs(3,0)),this.generateRoundPolygon("round-triangle",rs(3,0)),this.generatePolygon("rectangle",rs(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",rs(5,0)),this.generateRoundPolygon("round-pentagon",rs(5,0)),this.generatePolygon("hexagon",rs(6,0)),this.generateRoundPolygon("round-hexagon",rs(6,0)),this.generatePolygon("heptagon",rs(7,0)),this.generateRoundPolygon("round-heptagon",rs(7,0)),this.generatePolygon("octagon",rs(8,0)),this.generateRoundPolygon("round-octagon",rs(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},JOe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Wn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new jm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,eIe=8,tIe=1024,rIe=1024,nIe=1024,iIe=.2,aIe=.8,sIe=10,oIe=.15,lIe=.1,cIe=.9,uIe=.9,hIe=100,dIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},fIe=Da({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=fIe(r);yr(n,i),n.lookup=new JOe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},na=l2.prototype;na.reasons=Sg;na.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};na.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};na.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};na.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};na.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>nIe||d>rIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+eIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};na.invalidateElements=function(t){for(var e=0;e=iIe*t.width&&this.retireTexture(t)};na.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>aIe&&t.fullnessChecks>=sIe?cd(r,t):t.fullnessChecks++};na.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};na.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};na.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};na.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};na.onDequeue=function(t){this.onDequeues.push(t)};na.offDequeue=function(t){cd(this.onDequeues,t)};na.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:hIe,deqCost:oIe,deqAvgCost:lIe,deqNoDrawCost:cIe,deqFastCost:uIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=gIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=fs();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>CIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/pIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Na.getEleLevelForLayerLevel=function(t,e){return t};Na.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,SIe),a.setImgSmoothing(s,!0))};Na.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Na.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Na.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Na.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function IIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,X,Z,j,z)):q?(t.beginPath(),IIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?wU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var bs={},BIe=100;bs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};bs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},BIe)),n||r.emit("render")};var xv;bs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function PIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function FIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function $Ie(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function zIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function qIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function VIe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function GIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function UIe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function HIe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function WIe(t,e,r,n){var i=kie(t,e),a=Ii(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Ii(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!VIe(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Ii(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Ii(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),tBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),rBe=` +`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},rIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Wn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new jm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,nIe=8,iIe=1024,aIe=1024,sIe=1024,oIe=.2,lIe=.8,cIe=10,uIe=.15,hIe=.1,dIe=.9,fIe=.9,pIe=100,gIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},mIe=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=mIe(r);yr(n,i),n.lookup=new rIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},na=l2.prototype;na.reasons=Sg;na.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};na.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};na.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};na.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};na.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>sIe||d>aIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+nIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};na.invalidateElements=function(t){for(var e=0;e=oIe*t.width&&this.retireTexture(t)};na.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>lIe&&t.fullnessChecks>=cIe?cd(r,t):t.fullnessChecks++};na.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};na.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};na.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};na.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};na.onDequeue=function(t){this.onDequeues.push(t)};na.offDequeue=function(t){cd(this.onDequeues,t)};na.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:pIe,deqCost:uIe,deqAvgCost:hIe,deqNoDrawCost:dIe,deqFastCost:fIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=vIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>kIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/yIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,_Ie),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function FIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,X,Z,j,z)):q?(t.beginPath(),FIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?wU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},$Ie=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},$Ie)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function zIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function qIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function VIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function GIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function UIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function HIe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function WIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function YIe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function XIe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function jIe(t,e,r,n){var i=kie(t,e),a=Ii(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Ii(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!HIe(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Ii(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Ii(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),iBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),aBe=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } -`,nBe=` +`,sBe=` float rectangleSD(vec2 p, vec2 b) { vec2 d = abs(p)-b; return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); } -`,iBe=` +`,oBe=` float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; cr.x = (p.y > 0.0) ? cr.x : cr.y; vec2 q = abs(p) - b + cr.x; return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; } -`,aBe=` +`,lBe=` float ellipseSD(vec2 p, vec2 ab) { p = abs( p ); // symmetry @@ -647,7 +647,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } -`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},X7=0,_U=1,AU=2,j7=3,zp=4,_T=5,Tv=6,wv=7,sBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=FIe,this.atlasManager=new eBe(e,n),this.batchManager=new tBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es +`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},X7=0,_U=1,AU=2,j7=3,zp=4,_T=5,Tv=6,wv=7,cBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=qIe,this.atlasManager=new nBe(e,n),this.batchManager=new iBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es precision highp float; uniform mat3 uPanZoomMatrix; @@ -837,10 +837,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho out vec4 outColor; - `).concat(rBe,` - `).concat(nBe,` - `).concat(iBe,` `).concat(aBe,` + `).concat(sBe,` + `).concat(oBe,` + `).concat(lBe,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha return vec4( @@ -925,16 +925,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),o=PIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=j7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:qIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),lBe(r)};function oBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function lBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(cBe(t),e.call(t,a)):(uBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return mBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function cBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function uBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function hBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();KIe(o,e,r);var l=Y7();return jIe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function dBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function fBe(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function pBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function mBe(t,e,r){var n=gBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&dBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=hBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function yBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ta(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,bs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var xBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:vBe}],TBe=[{type:"layout",extensions:WOe},{type:"renderer",extensions:xBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(Aa.prototype[e])return i(e);Aa.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var DBe=RBe();const NBe=k0(DBe);ac.use(NBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var MBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=C.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),OBe=MBe;const IBe=Object.freeze(Object.defineProperty({__proto__:null,render:OBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),BBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Xie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Ae=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Ae,[2,28]),t(Ae,[2,29]),t(Ae,[2,30]),t(Ae,[2,31]),t(Ae,[2,32]),t(Ae,[2,33]),t(Ae,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: + `),o=zIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=j7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:UIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),hBe(r)};function uBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function hBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(dBe(t),e.call(t,a)):(fBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return bBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function dBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function fBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function pBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();JIe(o,e,r);var l=Y7();return QIe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function gBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function mBe(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function yBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function bBe(t,e,r){var n=vBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&gBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=pBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function xBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ta(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var CBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:TBe}],SBe=[{type:"layout",extensions:jOe},{type:"renderer",extensions:CBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var OBe=MBe();const IBe=k0(OBe);ac.use(IBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var BBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=C.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),PBe=BBe;const FBe=Object.freeze(Object.defineProperty({__proto__:null,render:PBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),$Be=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Xie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: `+Ee.showPosition()+` Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var Xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===Xe.length?this.yylloc.first_column:0)+Xe[Xe.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:S(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ge=this.pastInput(),it=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` `+it+"^"},"showPosition"),test_match:S(function(Ge,it){var Ye,Xe,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),Xe=Ge[0].match(/(?:\r\n?|\n).*/g),Xe&&(this.yylineno+=Xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Xe?Xe[Xe.length-1].length-Xe[Xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,Xe;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,Xe=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[Xe]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var PBe=kw,Cl=[],Kh=[""],us="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,jie,FBe=S(function(){return jie},"getC4Type"),$Be=S(function(t){jie=Jr(t,Pe())},"setC4Type"),zBe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),qBe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=us,o.wrap=kd()},"addPersonOrSystem"),VBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=us},"addContainer"),GBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=us},"addComponent"),UBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=us,a.wrap=kd(),vl=us,us=t,Kh.push(vl)},"addPersonOrSystemBoundary"),HBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=us,a.wrap=kd(),vl=us,us=t,Kh.push(vl)},"addContainerBoundary"),WBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=us,l.wrap=kd(),vl=us,us=e,Kh.push(vl)},"addDeploymentNode"),YBe=S(function(){us=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),XBe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),jBe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),KBe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),ZBe=S(function(){return _w},"getC4ShapeInRow"),QBe=S(function(){return Aw},"getC4BoundaryInRow"),JBe=S(function(){return us},"getCurrentBoundaryParse"),ePe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),tPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),rPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),nPe=Zie,iPe=S(function(){return Cb},"getRels"),aPe=S(function(){return AM},"getTitle"),sPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),oPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",us="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),lPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},cPe={FILLED:0,OPEN:1},uPe={LEFTOF:0,RIGHTOF:1,OVER:2},hPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:qBe,addPersonOrSystemBoundary:UBe,addContainer:VBe,addContainerBoundary:HBe,addComponent:GBe,addDeploymentNode:WBe,popBoundaryParseStack:YBe,addRel:zBe,updateElStyle:XBe,updateRelStyle:jBe,updateLayoutConfig:KBe,autoWrap:kd,setWrap:sPe,getC4ShapeArray:Kie,getC4Shape:tPe,getC4ShapeKeys:rPe,getBoundaries:Zie,getBoundarys:nPe,getCurrentBoundaryParse:JBe,getParentBoundaryParse:ePe,getRels:iPe,getTitle:aPe,getC4Type:FBe,getC4ShapeInRow:ZBe,getC4BoundaryInRow:QBe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,getConfig:S(()=>Pe().c4,"getConfig"),clear:oPe,LINETYPE:lPe,ARROWTYPE:cPe,PLACEMENT:uPe,setTitle:hPe,setC4Type:$Be},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),dPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),fPe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),pPe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=wPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),gPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),mPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),yPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),vPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),bPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),xPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),TPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),wPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){ki(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),CPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(cs(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=cs(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=cs("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),SPe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),EPe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=CPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=cs(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=cs(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=cs(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=SPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var kPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),EPe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Gi(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:kPe},_Pe=S(t=>`.person { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var zBe=kw,Cl=[],Kh=[""],hs="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,jie,qBe=S(function(){return jie},"getC4Type"),VBe=S(function(t){jie=Jr(t,Pe())},"setC4Type"),GBe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),UBe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=hs,o.wrap=kd()},"addPersonOrSystem"),HBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addContainer"),WBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addComponent"),YBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addPersonOrSystemBoundary"),XBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addContainerBoundary"),jBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=hs,l.wrap=kd(),vl=hs,hs=e,Kh.push(vl)},"addDeploymentNode"),KBe=S(function(){hs=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),ZBe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),QBe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),JBe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),ePe=S(function(){return _w},"getC4ShapeInRow"),tPe=S(function(){return Aw},"getC4BoundaryInRow"),rPe=S(function(){return hs},"getCurrentBoundaryParse"),nPe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),iPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),aPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),sPe=Zie,oPe=S(function(){return Cb},"getRels"),lPe=S(function(){return AM},"getTitle"),cPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),uPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",hs="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),hPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},dPe={FILLED:0,OPEN:1},fPe={LEFTOF:0,RIGHTOF:1,OVER:2},pPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:UBe,addPersonOrSystemBoundary:YBe,addContainer:HBe,addContainerBoundary:XBe,addComponent:WBe,addDeploymentNode:jBe,popBoundaryParseStack:KBe,addRel:GBe,updateElStyle:ZBe,updateRelStyle:QBe,updateLayoutConfig:JBe,autoWrap:kd,setWrap:cPe,getC4ShapeArray:Kie,getC4Shape:iPe,getC4ShapeKeys:aPe,getBoundaries:Zie,getBoundarys:sPe,getCurrentBoundaryParse:rPe,getParentBoundaryParse:nPe,getRels:oPe,getTitle:lPe,getC4Type:qBe,getC4ShapeInRow:ePe,getC4BoundaryInRow:tPe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,getConfig:S(()=>Pe().c4,"getConfig"),clear:uPe,LINETYPE:hPe,ARROWTYPE:dPe,PLACEMENT:fPe,setTitle:pPe,setC4Type:VBe},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),gPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),mPe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),yPe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=EPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),vPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),bPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),xPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),TPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),wPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),CPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),SPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),EPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){ki(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),kPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(us(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=us(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=us("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),_Pe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),APe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=kPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=us(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=us(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=us(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=_Pe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var LPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),APe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Gi(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:LPe},RPe=S(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),APe=_Pe,LPe={parser:PBe,db:DL,renderer:BU,styles:APe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const RPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:LPe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` +`,"getStyles"),DPe=RPe,NPe={parser:zBe,db:DL,renderer:BU,styles:DPe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const MPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NPe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; @@ -948,21 +948,21 @@ Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse erro stroke: revert; stroke-width: revert; } -`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=DPe(t,e);Gi(t,a,i,n);const l=NPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),DPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),NPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),MPe="flowchart-",l1,OPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` +`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=OPe(t,e);Gi(t,a,i,n);const l=IPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),OPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),IPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),BPe="flowchart-",l1,PPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` `)?p=l+` `:p=`{ `+l+` -}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:MPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. +}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:BPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Xie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),jn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pX.flowchart}},S(l1,"FlowDB"),l1),IPe=S(function(t,e){return e.db.getClasses()},"getClasses"),BPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),PPe={getClasses:IPe,draw:BPe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Ae=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Bn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Vn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1]};break;case 78:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length};break;case 84:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Ae,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Ae,[2,56]),t(Wt,[2,87]),t(Ae,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,64]),t(Ae,[2,59]),t(Ae,[2,60]),t(Ae,[2,61]),{109:[1,264]},t(Ae,[2,63]),t(Ae,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,67]),t(Ae,[2,68]),t(Ae,[2,70]),t(Ae,[2,69]),t(Ae,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Ae,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Ae,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Ae,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Vn=this.table,Re="",Gn=0,Dd=0,X0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Xo={yy:{}};for(var j0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j0)&&(Xo.yy[j0]=this.yy[j0]);cn.setInput(Ht,Xo.yy),Xo.yy.lexer=cn,Xo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof Xo.yy.parseError=="function"?this.parseError=Xo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(fa){Xt.length=Xt.length-2*fa,Ar.length=Ar.length-fa,ke.length=ke.length-fa}S(Mx,"popStack");function cy(){var fa;return fa=Lt.pop()||cn.lex()||Nd,typeof fa!="number"&&(fa instanceof Array&&(Lt=fa,fa=Lt.pop()),fa=Bt.symbols_[fa]||fa),fa}S(cy,"lex");for(var xi,Cc,Xa,K0,kl={},Z0,jo,Od,Ts;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?Xa=this.defaultActions[Cc]:((xi===null||typeof xi>"u")&&(xi=cy()),Xa=Vn[Cc]&&Vn[Cc][xi]),typeof Xa>"u"||!Xa.length||!Xa[0]){var Id="";Ts=[];for(Z0 in Vn[Cc])this.terminals_[Z0]&&Z0>X0&&Ts.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Gn+1)+`: +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Xie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),jn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pX.flowchart}},S(l1,"FlowDB"),l1),FPe=S(function(t,e){return e.db.getClasses()},"getClasses"),$Pe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),zPe={getClasses:FPe,draw:$Pe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Le=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Bn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Vn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1]};break;case 78:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length};break;case 84:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Le,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Le,[2,56]),t(Wt,[2,87]),t(Le,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,64]),t(Le,[2,59]),t(Le,[2,60]),t(Le,[2,61]),{109:[1,264]},t(Le,[2,63]),t(Le,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,67]),t(Le,[2,68]),t(Le,[2,70]),t(Le,[2,69]),t(Le,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Le,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Le,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Le,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Vn=this.table,Re="",Gn=0,Dd=0,X0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Xo={yy:{}};for(var j0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j0)&&(Xo.yy[j0]=this.yy[j0]);cn.setInput(Ht,Xo.yy),Xo.yy.lexer=cn,Xo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof Xo.yy.parseError=="function"?this.parseError=Xo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(fa){Xt.length=Xt.length-2*fa,Ar.length=Ar.length-fa,ke.length=ke.length-fa}S(Mx,"popStack");function cy(){var fa;return fa=Lt.pop()||cn.lex()||Nd,typeof fa!="number"&&(fa instanceof Array&&(Lt=fa,fa=Lt.pop()),fa=Bt.symbols_[fa]||fa),fa}S(cy,"lex");for(var xi,Cc,ja,K0,kl={},Z0,jo,Od,ws;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?ja=this.defaultActions[Cc]:((xi===null||typeof xi>"u")&&(xi=cy()),ja=Vn[Cc]&&Vn[Cc][xi]),typeof ja>"u"||!ja.length||!ja[0]){var Id="";ws=[];for(Z0 in Vn[Cc])this.terminals_[Z0]&&Z0>X0&&ws.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Gn+1)+`: `+cn.showPosition()+` -Expecting `+Ts.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse error on line "+(Gn+1)+": Unexpected "+(xi==Nd?"end of input":"'"+(this.terminals_[xi]||xi)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[xi]||xi,line:cn.yylineno,loc:Md,expected:Ts})}if(Xa[0]instanceof Array&&Xa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+xi);switch(Xa[0]){case 1:Xt.push(xi),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(Xa[1]),xi=null,Dd=cn.yyleng,Re=cn.yytext,Gn=cn.yylineno,Md=cn.yylloc;break;case 2:if(jo=this.productions_[Xa[1]][1],kl.$=Ar[Ar.length-jo],kl._$={first_line:ke[ke.length-(jo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(jo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(jo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Gn,Xo.yy,Xa[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;jo&&(Xt=Xt.slice(0,-1*jo*2),Ar=Ar.slice(0,-1*jo),ke=ke.slice(0,-1*jo)),Xt.push(this.productions_[Xa[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Vn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},_n=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ws.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse error on line "+(Gn+1)+": Unexpected "+(xi==Nd?"end of input":"'"+(this.terminals_[xi]||xi)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[xi]||xi,line:cn.yylineno,loc:Md,expected:ws})}if(ja[0]instanceof Array&&ja.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+xi);switch(ja[0]){case 1:Xt.push(xi),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(ja[1]),xi=null,Dd=cn.yyleng,Re=cn.yytext,Gn=cn.yylineno,Md=cn.yylloc;break;case 2:if(jo=this.productions_[ja[1]][1],kl.$=Ar[Ar.length-jo],kl._$={first_line:ke[ke.length-(jo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(jo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(jo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Gn,Xo.yy,ja[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;jo&&(Xt=Xt.slice(0,-1*jo*2),Ar=Ar.slice(0,-1*jo),ke=ke.slice(0,-1*jo)),Xt.push(this.productions_[ja[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Vn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},_n=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ht){this.unput(this.match.slice(Ht))},"less"),pastInput:S(function(){var Ht=this.matched.substr(0,this.matched.length-this.match.length);return(Ht.length>20?"...":"")+Ht.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ht=this.match;return Ht.length<20&&(Ht+=this._input.substr(0,20-Ht.length)),(Ht.substr(0,20)+(Ht.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ht=this.pastInput(),Bt=new Array(Ht.length+1).join("-");return Ht+this.upcomingInput()+` `+Bt+"^"},"showPosition"),test_match:S(function(Ht,Bt){var Xt,Lt,Ar;if(this.options.backtrack_lexer&&(Ar={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ar.yylloc.range=this.yylloc.range.slice(0))),Lt=Ht[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ht[0].length},this.yytext+=Ht[0],this.match+=Ht[0],this.matches=Ht,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ht[0].length),this.matched+=Ht[0],Xt=this.performAction.call(this,this.yy,this,Bt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Xt)return Xt;if(this._backtrack){for(var ke in Ar)this[ke]=Ar[ke];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ht,Bt,Xt,Lt;this._more||(this.yytext="",this.match="");for(var Ar=this._currentRules(),ke=0;keBt[0].length)){if(Bt=Xt,Lt=ke,this.options.backtrack_lexer){if(Ht=this.test_match(Xt,Ar[ke]),Ht!==!1)return Ht;if(this._backtrack){Bt=!1;continue}else return!1}else if(!this.options.flex)break}return Bt?(Ht=this.test_match(Bt,Ar[Lt]),Ht!==!1?Ht:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Bn.lexer=_n;function Jn(){this.yy={}}return S(Jn,"Parser"),Jn.prototype=Bn,Bn.Parser=Jn,new Jn})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} -`);return nae.parse(e)};var FPe=iae,$Pe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),zPe=S(t=>`.label { +`);return nae.parse(e)};var qPe=iae,VPe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),GPe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -1049,7 +1049,7 @@ Expecting `+Ts.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse erro /* For html labels only */ .labelBkg { - background-color: ${$Pe(t.edgeLabelBackground,.5)}; + background-color: ${VPe(t.edgeLabelBackground,.5)}; // background-color: } @@ -1109,12 +1109,12 @@ Expecting `+Ts.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse erro text-align: center; } ${bx()} -`,"getStyles"),qPe=zPe,VPe={parser:FPe,get db(){return new OPe},renderer:PPe,styles:qPe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:VPe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Ae){for(He=He||{},Ae=Me.length;Ae--;He[Me[Ae]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Ae,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Ae=new Error($e);throw Ae.hash=He,Ae}},"parseError"),parse:S(function($e){var He=this,Ae=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Ae.length=Ae.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Ae[Ae.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: +`,"getStyles"),UPe=GPe,HPe={parser:qPe,get db(){return new PPe},renderer:zPe,styles:UPe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:HPe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Le){for(He=He||{},Le=Me.length;Le--;He[Me[Le]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Le,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Le=new Error($e);throw Le.hash=He,Le}},"parseError"),parse:S(function($e){var He=this,Le=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Le.length=Le.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Le[Le.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: `+xe.showPosition()+` -Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==Xe?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Ae.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Ae.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Ae=Ae.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Ae.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Ae){if(this.yy.parser)this.yy.parser.parseError(He,Ae);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Ae=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ae.length-1&&(this.yylineno-=Ae.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ae?(Ae.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==Xe?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Le.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Le.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Le=Le.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Le.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Le[Le.length-2]][Le[Le.length-1]],Le.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Le){if(this.yy.parser)this.yy.parser.parseError(He,Le);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Le=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Le.length-1&&(this.yylineno-=Le.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Le?(Le.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Le.length].length-Le[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function($e){this.unput(this.match.slice($e))},"less"),pastInput:S(function(){var $e=this.matched.substr(0,this.matched.length-this.match.length);return($e.length>20?"...":"")+$e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var $e=this.match;return $e.length<20&&($e+=this._input.substr(0,20-$e.length)),($e.substr(0,20)+($e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var $e=this.pastInput(),He=new Array($e.length+1).join("-");return $e+this.upcomingInput()+` -`+He+"^"},"showPosition"),test_match:S(function($e,He){var Ae,Oe,We;if(this.options.backtrack_lexer&&(We={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(We.yylloc.range=this.yylloc.range.slice(0))),Oe=$e[0].match(/(?:\r\n?|\n).*/g),Oe&&(this.yylineno+=Oe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Oe?Oe[Oe.length-1].length-Oe[Oe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+$e[0].length},this.yytext+=$e[0],this.match+=$e[0],this.matches=$e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice($e[0].length),this.matched+=$e[0],Ae=this.performAction.call(this,this.yy,this,He,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae)return Ae;if(this._backtrack){for(var Te in We)this[Te]=We[Te];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var $e,He,Ae,Oe;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),Te=0;TeHe[0].length)){if(He=Ae,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Ae,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var He=this.next();return He||this.lex()},"lex"),begin:S(function(He){this.conditionStack.push(He)},"begin"),popState:S(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Ae,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Ae.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Ae.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var GPe=IL,c1,UPe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],jn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>HPe});var HPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),WPe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;oHe[0].length)){if(He=Le,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Le,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var He=this.next();return He||this.lex()},"lex"),begin:S(function(He){this.conditionStack.push(He)},"begin"),popState:S(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Le,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Le.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Le.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var WPe=IL,c1,YPe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],jn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>XPe});var XPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),jPe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` - ${WPe(t)} + `;return s},"genColor"),KPe=S(t=>{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` + ${jPe(t)} .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -1193,19 +1193,19 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro [data-look=neo].labelBkg { background-color: ${PU(t.tertiaryColor,.5)}; } -`},"getStyles"),XPe=YPe,jPe={parser:GPe,get db(){return new UPe},renderer:aae,styles:XPe};const KPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:jPe},Symbol.toStringTag,{value:"Module"}));function Xu(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(Xu,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function za(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function ZPe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return za(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Sa{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Sa(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=QPe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Sa(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Sa(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Sa(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Sa(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Sa(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Sa(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function QPe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Sa(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ni(...t){if(t.length===1){const e=t[0];if(e instanceof Sa)return e;if(Dw(e))return new Sa(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Sa(()=>({index:0}),r=>r.index1?new Sa(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{za(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):za(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Sa(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?TFe(r,e):!1}function Nw(t){return new Sa(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function bFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function xFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const wFe=/^[\w\p{L}]$/u;function CFe(t,e){if(t){const r=SFe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function SFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function EFe(){throw Error("Internal Error - Should never get here!")}function XU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const jU=[Er(" "),Er("\f"),Er(` -`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],kFe=/[0-9a-fA-F]/,DT=/[0-9]/,_Fe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return EFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` +`},"getStyles"),ZPe=KPe,QPe={parser:WPe,get db(){return new YPe},renderer:aae,styles:ZPe};const JPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:QPe},Symbol.toStringTag,{value:"Module"}));function Xu(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(Xu,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function qa(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function eFe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return qa(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Ea{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Ea(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=tFe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Ea(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Ea(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Ea(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Ea(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Ea(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Ea(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function tFe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Ea(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ni(...t){if(t.length===1){const e=t[0];if(e instanceof Ea)return e;if(Dw(e))return new Ea(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ea(()=>({index:0}),r=>r.index1?new Ea(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{qa(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):qa(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?SFe(r,e):!1}function Nw(t){return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function wFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function CFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const EFe=/^[\w\p{L}]$/u;function kFe(t,e){if(t){const r=_Fe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function _Fe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function AFe(){throw Error("Internal Error - Should never get here!")}function XU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const jU=[Er(" "),Er("\f"),Er(` +`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],LFe=/[0-9a-fA-F]/,DT=/[0-9]/,RFe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return AFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` `),Er("\r"),Er("\u2028"),Er("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Iw;break;case"D":e=Iw,r=!0;break;case"s":e=jU;break;case"S":e=jU,r=!0;break;case"w":e=Bw;break;case"W":e=Bw,r=!0;break}if(Gp(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Er("\f");break;case"n":e=Er(` `);break;case"r":e=Er("\r");break;case"t":e=Er(" ");break;case"v":e=Er("\v");break}if(Gp(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Er("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:Er(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:Er(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,XU(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,XU(i)){if(i.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const AFe=/\r?\n/gm,LFe=new mae;class RFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const DFe=/\r?\n/gm,NFe=new mae;class MFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=PS(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new RFe;function DFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(LFe.pattern(t)),rA.multiline}catch{return!1}}const NFe=`\f -\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return NFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MFe(t,e){const r=OFe(t),n=e.match(r);return!!n&&n[0].length>0}function OFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function IFe(t){return t.rules.find(e=>ju(e)&&e.entry)}function BFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=IFe(t);if(!n)return new Set(t.rules);const i=[n].concat(BFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function PFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function FFe(t){return t.hidden&&!yae(FM(t))}function $Fe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function zFe(t,e,r){if(!t)return;const n=qFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function qFe(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function VFe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&ju(i.rule.ref))return n(i,i.rule.ref);if(dFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||ju(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return ju(t)&&Cae(t)?t.name:Eae(t)??t.name;if(sFe(t)||mFe(t)||hFe(t))return t.name;if(OS(t)){const e=GFe(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function GFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function UFe(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(fFe(t))return HFe(t);if(pFe(t))return WFe(t);if(rFe(t))return jFe(t);if(gFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(oFe(t))return XFe(t);if(yFe(t))return YFe(t);if(uFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(vFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function HFe(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function WFe(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function YFe(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function XFe(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function jFe(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function KFe(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&FFe(n)&&DFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:wFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function ZFe(t){return QFe(t)?t.LABEL:t.name}function QFe(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class ps extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let La=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class mi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class qn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function JFe(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof ps){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof La)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof qn){const r={type:"Terminal",name:t.terminalType.name,label:ZFe(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case ps:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case La:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case mi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case qn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function e$e(t){return t instanceof Vs||t instanceof La||t instanceof mi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof qn||t instanceof ny}function Pw(t,e=[]){return t instanceof La||t instanceof mi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof ps&&e.includes(t)?!1:t instanceof mc?(t instanceof ps&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function t$e(t){return t instanceof Ws}function Hl(t){if(t instanceof ps)return"SUBRULE";if(t instanceof La)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof ps)this.walkProdRef(n,a,r);else if(n instanceof qn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof La)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof mi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new La({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new La({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new La({definition:[new qn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof ps)return Cx(t.referencedRule);if(t instanceof qn)return i$e(t);if(e$e(t))return r$e(t);if(t$e(t))return n$e(t);throw Error("non exhaustive match")}function r$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function n$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function i$e(t){return[t.terminalType]}const Lae="_~IN~_";class a$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=o$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function s$e(t){const e={};return t.forEach(r=>{const n=new a$e(r).startWalking();Object.assign(e,n)}),e}function o$e(t,e){return t.name+e+Lae}let H3={};const l$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=l$e.pattern(e);return H3[e]=r,r}}function c$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: -`;function u$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new MFe;function OFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(NFe.pattern(t)),rA.multiline}catch{return!1}}const IFe=`\f +\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return IFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function BFe(t,e){const r=PFe(t),n=e.match(r);return!!n&&n[0].length>0}function PFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function FFe(t){return t.rules.find(e=>ju(e)&&e.entry)}function $Fe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=FFe(t);if(!n)return new Set(t.rules);const i=[n].concat($Fe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function zFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function qFe(t){return t.hidden&&!yae(FM(t))}function VFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function GFe(t,e,r){if(!t)return;const n=UFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function UFe(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function HFe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&ju(i.rule.ref))return n(i,i.rule.ref);if(gFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||ju(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return ju(t)&&Cae(t)?t.name:Eae(t)??t.name;if(cFe(t)||bFe(t)||pFe(t))return t.name;if(OS(t)){const e=WFe(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function WFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function YFe(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(mFe(t))return XFe(t);if(yFe(t))return jFe(t);if(aFe(t))return QFe(t);if(vFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(uFe(t))return ZFe(t);if(xFe(t))return KFe(t);if(fFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(TFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function XFe(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function jFe(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function KFe(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function ZFe(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function QFe(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function JFe(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&qFe(n)&&OFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:EFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function e$e(t){return t$e(t)?t.LABEL:t.name}function t$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class mi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class qn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function r$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof qn){const r={type:"Terminal",name:t.terminalType.name,label:e$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case mi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case qn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function n$e(t){return t instanceof Vs||t instanceof Ra||t instanceof mi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof qn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof mi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function i$e(t){return t instanceof Ws}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof qn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof mi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new qn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof qn)return o$e(t);if(n$e(t))return a$e(t);if(i$e(t))return s$e(t);throw Error("non exhaustive match")}function a$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function s$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function o$e(t){return[t.terminalType]}const Lae="_~IN~_";class l$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=u$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function c$e(t){const e={};return t.forEach(r=>{const n=new l$e(r).startWalking();Object.assign(e,n)}),e}function u$e(t,e){return t.name+e+Lae}let H3={};const h$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=h$e.pattern(e);return H3[e]=r,r}}function d$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: +`;function f$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` @@ -1213,49 +1213,49 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),WL(`${Fw} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&XL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&h$e(t,e)}function h$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function XL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(XL):XL(t.value):!1}class d$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new d$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function f$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{P$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(O$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=pd(_);iA(C,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=pd(k);_!==L&&(_=L,iA(C,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&XL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&p$e(t,e)}function p$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function XL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(XL):XL(t.value):!1}class g$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new g$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function m$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{z$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(P$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=pd(_);iA(C,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=pd(k);_!==L&&(_=L,iA(C,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=u$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{iA(C,R,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=f$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{iA(C,R,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function p$e(t,e){let r=[];const n=m$e(t);r=r.concat(n.errors);const i=y$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(g$e(a)),r=r.concat(E$e(a)),r=r.concat(k$e(a,e)),r=r.concat(_$e(a)),r}function g$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(b$e(r)),e=e.concat(w$e(r)),e=e.concat(C$e(r)),e=e.concat(S$e(r)),e=e.concat(x$e(r)),e}function m$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:yi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function y$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:yi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const v$e=/[^\\][$]/;function b$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return v$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function y$e(t,e){let r=[];const n=b$e(t);r=r.concat(n.errors);const i=x$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(v$e(a)),r=r.concat(A$e(a)),r=r.concat(L$e(a,e)),r=r.concat(R$e(a)),r}function v$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(w$e(r)),e=e.concat(E$e(r)),e=e.concat(k$e(r)),e=e.concat(_$e(r)),e=e.concat(C$e(r)),e}function b$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:yi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function x$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:yi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const T$e=/[^\\][$]/;function w$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return T$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function x$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:yi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const T$e=/[^\\[][\^]|^\^/;function w$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return T$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function C$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:yi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const S$e=/[^\\[][\^]|^\^/;function E$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return S$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function C$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:yi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function S$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:yi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function E$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:yi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function k$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:yi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function _$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&L$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function k$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:yi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function _$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:yi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function A$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:yi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function L$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:yi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function R$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&N$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:yi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function A$e(t,e){if(e instanceof RegExp){if(R$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function L$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function R$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:yi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function D$e(t,e){if(e instanceof RegExp){if(M$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function N$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function M$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition `,type:yi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,MT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+MT+`> property in its definition `,type:yi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,MT)&&Object.hasOwn(t,f2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${f2}: <${t.defaultMode}>which does not exist `,type:yi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,MT)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> `,type:yi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(u=>{u!==void 0&&!a.includes(u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${i}> -`,type:yi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function N$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:B$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +`,type:yi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function I$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:$$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:yi.NO_LINE_BREAKS_FLAGS}),n}function M$e(t){const e={};return Object.keys(t).forEach(n=>{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function O$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const I$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function P$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const F$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===yi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=F$e(t);$$e(e),q$e(e),z$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function F$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function $$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),V$e(e)||(e.categoryMatches=[]),G$e(e)||(e.categoryMatchesMap={})})}function z$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function q$e(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function V$e(t){return Object.hasOwn(t??{},"categoryMatches")}function G$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function U$e(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const jL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var yi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(yi||(yi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=q$e(t);V$e(e),U$e(e),G$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function q$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function V$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),H$e(e)||(e.categoryMatches=[]),W$e(e)||(e.categoryMatchesMap={})})}function G$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function U$e(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function H$e(t){return Object.hasOwn(t??{},"categoryMatches")}function W$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Y$e(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const jL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var yi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(yi||(yi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:jL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class $s{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=I$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(D$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(N$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(p$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=f$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- +a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=F$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(O$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(I$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(y$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=m$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+l)}this.lexerDefinitionWarning.forEach(o=>{kae(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Object.entries(this.canModeBeOptimized).reduce((l,[u,h])=>(h===!1&&l.push(u),l),[]);if(r.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{c$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{d$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const R=this.hasCustom?0:Math.floor(e.length/10),k=new Array(R),L=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=M$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` but found: '`+e[0].image+"'";if(n)return a+n+o;{const d=`one of these possible Token sequences: ${t.reduce((f,p)=>f.concat(p),[]).map(f=>`[${f.map(p=>qg(p)).join(", ")}]`).map((f,p)=>` ${p+1}. ${f}`).join(` `)}`;return a+d+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=` but found: '`+e[0].image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const Y$e={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof qn?h.terminalType.name:h instanceof ps?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Hl(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} + <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const K$e={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof qn?h.terminalType.name:h instanceof gs?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Hl(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,` @@ -1281,44 +1281,44 @@ rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function X$e(t,e){const r=new j$e(t,e);return r.resolveRefs(),r.errors}class j$e extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:gs.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class K$e extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Z$e extends K$e{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class Q$e extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class J$e extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof qn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function eze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof qn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(tze(x,m,v,b));else throw Error("non exhaustive match")}return h}function tze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ii;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ii||(ii={}));function VM(t){if(t instanceof La||t==="Option")return ii.OPTION;if(t instanceof mi||t==="Repetition")return ii.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ii.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ii.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ii.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ii.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ii.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function rze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function nze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function ize(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ii.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new sze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function cze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:gs.CUSTOM_LOOKAHEAD_VALIDATION},r))}function uze(t,e,r,n){const i=t.flatMap(l=>hze(l,r)),a=Cze(t,e,r),s=t.flatMap(l=>bze(l,r)),o=t.flatMap(l=>pze(l,t,n,r));return i.concat(a,s,o)}function hze(t,e){const r=new fze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,dze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:gs.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function dze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof qn?t.terminalType.name:t instanceof ps?t.nonTerminalName:""}class fze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function pze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:gs.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function gze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:gs.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:gs.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof ps)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof La||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof mi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof qn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function mze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>eze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:gs.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function yze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Tze(u,s,t,r),d=wze(u,s,t,r);return h.concat(d)})}class vze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function bze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:gs.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function xze(t,e,r){const n=[];return t.forEach(i=>{const a=new vze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:gs.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Tze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:gs.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function wze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:gs.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Cze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:gs.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Sze(t){const e=Object.assign({errMsgProvider:Y$e},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),X$e(r,e.errMsgProvider)}function Eze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return uze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",Xae="NotAllInputParsedException",jae=[Hae,Wae,Yae,Xae];Object.freeze(jae);function zw(t){return jae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class kze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class _ze extends GS{constructor(e,r){super(e,r),this.name=Xae}}class Aze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Lze extends Error{constructor(e){super(e),this.name=Zae}}class Rze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Dze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Z$e(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Lze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>mze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>yze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return xze(e,r,Wf)}buildLookaheadForAlternation(e){return rze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,ize)}buildLookaheadForOptional(e){return nze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),aze)}}class Mze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Ize(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,X3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class Oze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new Oze;function Ize(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function Z$e(t,e){const r=new Q$e(t,e);return r.resolveRefs(),r.errors}class Q$e extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class J$e extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class eze extends J$e{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class tze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class rze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof qn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function nze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof qn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(ize(x,m,v,b));else throw Error("non exhaustive match")}return h}function ize(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ii;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ii||(ii={}));function VM(t){if(t instanceof Ra||t==="Option")return ii.OPTION;if(t instanceof mi||t==="Repetition")return ii.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ii.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ii.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ii.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ii.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ii.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function aze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function sze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function oze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ii.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new cze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function dze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function fze(t,e,r,n){const i=t.flatMap(l=>pze(l,r)),a=kze(t,e,r),s=t.flatMap(l=>wze(l,r)),o=t.flatMap(l=>yze(l,t,n,r));return i.concat(a,s,o)}function pze(t,e){const r=new mze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,gze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function gze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof qn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class mze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function yze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function vze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof mi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof qn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function bze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>nze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function xze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Sze(u,s,t,r),d=Eze(u,s,t,r);return h.concat(d)})}class Tze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function wze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Cze(t,e,r){const n=[];return t.forEach(i=>{const a=new Tze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Sze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Eze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function kze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function _ze(t){const e=Object.assign({errMsgProvider:K$e},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),Z$e(r,e.errMsgProvider)}function Aze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return fze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",Xae="NotAllInputParsedException",jae=[Hae,Wae,Yae,Xae];Object.freeze(jae);function zw(t){return jae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class Lze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class Rze extends GS{constructor(e,r){super(e,r),this.name=Xae}}class Dze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Nze extends Error{constructor(e){super(e),this.name=Zae}}class Mze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Oze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new eze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Nze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>bze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>xze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Cze(e,r,Wf)}buildLookaheadForAlternation(e){return aze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,oze)}buildLookaheadForOptional(e){return sze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),lze)}}class Bze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Fze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,X3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class Pze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new Pze;function Fze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function qze(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=$ze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function Vze(t,e){return Gze(t,e)}function Gze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class Uze{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Bze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Pze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=zze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=qze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Hze{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class Wze{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:gs.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=gze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return JFe(Object.values(this.gastProductionsCache))}}class Yze{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Uze(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=Vze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function Hze(t,e){return Wze(t,e)}function Wze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class Yze{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];$ze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];zze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Gze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Uze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Xze{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class jze{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ms.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=vze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return r$e(Object.values(this.gastProductionsCache))}}class Kze{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(U$e)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,J$e)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(X3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,X3,e,uH)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,Q$e,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,X3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(Y$e)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,rze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(X3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,X3,e,uH)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,tze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,X3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,La,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,mi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return Zze.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new ps({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?jze:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new qn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function Zze(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Qze{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function Jze(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var gs;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(gs||(gs={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Sze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=Eze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=cze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=s$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,mi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return eqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?Qze:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new qn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function eqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class tqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function rqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=_ze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=Aze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=dze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=c$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;Jze(kx,[Rze,Mze,Uze,Hze,Yze,Wze,Xze,Kze,Qze]);class eqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,tqe=2,nse=4,ise=5,_x=7,rqe=8,nqe=9,iqe=10,aqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function sqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};oqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function fqe(t,e,r){const n=ca(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return pqe(t,e,r,i)}function G0(t,e,r){const n=jl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:mqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:aqe});Ad(t,o);const l=ca(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Pi(s,o),i===void 0?(Pi(o,a),Pi(o,l)):(Pi(o,l),Pi(o,i.left),Pi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:iqe});Ad(t,o);const l=ca(t,e,r,{type:ase}),u=ca(t,e,r,{type:nqe});return o.loopback=u,l.loopback=u,Pi(o,a),Pi(o,l),Pi(s,u),i!==void 0?(Pi(u,l),Pi(u,i.left),Pi(i.right,a)):Pi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function pqe(t,e,r,n){const i=n.left,a=n.right;return Pi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ca(t,e,n,{type:rqe,start:r});r.end=a;for(const o of i)o!==void 0?(Pi(r,o.left),Pi(o.right,a)):Pi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,gqe(n),n.idx)]=r,s}function gqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof La)return"Option";if(t instanceof mi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function mqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function xqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=sqe(e.rules),this.dfas=wqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function wqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${_qe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;rqe(kx,[Mze,Bze,Yze,Xze,Kze,jze,Zze,Jze,tqe]);class nqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,iqe=2,nse=4,ise=5,_x=7,aqe=8,sqe=9,oqe=10,lqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function cqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};uqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function mqe(t,e,r){const n=ca(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return yqe(t,e,r,i)}function G0(t,e,r){const n=jl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:bqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:lqe});Ad(t,o);const l=ca(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Pi(s,o),i===void 0?(Pi(o,a),Pi(o,l)):(Pi(o,l),Pi(o,i.left),Pi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:oqe});Ad(t,o);const l=ca(t,e,r,{type:ase}),u=ca(t,e,r,{type:sqe});return o.loopback=u,l.loopback=u,Pi(o,a),Pi(o,l),Pi(s,u),i!==void 0?(Pi(u,l),Pi(u,i.left),Pi(i.right,a)):Pi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function yqe(t,e,r,n){const i=n.left,a=n.right;return Pi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ca(t,e,n,{type:aqe,start:r});r.end=a;for(const o of i)o!==void 0?(Pi(r,o.left),Pi(o.right,a)):Pi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,vqe(n),n.idx)]=r,s}function vqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof mi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function bqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Cqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=cqe(e.rules),this.dfas=Eqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Eqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Rqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function _qe(t){if(t instanceof ps)return"SUBRULE";if(t instanceof La)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}function Aqe(t,e,r){const n=C8e(e.configs.elements,a=>a.state.transitions),i=Y8e(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Lqe(t,e){return t.edges[e.tokenTypeIdx]}function Rqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Iqe(a))for(const s of i)a.add(s);return a}function Dqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Nqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Mqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function zqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var Ea;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(Ea||(Ea={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||Ea.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Ea.is(i.annotationId))}t.is=r})(Am||(Am={}));var Xw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(Xw||(Xw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):Ea.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):Ea.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):Ea.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Ea.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class qqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||Ea.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=Ea.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||Ea.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=Ea.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||Ea.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=Ea.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var jw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(jw||(jw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&jw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Xw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var XR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(XR||(XR={}));var jR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(jR||(jR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const Vqe=[` +For Further details.`,n}function Rqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}function Dqe(t,e,r){const n=k8e(e.configs.elements,a=>a.state.transitions),i=K8e(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Nqe(t,e){return t.edges[e.tokenTypeIdx]}function Mqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Fqe(a))for(const s of i)a.add(s);return a}function Oqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Iqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Bqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Gqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var Xw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(Xw||(Xw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class Uqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var jw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(jw||(jw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&jw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Xw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var XR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(XR||(XR={}));var jR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(jR||(jR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const Hqe=[` `,`\r -`,"\r"];var r9;(function(t){function e(a,s,o,l){return new Gqe(a,s,o,l)}t.create=e;function r(a){let s=a;return!!(ht.defined(s)&&ht.string(s.uri)&&(ht.undefined(s.languageId)||ht.string(s.languageId))&&ht.uinteger(s.lineCount)&&ht.func(s.getText)&&ht.func(s.positionAt)&&ht.func(s.offsetAt))}t.is=r;function n(a,s){let o=a.getText(),l=i(s,(h,d)=>{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const Uqe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return Ea},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:Vqe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return XR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return jw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return jR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:qqe,get WorkspaceEdit(){return Xw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class Hqe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Kqe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Wqe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Hqe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),ju(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(JPe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Yqe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends Yqe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class Xqe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const jqe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends eqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...jqe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Tqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class Kqe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return Zqe({parser:e,tokens:r,ruleNames:new Map},t),e}function Zqe(t,e){const r=vae(e,!1),n=ni(e.rules).filter(ju).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ni(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,Qqe(t,a))}function Qqe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=aVe(t,e);else if(OS(e))n=Jqe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=eVe(t,e);else if(hae(e))n=rVe(t,e);else if(fae(e))n=nVe(t,e);else if(BM(e))n=iVe(t,e);else if(aFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function Jqe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function eVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=ju(r)&&r.fragment,a=e.arguments.length>0?tVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function tVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(nFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(lFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(cFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(tFe(t)){const e=!!t.true;return()=>e}wx()}function rVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function nVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function iVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&ju(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function aVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=sVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function sVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ju(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function oVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Xqe(t);return xse(e,n,r.definition),n.finalize(),n}function lVe(t){const e=cVe(t);return e.finalize(),e}function cVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Wqe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ni(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&MFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=PFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(UFe(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return va.stringArray=s,va}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var ai=HS();function uVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let j3=0,hVe=10;function dVe(){return j3=performance.now(),new ai.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function as(t){if(t===ai.CancellationToken.None)return;const e=performance.now();if(e-j3>=hVe&&(j3=e,await uVe(),j3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(fVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function fVe(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class gVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ai.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class mVe{constructor(e){this.documentTrie=new pVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ni(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class yVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ai.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await as(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await as(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(za(this._ref))return this._ref;if(ZPe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=VFe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||bFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ni(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ni(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ni(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ni(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ni(this.map.keys())}values(){return ni(this.map.values()).flat()}entriesGroupedByKey(){return ni(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class TVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ai.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=ai.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await as(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ai.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await as(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class wVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ni(n).concat(this.outerScope.getElements(e)):ni(n)}getAllElements(){let e=ni(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class CVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class SVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class EVe extends CVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class kVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new EVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ni(e),r,n)}createScopeForNodes(e,r,n){const i=ni(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new wVe(this.indexManager.allElements(e)))}}function _Ve(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class AVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(za(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=$Fe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ni(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const DVe=Object.freeze({validateNode:!0,validateChildren:!0});class NVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ai.CancellationToken.None){const i=e.parseResult,a=[];if(await as(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await as(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:OVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=ai.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await as(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ai.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await as(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return DVe}async validateAstAfter(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await as(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:MVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function MVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=zFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function OVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class IVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class BVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ai.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await as(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class PVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var FVe=sy();class $Ve{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new FVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function zVe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function qVe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function VVe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function GVe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r -`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function UVe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const Yqe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:Hqe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return XR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return jw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return jR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:Uqe,get WorkspaceEdit(){return Xw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class Xqe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Jqe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class jqe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Xqe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),ju(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(rFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Kqe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends Kqe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class Zqe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const Qqe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends nqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...Qqe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Sqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class Jqe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return eVe({parser:e,tokens:r,ruleNames:new Map},t),e}function eVe(t,e){const r=vae(e,!1),n=ni(e.rules).filter(ju).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ni(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,tVe(t,a))}function tVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=lVe(t,e);else if(OS(e))n=rVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=nVe(t,e);else if(hae(e))n=aVe(t,e);else if(fae(e))n=sVe(t,e);else if(BM(e))n=oVe(t,e);else if(lFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function rVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function nVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=ju(r)&&r.fragment,a=e.arguments.length>0?iVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function iVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(sFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(hFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(dFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(iFe(t)){const e=!!t.true;return()=>e}wx()}function aVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function sVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function oVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&ju(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function lVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=cVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function cVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ju(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function uVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Zqe(t);return xse(e,n,r.definition),n.finalize(),n}function hVe(t){const e=dVe(t);return e.finalize(),e}function dVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new jqe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ni(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&BFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=zFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(YFe(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return va.stringArray=s,va}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var ai=HS();function fVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let j3=0,pVe=10;function gVe(){return j3=performance.now(),new ai.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function ss(t){if(t===ai.CancellationToken.None)return;const e=performance.now();if(e-j3>=pVe&&(j3=e,await fVe(),j3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(mVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function mVe(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class vVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ai.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class bVe{constructor(e){this.documentTrie=new yVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ni(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class xVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ai.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await ss(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await ss(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qa(this._ref))return this._ref;if(eFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=HFe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||wFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ni(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ni(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ni(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ni(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ni(this.map.keys())}values(){return ni(this.map.values()).flat()}entriesGroupedByKey(){return ni(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class SVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ai.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=ai.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ai.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class EVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ni(n).concat(this.outerScope.getElements(e)):ni(n)}getAllElements(){let e=ni(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class kVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class _Ve extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class AVe extends kVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class LVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new AVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ni(e),r,n)}createScopeForNodes(e,r,n){const i=ni(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new EVe(this.indexManager.allElements(e)))}}function RVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class DVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(qa(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=VFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ni(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const OVe=Object.freeze({validateNode:!0,validateChildren:!0});class IVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ai.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:PVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=ai.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ai.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return OVe}async validateAstAfter(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:BVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function BVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=GFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function PVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class FVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class $Ve{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ai.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await ss(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class zVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var qVe=sy();class VVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new qVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function GVe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function UVe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function HVe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function WVe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r +`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function YVe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r `;class n{constructor(a="utf-8"){this._encoding=a,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(a){const s=typeof a=="string"?this.fromString(a,this._encoding):a;this._chunks.push(s),this._totalLength+=s.byteLength}tryReadHeaders(a=!1){if(this._chunks.length===0)return;let s=0,o=0,l=0,u=0;e:for(;othis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function HVe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Ae=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: -${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=j.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Ae.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: +${m}`);const b=m.substr(0,v),x=m.substr(v+1).trim();d.set(a?b.toLowerCase():b,x)}return d}tryReadBody(a){if(!(this._totalLengththis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function XVe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Le=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: +${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=j.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Le.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){const st=nt.id,It=te.get(st);It&&It.reject(new Error("The received response has neither a result nor an error property."))}}function ze(Ce){if(Ce!=null)switch(ne){case f.Verbose:return JSON.stringify(Ce,null,4);case f.Compact:return JSON.stringify(Ce);default:return}}function et(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&Ce.params&&(nt=`Params: ${ze(Ce.params)} `),pe.log(`Sending request '${Ce.method} - (${Ce.id})'.`,nt)}else Nt("send-request",Ce)}function qe(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&(Ce.params?nt=`Params: ${ze(Ce.params)} @@ -1343,18 +1343,18 @@ ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){ `:Ce.error===void 0&&(st=`No result returned. -`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Ae.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=zVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=qVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=VVe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=GVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=UVe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=HVe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function WVe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,WVe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(Uqe);var Qa={},WH;function hi(){if(WH)return Qa;WH=1,Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.ProtocolNotificationType=Qa.ProtocolNotificationType0=Qa.ProtocolRequestType=Qa.ProtocolRequestType0=Qa.RegistrationType=Qa.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Qa.MessageDirection=e={}));class r{constructor(l){this.method=l}}Qa.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Qa.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Qa.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Qa.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Qa.ProtocolNotificationType=s,Qa}var pA={},Ci={},YH;function tO(){if(YH)return Ci;YH=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.objectLiteral=Ci.typedArray=Ci.stringArray=Ci.array=Ci.func=Ci.error=Ci.number=Ci.string=Ci.boolean=void 0;function t(u){return u===!0||u===!1}Ci.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Ci.string=e;function r(u){return typeof u=="number"||u instanceof Number}Ci.number=r;function n(u){return u instanceof Error}Ci.error=n;function i(u){return typeof u=="function"}Ci.func=i;function a(u){return Array.isArray(u)}Ci.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Ci.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Ci.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Ci.objectLiteral=l,Ci}var Ov={},XH;function YVe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},jH;function XVe(){if(jH)return Iv;jH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function jVe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=hi();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function KVe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=hi();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function ZVe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function QVe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function JVe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function eGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function tGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=hi();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var Xc={},nW;function rGe(){if(nW)return Xc;nW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.CallHierarchyOutgoingCallsRequest=Xc.CallHierarchyIncomingCallsRequest=Xc.CallHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Xc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Xc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.CallHierarchyOutgoingCallsRequest=n={})),Xc}var Ja={},iW;function nGe(){if(iW)return Ja;iW=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.SemanticTokensRefreshRequest=Ja.SemanticTokensRangeRequest=Ja.SemanticTokensDeltaRequest=Ja.SemanticTokensRequest=Ja.SemanticTokensRegistrationType=Ja.TokenFormat=void 0;const t=hi();var e;(function(o){o.Relative="relative"})(e||(Ja.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(Ja.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(Ja.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(Ja.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(Ja.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(Ja.SemanticTokensRefreshRequest=s={})),Ja}var $v={},aW;function iGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=hi();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function aGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var ba={},oW;function sGe(){if(oW)return ba;oW=1,Object.defineProperty(ba,"__esModule",{value:!0}),ba.WillDeleteFilesRequest=ba.DidDeleteFilesNotification=ba.DidRenameFilesNotification=ba.WillRenameFilesRequest=ba.DidCreateFilesNotification=ba.WillCreateFilesRequest=ba.FileOperationPatternKind=void 0;const t=hi();var e;(function(l){l.file="file",l.folder="folder"})(e||(ba.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(ba.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(ba.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(ba.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(ba.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(ba.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(ba.WillDeleteFilesRequest=o={})),ba}var jc={},lW;function oGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.MonikerRequest=jc.MonikerKind=jc.UniquenessLevel=void 0;const t=hi();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(jc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(jc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.MonikerRequest=n={})),jc}var Kc={},cW;function lGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function cGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function uGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function hGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=hi();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ei={},fW;function dGe(){if(fW)return ei;fW=1,Object.defineProperty(ei,"__esModule",{value:!0}),ei.DidCloseNotebookDocumentNotification=ei.DidSaveNotebookDocumentNotification=ei.DidChangeNotebookDocumentNotification=ei.NotebookCellArrayChange=ei.DidOpenNotebookDocumentNotification=ei.NotebookDocumentSyncRegistrationType=ei.NotebookDocument=ei.NotebookCell=ei.ExecutionSummary=ei.NotebookCellKind=void 0;const t=eO,e=tO(),r=hi();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ei.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ei.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Ae;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Ae||(t.TextDocumentSaveReason=Ae={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function gGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function mGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(hi(),t),r(pGe(),t);var n=gGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function yGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(mGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=yGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class vGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ai.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ai.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ni(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await as(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ni(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ai.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await as(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await as(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ni(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class bGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new SVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ni(i)}allElements(e,r){let n=ni(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class xGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ai.CancellationToken.None){const n=await this.performStartup(e);await as(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ni(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class TGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return jL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return jL.buildUnableToPopLexerModeMessage(e)}}const wGe={mode:"full"};class CGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=wGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function SGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!SGe(t)&&!Nse(t)}function EGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=AGe({lines:a,position:i,options:s});return MGe({index:0,tokens:o,position:i})}function kGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(AFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,_Ge=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function AGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function LGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const RGe=/\S/,DGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(RGe);return r?e+r.index:t.length}function NGe(t){const e=t.match(DGe);if(e&&typeof e.index=="number")return e.index}function MGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=PGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}}function PGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??FGe(e,i)}}function FGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=GVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=UVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=HVe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=WVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=YVe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=XVe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function jVe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,jVe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(Yqe);var Ja={},WH;function hi(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Ci={},YH;function tO(){if(YH)return Ci;YH=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.objectLiteral=Ci.typedArray=Ci.stringArray=Ci.array=Ci.func=Ci.error=Ci.number=Ci.string=Ci.boolean=void 0;function t(u){return u===!0||u===!1}Ci.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Ci.string=e;function r(u){return typeof u=="number"||u instanceof Number}Ci.number=r;function n(u){return u instanceof Error}Ci.error=n;function i(u){return typeof u=="function"}Ci.func=i;function a(u){return Array.isArray(u)}Ci.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Ci.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Ci.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Ci.objectLiteral=l,Ci}var Ov={},XH;function KVe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},jH;function ZVe(){if(jH)return Iv;jH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function QVe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=hi();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function JVe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=hi();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function eGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function tGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function rGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function nGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function iGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=hi();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var Xc={},nW;function aGe(){if(nW)return Xc;nW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.CallHierarchyOutgoingCallsRequest=Xc.CallHierarchyIncomingCallsRequest=Xc.CallHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Xc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Xc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.CallHierarchyOutgoingCallsRequest=n={})),Xc}var es={},iW;function sGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=hi();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function oGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=hi();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function lGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var ba={},oW;function cGe(){if(oW)return ba;oW=1,Object.defineProperty(ba,"__esModule",{value:!0}),ba.WillDeleteFilesRequest=ba.DidDeleteFilesNotification=ba.DidRenameFilesNotification=ba.WillRenameFilesRequest=ba.DidCreateFilesNotification=ba.WillCreateFilesRequest=ba.FileOperationPatternKind=void 0;const t=hi();var e;(function(l){l.file="file",l.folder="folder"})(e||(ba.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(ba.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(ba.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(ba.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(ba.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(ba.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(ba.WillDeleteFilesRequest=o={})),ba}var jc={},lW;function uGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.MonikerRequest=jc.MonikerKind=jc.UniquenessLevel=void 0;const t=hi();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(jc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(jc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.MonikerRequest=n={})),jc}var Kc={},cW;function hGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function dGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function fGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function pGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=hi();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ei={},fW;function gGe(){if(fW)return ei;fW=1,Object.defineProperty(ei,"__esModule",{value:!0}),ei.DidCloseNotebookDocumentNotification=ei.DidSaveNotebookDocumentNotification=ei.DidChangeNotebookDocumentNotification=ei.NotebookCellArrayChange=ei.DidOpenNotebookDocumentNotification=ei.NotebookDocumentSyncRegistrationType=ei.NotebookDocument=ei.NotebookCell=ei.ExecutionSummary=ei.NotebookCellKind=void 0;const t=eO,e=tO(),r=hi();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ei.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ei.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function vGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function bGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(hi(),t),r(yGe(),t);var n=vGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function xGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(bGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=xGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class TGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ai.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ai.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ni(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ni(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ai.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ni(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class wGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new _Ve,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ni(i)}allElements(e,r){let n=ni(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class CGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ai.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ni(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class SGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return jL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return jL.buildUnableToPopLexerModeMessage(e)}}const EGe={mode:"full"};class kGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=EGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function _Ge(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!_Ge(t)&&!Nse(t)}function AGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=DGe({lines:a,position:i,options:s});return BGe({index:0,tokens:o,position:i})}function LGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(DFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,RGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function DGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function NGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const MGe=/\S/,OGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(MGe);return r?e+r.index:t.length}function IGe(t){const e=t.match(OGe);if(e&&typeof e.index=="number")return e.index}function BGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=zGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}}function zGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??qGe(e,i)}}function qGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` `)}return r}}class Pse{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function wW(t){return t.endsWith(` `)?` `:` -`}class $Ge{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&kGe(r))return EGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class zGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return _Ve(e)?e.$comment:CFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class qGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class VGe{constructor(){this.previousTokenSource=new ai.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=dVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ai.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class GGe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else za(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else za(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))eFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new zGe(e),DocumentationProvider:e=>new $Ge(e)},parser:{AsyncParser:e=>new qGe(e),GrammarConfig:e=>KFe(e),LangiumParser:e=>lVe(e),CompletionParser:e=>oVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new CGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new TGe},workspace:{AstNodeLocator:()=>new PVe,AstNodeDescriptionProvider:e=>new IVe(e),ReferenceDescriptionProvider:e=>new BVe(e)},references:{Linker:e=>new yVe(e),NameProvider:()=>new bVe,ScopeProvider:e=>new kVe(e),ScopeComputation:e=>new TVe(e),References:e=>new xVe(e)},serializer:{Hydrator:e=>new GGe(e),JsonSerializer:e=>new AVe(e)},validation:{DocumentValidator:e=>new NVe(e),ValidationRegistry:e=>new RVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new LVe(e),workspace:{LangiumDocuments:e=>new mVe(e),LangiumDocumentFactory:e=>new gVe(e),DocumentBuilder:e=>new vGe(e),IndexManager:e=>new bGe(e),WorkspaceManager:e=>new xGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new VGe,ConfigurationProvider:e=>new $Ve(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Vi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const UGe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===UGe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class HGe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new HGe},WGe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},YGe={AstReflection:()=>new pae};function XGe(){const t=Vi(bc(xc),YGe),e=Vi(vc({shared:t}),WGe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=XGe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var jGe=Object.defineProperty,Ft=(t,e)=>jGe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function KGe(t){return Yo.isInstance(t,nu.$type)}Ft(KGe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function ZGe(t){return Yo.isInstance(t,K3.$type)}Ft(ZGe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function QGe(t){return Yo.isInstance(t,ug.$type)}Ft(QGe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function JGe(t){return Yo.isInstance(t,Df.$type)}Ft(JGe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function eUe(t){return Yo.isInstance(t,y2.$type)}Ft(eUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function tUe(t){return Yo.isInstance(t,hg.$type)}Ft(tUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function rUe(t){return Yo.isInstance(t,dg.$type)}Ft(rUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function nUe(t){return Yo.isInstance(t,fg.$type)}Ft(nUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function iUe(t){return Yo.isInstance(t,Nf.$type)}Ft(iUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function aUe(t){return Yo.isInstance(t,Z3.$type)}Ft(aUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},XT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function sUe(t){return Yo.isInstance(t,pg.$type)}Ft(sUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ta={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function oUe(t){return Yo.isInstance(t,Ta.$type)}Ft(oUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:XT.$type,properties:{evolution:{name:XT.evolution},label:{name:XT.label},name:{name:XT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:Ta.$type,properties:{accDescr:{name:Ta.accDescr},accelerators:{name:Ta.accelerators,defaultValue:[]},accTitle:{name:Ta.accTitle},anchors:{name:Ta.anchors,defaultValue:[]},annotation:{name:Ta.annotation,defaultValue:[]},annotations:{name:Ta.annotations,defaultValue:[]},components:{name:Ta.components,defaultValue:[]},deaccelerators:{name:Ta.deaccelerators,defaultValue:[]},evolution:{name:Ta.evolution},evolves:{name:Ta.evolves,defaultValue:[]},links:{name:Ta.links,defaultValue:[]},notes:{name:Ta.notes,defaultValue:[]},pipelines:{name:Ta.pipelines,defaultValue:[]},size:{name:Ta.size},title:{name:Ta.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,lUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,cUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,uUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,hUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,dUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,fUe=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,pUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,gUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,mUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),yUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},kUe={Grammar:Ft(()=>lUe(),"Grammar"),LanguageMetaData:Ft(()=>yUe,"LanguageMetaData"),parser:{}},_Ue={Grammar:Ft(()=>cUe(),"Grammar"),LanguageMetaData:Ft(()=>vUe,"LanguageMetaData"),parser:{}},AUe={Grammar:Ft(()=>uUe(),"Grammar"),LanguageMetaData:Ft(()=>bUe,"LanguageMetaData"),parser:{}},LUe={Grammar:Ft(()=>hUe(),"Grammar"),LanguageMetaData:Ft(()=>xUe,"LanguageMetaData"),parser:{}},RUe={Grammar:Ft(()=>dUe(),"Grammar"),LanguageMetaData:Ft(()=>TUe,"LanguageMetaData"),parser:{}},DUe={Grammar:Ft(()=>fUe(),"Grammar"),LanguageMetaData:Ft(()=>wUe,"LanguageMetaData"),parser:{}},NUe={Grammar:Ft(()=>pUe(),"Grammar"),LanguageMetaData:Ft(()=>CUe,"LanguageMetaData"),parser:{}},MUe={Grammar:Ft(()=>gUe(),"Grammar"),LanguageMetaData:Ft(()=>SUe,"LanguageMetaData"),parser:{}},OUe={Grammar:Ft(()=>mUe(),"Grammar"),LanguageMetaData:Ft(()=>EUe,"LanguageMetaData"),parser:{}},IUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,BUe=/accTitle[\t ]*:([^\n\r]*)/,PUe=/title([\t ][^\n\r]*|)/,FUe={ACC_DESCR:IUe,ACC_TITLE:BUe,TITLE:PUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=FUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,$Ue=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),zUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,qUe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=zUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,VUe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new $Ue,"TokenBuilder"),ValueConverter:Ft(()=>new qUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new VUe,"TreemapValidator")}};function Vse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),NUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,GUe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new GUe,"ValueConverter")}};function Use(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),OUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,UUe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new UUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),_Ue,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,HUe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new HUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Xse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),AUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Xse,"createInfoServices");var w1,WUe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),jse={parser:{TokenBuilder:Ft(()=>new WUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),LUe,jse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,YUe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,XUe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new YUe,"TokenBuilder"),ValueConverter:Ft(()=>new XUe,"ValueConverter")}};function Qse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),RUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,jUe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,KUe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new KUe,"TokenBuilder"),ValueConverter:Ft(()=>new jUe,"ValueConverter")}};function eoe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),MUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,ZUe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,QUe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new ZUe,"TokenBuilder"),ValueConverter:Ft(()=>new QUe,"ValueConverter")}};function roe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),kUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,JUe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),DUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},eHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>Zrt);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>Qrt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>Jrt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>ent);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>tnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>rnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>nnt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>int);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>ant);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=eHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new tHe(i);return i.value}Ft(Tc,"parse");var R1,tHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` +`}class VGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&LGe(r))return AGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class GGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return RVe(e)?e.$comment:kFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class UGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class HGe{constructor(){this.previousTokenSource=new ai.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=gVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ai.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class WGe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else qa(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else qa(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))nFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new GGe(e),DocumentationProvider:e=>new VGe(e)},parser:{AsyncParser:e=>new UGe(e),GrammarConfig:e=>JFe(e),LangiumParser:e=>hVe(e),CompletionParser:e=>uVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new kGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new SGe},workspace:{AstNodeLocator:()=>new zVe,AstNodeDescriptionProvider:e=>new FVe(e),ReferenceDescriptionProvider:e=>new $Ve(e)},references:{Linker:e=>new xVe(e),NameProvider:()=>new wVe,ScopeProvider:e=>new LVe(e),ScopeComputation:e=>new SVe(e),References:e=>new CVe(e)},serializer:{Hydrator:e=>new WGe(e),JsonSerializer:e=>new DVe(e)},validation:{DocumentValidator:e=>new IVe(e),ValidationRegistry:e=>new MVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new NVe(e),workspace:{LangiumDocuments:e=>new bVe(e),LangiumDocumentFactory:e=>new vVe(e),DocumentBuilder:e=>new TGe(e),IndexManager:e=>new wGe(e),WorkspaceManager:e=>new CGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new HGe,ConfigurationProvider:e=>new VVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Vi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const YGe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===YGe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class XGe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new XGe},jGe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},KGe={AstReflection:()=>new pae};function ZGe(){const t=Vi(bc(xc),KGe),e=Vi(vc({shared:t}),jGe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=ZGe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var QGe=Object.defineProperty,Ft=(t,e)=>QGe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function JGe(t){return Yo.isInstance(t,nu.$type)}Ft(JGe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function eUe(t){return Yo.isInstance(t,K3.$type)}Ft(eUe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function tUe(t){return Yo.isInstance(t,ug.$type)}Ft(tUe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function rUe(t){return Yo.isInstance(t,Df.$type)}Ft(rUe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function nUe(t){return Yo.isInstance(t,y2.$type)}Ft(nUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function iUe(t){return Yo.isInstance(t,hg.$type)}Ft(iUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function aUe(t){return Yo.isInstance(t,dg.$type)}Ft(aUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function sUe(t){return Yo.isInstance(t,fg.$type)}Ft(sUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function oUe(t){return Yo.isInstance(t,Nf.$type)}Ft(oUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function lUe(t){return Yo.isInstance(t,Z3.$type)}Ft(lUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},XT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function cUe(t){return Yo.isInstance(t,pg.$type)}Ft(cUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ta={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function uUe(t){return Yo.isInstance(t,Ta.$type)}Ft(uUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:XT.$type,properties:{evolution:{name:XT.evolution},label:{name:XT.label},name:{name:XT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:Ta.$type,properties:{accDescr:{name:Ta.accDescr},accelerators:{name:Ta.accelerators,defaultValue:[]},accTitle:{name:Ta.accTitle},anchors:{name:Ta.anchors,defaultValue:[]},annotation:{name:Ta.annotation,defaultValue:[]},annotations:{name:Ta.annotations,defaultValue:[]},components:{name:Ta.components,defaultValue:[]},deaccelerators:{name:Ta.deaccelerators,defaultValue:[]},evolution:{name:Ta.evolution},evolves:{name:Ta.evolves,defaultValue:[]},links:{name:Ta.links,defaultValue:[]},notes:{name:Ta.notes,defaultValue:[]},pipelines:{name:Ta.pipelines,defaultValue:[]},size:{name:Ta.size},title:{name:Ta.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,hUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,dUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,fUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,pUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,gUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,mUe=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,yUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,vUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,bUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),xUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},_Ue={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},LUe={Grammar:Ft(()=>hUe(),"Grammar"),LanguageMetaData:Ft(()=>xUe,"LanguageMetaData"),parser:{}},RUe={Grammar:Ft(()=>dUe(),"Grammar"),LanguageMetaData:Ft(()=>TUe,"LanguageMetaData"),parser:{}},DUe={Grammar:Ft(()=>fUe(),"Grammar"),LanguageMetaData:Ft(()=>wUe,"LanguageMetaData"),parser:{}},NUe={Grammar:Ft(()=>pUe(),"Grammar"),LanguageMetaData:Ft(()=>CUe,"LanguageMetaData"),parser:{}},MUe={Grammar:Ft(()=>gUe(),"Grammar"),LanguageMetaData:Ft(()=>SUe,"LanguageMetaData"),parser:{}},OUe={Grammar:Ft(()=>mUe(),"Grammar"),LanguageMetaData:Ft(()=>EUe,"LanguageMetaData"),parser:{}},IUe={Grammar:Ft(()=>yUe(),"Grammar"),LanguageMetaData:Ft(()=>kUe,"LanguageMetaData"),parser:{}},BUe={Grammar:Ft(()=>vUe(),"Grammar"),LanguageMetaData:Ft(()=>_Ue,"LanguageMetaData"),parser:{}},PUe={Grammar:Ft(()=>bUe(),"Grammar"),LanguageMetaData:Ft(()=>AUe,"LanguageMetaData"),parser:{}},FUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,$Ue=/accTitle[\t ]*:([^\n\r]*)/,zUe=/title([\t ][^\n\r]*|)/,qUe={ACC_DESCR:FUe,ACC_TITLE:$Ue,TITLE:zUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=qUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,VUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),GUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,UUe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=GUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,HUe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new VUe,"TokenBuilder"),ValueConverter:Ft(()=>new UUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new HUe,"TreemapValidator")}};function Vse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),IUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,WUe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new WUe,"ValueConverter")}};function Use(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),PUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,YUe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new YUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),RUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,XUe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new XUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Xse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),DUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Xse,"createInfoServices");var w1,jUe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),jse={parser:{TokenBuilder:Ft(()=>new jUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),NUe,jse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,KUe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,ZUe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new KUe,"TokenBuilder"),ValueConverter:Ft(()=>new ZUe,"ValueConverter")}};function Qse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),MUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,QUe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,JUe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new QUe,"ValueConverter")}};function eoe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),BUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,eHe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,tHe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new eHe,"TokenBuilder"),ValueConverter:Ft(()=>new tHe,"ValueConverter")}};function roe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),LUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,rHe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new rHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),OUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},nHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>ent);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>tnt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>rnt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>nnt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>int);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>ant);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>snt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>ont);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>lnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=nHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new iHe(i);return i.value}Ft(Tc,"parse");var R1,iHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(` -`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),kn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},rHe=Vr.gitGraph,H0=S(()=>Ji({...rHe,...gr().gitGraph}),"getConfig"),jt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function XS(){return qZ({length:7})}S(XS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var nHe=S(function(t){jt.records.direction=t},"setDirection"),iHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),aHe=S(function(){return jt.records.options},"getOptions"),sHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+XS(),message:e,seq:jt.records.seq++,type:n??kn.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),oHe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),lHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${XS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:kn.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),cHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===kn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+XS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:kn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===kn.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var uHe=S(function(){oe.debug(jt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),hHe=S(function(){jt.reset(),jn()},"clear"),dHe=S(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),fHe=S(function(){return jt.records.branches},"getBranches"),pHe=S(function(){return jt.records.commits},"getCommits"),ooe=S(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),gHe=S(function(){return jt.records.currBranch},"getCurrentBranch"),mHe=S(function(){return jt.records.direction},"getDirection"),yHe=S(function(){return jt.records.head},"getHead"),loe={commitType:kn,getConfig:H0,setDirection:nHe,setOptions:iHe,getOptions:aHe,commit:sHe,branch:oHe,merge:lHe,cherryPick:cHe,checkout:soe,prettyPrint:uHe,clear:hHe,getBranchesAsObjArray:dHe,getBranches:fHe,getCommits:pHe,getCommitsArray:ooe,getCurrentBranch:gHe,getDirection:mHe,getHead:yHe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,setDiagramTitle:oi,getDiagramTitle:Kn},vHe=S((t,e)=>{Xu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)bHe(r,e)},"populate"),bHe=S((t,e)=>{const n={Commit:S(i=>e.commit(xHe(i)),"Commit"),Branch:S(i=>e.branch(THe(i)),"Branch"),Merge:S(i=>e.merge(wHe(i)),"Merge"),Checkout:S(i=>e.checkout(CHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(SHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),xHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?kn[t.type]:kn.NORMAL,tags:t.tags??void 0}),"parseCommit"),THe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),wHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?kn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),CHe=S(t=>t.branch,"parseCheckout"),SHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),EHe={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),vHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,jS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),kHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",_He=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),AHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),LHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=DHe(o),i=Math.max(n,i)):a.push(o),NHe(o,n)}),n=i,a.forEach(s=>{MHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=AHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),RHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),DHe=S(t=>RHe(t)+Wh,"calculateCommitPosition"),NHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),MHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),OHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=jS.has(s??""),l=iO.has(s??""),u=kHe.has(s??"");if(a===kn.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===kn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===kn.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===kn.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),IHe=S((t,e,r,n,i)=>{if(e.type!==kn.CHERRY_PICK&&(e.customId&&e.type===kn.MERGE||e.type!==kn.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),BHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` +`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),kn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},aHe=Vr.gitGraph,H0=S(()=>Ji({...aHe,...gr().gitGraph}),"getConfig"),jt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function XS(){return qZ({length:7})}S(XS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var sHe=S(function(t){jt.records.direction=t},"setDirection"),oHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),lHe=S(function(){return jt.records.options},"getOptions"),cHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+XS(),message:e,seq:jt.records.seq++,type:n??kn.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),uHe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),hHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${XS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:kn.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),dHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===kn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+XS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:kn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===kn.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var fHe=S(function(){oe.debug(jt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),pHe=S(function(){jt.reset(),jn()},"clear"),gHe=S(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),mHe=S(function(){return jt.records.branches},"getBranches"),yHe=S(function(){return jt.records.commits},"getCommits"),ooe=S(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),vHe=S(function(){return jt.records.currBranch},"getCurrentBranch"),bHe=S(function(){return jt.records.direction},"getDirection"),xHe=S(function(){return jt.records.head},"getHead"),loe={commitType:kn,getConfig:H0,setDirection:sHe,setOptions:oHe,getOptions:lHe,commit:cHe,branch:uHe,merge:hHe,cherryPick:dHe,checkout:soe,prettyPrint:fHe,clear:pHe,getBranchesAsObjArray:gHe,getBranches:mHe,getCommits:yHe,getCommitsArray:ooe,getCurrentBranch:vHe,getDirection:bHe,getHead:xHe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,setDiagramTitle:oi,getDiagramTitle:Kn},THe=S((t,e)=>{Xu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)wHe(r,e)},"populate"),wHe=S((t,e)=>{const n={Commit:S(i=>e.commit(CHe(i)),"Commit"),Branch:S(i=>e.branch(SHe(i)),"Branch"),Merge:S(i=>e.merge(EHe(i)),"Merge"),Checkout:S(i=>e.checkout(kHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(_He(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),CHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?kn[t.type]:kn.NORMAL,tags:t.tags??void 0}),"parseCommit"),SHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),EHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?kn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),kHe=S(t=>t.branch,"parseCheckout"),_He=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),AHe={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),THe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,jS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),LHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",RHe=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),DHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),NHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=OHe(o),i=Math.max(n,i)):a.push(o),IHe(o,n)}),n=i,a.forEach(s=>{BHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=DHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),MHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),OHe=S(t=>MHe(t)+Wh,"calculateCommitPosition"),IHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),BHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),PHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=jS.has(s??""),l=iO.has(s??""),u=LHe.has(s??"");if(a===kn.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===kn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===kn.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===kn.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),FHe=S((t,e,r,n,i)=>{if(e.type!==kn.CHERRY_PICK&&(e.customId&&e.type===kn.MERGE||e.type!==kn.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),$He=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` ${n-a/2-zl/2},${p+cu} ${n-a/2-zl/2},${p-cu} ${r.posWithOffset-a/2-zl},${p-f-cu} @@ -1366,22 +1366,22 @@ ${r}`),this.inline?`{${i}}`:i}}function PGe(t,e,r){if(t==="linkplain"||t==="link ${r.x+Hh},${m-f-2} ${r.x+Hh+a+4},${m-f-2} ${r.x+Hh+a+4},${m+f+2} - ${r.x+Hh},${m+f+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("cx",r.x+zl/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),l.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),PHe=S(t=>{switch(t.customType??t.type){case kn.NORMAL:return"commit-normal";case kn.REVERSE:return"commit-reverse";case kn.HIGHLIGHT:return"commit-highlight";case kn.MERGE:return"commit-merge";case kn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),FHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),$He=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=jS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&LHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=FHe(f,Gr,s,zs));const p=$He(f,s,l);if(r){const m=PHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;OHe(i,f,p,m,b,v),IHe(a,f,p,s,n),BHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),zHe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),qHe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=zHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===kn.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),VHe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{qHe(r,e.get(a),i,e)})})},"drawArrows"),GHe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=jS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),R.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),UHe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),HHe=S(function(t,e,r,n){_He(),oe.debug("in gitgraph renderer",t+` -`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&jS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=UHe(x.name,b,C,k,s),R.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&GHe(l,o,a,e),VHe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),WHe={draw:HHe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),YHe=new Set(["redux-color","redux-dark-color"]),XHe=new Set(["neo","neo-dark"]),jHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),KHe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),ZHe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{switch(t.customType??t.type){case kn.NORMAL:return"commit-normal";case kn.REVERSE:return"commit-reverse";case kn.HIGHLIGHT:return"commit-highlight";case kn.MERGE:return"commit-merge";case kn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),qHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),VHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=jS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&NHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=qHe(f,Gr,s,zs));const p=VHe(f,s,l);if(r){const m=zHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;PHe(i,f,p,m,b,v),FHe(a,f,p,s,n),$He(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),GHe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),UHe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=GHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===kn.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),HHe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{UHe(r,e.get(a),i,e)})})},"drawArrows"),WHe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=jS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),R.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),YHe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),XHe=S(function(t,e,r,n){RHe(),oe.debug("in gitgraph renderer",t+` +`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&jS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=YHe(x.name,b,C,k,s),R.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&WHe(l,o,a,e),HHe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),jHe={draw:XHe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),KHe=new Set(["redux-color","redux-dark-color"]),ZHe=new Set(["neo","neo-dark"]),QHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),JHe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),eWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(XHe.has(r)){let s="";for(let o=0;o{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(ZHe.has(r)){let s="";for(let o=0;o`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` + `;return s}},"genColor"),rWe=S(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } .label${e} { fill: ${t["git"+r]}; } .arrow${e} { stroke: ${t["git"+r]}; } `}).join(` -`)}`,"normalTheme"),eWe=S(t=>{const e=gr(),{theme:r}=e,n=KHe.has(r);return` +`)}`,"normalTheme"),nWe=S(t=>{const e=gr(),{theme:r}=e,n=JHe.has(r);return` .commit-id, .commit-msg, .branch-label { @@ -1419,7 +1419,7 @@ ${r}`),this.inline?`{${i}}`:i}}function PGe(t,e,r){if(t==="linkplain"||t==="link font-family: var(--mermaid-font-family); } - ${n?QHe(t):JHe(t)} + ${n?tWe(t):rWe(t)} .branch { stroke-width: ${t.strokeWidth}; @@ -1459,12 +1459,12 @@ ${r}`),this.inline?`{${i}}`:i}}function PGe(t,e,r){if(t==="linkplain"||t==="link font-size: 18px; fill: ${t.textColor}; } -`},"getStyles"),tWe=eWe,rWe={parser:EHe,db:loe,renderer:WHe,styles:tWe};const nWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:rWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},iWe=Q3.exports,$W;function aWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(iWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var sWe=aWe();const oWe=k0(sWe);var J3={exports:{}},lWe=J3.exports,zW;function cWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(lWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Ae=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe)):(Me=new Date(me,pe,ne,$e,He,Ae,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=C.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var uWe=cWe();const hWe=k0(uWe);var e5={exports:{}},dWe=e5.exports,qW;function fWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(dWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var pWe=fWe();const gWe=k0(pWe);var t5={exports:{}},mWe=t5.exports,VW;function yWe(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(mWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},C=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+C(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var vWe=yWe();const bWe=k0(vWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Ae={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: +`},"getStyles"),iWe=nWe,aWe={parser:AHe,db:loe,renderer:jHe,styles:iWe};const sWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},oWe=Q3.exports,$W;function lWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(oWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var cWe=lWe();const uWe=k0(cWe);var J3={exports:{}},hWe=J3.exports,zW;function dWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(hWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Le=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe)):(Me=new Date(me,pe,ne,$e,He,Le,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=C.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var fWe=dWe();const pWe=k0(fWe);var e5={exports:{}},gWe=e5.exports,qW;function mWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(gWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var yWe=mWe();const vWe=k0(yWe);var t5={exports:{}},bWe=t5.exports,VW;function xWe(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(bWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},C=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+C(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var TWe=xWe();const wWe=k0(TWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Le={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: `+Q.showPosition()+` -Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==j?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,X=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Ae.$=M[M.length-We],Ae._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Ae._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Ae,[P,X,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Ae.$),V.push(Ae._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==j?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,X=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Le.$=M[M.length-We],Le._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Le._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Le,[P,X,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Le.$),V.push(Le._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(D){this.unput(this.match.slice(D))},"less"),pastInput:S(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var D=this.pastInput(),I=new Array(D.length+1).join("-");return D+this.upcomingInput()+` `+I+"^"},"showPosition"),test_match:S(function(D,I){var N,B,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],N=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var V in M)this[V]=M[V];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,I,N,B;this._more||(this.yytext="",this.match="");for(var M=this._currentRules(),V=0;VI[0].length)){if(I=N,B=V,this.options.backtrack_lexer){if(D=this.test_match(N,M[V]),D!==!1)return D;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(D=this.test_match(I,M[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var xWe=C9;sa.extend(oWe);sa.extend(hWe);sa.extend(gWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,TWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,Yi=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",jn(),fO="sunday",rC="saturday"},"clear"),wWe=S(function(t){_g=t},"setDiagramId"),CWe=S(function(t){aO=t},"setAxisFormat"),SWe=S(function(){return aO},"getAxisFormat"),EWe=S(function(t){sO=t},"setTickInterval"),kWe=S(function(){return sO},"getTickInterval"),_We=S(function(t){oO=t},"setTodayMarker"),AWe=S(function(){return oO},"getTodayMarker"),LWe=S(function(t){Ql=t},"setDateFormat"),RWe=S(function(){Dx=!0},"enableInclusiveEndDates"),DWe=S(function(){return Dx},"endDatesAreInclusive"),NWe=S(function(){dO=!0},"enableTopAxis"),MWe=S(function(){return dO},"topAxisEnabled"),OWe=S(function(t){uO=t},"setDisplayMode"),IWe=S(function(){return uO},"getDisplayMode"),BWe=S(function(){return Ql},"getDateFormat"),PWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),FWe=S(function(){return Lx},"getIncludes"),$We=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),zWe=S(function(){return Rx},"getExcludes"),qWe=S(function(){return lO},"getLinks"),VWe=S(function(t){Rm=t,cO.push(t)},"addSection"),GWe=S(function(){return cO},"getSections"),UWe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=sa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),eYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),tYe=S(function(t,e,r){t.split(",").forEach(function(n){eYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),rYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),nYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:TWe,setDateFormat:LWe,getDateFormat:BWe,enableInclusiveEndDates:RWe,endDatesAreInclusive:DWe,enableTopAxis:NWe,topAxisEnabled:MWe,setAxisFormat:CWe,getAxisFormat:SWe,setTickInterval:EWe,getTickInterval:kWe,setTodayMarker:_We,getTodayMarker:AWe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,setDiagramId:wWe,setDisplayMode:OWe,getDisplayMode:IWe,setAccDescription:ci,getAccDescription:ui,addSection:VWe,getSections:GWe,getTasks:UWe,addTask:ZWe,findTaskById:W0,addTaskOrg:QWe,setIncludes:PWe,getIncludes:FWe,setExcludes:$We,getExcludes:zWe,setClickEvent:tYe,setLink:JWe,getLinks:qWe,bindFunctions:rYe,parseDuration:moe,isInvalidDate:poe,setWeekday:HWe,getWeekday:WWe,setWeekend:YWe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");sa.extend(bWe);var iYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:ej,wednesday:tj,thursday:i0,friday:rj,saturday:nj,sunday:jb},aYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,sYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=aYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=_2e().domain([Ope(h,function(O){return O.startTime}),Mpe(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(sa(M).diff(sa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=sa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=sa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=Gpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>AA)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=Vpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var CWe=C9;sa.extend(uWe);sa.extend(pWe);sa.extend(vWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,SWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,Yi=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",jn(),fO="sunday",rC="saturday"},"clear"),EWe=S(function(t){_g=t},"setDiagramId"),kWe=S(function(t){aO=t},"setAxisFormat"),_We=S(function(){return aO},"getAxisFormat"),AWe=S(function(t){sO=t},"setTickInterval"),LWe=S(function(){return sO},"getTickInterval"),RWe=S(function(t){oO=t},"setTodayMarker"),DWe=S(function(){return oO},"getTodayMarker"),NWe=S(function(t){Ql=t},"setDateFormat"),MWe=S(function(){Dx=!0},"enableInclusiveEndDates"),OWe=S(function(){return Dx},"endDatesAreInclusive"),IWe=S(function(){dO=!0},"enableTopAxis"),BWe=S(function(){return dO},"topAxisEnabled"),PWe=S(function(t){uO=t},"setDisplayMode"),FWe=S(function(){return uO},"getDisplayMode"),$We=S(function(){return Ql},"getDateFormat"),zWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),qWe=S(function(){return Lx},"getIncludes"),VWe=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),GWe=S(function(){return Rx},"getExcludes"),UWe=S(function(){return lO},"getLinks"),HWe=S(function(t){Rm=t,cO.push(t)},"addSection"),WWe=S(function(){return cO},"getSections"),YWe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=sa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),nYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),iYe=S(function(t,e,r){t.split(",").forEach(function(n){nYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),aYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),sYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:SWe,setDateFormat:NWe,getDateFormat:$We,enableInclusiveEndDates:MWe,endDatesAreInclusive:OWe,enableTopAxis:IWe,topAxisEnabled:BWe,setAxisFormat:kWe,getAxisFormat:_We,setTickInterval:AWe,getTickInterval:LWe,setTodayMarker:RWe,getTodayMarker:DWe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,setDiagramId:EWe,setDisplayMode:PWe,getDisplayMode:FWe,setAccDescription:ci,getAccDescription:ui,addSection:HWe,getSections:WWe,getTasks:YWe,addTask:eYe,findTaskById:W0,addTaskOrg:tYe,setIncludes:zWe,getIncludes:qWe,setExcludes:VWe,getExcludes:GWe,setClickEvent:iYe,setLink:rYe,getLinks:UWe,bindFunctions:aYe,parseDuration:moe,isInvalidDate:poe,setWeekday:XWe,getWeekday:jWe,setWeekend:KWe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");sa.extend(wWe);var oYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:ej,wednesday:tj,thursday:i0,friday:rj,saturday:nj,sunday:jb},lYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,cYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=lYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=R2e().domain([Ppe(h,function(O){return O.startTime}),Bpe(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(sa(M).diff(sa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=sa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=sa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=Wpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>AA)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=Hpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` .mermaid-main-font { font-family: ${t.fontFamily}; } @@ -1750,8 +1750,8 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro fill: ${t.titleColor||t.textColor}; font-family: ${t.fontFamily}; } -`,"getStyles"),cYe=lYe,uYe={parser:xWe,db:nYe,renderer:oYe,styles:cYe};const hYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:uYe},Symbol.toStringTag,{value:"Module"}));var dYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},fYe={version:"11.14.0"},pYe=S(()=>fYe.version,"getVersion"),gYe={getVersion:pYe},mYe=S((t,e,r)=>{oe.debug(`rendering info diagram -`+t);const n=Gs(e);Gi(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),yYe={draw:mYe},vYe={parser:dYe,db:gYe,renderer:yYe};const bYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:vYe},Symbol.toStringTag,{value:"Module"}));var xYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,TYe=structuredClone(xYe),wYe=S(()=>structuredClone(TYe),"getConfig"),CYe=S(()=>{nC=new Map,mO=gO.showData,jn()},"clear"),SYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),EYe=S(()=>nC,"getSections"),kYe=S(t=>{mO=t},"setShowData"),_Ye=S(()=>mO,"getShowData"),Toe={getConfig:wYe,clear:CYe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:SYe,getSections:EYe,setShowData:kYe,getShowData:_Ye},AYe=S((t,e)=>{Xu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),LYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),AYe(e,Toe)},"parse")},RYe=S(t=>` +`,"getStyles"),dYe=hYe,fYe={parser:CWe,db:sYe,renderer:uYe,styles:dYe};const pYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:fYe},Symbol.toStringTag,{value:"Module"}));var gYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},mYe={version:"11.14.0"},yYe=S(()=>mYe.version,"getVersion"),vYe={getVersion:yYe},bYe=S((t,e,r)=>{oe.debug(`rendering info diagram +`+t);const n=Gs(e);Gi(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),xYe={draw:bYe},TYe={parser:gYe,db:vYe,renderer:xYe};const wYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:TYe},Symbol.toStringTag,{value:"Module"}));var CYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,SYe=structuredClone(CYe),EYe=S(()=>structuredClone(SYe),"getConfig"),kYe=S(()=>{nC=new Map,mO=gO.showData,jn()},"clear"),_Ye=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),AYe=S(()=>nC,"getSections"),LYe=S(t=>{mO=t},"setShowData"),RYe=S(()=>mO,"getShowData"),Toe={getConfig:EYe,clear:kYe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:_Ye,getSections:AYe,setShowData:LYe,getShowData:RYe},DYe=S((t,e)=>{Xu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),NYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),DYe(e,Toe)},"parse")},MYe=S(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1779,25 +1779,25 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),DYe=RYe,NYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return V2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),MYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart -`+t);const i=n.db,a=Pe(),s=Ji(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=NYe(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=jf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Gi(f,h,U,s.useMaxWidth)},"draw"),OYe={draw:MYe},IYe={parser:LYe,db:Toe,renderer:OYe,styles:DYe};const BYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:IYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Ae=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: +`,"getStyles"),OYe=MYe,IYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return H2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),BYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart +`+t);const i=n.db,a=Pe(),s=Ji(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=IYe(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=jf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Gi(f,h,U,s.useMaxWidth)},"draw"),PYe={draw:BYe},FYe={parser:NYe,db:Toe,renderer:PYe,styles:OYe};const $Ye=Object.freeze(Object.defineProperty({__proto__:null,diagram:FYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: `+Qe.showPosition()+` Expecting `+It.join(", ")+", got '"+(this.terminals_[gt]||gt)+"'":Wt="Parse error on line "+(ze+1)+": Unexpected "+(gt==lt?"end of input":"'"+(this.terminals_[gt]||gt)+"'"),this.parseError(Wt,{text:Qe.match,token:this.terminals_[gt]||gt,line:Qe.yylineno,loc:At,expected:It})}if(Mt[0]instanceof Array&&Mt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+gt);switch(Mt[0]){case 1:fe.push(gt),Ee.push(Qe.yytext),Ie.push(Qe.yylloc),fe.push(Mt[1]),gt=null,et=Qe.yyleng,_e=Qe.yytext,ze=Qe.yylineno,At=Qe.yylloc;break;case 2:if(nt=this.productions_[Mt[1]][1],bt.$=Ee[Ee.length-nt],bt._$={first_line:Ie[Ie.length-(nt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(nt||1)].first_column,last_column:Ie[Ie.length-1].last_column},Et&&(bt._$.range=[Ie[Ie.length-(nt||1)].range[0],Ie[Ie.length-1].range[1]]),xt=this.performAction.apply(bt,[_e,et,ze,Se.yy,Mt[1],Ee,Ie].concat(ve)),typeof xt<"u")return xt;nt&&(fe=fe.slice(0,-1*nt*2),Ee=Ee.slice(0,-1*nt),Ie=Ie.slice(0,-1*nt)),fe.push(this.productions_[Mt[1]][0]),Ee.push(bt.$),Ie.push(bt._$),st=Ue[fe[fe.length-2]][fe[fe.length-1]],fe.push(st);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var be={EOF:1,parseError:S(function(de,fe){if(this.yy.parser)this.yy.parser.parseError(de,fe);else throw new Error(de)},"parseError"),setInput:S(function(Y,de){return this.yy=de||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var de=Y.match(/(?:\r\n?|\n).*/g);return de?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:S(function(Y){var de=Y.length,fe=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-de),this.offset-=de;var we=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var Ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===we.length?this.yylloc.first_column:0)+we[we.length-fe.length].length-fe[0].length:this.yylloc.first_column-de},this.options.ranges&&(this.yylloc.range=[Ee[0],Ee[0]+this.yyleng-de]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:S(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Y=this.pastInput(),de=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+` `+de+"^"},"showPosition"),test_match:S(function(Y,de){var fe,we,Ee;if(this.options.backtrack_lexer&&(Ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ee.yylloc.range=this.yylloc.range.slice(0))),we=Y[0].match(/(?:\r\n?|\n).*/g),we&&(this.yylineno+=we.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:we?we[we.length-1].length-we[we.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Y[0].length),this.matched+=Y[0],fe=this.performAction.call(this,this.yy,this,de,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var Ie in Ee)this[Ie]=Ee[Ie];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,de,fe,we;this._more||(this.yytext="",this.match="");for(var Ee=this._currentRules(),Ie=0;Iede[0].length)){if(de=fe,we=Ie,this.options.backtrack_lexer){if(Y=this.test_match(fe,Ee[Ie]),Y!==!1)return Y;if(this._backtrack){de=!1;continue}else return!1}else if(!this.options.flex)break}return de?(Y=this.test_match(de,Ee[we]),Y!==!1?Y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var PYe=_9,es=Hb(),D1,FYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:es.quadrant1Fill,quadrant2Fill:es.quadrant2Fill,quadrant3Fill:es.quadrant3Fill,quadrant4Fill:es.quadrant4Fill,quadrant1TextFill:es.quadrant1TextFill,quadrant2TextFill:es.quadrant2TextFill,quadrant3TextFill:es.quadrant3TextFill,quadrant4TextFill:es.quadrant4TextFill,quadrantPointFill:es.quadrantPointFill,quadrantPointTextFill:es.quadrantPointTextFill,quadrantXAxisTextFill:es.quadrantXAxisTextFill,quadrantYAxisTextFill:es.quadrantYAxisTextFill,quadrantTitleFill:es.quadrantTitleFill,quadrantInternalBorderStrokeFill:es.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:es.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,jT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var $Ye=Pe();function wc(t){return Jr(t.trim(),$Ye)}S(wc,"textSanitizer");var ka=new FYe;function Soe(t){ka.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){ka.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){ka.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){ka.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){ka.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){ka.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){ka.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){ka.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new jT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new jT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new jT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new jT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);ka.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){ka.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){ka.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){ka.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&ka.setConfig(r),ka.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),ka.setData({titleText:Kn()}),ka.build()}S(Boe,"getQuadrantData");var zYe=S(function(){ka.clear(),jn()},"clear"),qYe={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:zYe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},VYe=S((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}S(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart -`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Gi(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),GYe={draw:VYe},UYe={parser:PYe,db:qYe,renderer:GYe,styles:S(()=>"","styles")};const HYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:UYe},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Ae,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Ae=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Ae=H[He]&&H[He][$e]),typeof Ae>"u"||!Ae.length||!Ae[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var zYe=_9,ts=Hb(),D1,qYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ts.quadrant1Fill,quadrant2Fill:ts.quadrant2Fill,quadrant3Fill:ts.quadrant3Fill,quadrant4Fill:ts.quadrant4Fill,quadrant1TextFill:ts.quadrant1TextFill,quadrant2TextFill:ts.quadrant2TextFill,quadrant3TextFill:ts.quadrant3TextFill,quadrant4TextFill:ts.quadrant4TextFill,quadrantPointFill:ts.quadrantPointFill,quadrantPointTextFill:ts.quadrantPointTextFill,quadrantXAxisTextFill:ts.quadrantXAxisTextFill,quadrantYAxisTextFill:ts.quadrantYAxisTextFill,quadrantTitleFill:ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,jT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var VYe=Pe();function wc(t){return Jr(t.trim(),VYe)}S(wc,"textSanitizer");var _a=new qYe;function Soe(t){_a.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){_a.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){_a.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){_a.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){_a.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){_a.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){_a.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){_a.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new jT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new jT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new jT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new jT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);_a.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){_a.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){_a.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){_a.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&_a.setConfig(r),_a.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),_a.setData({titleText:Kn()}),_a.build()}S(Boe,"getQuadrantData");var GYe=S(function(){_a.clear(),jn()},"clear"),UYe={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:GYe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},HYe=S((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}S(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart +`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Gi(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),WYe={draw:HYe},YYe={parser:zYe,db:UYe,renderer:WYe,styles:S(()=>"","styles")};const XYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:YYe},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Le,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Le=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Le=H[He]&&H[He][$e]),typeof Le>"u"||!Le.length||!Le[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: `+te.showPosition()+` -Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Ae[0]instanceof Array&&Ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Ae[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Ae[1]),$e=null,j=te.yyleng,X=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Ae[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[X,j,Z,ae.yy,Ae[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Ae[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Le[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Le[1]),$e=null,j=te.yyleng,X=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Le[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[X,j,Z,ae.yy,Le[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Le[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(N){this.unput(this.match.slice(N))},"less"),pastInput:S(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var N=this.pastInput(),B=new Array(N.length+1).join("-");return N+this.upcomingInput()+` `+B+"^"},"showPosition"),test_match:S(function(N,B){var M,V,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),V=N[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],M=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var P in U)this[P]=U[P];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,B,M,V;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),P=0;PB[0].length)){if(B=M,V=P,this.options.backtrack_lexer){if(N=this.test_match(M,U[P]),N!==!1)return N;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(N=this.test_match(B,U[V]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var WYe=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,YYe=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,XYe=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new YYe(e,r,t.categories,t.title,i):new XYe(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,jYe=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new jYe(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,KYe=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,ZYe=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,QYe=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new KYe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new ZYe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new QYe(t,e,r)}S(zoe,"getPlotComponent");var q1,JYe=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,eXe=(V1=class{static build(e,r,n,i){return new JYe(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return Ji(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return Ji(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function Xoe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(Xoe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||Xoe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function joe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(joe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Kn(),eXe.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var tXe=S(function(){jn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),rXe={getDrawableElem:Zoe,clear:tXe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:joe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},nXe=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart -`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Gi(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};S(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=S($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),iXe={draw:nXe},aXe={parser:WYe,db:rXe,renderer:iXe};const sXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Ae=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Ae,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Ae,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Ae,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Ae,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var jYe=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,KYe=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,ZYe=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new KYe(e,r,t.categories,t.title,i):new ZYe(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,QYe=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new QYe(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,JYe=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,eXe=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,tXe=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new JYe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new eXe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new tXe(t,e,r)}S(zoe,"getPlotComponent");var q1,rXe=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,nXe=(V1=class{static build(e,r,n,i){return new rXe(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return Ji(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return Ji(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function Xoe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(Xoe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||Xoe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function joe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(joe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Kn(),nXe.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var iXe=S(function(){jn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),aXe={getDrawableElem:Zoe,clear:iXe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:joe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},sXe=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart +`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Gi(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};S(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=S($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),oXe={draw:sXe},lXe={parser:jYe,db:aXe,renderer:oXe};const cXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:lXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: `+qe.showPosition()+` Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},Xe=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ze){this.unput(this.match.slice(Ze))},"less"),pastInput:S(function(){var Ze=this.matched.substr(0,this.matched.length-this.match.length);return(Ze.length>20?"...":"")+Ze.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ze=this.match;return Ze.length<20&&(Ze+=this._input.substr(0,20-Ze.length)),(Ze.substr(0,20)+(Ze.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ze=this.pastInput(),se=new Array(Ze.length+1).join("-");return Ze+this.upcomingInput()+` `+se+"^"},"showPosition"),test_match:S(function(Ze,se){var be,Y,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),Y=Ze[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ze[0].length},this.yytext+=Ze[0],this.match+=Ze[0],this.matches=Ze,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ze[0].length),this.matched+=Ze[0],be=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),be)return be;if(this._backtrack){for(var fe in de)this[fe]=de[fe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ze,se,be,Y;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),fe=0;fese[0].length)){if(se=be,Y=fe,this.options.backtrack_lexer){if(Ze=this.test_match(be,de[fe]),Ze!==!1)return Ze;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(Ze=this.test_match(se,de[Y]),Ze!==!1?Ze:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var se=this.next();return se||this.lex()},"lex"),begin:S(function(se){this.conditionStack.push(se)},"begin"),popState:S(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var oXe=M9,G1,lXe=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,jn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),cXe=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var uXe=M9,G1,hXe=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,jn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),dXe=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` - ${cXe(t)} + `;return s},"genColor"),fXe=S(t=>{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` + ${dXe(t)} marker { fill: ${t.relationColor}; stroke: ${t.relationColor}; @@ -1875,16 +1875,16 @@ Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse erro background-color: ${i??t.edgeLabelBackground}; } -`},"getStyles"),hXe=uXe,tle={};fC(tle,{draw:()=>dXe});var dXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),fXe={parser:oXe,get db(){return new lXe},renderer:tle,styles:hXe};const pXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:fXe},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Ae=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: +`},"getStyles"),pXe=fXe,tle={};fC(tle,{draw:()=>gXe});var gXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),mXe={parser:uXe,get db(){return new hXe},renderer:tle,styles:pXe};const yXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:mXe},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Le=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: `+gt.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse error on line "+(Nt+1)+": Unexpected "+(st==zt?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(Rt,{text:gt.match,token:this.terminals_[st]||st,line:gt.yylineno,loc:xt,expected:ft})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+It+", token: "+st);switch(Wt[0]){case 1:et.push(st),lt.push(gt.yytext),ve.push(gt.yylloc),et.push(Wt[1]),st=null,At=gt.yyleng,Se=gt.yytext,Nt=gt.yylineno,xt=gt.yylloc;break;case 2:if(vt=this.productions_[Wt[1]][1],rr.$=lt[lt.length-vt],rr._$={first_line:ve[ve.length-(vt||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(vt||1)].first_column,last_column:ve[ve.length-1].last_column},bt&&(rr._$.range=[ve[ve.length-(vt||1)].range[0],ve[ve.length-1].range[1]]),Ut=this.performAction.apply(rr,[Se,At,Nt,ue.yy,Wt[1],lt,ve].concat(St)),typeof Ut<"u")return Ut;vt&&(et=et.slice(0,-1*vt*2),lt=lt.slice(0,-1*vt),ve=ve.slice(0,-1*vt)),et.push(this.productions_[Wt[1]][0]),lt.push(rr.$),ve.push(rr._$),Ne=Qe[et[et.length-2]][et[et.length-1]],et.push(Ne);break;case 3:return!0}}return!0},"parse")},Ee=(function(){var Ue={EOF:1,parseError:S(function(ze,et){if(this.yy.parser)this.yy.parser.parseError(ze,et);else throw new Error(ze)},"parseError"),setInput:S(function(_e,ze){return this.yy=ze||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var ze=_e.match(/(?:\r\n?|\n).*/g);return ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:S(function(_e){var ze=_e.length,et=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ze),this.offset-=ze;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),et.length-1&&(this.yylineno-=et.length-1);var lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:et?(et.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-et.length].length-et[0].length:this.yylloc.first_column-ze},this.options.ranges&&(this.yylloc.range=[lt[0],lt[0]+this.yyleng-ze]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:S(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _e=this.pastInput(),ze=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` `+ze+"^"},"showPosition"),test_match:S(function(_e,ze){var et,qe,lt;if(this.options.backtrack_lexer&&(lt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(lt.yylloc.range=this.yylloc.range.slice(0))),qe=_e[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],et=this.performAction.call(this,this.yy,this,ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),et)return et;if(this._backtrack){for(var ve in lt)this[ve]=lt[ve];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,ze,et,qe;this._more||(this.yytext="",this.match="");for(var lt=this._currentRules(),ve=0;veze[0].length)){if(ze=et,qe=ve,this.options.backtrack_lexer){if(_e=this.test_match(et,lt[ve]),_e!==!1)return _e;if(this._backtrack){ze=!1;continue}else return!1}else if(!this.options.flex)break}return ze?(_e=this.test_match(ze,lt[qe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var gXe=O9,mXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},yXe={FILLED:0,OPEN:1},vXe={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,bXe=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=mXe,this.ARROWTYPE=yXe,this.PLACEMENT=vXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var vXe=O9,bXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},xXe={FILLED:0,OPEN:1},TXe={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,wXe=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=bXe,this.ARROWTYPE=xXe,this.PLACEMENT=TXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` `)?u=a+` `:u=`{ `+a+` -}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),jn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Xn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),xXe=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { +}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),jn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Xn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),CXe=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; stroke-width: ${t.strokeWidth??1}; @@ -2018,25 +2018,25 @@ Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse erro filter: ${e}; stroke: ${t.nodeBorder}; } -`},"getStyles"),TXe=xXe,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),wXe=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),HXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),CXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),SXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Li(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),EXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} +`},"getStyles"),SXe=CXe,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),EXe=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),XXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),kXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),_Xe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Li(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),AXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} a ${C},${x} 0 0 0 0,${v.height} h ${v.width-2*C} a ${C},${x} 0 0 0 0,-${v.height} Z `;T.append("path").attr("d",_),E.append("path").attr("d",`M ${v.x},${v.y+x} - a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),kXe=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Li(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),_Xe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Li(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),AXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),R=v.append("g");R.attr("class",x);const k=` + a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),LXe=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Li(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),RXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Li(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),DXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),R=v.append("g");R.attr("class",x);const k=` M ${b.x},${b.y+_} a ${E},${_} 0 0 0 ${C},0 a ${E},${_} 0 0 0 -${C},0 l 0,${T-2*_} a ${E},${_} 0 0 0 ${C},0 l 0,-${T-2*_} -`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;eh.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Li(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),LXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Li(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),RXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),th(r,Li(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),DXe=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await RXe(t,e,r,n,o);case"participant":return await CXe(t,e,r,n,o);case"boundary":return await LXe(t,e,r,n,o);case"control":return await kXe(t,e,r,n,i,o);case"entity":return await _Xe(t,e,r,n,o);case"database":return await AXe(t,e,r,n,o);case"collections":return await SXe(t,e,r,n,o);case"queue":return await EXe(t,e,r,n,o)}},"drawActor"),NXe=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),MXe=S(function(t){return t.append("g")},"anchorElement"),OXe=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),IXe=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Li(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Li(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),BXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),PXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),FXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),$Xe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),zXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),qXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),VXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),GXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),UXe=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:On.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},KXe=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=On.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Li(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),XW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),C=S(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Li(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var ZXe=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Li(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=ije(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&XW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&XW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let R=s,k=o;C?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),QXe=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await On.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await On.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=eje(o),u=On.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){ki(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),jW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));QXe(h,d,f,v,0,b,!1);const R=await sje(b,d,E,n);On.insertArrowHead(h,e),On.insertArrowCrossHead(h,e),On.insertArrowFilledHead(h,e),On.insertSequenceNumber(h,e),On.insertSolidTopArrowHead(h,e),On.insertSolidBottomArrowHead(h,e),On.insertStickTopArrowHead(h,e),On.insertStickBottomArrowHead(h,e),s==="neo"&&On.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),On.drawActivation(h,X,H,Je,tE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}S(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await KXe(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await On.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await On.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await On.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await On.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await sle(h,Z);cle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await ZXe(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>On.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",On.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var tje=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Li(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),sje=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await tje(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=aje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),oje={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:JXe},lje={parser:gXe,get db(){return new bXe},renderer:oje,styles:TXe,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const cje=Object.freeze(Object.defineProperty({__proto__:null,diagram:lje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Ae=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Ae,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Ae,[2,65]),t(Ae,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Ae,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:S(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: +`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;eh.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Li(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),NXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Li(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),MXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),th(r,Li(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),OXe=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await MXe(t,e,r,n,o);case"participant":return await kXe(t,e,r,n,o);case"boundary":return await NXe(t,e,r,n,o);case"control":return await LXe(t,e,r,n,i,o);case"entity":return await RXe(t,e,r,n,o);case"database":return await DXe(t,e,r,n,o);case"collections":return await _Xe(t,e,r,n,o);case"queue":return await AXe(t,e,r,n,o)}},"drawActor"),IXe=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),BXe=S(function(t){return t.append("g")},"anchorElement"),PXe=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),FXe=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Li(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Li(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),$Xe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),zXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),qXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),VXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),GXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),UXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),HXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),WXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),YXe=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:On.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},JXe=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=On.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Li(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),XW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),C=S(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Li(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var eje=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Li(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=oje(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&XW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&XW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let R=s,k=o;C?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),tje=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await On.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await On.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=nje(o),u=On.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){ki(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),jW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));tje(h,d,f,v,0,b,!1);const R=await cje(b,d,E,n);On.insertArrowHead(h,e),On.insertArrowCrossHead(h,e),On.insertArrowFilledHead(h,e),On.insertSequenceNumber(h,e),On.insertSolidTopArrowHead(h,e),On.insertSolidBottomArrowHead(h,e),On.insertStickTopArrowHead(h,e),On.insertStickBottomArrowHead(h,e),s==="neo"&&On.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),On.drawActivation(h,X,H,Je,tE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}S(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await JXe(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await On.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await On.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await On.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await On.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await sle(h,Z);cle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await eje(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>On.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",On.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var ije=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Li(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),cje=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await ije(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=lje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),uje={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:rje},hje={parser:vXe,get db(){return new wXe},renderer:uje,styles:SXe,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const dje=Object.freeze(Object.defineProperty({__proto__:null,diagram:hje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Le=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Le,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Le,[2,65]),t(Le,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Le,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:S(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: `+Ue.showPosition()+` Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},De=(function(){var it={EOF:1,parseError:S(function(Xe,at){if(this.yy.parser)this.yy.parser.parseError(Xe,at);else throw new Error(Xe)},"parseError"),setInput:S(function(Ye,Xe){return this.yy=Xe||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var Xe=Ye.match(/(?:\r\n?|\n).*/g);return Xe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:S(function(Ye){var Xe=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xe),this.offset-=Xe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-Xe},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-Xe]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:S(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ye=this.pastInput(),Xe=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` `+Xe+"^"},"showPosition"),test_match:S(function(Ye,Xe){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,Xe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,Xe,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seXe[0].length)){if(Xe=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){Xe=!1;continue}else return!1}else if(!this.options.flex)break}return Xe?(Ye=this.test_match(Xe,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:S(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:S(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:S(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=Xie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",jn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),uje=S(t=>`g.classGroup text { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:S(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:S(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:S(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=Xie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",jn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),fje=S(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -2236,12 +2236,12 @@ g.classGroup line { text-align: center; } ${bx()} -`,"getStyles"),gle=uje,hje=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),dje=S(function(t,e){return e.db.getClasses()},"getClasses"),fje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:dje,draw:fje,getDir:hje},pje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const gje=Object.freeze(Object.defineProperty({__proto__:null,diagram:pje},Symbol.toStringTag,{value:"Module"}));var mje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const yje=Object.freeze(Object.defineProperty({__proto__:null,diagram:mje},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}S(Ae,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: +`,"getStyles"),gle=fje,pje=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),gje=S(function(t,e){return e.db.getClasses()},"getClasses"),mje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:gje,draw:mje,getDir:pje},yje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const vje=Object.freeze(Object.defineProperty({__proto__:null,diagram:yje},Symbol.toStringTag,{value:"Module"}));var bje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const xje=Object.freeze(Object.defineProperty({__proto__:null,diagram:bje},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}S(Le,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: `+me.showPosition()+` Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),j.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},He&&(Ge._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),De=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,j].concat(ne)),typeof De<"u")return De;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),j.push(Ge._$),Xe=ee[H[H.length-2]][H[H.length-1]],H.push(Xe);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:S(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:S(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:S(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===X.length?this.yylloc.first_column:0)+X[X.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(U){this.unput(this.match.slice(U))},"less"),pastInput:S(function(){var U=this.matched.substr(0,this.matched.length-this.match.length);return(U.length>20?"...":"")+U.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var U=this.match;return U.length<20&&(U+=this._input.substr(0,20-U.length)),(U.substr(0,20)+(U.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var U=this.pastInput(),P=new Array(U.length+1).join("-");return U+this.upcomingInput()+` `+P+"^"},"showPosition"),test_match:S(function(U,P){var H,X,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),X=U[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var j in Z)this[j]=Z[j];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,X;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),j=0;jP[0].length)){if(P=H,X=j,this.options.backtrack_lexer){if(U=this.test_match(H,Z[j]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[X]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,vje="TB",vle="TB",JW="dir",mg="state",Xp="root",$9="relation",bje="classDef",xje="style",Tje="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",wje="stateStart",Cje="stateEnd",eY="divider",tY="roundedWithTitle",Sje="note",Eje="noteGroup",Nx="statediagram",kje="state",_je=`${Nx}-${kje}`,Ele="transition",Aje="note",Lje="note-edge",Rje=`${Ele} ${Lje}`,Dje=`${Nx}-${Aje}`,Nje="cluster",Mje=`${Nx}-${Nje}`,Oje="cluster-alt",Ije=`${Nx}-${Oje}`,kle="parent",_le="note",Bje="state",EO="----",Pje=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Fje=S(function(t,e){return e.db.getClasses()},"getClasses"),$je=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in
    tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),zje={getClasses:Fje,draw:$je,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${Bje}-${t}${i}-${e}`}S(a5,"stateDomId");var qje=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=wje:e.start===!1&&(p=Cje),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${_je}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${Mje} ${a?Ije:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:Sje,label:e.note.text,labelType:"markdown",cssClasses:Dje,cssStyles:[],cssCompiledStyles:[],id:l+Pje+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:Eje,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:Rje,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),qje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),Vje=S(()=>{i5.clear(),Ph=0},"reset"),ts={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=li,this.setAccTitle=Xn,this.getAccDescription=ui,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case bje:this.addStyleClass(i.id.trim(),i.classes);break;case xje:this.handleStyleDef(i);break;case Tje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();Vje(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===ts.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Xp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Xp,stmt:Xp},{id:Xp,stmt:Xp,doc:this.rootDoc},!0),{id:Xp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,jn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===ts.START_NODE?(this.startEndCount++,`${ts.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===ts.START_NODE?ts.START_TYPE:r}endIdIfNeeded(e=""){return e===ts.END_NODE?(this.startEndCount++,`${ts.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===ts.END_NODE?ts.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(ts.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(ts.COLOR_KEYWORD).exec(i)){const o=a.replace(ts.FILL_KEYWORD,ts.BG_FILL).replace(ts.COLOR_KEYWORD,ts.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??vje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),Gje=S(t=>` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,Tje="TB",vle="TB",JW="dir",mg="state",Xp="root",$9="relation",wje="classDef",Cje="style",Sje="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",Eje="stateStart",kje="stateEnd",eY="divider",tY="roundedWithTitle",_je="note",Aje="noteGroup",Nx="statediagram",Lje="state",Rje=`${Nx}-${Lje}`,Ele="transition",Dje="note",Nje="note-edge",Mje=`${Ele} ${Nje}`,Oje=`${Nx}-${Dje}`,Ije="cluster",Bje=`${Nx}-${Ije}`,Pje="cluster-alt",Fje=`${Nx}-${Pje}`,kle="parent",_le="note",$je="state",EO="----",zje=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),qje=S(function(t,e){return e.db.getClasses()},"getClasses"),Vje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),Gje={getClasses:qje,draw:Vje,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${$je}-${t}${i}-${e}`}S(a5,"stateDomId");var Uje=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=Eje:e.start===!1&&(p=kje),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${Rje}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${Bje} ${a?Fje:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:_je,label:e.note.text,labelType:"markdown",cssClasses:Oje,cssStyles:[],cssCompiledStyles:[],id:l+zje+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:Aje,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:Mje,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),Uje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),Hje=S(()=>{i5.clear(),Ph=0},"reset"),rs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=li,this.setAccTitle=Xn,this.getAccDescription=ui,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case wje:this.addStyleClass(i.id.trim(),i.classes);break;case Cje:this.handleStyleDef(i);break;case Sje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();Hje(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===rs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Xp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Xp,stmt:Xp},{id:Xp,stmt:Xp,doc:this.rootDoc},!0),{id:Xp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,jn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===rs.START_NODE?(this.startEndCount++,`${rs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===rs.START_NODE?rs.START_TYPE:r}endIdIfNeeded(e=""){return e===rs.END_NODE?(this.startEndCount++,`${rs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===rs.END_NODE?rs.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(rs.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(rs.COLOR_KEYWORD).exec(i)){const o=a.replace(rs.FILL_KEYWORD,rs.BG_FILL).replace(rs.COLOR_KEYWORD,rs.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??Tje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),Wje=S(t=>` defs [id$="-barbEnd"] { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -2466,12 +2466,12 @@ g.stateGroup line { ry: ${t.radius}px; filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} } -`,"getStyles"),Dle=Gje,Uje=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),Hje=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Wje=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),Yje=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),Xje=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),jje=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),Kje=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),Zje=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),Qje=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=Zje(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&Uje(i),e.type==="end"&&jje(i),(e.type==="fork"||e.type==="join")&&Kje(i,e),e.type==="note"&&Qje(e.note.text,i),e.type==="divider"&&Hje(i),e.type==="default"&&e.descriptions.length===0&&Wje(i,e),e.type==="default"&&e.descriptions.length>0&&Yje(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,Jje=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(X2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},eKe=S(function(){},"setConf"),tKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),rKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);tKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Gi(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),nKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),Jje(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),iKe={setConf:eKe,draw:rKe},aKe={parser:yle,get db(){return new $f(1)},renderer:iKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const sKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aKe},Symbol.toStringTag,{value:"Module"}));var oKe={parser:yle,get db(){return new $f(2)},renderer:zje,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const lKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:oKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in C[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: +`,"getStyles"),Dle=Wje,Yje=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),Xje=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),jje=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),Kje=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),Zje=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),Qje=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),Jje=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),eKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),tKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=eKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&Yje(i),e.type==="end"&&Qje(i),(e.type==="fork"||e.type==="join")&&Jje(i,e),e.type==="note"&&tKe(e.note.text,i),e.type==="divider"&&Xje(i),e.type==="default"&&e.descriptions.length===0&&jje(i,e),e.type==="default"&&e.descriptions.length>0&&Kje(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,rKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(X2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},nKe=S(function(){},"setConf"),iKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),aKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);iKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Gi(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),sKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),rKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),oKe={setConf:nKe,draw:aKe},lKe={parser:yle,get db(){return new $f(1)},renderer:oKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const cKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:lKe},Symbol.toStringTag,{value:"Module"}));var uKe={parser:yle,get db(){return new $f(2)},renderer:Gje,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const hKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:uKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in C[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: `+O.showPosition()+` Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(j,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(L)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),X=C[m[m.length-2]][m[m.length-1]],m.push(X);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(f){this.unput(this.match.slice(f))},"less"),pastInput:S(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+` `+p+"^"},"showPosition"),test_match:S(function(f,p){var m,v,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),v=f[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(f[0].length),this.matched+=f[0],m=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var x in b)this[x]=b[x];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var f,p,m,v;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),x=0;xp[0].length)){if(p=m,v=x,this.options.backtrack_lexer){if(f=this.test_match(m,b[x]),f!==!1)return f;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(f=this.test_match(p,b[v]),f!==!1?f:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var cKe=z9,Nm="",kO=[],zb=[],qb=[],uKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,jn()},"clear"),hKe=S(function(t){Nm=t,kO.push(t)},"addSection"),dKe=S(function(){return kO},"getSections"),fKe=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),gKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),mKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),yKe=S(function(){return pKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:uKe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:hKe,getSections:dKe,getTasks:fKe,addTask:gKe,addTaskOrg:mKe,getActors:yKe},vKe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var dKe=z9,Nm="",kO=[],zb=[],qb=[],fKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,jn()},"clear"),pKe=S(function(t){Nm=t,kO.push(t)},"addSection"),gKe=S(function(){return kO},"getSections"),mKe=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),vKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),bKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),xKe=S(function(){return yKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:fKe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:pKe,getSections:gKe,getTasks:mKe,addTask:vKe,addTaskOrg:bKe,getActors:xKe},TKe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.textColor}; } @@ -2604,12 +2604,12 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on ${t.actor5?`fill: ${t.actor5}`:""}; } ${bx()} -`,"getStyles"),bKe=vKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),xKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return BBe(t,e)},"drawText"),TKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),wKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,CKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),xKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),SKe=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,_Ke=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),AKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Gi(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,AKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:kKe,draw:_Ke},LKe={parser:cKe,db:cY,renderer:hY,styles:bKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const RKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:LKe},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: +`,"getStyles"),wKe=TKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),CKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return $Be(t,e)},"drawText"),SKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),EKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,kKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),CKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),_Ke=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,RKe=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),DKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Gi(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,DKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:LKe,draw:RKe},NKe={parser:dKe,db:cY,renderer:hY,styles:wKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const MKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NKe},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: `+F.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:j})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,R=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(X=this.productions_[V[1]][1],P.$=x[x.length-X],P._$={first_line:C[C.length-(X||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(X||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(X||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,R,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;X&&(v=v.slice(0,-1*X*2),x=x.slice(0,-1*X),C=C.slice(0,-1*X)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(p){this.unput(this.match.slice(p))},"less"),pastInput:S(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:S(function(p,m){var v,b,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),b=p[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var C in x)this[C]=x[C];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,v,b;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),C=0;Cm[0].length)){if(m=v,b=C,this.options.backtrack_lexer){if(p=this.test_match(v,x[C]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,x[b]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var m=this.next();return m||this.lex()},"lex"),begin:S(function(m){this.conditionStack.push(m)},"begin"),popState:S(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var DKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>Xle,clear:()=>zle,default:()=>NKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",jn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),Xle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),NKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:Xle,addEvent:Yle},jle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),MKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),OKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),IKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),BKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,PKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),MKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),FKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),$Ke=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var qKe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),GKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),VKe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),GKe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+jle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:OKe,drawSection:BKe,drawText:Kle,drawLabel:IKe,drawTask:PKe,drawBackgroundRect:FKe,getTextObj:$Ke,getNoteRect:RO,initGraphics:zKe,drawNode:qKe,getVirtualNodeHeight:VKe},UKe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&fY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,fY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+HKe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),HKe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),WKe={setConf:S(()=>{},"setConf"),draw:UKe},nE=200,hu=5,YKe=nE+hu*2,NO=nE+100,XKe=NO+hu*2,Qle=10,jKe=0,pY=20,Jle=20,gY=30,ece=50,KKe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=YKe+Jle,x=XKe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,R=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+jKe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=X,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;ZKe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),ZKe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),QKe={setConf:S(()=>{},"setConf"),draw:KKe},JKe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var OKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>Xle,clear:()=>zle,default:()=>IKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",jn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),Xle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),IKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:Xle,addEvent:Yle},jle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),BKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),PKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),FKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),$Ke=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,zKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),BKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),qKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),VKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var UKe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),WKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),HKe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),WKe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+jle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:PKe,drawSection:$Ke,drawText:Kle,drawLabel:FKe,drawTask:zKe,drawBackgroundRect:qKe,getTextObj:VKe,getNoteRect:RO,initGraphics:GKe,drawNode:UKe,getVirtualNodeHeight:HKe},YKe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&fY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,fY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+XKe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),XKe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),jKe={setConf:S(()=>{},"setConf"),draw:YKe},nE=200,hu=5,KKe=nE+hu*2,NO=nE+100,ZKe=NO+hu*2,Qle=10,QKe=0,pY=20,Jle=20,gY=30,ece=50,JKe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=KKe+Jle,x=ZKe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,R=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+QKe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=X,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;eZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),eZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),tZe={setConf:S(()=>{},"setConf"),draw:JKe},rZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o{let e="";for(let r=0;r{let e="";for(let r=0;r{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?QKe.draw(t,e,r,n):WKe.draw(t,e,r,n),"draw")},iZe={db:Ple,renderer:nZe,parser:DKe,styles:rZe};const aZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:iZe},Symbol.toStringTag,{value:"Module"})),wa=[];for(let t=0;t<256;++t)wa.push((t+256).toString(16).slice(1));function sZe(t,e=0){return(wa[t[e+0]]+wa[t[e+1]]+wa[t[e+2]]+wa[t[e+3]]+"-"+wa[t[e+4]]+wa[t[e+5]]+"-"+wa[t[e+6]]+wa[t[e+7]]+"-"+wa[t[e+8]]+wa[t[e+9]]+"-"+wa[t[e+10]]+wa[t[e+11]]+wa[t[e+12]]+wa[t[e+13]]+wa[t[e+14]]+wa[t[e+15]]).toLowerCase()}let OA;const oZe=new Uint8Array(16);function lZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(oZe)}const cZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:cZe};function uZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??lZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,sZe(n)}var U9=(function(){var t=S(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:S(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}S(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: +`},"getStyles"),aZe=iZe,sZe={setConf:S(()=>{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?tZe.draw(t,e,r,n):jKe.draw(t,e,r,n),"draw")},oZe={db:Ple,renderer:sZe,parser:OKe,styles:aZe};const lZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:oZe},Symbol.toStringTag,{value:"Module"})),wa=[];for(let t=0;t<256;++t)wa.push((t+256).toString(16).slice(1));function cZe(t,e=0){return(wa[t[e+0]]+wa[t[e+1]]+wa[t[e+2]]+wa[t[e+3]]+"-"+wa[t[e+4]]+wa[t[e+5]]+"-"+wa[t[e+6]]+wa[t[e+7]]+"-"+wa[t[e+8]]+wa[t[e+9]]+"-"+wa[t[e+10]]+wa[t[e+11]]+wa[t[e+12]]+wa[t[e+13]]+wa[t[e+14]]+wa[t[e+15]]).toLowerCase()}let OA;const uZe=new Uint8Array(16);function hZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(uZe)}const dZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:dZe};function fZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??hZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,cZe(n)}var U9=(function(){var t=S(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:S(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}S(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: `+M.showPosition()+` Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error on line "+(z+1)+": Unexpected "+(j==N?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(pe,{text:M.match,token:this.terminals_[j]||j,line:M.yylineno,loc:P,expected:me})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+j);switch(Q[0]){case 1:k.push(j),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),j=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:S(function(R,k){if(this.yy.parser)this.yy.parser.parseError(R,k);else throw new Error(R)},"parseError"),setInput:S(function(_,R){return this.yy=R||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var R=_.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:S(function(_){var R=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===L.length?this.yylloc.first_column:0)+L[L.length-k.length].length-k[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_){this.unput(this.match.slice(_))},"less"),pastInput:S(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _=this.pastInput(),R=new Array(_.length+1).join("-");return _+this.upcomingInput()+` `+R+"^"},"showPosition"),test_match:S(function(_,R){var k,L,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),L=_[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,R,k,L;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FR[0].length)){if(R=k,L=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(_=this.test_match(R,O[L]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var R=this.next();return R||this.lex()},"lex"),begin:S(function(R){this.conditionStack.push(R)},"begin"),popState:S(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:S(function(R){this.begin(R)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var hZe=U9,dZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,fZe=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(dZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=tpe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+uZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),pZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram -`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),gZe={draw:pZe},mZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:S(function(R){this.begin(R)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var pZe=U9,gZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,mZe=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(gZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=ipe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+fZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),yZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram +`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),vZe={draw:yZe},bZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i{let n="";for(let i=0;i{let n="";for(let i=0;i{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` + }`;return n},"genGradient"),TZe=S(t=>{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` .edge { stroke-width: 3; } - ${mZe(t)} + ${bZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2817,18 +2817,18 @@ Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error [data-look="neo"].mindmap-node.section-root .text-inner-tspan { fill: ${e?.includes("redux")?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:0)]}; } - ${t.useGradient&&r&&t.mainBkg?yZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} -`},"getStyles"),bZe=vZe,xZe={get db(){return new fZe},renderer:gZe,parser:hZe,styles:bZe};const TZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:xZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:S(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Ae){F.length=F.length-2*Ae,q.length=q.length-Ae,z.length=z.length-Ae}S(ee,"popStack");function Q(){var Ae;return Ae=$.pop()||P.lex()||V,typeof Ae!="number"&&(Ae instanceof Array&&($=Ae,Ae=$.pop()),Ae=O.symbols_[Ae]||Ae),Ae}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: + ${t.useGradient&&r&&t.mainBkg?xZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} +`},"getStyles"),wZe=TZe,CZe={get db(){return new mZe},renderer:vZe,parser:pZe,styles:wZe};const SZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:CZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:S(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Le){F.length=F.length-2*Le,q.length=q.length-Le,z.length=z.length-Le}S(ee,"popStack");function Q(){var Le;return Le=$.pop()||P.lex()||V,typeof Le!="number"&&(Le instanceof Array&&($=Le,Le=$.pop()),Le=O.symbols_[Le]||Le),Le}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: `+P.showPosition()+` Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},j&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:S(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:S(function(L,O){return this.yy=O||this.yy||{},this._input=L,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var L=this._input[0];this.yytext+=L,this.yyleng++,this.offset++,this.match+=L,this.matched+=L;var O=L.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),L},"input"),unput:S(function(L){var O=L.length,F=L.split(/(?:\r\n?|\n)/g);this._input=L+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(L){this.unput(this.match.slice(L))},"less"),pastInput:S(function(){var L=this.matched.substr(0,this.matched.length-this.match.length);return(L.length>20?"...":"")+L.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var L=this.match;return L.length<20&&(L+=this._input.substr(0,20-L.length)),(L.substr(0,20)+(L.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var L=this.pastInput(),O=new Array(L.length+1).join("-");return L+this.upcomingInput()+` `+O+"^"},"showPosition"),test_match:S(function(L,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=L[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+L[0].length},this.yytext+=L[0],this.match+=L[0],this.matches=L,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(L[0].length),this.matched+=L[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var L,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(L=this.test_match(F,q[z]),L!==!1)return L;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(L=this.test_match(O,q[$]),L!==!1?L:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return S(R,"Parser"),R.prototype=E,E.Parser=R,new R})();H9.parser=H9;var wZe=H9,Bo=[],MO=[],W9=0,OO={},CZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),SZe=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),kZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Ki.ROUNDED_RECT:case Ki.RECT:case Ki.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return S(R,"Parser"),R.prototype=E,E.Parser=R,new R})();H9.parser=H9;var EZe=H9,Bo=[],MO=[],W9=0,OO={},kZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),_Ze=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),LZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Ki.ROUNDED_RECT:case Ki.RECT:case Ki.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` `)?u=i+` `:u=`{ `+i+` -}`;const h=LC(u,{schema:AC});if(h.shape&&(h.shape!==h.shape.toLowerCase()||h.shape.includes("_")))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);h?.shape&&h.shape==="kanbanItem"&&(o.shape=h?.shape),h?.label&&(o.label=h?.label),h?.icon&&(o.icon=h?.icon.toString()),h?.assigned&&(o.assigned=h?.assigned.toString()),h?.ticket&&(o.ticket=h?.ticket.toString()),h?.priority&&(o.priority=h?.priority)}const l=SZe(t);l?o.parentId=l.id||"kbn"+W9++:MO.push(o),Bo.push(o)},"addNode"),Ki={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},_Ze=S((t,e)=>{switch(oe.debug("In get type",t,e),t){case"[":return Ki.RECT;case"(":return e===")"?Ki.ROUNDED_RECT:Ki.CLOUD;case"((":return Ki.CIRCLE;case")":return Ki.CLOUD;case"))":return Ki.BANG;case"{{":return Ki.HEXAGON;default:return Ki.DEFAULT}},"getType"),AZe=S((t,e)=>{OO[t]=e},"setElementForId"),LZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),RZe=S(t=>{switch(t){case Ki.DEFAULT:return"no-border";case Ki.RECT:return"rect";case Ki.ROUNDED_RECT:return"rounded-rect";case Ki.CIRCLE:return"circle";case Ki.CLOUD:return"cloud";case Ki.BANG:return"bang";case Ki.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),DZe=S(()=>oe,"getLogger"),NZe=S(t=>OO[t],"getElementById"),MZe={clear:CZe,addNode:kZe,getSections:tce,getData:EZe,nodeType:Ki,getType:_Ze,setElementForId:AZe,decorateNode:LZe,type2Str:RZe,getLogger:DZe,getElementById:NZe},OZe=MZe,IZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram -`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=C-1.5*f;const F=(await HC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await $8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),BZe={draw:IZe},PZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n{switch(oe.debug("In get type",t,e),t){case"[":return Ki.RECT;case"(":return e===")"?Ki.ROUNDED_RECT:Ki.CLOUD;case"((":return Ki.CIRCLE;case")":return Ki.CLOUD;case"))":return Ki.BANG;case"{{":return Ki.HEXAGON;default:return Ki.DEFAULT}},"getType"),DZe=S((t,e)=>{OO[t]=e},"setElementForId"),NZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),MZe=S(t=>{switch(t){case Ki.DEFAULT:return"no-border";case Ki.RECT:return"rect";case Ki.ROUNDED_RECT:return"rounded-rect";case Ki.CIRCLE:return"circle";case Ki.CLOUD:return"cloud";case Ki.BANG:return"bang";case Ki.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),OZe=S(()=>oe,"getLogger"),IZe=S(t=>OO[t],"getElementById"),BZe={clear:kZe,addNode:LZe,getSections:tce,getData:AZe,nodeType:Ki,getType:RZe,setElementForId:DZe,decorateNode:NZe,type2Str:MZe,getLogger:OZe,getElementById:IZe},PZe=BZe,FZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram +`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=C-1.5*f;const F=(await HC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await $8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),$Ze={draw:FZe},zZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n` + `}return e},"genSections"),qZe=S(t=>` .edge { stroke-width: 3; } - ${PZe(t)} + ${zZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2906,16 +2906,16 @@ Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse erro text-align: center; } ${bx()} -`,"getStyles"),$Ze=FZe,zZe={db:OZe,renderer:BZe,parser:wZe,styles:$Ze};const qZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:zZe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function VZe(t){return t.target.depth}function GZe(t){return t.depth}function UZe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function HZe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,VZe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function WZe(t){return t.index}function YZe(t){return t.nodes}function XZe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function jZe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=WZe,l=nce,u,h,d=YZe,f=XZe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,X9=2*Y9,Mf=1e-6,KZe=X9-Mf;function j9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new j9}j9.prototype=ice.prototype={constructor:j9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%X9+X9),d>KZe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function ZZe(t){return t[0]}function QZe(t){return t[1]}var JZe=Array.prototype.slice;function eQe(t){return t.source}function tQe(t){return t.target}function rQe(t){var e=eQe,r=tQe,n=ZZe,i=QZe,a=null;function s(){var o,l=JZe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function nQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function iQe(){return rQe(nQe)}function aQe(t){return[t.source.x1,t.y0]}function sQe(t){return[t.target.x0,t.y1]}function oQe(){return iQe().source(aQe).target(sQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: +`,"getStyles"),VZe=qZe,GZe={db:PZe,renderer:$Ze,parser:EZe,styles:VZe};const UZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:GZe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function HZe(t){return t.target.depth}function WZe(t){return t.depth}function YZe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function XZe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,HZe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function jZe(t){return t.index}function KZe(t){return t.nodes}function ZZe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function QZe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=jZe,l=nce,u,h,d=KZe,f=ZZe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,X9=2*Y9,Mf=1e-6,JZe=X9-Mf;function j9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new j9}j9.prototype=ice.prototype={constructor:j9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%X9+X9),d>JZe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function eQe(t){return t[0]}function tQe(t){return t[1]}var rQe=Array.prototype.slice;function nQe(t){return t.source}function iQe(t){return t.target}function aQe(t){var e=nQe,r=iQe,n=eQe,i=tQe,a=null;function s(){var o,l=rQe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function sQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function oQe(){return aQe(sQe)}function lQe(t){return[t.source.x1,t.y0]}function cQe(t){return[t.target.x0,t.y1]}function uQe(){return oQe().source(lQe).target(cQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: `+_.showPosition()+` Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:L,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,L=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,R.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:S(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` `+u+"^"},"showPosition"),test_match:S(function(l,u){var h,d,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),d=l[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],h=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var p in f)this[p]=f[p];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,u,h,d;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),p=0;pu[0].length)){if(u=h,d=p,this.options.backtrack_lexer){if(l=this.test_match(h,f[p]),l!==!1)return l;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(l=this.test_match(u,f[d]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,lQe=S(()=>{iE=[],aE=[],lC=new Map,jn()},"clear"),X1,cQe=(X1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(X1,"SankeyLink"),X1),uQe=S((t,e,r)=>{iE.push(new cQe(t,e,r))},"addLink"),j1,hQe=(j1=class{constructor(e){this.ID=e}},S(j1,"SankeyNode"),j1),dQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new hQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),fQe=S(()=>aE,"getNodes"),pQe=S(()=>iE,"getLinks"),gQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),mQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:fQe,getLinks:pQe,getGraph:gQe,addLink:uQe,findOrCreateNode:dQe,getAccTitle:li,setAccTitle:Xn,getAccDescription:ui,setAccDescription:ci,getDiagramTitle:Kn,setDiagramTitle:oi,clear:lQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),yQe={left:GZe,right:UZe,center:HZe,justify:nce},vQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=yQe[p];jZe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=jf(L2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=S(({id:F,value:$})=>b?`${F} -${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",oQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),bQe={draw:vQe},xQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing"),TQe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,hQe=S(()=>{iE=[],aE=[],lC=new Map,jn()},"clear"),X1,dQe=(X1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(X1,"SankeyLink"),X1),fQe=S((t,e,r)=>{iE.push(new dQe(t,e,r))},"addLink"),j1,pQe=(j1=class{constructor(e){this.ID=e}},S(j1,"SankeyNode"),j1),gQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new pQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),mQe=S(()=>aE,"getNodes"),yQe=S(()=>iE,"getLinks"),vQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),bQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:mQe,getLinks:yQe,getGraph:vQe,addLink:fQe,findOrCreateNode:gQe,getAccTitle:li,setAccTitle:Xn,getAccDescription:ui,setAccDescription:ci,getDiagramTitle:Kn,setDiagramTitle:oi,clear:hQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),xQe={left:WZe,right:YZe,center:XZe,justify:nce},TQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=xQe[p];QZe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=jf(N2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=S(({id:F,value:$})=>b?`${F} +${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",uQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),wQe={draw:TQe},CQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing"),SQe=S(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),wQe=TQe,CQe=oC.parse.bind(oC);oC.parse=t=>CQe(xQe(t));var SQe={styles:wQe,parser:oC,db:mQe,renderer:bQe};const EQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:SQe},Symbol.toStringTag,{value:"Module"}));var kQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getConfig(){const e=Ji({...kQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){jn(),this.packet=[]}},S(K1,"PacketDB"),K1),_Qe=1e4,AQe=S((t,e)=>{Xu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),AQe(e,r)},"parse")},RQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Gi(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())DQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),DQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),NQe={draw:RQe},MQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},OQe=S(({packet:t}={})=>{const e=Ji(MQe,t);return` + }`,"getStyles"),EQe=SQe,kQe=oC.parse.bind(oC);oC.parse=t=>kQe(CQe(t));var _Qe={styles:EQe,parser:oC,db:bQe,renderer:wQe};const AQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:_Qe},Symbol.toStringTag,{value:"Module"}));var LQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getConfig(){const e=Ji({...LQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){jn(),this.packet=[]}},S(K1,"PacketDB"),K1),RQe=1e4,DQe=S((t,e)=>{Xu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),DQe(e,r)},"parse")},MQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Gi(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())OQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),OQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),IQe={draw:MQe},BQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},PQe=S(({packet:t}={})=>{const e=Ji(BQe,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2938,7 +2938,7 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles"),IQe={parser:sce,get db(){return new ace},renderer:NQe,styles:OQe};const BQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:IQe},Symbol.toStringTag,{value:"Module"}));var yg={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},oce={axes:[],curves:[],options:yg},Y0=structuredClone(oce),PQe=Vr.radar,FQe=S(()=>Ji({...PQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),$Qe=S(()=>Y0.curves,"getCurves"),zQe=S(()=>Y0.options,"getOptions"),qQe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),VQe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:GQe(e.entries)}))},"setCurves"),GQe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),UQe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),HQe=S(()=>{jn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:$Qe,getOptions:zQe,setAxes:qQe,setCurves:VQe,setOptions:UQe,getConfig:FQe,clear:HQe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},WQe=S(t=>{Xu(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),YQe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),WQe(e)},"parse")},XQe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=jQe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;KQe(d,a,m,o.ticks,o.graticule),ZQe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),jQe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Gi(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),KQe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),ZQe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var QQe={draw:XQe},JQe=S((t,e)=>{let r="";for(let n=0;nJi({...zQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),VQe=S(()=>Y0.curves,"getCurves"),GQe=S(()=>Y0.options,"getOptions"),UQe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),HQe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:WQe(e.entries)}))},"setCurves"),WQe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),YQe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),XQe=S(()=>{jn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:VQe,getOptions:GQe,setAxes:UQe,setCurves:HQe,setOptions:YQe,getConfig:qQe,clear:XQe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},jQe=S(t=>{Xu(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),KQe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),jQe(e)},"parse")},ZQe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=QQe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;JQe(d,a,m,o.ticks,o.graticule),eJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),QQe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Gi(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),JQe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),eJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var tJe={draw:ZQe},rJe=S((t,e)=>{let r="";for(let n=0;n{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),tJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=eJe(t);return` + `}return r},"genIndexStyles"),nJe=S(t=>{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),iJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=nJe(t);return` .radarTitle { font-size: ${e.fontSize}; color: ${e.titleColor}; @@ -2979,13 +2979,13 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- font-size: ${r.legendFontSize}px; dominant-baseline: hanging; } - ${JQe(e,r)} - `},"styles"),rJe={parser:YQe,db:w2,renderer:QQe,styles:tJe};const nJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:rJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:S(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}S(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: + ${rJe(e,r)} + `},"styles"),aJe={parser:KQe,db:w2,renderer:tJe,styles:iJe};const sJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:S(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}S(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: `+B.showPosition()+` Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+Z);switch(ee[0]){case 1:R.push(Z),L.push(B.yytext),O.push(B.yylloc),R.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=L[L.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],L,O].concat(N)),typeof Q<"u")return Q;ae&&(R=R.slice(0,-1*ae*2),L=L.slice(0,-1*ae),O=O.slice(0,-1*ae)),R.push(this.productions_[ee[1]][0]),L.push(he.$),O.push(he._$),ie=F[R[R.length-2]][R[R.length-1]],R.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:S(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw new Error(_)},"parseError"),setInput:S(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:S(function(E){var _=E.length,R=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1&&(this.yylineno-=R.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===k.length?this.yylloc.first_column:0)+k[k.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(E){this.unput(this.match.slice(E))},"less"),pastInput:S(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` `+_+"^"},"showPosition"),test_match:S(function(E,_){var R,k,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],R=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var O in L)this[O]=L[O];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,R,k;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),O=0;O_[0].length)){if(_=R,k=O,this.options.backtrack_lexer){if(E=this.test_match(R,L[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,L[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var iJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",aJe="bgFill",fce=",",sJe=Pe(),cC=new Map,BO="",oJe=S(t=>$t.sanitizeText(t,sJe),"sanitizeText"),lJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,aJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),cJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),uJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=oJe(s.label)),s.type==="classDef"){lJe(s.id,s.css);continue}if(s.type==="applyClass"){uJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&cJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),jn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,dJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),fJe=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),pJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),gJe=S(()=>[...xl.values()],"getBlocksFlat"),mJe=S(()=>PO||[],"getBlocks"),yJe=S(()=>IO,"getEdges"),vJe=S(t=>xl.get(t),"getBlock"),bJe=S(t=>{xl.set(t.id,t)},"setBlock"),xJe=S(t=>{BO=t},"setDiagramId"),TJe=S(()=>BO,"getDiagramId"),wJe=S(()=>oe,"getLogger"),CJe=S(function(){return cC},"getClasses"),SJe={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:wJe,getBlocksFlat:gJe,getBlocks:mJe,getEdges:yJe,setHierarchy:fJe,getBlock:vJe,setBlock:bJe,getColumns:pJe,getClasses:CJe,clear:hJe,generateId:dJe,setDiagramId:xJe,getDiagramId:TJe},EJe=SJe,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),kJe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var oJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",lJe="bgFill",fce=",",cJe=Pe(),cC=new Map,BO="",uJe=S(t=>$t.sanitizeText(t,cJe),"sanitizeText"),hJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,lJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),dJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),fJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=uJe(s.label)),s.type==="classDef"){hJe(s.id,s.css);continue}if(s.type==="applyClass"){fJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&dJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),jn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,gJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),mJe=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),yJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),vJe=S(()=>[...xl.values()],"getBlocksFlat"),bJe=S(()=>PO||[],"getBlocks"),xJe=S(()=>IO,"getEdges"),TJe=S(t=>xl.get(t),"getBlock"),wJe=S(t=>{xl.set(t.id,t)},"setBlock"),CJe=S(t=>{BO=t},"setDiagramId"),SJe=S(()=>BO,"getDiagramId"),EJe=S(()=>oe,"getLogger"),kJe=S(function(){return cC},"getClasses"),_Je={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:EJe,getBlocksFlat:vJe,getBlocks:bJe,getEdges:xJe,setHierarchy:mJe,getBlock:TJe,setBlock:wJe,getColumns:yJe,getClasses:kJe,clear:pJe,generateId:gJe,setDiagramId:CJe,getDiagramId:SJe},AJe=_Je,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),LJe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -3108,11 +3108,11 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error fill: ${t.textColor}; } ${bx()} -`,"getStyles"),_Je=kJe,AJe=S((t,e,r,n)=>{e.forEach(i=>{FJe[i](t,r,n)})},"insertMarkers"),LJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),RJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),DJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),NJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),MJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),OJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),IJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),BJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),PJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),FJe={extension:LJe,composition:RJe,aggregation:DJe,dependency:NJe,lollipop:MJe,point:OJe,circle:IJe,cross:BJe,barb:PJe},$Je=AJe,Si=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var zJe=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=zJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Si*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Si-Si)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Si;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Si}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Si}`),d.size){const x=f/2;h.size.x=l+Si+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Si} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Si,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Si}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var qJe=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await ys(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=qJe,VJe=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),GJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=GJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},$a={},UJe=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await ys(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var HJe=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=$a[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=$a[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=$a[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=$a[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),WJe=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),YJe=S((t,e,r)=>{oe.debug(`intersection calc abc89: +`,"getStyles"),RJe=LJe,DJe=S((t,e,r,n)=>{e.forEach(i=>{qJe[i](t,r,n)})},"insertMarkers"),NJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),MJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),OJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),IJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),BJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),PJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),FJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),$Je=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),zJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),qJe={extension:NJe,composition:MJe,aggregation:OJe,dependency:IJe,lollipop:BJe,point:PJe,circle:FJe,cross:$Je,barb:zJe},VJe=DJe,Si=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var GJe=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=GJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Si*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Si-Si)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Si;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Si}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Si}`),d.size){const x=f/2;h.size.x=l+Si+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Si} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Si,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Si}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var UJe=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=UJe,HJe=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),WJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=WJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},za={},YJe=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var XJe=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=za[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=za[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=za[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=za[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),jJe=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),KJe=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!WJe(e,a)&&!i){const s=YJe(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),XJe=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=X2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),VJe(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),jJe=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),KJe=S((t,e,r)=>{const n=jJe(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var ZJe=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var JJe=Cce,eet=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var tet=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),ret=tet,Qn={node:ZJe,circle:QJe,ellipse:Tce,polygon:eet,rect:ret},da=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=ys(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),bi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var net=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await da(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},n},"note"),iet=net,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),bi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Qn.polygon(e,o,u)},r},"question"),aet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Qn.circle(e,14,s)},r},"choice"),set=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"hexagon"),oet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=KJe(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"block_arrow"),cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_left_inv_arrow"),uet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_right"),het=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_left"),det=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"trapezoid"),fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"inv_trapezoid"),pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_right_inv_arrow"),get=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return bi(e,u),e.intersect=function(h){const d=Qn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),met=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"rect"),yet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"composite"),vet=S(async(t,e)=>{const{shapeSvg:r}=await da(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return bi(e,n),e.intersect=function(s){return Qn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var bet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},r},"stadium"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),bi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Qn.circle(e,n.width/2+i,s)},r},"circle"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),bi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Qn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"subroutine"),Eet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),bi(e,n),e.intersect=function(i){return Qn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return bi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Qn.rect(e,o)},n},"forkJoin"),ket=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),bi(e,i),e.intersect=function(a){return Qn.circle(e,7,a)},r},"end"),_et=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),bi(e,o),e.intersect=function(L){return Qn.rect(e,L)},s},"class_box"),MY={rhombus:DY,composite:yet,question:DY,rect:met,labelRect:vet,rectWithTitle:bet,choice:aet,circle:Tet,doublecircle:wet,stadium:xet,hexagon:set,block_arrow:oet,rect_left_inv_arrow:cet,lean_right:uet,lean_left:het,trapezoid:det,inv_trapezoid:fet,rect_right_inv_arrow:pet,cylinder:get,start:Eet,end:ket,note:iet,subroutine:Cet,fork:NY,join:NY,class_box:_et},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Aet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Aet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;XJe(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await UJe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),HJe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Let=S(function(t,e){return e.db.getClasses()},"getClasses"),Ret=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);$Je(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Gi(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Det={draw:Ret,getClasses:Let},Net={parser:iJe,db:EJe,renderer:Det,styles:_Je};const Met=Object.freeze(Object.defineProperty({__proto__:null,diagram:Net},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Oet=S(()=>{Gl.reset(),jn()},"clear"),Iet=S(()=>Gl.records.stack[0],"getRoot"),Bet=S(()=>Gl.records.cnt,"getCount"),Pet=Vr.treeView,Fet=S(()=>Ji(Pet,gr().treeView),"getConfig"),$et=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),zet={clear:Oet,addNode:$et,getRoot:Iet,getCount:Bet,getConfig:Fet,getAccTitle:li,getAccDescription:ui,getDiagramTitle:Kn,setAccDescription:ci,setAccTitle:Xn,setDiagramTitle:oi},rD=zet,qet=S(t=>{Xu(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),Vet={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),qet(e)},"parse")},Get=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),Uet=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);Get(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),Het=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram -`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=Uet(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Gi(o,u,h,s.useMaxWidth)},"draw"),Wet={draw:Het},Yet=Wet,Xet={labelFontSize:"16px",labelColor:"black",lineColor:"black"},jet=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=Ji(Xet,t);return` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!jJe(e,a)&&!i){const s=KJe(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),ZJe=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=X2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),HJe(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),QJe=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),JJe=S((t,e,r)=>{const n=QJe(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var eet=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var ret=Cce,net=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var iet=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),aet=iet,Qn={node:eet,circle:tet,ellipse:Tce,polygon:net,rect:aet},da=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),bi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var set=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await da(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},n},"note"),oet=set,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),bi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Qn.polygon(e,o,u)},r},"question"),cet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Qn.circle(e,14,s)},r},"choice"),uet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"hexagon"),het=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=JJe(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"block_arrow"),det=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_left_inv_arrow"),fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_right"),pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_left"),get=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"trapezoid"),met=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"inv_trapezoid"),yet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_right_inv_arrow"),vet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return bi(e,u),e.intersect=function(h){const d=Qn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"rect"),xet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"composite"),Tet=S(async(t,e)=>{const{shapeSvg:r}=await da(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return bi(e,n),e.intersect=function(s){return Qn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var wet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},r},"stadium"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),bi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Qn.circle(e,n.width/2+i,s)},r},"circle"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),bi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Qn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"subroutine"),Aet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),bi(e,n),e.intersect=function(i){return Qn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return bi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Qn.rect(e,o)},n},"forkJoin"),Let=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),bi(e,i),e.intersect=function(a){return Qn.circle(e,7,a)},r},"end"),Ret=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),bi(e,o),e.intersect=function(L){return Qn.rect(e,L)},s},"class_box"),MY={rhombus:DY,composite:xet,question:DY,rect:bet,labelRect:Tet,rectWithTitle:wet,choice:cet,circle:Eet,doublecircle:ket,stadium:Cet,hexagon:uet,block_arrow:het,rect_left_inv_arrow:det,lean_right:fet,lean_left:pet,trapezoid:get,inv_trapezoid:met,rect_right_inv_arrow:yet,cylinder:vet,start:Aet,end:Let,note:oet,subroutine:_et,fork:NY,join:NY,class_box:Ret},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Det=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Det(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;ZJe(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await YJe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),XJe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Net=S(function(t,e){return e.db.getClasses()},"getClasses"),Met=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);VJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Gi(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Oet={draw:Met,getClasses:Net},Iet={parser:oJe,db:AJe,renderer:Oet,styles:RJe};const Bet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Iet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Pet=S(()=>{Gl.reset(),jn()},"clear"),Fet=S(()=>Gl.records.stack[0],"getRoot"),$et=S(()=>Gl.records.cnt,"getCount"),zet=Vr.treeView,qet=S(()=>Ji(zet,gr().treeView),"getConfig"),Vet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),Get={clear:Pet,addNode:Vet,getRoot:Fet,getCount:$et,getConfig:qet,getAccTitle:li,getAccDescription:ui,getDiagramTitle:Kn,setAccDescription:ci,setAccTitle:Xn,setDiagramTitle:oi},rD=Get,Uet=S(t=>{Xu(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),Het={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),Uet(e)},"parse")},Wet=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),Yet=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);Wet(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),Xet=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram +`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=Yet(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Gi(o,u,h,s.useMaxWidth)},"draw"),jet={draw:Xet},Ket=jet,Zet={labelFontSize:"16px",labelColor:"black",lineColor:"black"},Qet=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=Ji(Zet,t);return` .treeView-node-label { font-size: ${e}; fill: ${r}; @@ -3120,7 +3120,7 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error .treeView-node-line { stroke: ${n}; } - `},"styles"),Ket=jet,Zet={db:rD,renderer:Yet,parser:Vet,styles:Ket};const Qet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Zet},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},Jet=u5.exports,IY;function ett(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(Jet,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Ae=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Ae),Te=this.s[Oe]/We,ot=Ae/We;this.s[Oe]=We,Oe!==pe&&(Ae=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Ae){if(!Me.has(Ae)){ne[$e]=[],me[$e]=!1;var Oe=Ae;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var ntt=l5.exports,PY;function itt(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(rtt())})(ntt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){C=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Ae=He.boundingBox();z.push({x:Ae.x1+Ae.w/2,y:Ae.y1+Ae.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Ae){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Ae))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Ae){k.eles=He,$.push(x(k,F[Ae])),p.relocateComponent(z[Ae],$[Ae],k)})}else q.forEach(function(He,Ae){p.relocateComponent(z[Ae],F[Ae],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Ae){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Ae].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Ae].xCoords[Te]-ot.boundingbox().w/2,y:F[Ae].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Ae].xCoords,F[Ae].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Ae][ot.id()]&&We.nodes.push({x:$[Ae][ot.id()].getLeft(),y:$[Ae][ot.id()].getTop(),width:$[Ae][ot.id()].getWidth(),height:$[Ae][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Ae].xCoords,F[Ae].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Ae].xCoords[it]),Xe.push(F[Ae].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Ae].xCoords,F[Ae].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Ae].xCoords[Ye]),at.push(F[Ae].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Ae][De.id()]&&$[Ae][Ge.id()]&&We.edges.push({startX:$[Ae][De.id()].getCenterX(),startY:$[Ae][De.id()].getCenterY(),endX:$[Ae][Ge.id()].getCenterX(),endY:$[Ae][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Ae))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Ae){var Oe=He.xCoords.map(function(Te){return Te+ne[Ae].dx}),We=He.yCoords.map(function(Te){return Te+ne[Ae].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Ae){var Oe=$[He][Ae];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Ae,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Ae=="number"&&(Ae=Oe);var We=void 0,Te=void 0,ot=Ae.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Ae.position("x"),y:Ae.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Ae.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Ae.position("x"),y:Ae.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Ae=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Ae=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Ae)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var att=itt();const stt=k0(att);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},ott=S(function(t){return is(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),is=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=is(t)&&yd(e),n=yd(t)&&is(e);return r||n},"isArchitectureDirectionXY"),ltt=S(function(t){const e=t[0],r=t[1],n=is(e)&&yd(r),i=yd(e)&&is(r);return n||i},"isArchitecturePairXY"),ctt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return ctt(r)?r:void 0},"getArchitectureDirectionPair"),utt=S(function([t,e],r){const n=r[0],i=r[1];return is(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:is(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),htt=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),dtt=S(function(t,e){return qO(t,e)?"bend":is(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),ftt=S(function(t){return t.type==="service"},"isArchitectureService"),ptt=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),gtt=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",jn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(ftt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(ptt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=dtt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=utt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Ji({...gtt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),mtt=S((t,e)=>{Xu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");mtt(e,r)},"parse")},ytt=S(t=>` + `},"styles"),Jet=Qet,ett={db:rD,renderer:Ket,parser:Het,styles:Jet};const ttt=Object.freeze(Object.defineProperty({__proto__:null,diagram:ett},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},rtt=u5.exports,IY;function ntt(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(rtt,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Le=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Le),Te=this.s[Oe]/We,ot=Le/We;this.s[Oe]=We,Oe!==pe&&(Le=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Le){if(!Me.has(Le)){ne[$e]=[],me[$e]=!1;var Oe=Le;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var stt=l5.exports,PY;function ott(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(att())})(stt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){C=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Le=He.boundingBox();z.push({x:Le.x1+Le.w/2,y:Le.y1+Le.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Le){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Le))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Le){k.eles=He,$.push(x(k,F[Le])),p.relocateComponent(z[Le],$[Le],k)})}else q.forEach(function(He,Le){p.relocateComponent(z[Le],F[Le],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Le){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Le].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Le].xCoords[Te]-ot.boundingbox().w/2,y:F[Le].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Le].xCoords,F[Le].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Le][ot.id()]&&We.nodes.push({x:$[Le][ot.id()].getLeft(),y:$[Le][ot.id()].getTop(),width:$[Le][ot.id()].getWidth(),height:$[Le][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Le].xCoords,F[Le].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Le].xCoords[it]),Xe.push(F[Le].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Le].xCoords,F[Le].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Le].xCoords[Ye]),at.push(F[Le].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Le][De.id()]&&$[Le][Ge.id()]&&We.edges.push({startX:$[Le][De.id()].getCenterX(),startY:$[Le][De.id()].getCenterY(),endX:$[Le][Ge.id()].getCenterX(),endY:$[Le][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Le))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Le){var Oe=He.xCoords.map(function(Te){return Te+ne[Le].dx}),We=He.yCoords.map(function(Te){return Te+ne[Le].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Le){var Oe=$[He][Le];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Le,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Le=="number"&&(Le=Oe);var We=void 0,Te=void 0,ot=Le.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Le.position("x"),y:Le.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Le.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Le.position("x"),y:Le.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Le=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Le=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Le)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var ltt=ott();const ctt=k0(ltt);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},utt=S(function(t){return as(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),as=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=as(t)&&yd(e),n=yd(t)&&as(e);return r||n},"isArchitectureDirectionXY"),htt=S(function(t){const e=t[0],r=t[1],n=as(e)&&yd(r),i=yd(e)&&as(r);return n||i},"isArchitecturePairXY"),dtt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return dtt(r)?r:void 0},"getArchitectureDirectionPair"),ftt=S(function([t,e],r){const n=r[0],i=r[1];return as(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:as(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),ptt=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),gtt=S(function(t,e){return qO(t,e)?"bend":as(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),mtt=S(function(t){return t.type==="service"},"isArchitectureService"),ytt=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),vtt=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",jn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(mtt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(ytt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=gtt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=ftt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Ji({...vtt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),btt=S((t,e)=>{Xu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");btt(e,r)},"parse")},xtt=S(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; @@ -3151,17 +3151,17 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error display: -webkit-box; -webkit-box-orient: vertical; } -`,"getStyles"),vtt=ytt,jp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:jp('')},server:{body:jp('')},disk:{body:jp('')},internet:{body:jp('')},cloud:{body:jp('')},unknown:nQ,blank:{body:jp("")}}},btt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(is(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(is(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(is(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(is(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=is(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=is(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](L,o):L-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":is(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await ys(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&<t(D)){const I=z.node().getBoundingClientRect(),[N,B]=htt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` +`,"getStyles"),Ttt=xtt,jp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:jp('')},server:{body:jp('')},disk:{body:jp('')},internet:{body:jp('')},cloud:{body:jp('')},unknown:nQ,blank:{body:jp("")}}},wtt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(as(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(as(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(as(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(as(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=as(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=as(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](L,o):L-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":as(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await vs(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&&htt(D)){const I=z.node().getBoundingClientRect(),[N,B]=ptt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` translate(${_}, ${R-I.height/2}) translate(${N*M.width/2}, ${B*M.height/2}) rotate(${-1*N*B*45}, 0, ${I.height/2}) - `)}}}}}))},"drawEdges"),xtt=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await ys(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Ttt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await ys(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),wtt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(stt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[ott(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));C=C/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[R,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Ctt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Ttt(i,f,a,e),wtt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await btt(d,m,i,e),await xtt(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Stt={draw:Ctt},Ett={parser:Mce,get db(){return new Nce},renderer:Stt,styles:vtt};const ktt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Ett},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: + `)}}}}}))},"drawEdges"),Ctt=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Stt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Ett=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(ctt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[utt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));C=C/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[R,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var ktt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Stt(i,f,a,e),Ett(i,f,s,e);const m=await qce(a,s,o,l,i,u);await wtt(d,m,i,e),await Ctt(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),_tt={draw:ktt},Att={parser:Mce,get db(){return new Nce},renderer:_tt,styles:Ttt};const Ltt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Att},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: `+I.showPosition()+` Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+H);switch(Z[0]){case 1:E.push(H),R.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=R[R.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),j=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],R,k].concat(D)),typeof j<"u")return j;he&&(E=E.slice(0,-1*he*2),R=R.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),R.push(ee.$),k.push(ee._$),te=L[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(C){this.unput(this.match.slice(C))},"less"),pastInput:S(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var C=this.pastInput(),T=new Array(C.length+1).join("-");return C+this.upcomingInput()+` `+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in R)this[k]=R[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,R[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,R[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var _tt=iD,Q1,Att=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,jn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],oi(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return li()}setAccTitle(e){Xn(e)}getAccDescription(){return ui()}setAccDescription(e){ci(e)}getDiagramTitle(){return Kn()}setDiagramTitle(e){oi(e)}},S(Q1,"IshikawaDB"),Q1),Ltt=14,Kp=250,Rtt=30,Dtt=60,Ntt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Gi(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Mtt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Ltt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const R=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(Ott(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(L),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),Ott=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Itt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Btt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ptt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Btt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Itt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?Dtt+k.childCount*Ntt:Rtt),Ug(F,$,L,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,L,1,0,o),hC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Ug(F,$,q,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-L,o),hC(F,k.text,z,L,_,"end",s)}k.childCount>0&&C.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Ftt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` -`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=Ftt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),$tt={draw:Mtt},ztt=S(t=>` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var Rtt=iD,Q1,Dtt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,jn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],oi(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return li()}setAccTitle(e){Xn(e)}getAccDescription(){return ui()}setAccDescription(e){ci(e)}getDiagramTitle(){return Kn()}setDiagramTitle(e){oi(e)}},S(Q1,"IshikawaDB"),Q1),Ntt=14,Kp=250,Mtt=30,Ott=60,Itt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Gi(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Btt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Ntt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const R=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(Ptt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(L),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),Ptt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Ftt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),$tt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),ztt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),$tt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Ftt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?Ott+k.childCount*Itt:Mtt),Ug(F,$,L,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,L,1,0,o),hC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Ug(F,$,q,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-L,o),hC(F,k.text,z,L,_,"end",s)}k.childCount>0&&C.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),qtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=qtt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),Vtt={draw:Btt},Gtt=S(t=>` .ishikawa .ishikawa-spine, .ishikawa .ishikawa-branch, .ishikawa .ishikawa-sub-branch { @@ -3224,18 +3224,18 @@ Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .ishikawa .ishikawa-label.down { dominant-baseline: hanging; } -`,"getStyles"),qtt=ztt,Vtt={parser:_tt,get db(){return new Att},renderer:$tt,styles:qtt};const Gtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Vtt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=Htt(t),n=r.filter(o=>Utt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function Utt(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function Wtt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>R.fx?(du(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function Xtt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function jtt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function Ztt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function Qtt(t,e={}){let r=ert(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=Jtt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>Ztt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+jce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function trt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function rrt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=rrt(n);for(const u of i){trt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function nrt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[C];return C+=1,C>=x.length&&(C=0),L},E=Xce,_=Im;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=srt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,R):_},R}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function irt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function art(t,e,r){const n=[];return n.push(` +`,"getStyles"),Utt=Gtt,Htt={parser:Rtt,get db(){return new Dtt},renderer:Vtt,styles:Utt};const Wtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Htt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=Xtt(t),n=r.filter(o=>Ytt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function Ytt(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function jtt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>R.fx?(du(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function Ztt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function Qtt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function ert(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function trt(t,e={}){let r=nrt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=rrt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>ert(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+jce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function irt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function art(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=art(n);for(const u of i){irt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function srt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[C];return C+=1,C>=x.length&&(C=0),L},E=Xce,_=Im;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=crt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,R):_},R}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function ort(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function lrt(t,e,r){const n=[];return n.push(` M`,t,e),n.push(` m`,-r,0),n.push(` a`,r,r,0,1,0,r*2,0),n.push(` -a`,r,r,0,1,0,-r*2,0),n.join(" ")}function srt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return art(n(a.x),n(a.y),n(a.radius))}const i=[` +a`,r,r,0,1,0,-r*2,0),n.join(" ")}function crt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return lrt(n(a.x),n(a.y),n(a.radius))}const i=[` M`,n(t[0].p2.x),n(t[0].p2.y)];for(const a of t){const s=n(a.circle.radius);i.push(` -A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function ort(t,e={}){const{lossFunction:r,layoutFunction:n=Xce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=nue(_),k=iue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of C)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return C.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}S(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: +A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function urt(t,e={}){const{lossFunction:r,layoutFunction:n=Xce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=nue(_),k=iue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of C)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return C.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}S(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: `+N.showPosition()+` Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[X]||X,line:N.yylineno,loc:V,expected:ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+X);switch(j[0]){case 1:_.push(X),k.push(N.yytext),L.push(N.yylloc),_.push(j[1]),X=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[j[1]][1],Q.$=k[k.length-te],Q._$={first_line:L[L.length-(te||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(te||1)].first_column,last_column:L[L.length-1].last_column},U&&(Q._$.range=[L[L.length-(te||1)].range[0],L[L.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,j[1],k,L].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),L=L.slice(0,-1*te)),_.push(this.productions_[j[1]][0]),k.push(Q.$),L.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var C={EOF:1,parseError:S(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:S(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:S(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===R.length?this.yylloc.first_column:0)+R[R.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(T){this.unput(this.match.slice(T))},"less"),pastInput:S(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` `+E+"^"},"showPosition"),test_match:S(function(T,E){var _,R,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),R=T[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var L in k)this[L]=k[L];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,R;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),L=0;LE[0].length)){if(E=_,R=L,this.options.backtrack_lexer){if(T=this.test_match(_,k[L]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[R]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var lrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,XO=!1,crt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),urt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),hrt=S(t=>t&&Ub(t),"normalizeStyleValue"),drt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),frt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=hrt(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),prt=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),grt=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),mrt=S(()=>UO,"getTextData"),yrt=S(()=>YO,"getCurrentSets"),vrt=S(()=>XO,"getIndentMode"),brt=S(t=>{XO=t},"setIndentMode"),xrt=Vr.venn;function aue(){return Ji(xrt,gr().venn)}S(aue,"getConfig");var Trt=S(()=>{jn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,XO=!1},"customClear"),wrt={getConfig:aue,clear:Trt,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,addSubsetData:crt,getSubsetData:urt,addTextData:drt,addStyleData:frt,validateUnionIdentifiers:grt,getTextData:mrt,getStyleData:prt,getCurrentSets:yrt,getIndentMode:vrt,setIndentMode:brt},Crt=S(t=>` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var hrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,XO=!1,drt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),frt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),prt=S(t=>t&&Ub(t),"normalizeStyleValue"),grt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),mrt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=prt(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),yrt=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),vrt=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),brt=S(()=>UO,"getTextData"),xrt=S(()=>YO,"getCurrentSets"),Trt=S(()=>XO,"getIndentMode"),wrt=S(t=>{XO=t},"setIndentMode"),Crt=Vr.venn;function aue(){return Ji(Crt,gr().venn)}S(aue,"getConfig");var Srt=S(()=>{jn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,XO=!1},"customClear"),Ert={getConfig:aue,clear:Srt,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,addSubsetData:drt,getSubsetData:frt,addTextData:grt,addStyleData:mrt,validateUnionIdentifiers:vrt,getTextData:brt,getStyleData:yrt,getCurrentSets:xrt,getIndentMode:Trt,setIndentMode:wrt},krt=S(t=>` .venn-title { font-size: 32px; fill: ${t.vennTitleTextColor}; @@ -3257,7 +3257,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error font-family: ${t.fontFamily}; color: ${t.vennSetTextColor}; } -`,"getStyles"),Srt=Crt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var Ert=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=nrt().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=ort(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,R,p,C,m);const $=ms(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*C}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Gi(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}S(oue,"renderTextNodes");var krt={draw:Ert},_rt={parser:lrt,db:wrt,renderer:krt,styles:Srt};const Art=Object.freeze(Object.defineProperty({__proto__:null,diagram:_rt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return Ji({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){jn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Lrt=S((t,e)=>{Xu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Rrt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Rrt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Lrt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Drt=10,Zp=10,Xv=25,Nrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Drt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Gi(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=jf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=jf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=jf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=nve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Xv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Xv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Xv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Xv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Xv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(Irt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` +`,"getStyles"),_rt=krt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var Art=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=srt().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=urt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,R,p,C,m);const $=ys(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*C}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Gi(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}S(oue,"renderTextNodes");var Lrt={draw:Art},Rrt={parser:hrt,db:Ert,renderer:Lrt,styles:_rt};const Drt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Rrt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return Ji({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){jn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Nrt=S((t,e)=>{Xu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Mrt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Mrt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Nrt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Ort=10,Zp=10,Xv=25,Irt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Ort,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Gi(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=jf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=jf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=jf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=sve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Xv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Xv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Xv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Xv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Xv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(Frt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` .treemapNode.section { stroke: ${i.sectionStrokeColor}; stroke-width: ${i.sectionStrokeWidth}; @@ -3280,8 +3280,8 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error fill: ${a}; font-size: ${i.titleFontSize}; } - `},"getStyles"),Prt=Brt,Frt={parser:uue,get db(){return new lue},renderer:Ort,styles:Prt};const $rt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Frt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),XY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),zrt=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),qrt=S((t,e)=>{if(Xu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=XY(r.fromPort)??XY(r.toPort);const{flow:a,label:s}=zrt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");qrt(e,r)},"parse")},em,Vrt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),xs=new Vrt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){xs.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){xs.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){xs.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){xs.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){xs.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){xs.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){xs.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){xs.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){xs.setSize(t,e)}S(Tue,"setSize");function wue(t){xs.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){xs.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),xs.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return xs.getNode(t)}S(Eue,"getNode");function kue(){return xs.build()}S(kue,"getWardleyData");function _ue(){xs.clear(),jn()}S(_ue,"clear");var Grt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},Urt=["Genesis","Custom Built","Product","Commodity"],Hrt=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),Wrt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),Yrt=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map -`+t);const i=Wrt(),a=Hrt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Gi(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:Urt;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Ae=$e.getBBox();he=Math.max(he,Ae.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` + `},"getStyles"),zrt=$rt,qrt={parser:uue,get db(){return new lue},renderer:Prt,styles:zrt};const Vrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:qrt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),XY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),Grt=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Urt=S((t,e)=>{if(Xu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=XY(r.fromPort)??XY(r.toPort);const{flow:a,label:s}=Grt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Urt(e,r)},"parse")},em,Hrt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),Ts=new Hrt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){Ts.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){Ts.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){Ts.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){Ts.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){Ts.setSize(t,e)}S(Tue,"setSize");function wue(t){Ts.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){Ts.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return Ts.getNode(t)}S(Eue,"getNode");function kue(){return Ts.build()}S(kue,"getWardleyData");function _ue(){Ts.clear(),jn()}S(_ue,"clear");var Wrt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},Yrt=["Genesis","Custom Built","Product","Commodity"],Xrt=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),jrt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),Krt=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map +`+t);const i=jrt(),a=Xrt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Gi(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:Yrt;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` M ${U} ${P-X/2} L ${U+H-Z} ${P-X/2} L ${U+H-Z} ${P-X/2-8} @@ -3299,4 +3299,4 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error L ${U+Z} ${P+X/2} L ${U+H} ${P+X/2} Z - `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),Xrt={draw:Yrt},jrt={parser:hue,db:Grt,renderer:Xrt,styles:S(()=>"","styles")};const Krt=Object.freeze(Object.defineProperty({__proto__:null,diagram:jrt},Symbol.toStringTag,{value:"Module"})),Zrt=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:Xse},Symbol.toStringTag,{value:"Module"})),Qrt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:jse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),Jrt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),ent=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),tnt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),rnt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),nnt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),int=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),ant=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default snt(); + `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),Zrt={draw:Krt},Qrt={parser:hue,db:Wrt,renderer:Zrt,styles:S(()=>"","styles")};const Jrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qrt},Symbol.toStringTag,{value:"Module"})),ent=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:Xse},Symbol.toStringTag,{value:"Module"})),tnt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:jse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),rnt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),nnt=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),int=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),ant=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),snt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),ont=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),lnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default cnt(); diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index 987ac31..415bb5a 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,8 +5,8 @@ webview_ui - - + +
    From f9762aef5543d621b05ef0ace2558e2aeda4c7eb Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 11:46:01 -0700 Subject: [PATCH 11/36] build --- .../{index-y1-Ja362.js => index-BqkfZzN2.js} | 450 +++++++++--------- .../webview_new/assets/index-D6bYdpOb.css | 1 - .../webview_new/assets/index-DtSILhwC.css | 1 + .../webview_template/webview_new/index.html | 4 +- webview_ui/src/css/tree_app.module.css | 117 ++++- 5 files changed, 333 insertions(+), 240 deletions(-) rename extension/src/webview_template/webview_new/assets/{index-y1-Ja362.js => index-BqkfZzN2.js} (88%) delete mode 100644 extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css create mode 100644 extension/src/webview_template/webview_new/assets/index-DtSILhwC.css diff --git a/extension/src/webview_template/webview_new/assets/index-y1-Ja362.js b/extension/src/webview_template/webview_new/assets/index-BqkfZzN2.js similarity index 88% rename from extension/src/webview_template/webview_new/assets/index-y1-Ja362.js rename to extension/src/webview_template/webview_new/assets/index-BqkfZzN2.js index 9c2878b..822198a 100644 --- a/extension/src/webview_template/webview_new/assets/index-y1-Ja362.js +++ b/extension/src/webview_template/webview_new/assets/index-BqkfZzN2.js @@ -1,18 +1,18 @@ -var Rde=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var cnt=Rde((lo,co)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var d6={exports:{}},Zy={};var _F;function Nde(){if(_F)return Zy;_F=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Zy.Fragment=e,Zy.jsx=r,Zy.jsxs=r,Zy}var AF;function Mde(){return AF||(AF=1,d6.exports=Nde()),d6.exports}var Ae=Mde(),f6={exports:{}},Dr={};var LF;function Ode(){if(LF)return Dr;LF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=x.prototype;function T(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}var E=T.prototype=new C;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function R(){}var k={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(P,H,X){var Z=X.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:X}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(X){return H[X]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(R,R):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,X,Z,j){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,X,Z,j)}}if(Q)return j=j(P),Q=Z===""?"."+D(P,0):Z,_(j)?(X="",Q!=null&&(X=Q.replace(z,"$&/")+"/"),N(j,H,X,"",function(ae){return ae})):j!=null&&($(j)&&(j=F(j,X+(j.key==null||P&&P.key===j.key?"":(""+j.key).replace(z,"$&/")+"/")+Q)),H.push(j)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(X,M))Zi(j,X)?(N[V]=j,N[Z]=M,V=Z):(N[V]=X,N[H]=M,V=H);else if(Zi(j,M))N[V]=j,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,R||(R=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var R=!1,k=-1,L=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():R=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(C(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,R||(R=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(m6)),m6}var NF;function Bde(){return NF||(NF=1,g6.exports=Ide()),g6.exports}var y6={exports:{}},Oa={};var MF;function Pde(){if(MF)return Oa;MF=1;var t=dD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),y6.exports=Pde(),y6.exports}var IF;function $de(){if(IF)return Qy;IF=1;var t=Bde(),e=dD(),r=Fde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function X(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),j=P(null),ee=P(null),Q=P(null);function he(g,y){switch(X(ee,y),X(j,g),X(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?KP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=KP(y),g=ZP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),X(Z,g)}function te(){H(Z),H(j),H(ee)}function ae(g){g.memoizedState!==null&&X(Q,g);var y=Z.current,w=ZP(y,g.type);y!==w&&(X(j,g),X(Z,w))}function ie(g){j.current===g&&(H(Z),H(j)),Q.current===g&&(H(Q),Yy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1()=>(e||t((e={exports:{}}).exports,e),e.exports);var mnt=Rde((lo,co)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var d6={exports:{}},Zy={};var _F;function Nde(){if(_F)return Zy;_F=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Zy.Fragment=e,Zy.jsx=r,Zy.jsxs=r,Zy}var AF;function Mde(){return AF||(AF=1,d6.exports=Nde()),d6.exports}var Ae=Mde(),f6={exports:{}},Dr={};var LF;function Ode(){if(LF)return Dr;LF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=x.prototype;function T(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}var E=T.prototype=new C;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function R(){}var k={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(P,H,X){var Z=X.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:X}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(X){return H[X]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(R,R):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,X,Z,j){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,X,Z,j)}}if(Q)return j=j(P),Q=Z===""?"."+D(P,0):Z,_(j)?(X="",Q!=null&&(X=Q.replace(z,"$&/")+"/"),N(j,H,X,"",function(ae){return ae})):j!=null&&($(j)&&(j=F(j,X+(j.key==null||P&&P.key===j.key?"":(""+j.key).replace(z,"$&/")+"/")+Q)),H.push(j)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(X,M))Zi(j,X)?(N[V]=j,N[Z]=M,V=Z):(N[V]=X,N[H]=M,V=H);else if(Zi(j,M))N[V]=j,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,R||(R=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var R=!1,k=-1,L=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():R=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(C(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,R||(R=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(m6)),m6}var NF;function Bde(){return NF||(NF=1,g6.exports=Ide()),g6.exports}var y6={exports:{}},Oa={};var MF;function Pde(){if(MF)return Oa;MF=1;var t=dD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),y6.exports=Pde(),y6.exports}var IF;function $de(){if(IF)return Qy;IF=1;var t=Bde(),e=dD(),r=Fde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function X(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),j=P(null),ee=P(null),Q=P(null);function he(g,y){switch(X(ee,y),X(j,g),X(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?KP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=KP(y),g=ZP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),X(Z,g)}function te(){H(Z),H(j),H(ee)}function ae(g){g.memoizedState!==null&&X(Q,g);var y=Z.current,w=ZP(y,g.type);y!==w&&(X(j,g),X(Z,w))}function ie(g){j.current===g&&(H(Z),H(j)),Q.current===g&&(H(Q),Yy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1)":-1G||Ve[A]!==ut[G]){var Tt=` `+Ve[A].replace(" at new "," at ");return g.displayName&&Tt.includes("")&&(Tt=Tt.replace("",g.displayName)),Tt}while(1<=A&&0<=G);break}}}finally{Me=!1,Error.prepareStackTrace=w}return(w=g?g.displayName||g.name:"")?pe(w):""}function He(g,y){switch(g.tag){case 26:case 27:case 5:return pe(g.type);case 16:return pe("Lazy");case 13:return g.child!==y&&y!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return $e(g.type,!1);case 11:return $e(g.type.render,!1);case 1:return $e(g.type,!0);case 31:return pe("Activity");default:return""}}function Le(g){try{var y="",w=null;do y+=He(g,w),w=g,g=g.return;while(g);return y}catch(A){return` Error generating stack: `+A.message+` -`+A.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var A=g.pendingLanes;if(A===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=A&134217727;return ge!==0?(A=ge&~W,A!==0?G=qe(A):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=A&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=A&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,A,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function Xo(g,y,w,A,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Vn(y)):g.value!==""+Vn(y)&&(g.value=""+Vn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Vn(y)):w!=null?Md(g,re,Vn(w)):A!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Vn(ge):g.removeAttribute("name")}function j0(g,y,w,A,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Vn(w):"",y=y!=null?""+Vn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}A=A??G,A=typeof A!="function"&&typeof A!="symbol"&&!!A,g.checked=ge?g.checked:!!A,g.defaultChecked=!!A,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,A){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,A,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=A}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var A=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(A)||(A=tp,"selectionStart"in A&&TE(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),vy&&yy(vy,A)||(vy=A,A=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),je=W(Eh,je,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return Xr&&kc(rt,Or),fr}for(lr=A(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),Xr&&kc(rt,Or),fr}function Sn(rt,je,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;je!==null;){if(je.key===fr){if(fr=ct.type,fr===v){if(je.tag===7){w(rt,je.sibling),Ct=G(je,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(je.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===L&&Hd(fr)===je.type){w(rt,je.sibling),Ct=G(je,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,je);break}else y(rt,je);je=je.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;je!==null;){if(je.key===fr)if(je.tag===4&&je.stateNode.containerInfo===ct.containerInfo&&je.stateNode.implementation===ct.implementation){w(rt,je.sibling),Ct=G(je,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,je);break}else y(rt,je);je=je.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case L:return ct=Hd(ct),Sn(rt,je,ct,Ct)}if(I(ct))return ir(rt,je,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,je,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,je,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,je,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,je!==null&&je.tag===6?(w(rt,je.sibling),Ct=G(je,ct),Ct.return=rt,rt=Ct):(w(rt,je),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,je)}return function(rt,je,ct,Ct){try{Cy=0;var fr=Sn(rt,je,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===jx)throw lr;var rn=Xs(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var A=g.updateQueue;if(A===null)return null;if(A=A.shared,(un&2)!==0){var G=A.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),A.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,A,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,A=g.alternate;if(A!==null&&(A=A.updateQueue,w===A)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:A.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:A.shared,callbacks:A.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,A){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(A&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,A);Ry(g,y,Tt,Js(g))}else Ry(g,y,A,Js(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Js())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,A){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(A)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Js())}function ck(){return ga(Yy)}function SB(){return wi().memoizedState}function EB(){return wi().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Js();g=ch(w);var A=uh(y,g,w);A!==null&&(As(A,y,w),Ey(A,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var A=Js();w={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,A),w!==null&&(As(w,g,A),AB(w,y,A)))}function kB(g,y,w){var A=Js();Ry(g,y,w,A)}function Ry(g,y,w,A){var G={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ys(ge,re))return Vx(g,y,G,0),An===null&&qx(),!1}catch{}if(w=_E(g,y,G,A),w!==null)return As(w,g,A),AB(w,y,A),!0}return!1}function uk(g,y,w,A){if(A={lane:2,revertLane:Vk(),gesture:null,action:A,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,A,2),y!==null&&As(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}var Dy={readContext:ga,use:i4,useCallback:di,useContext:di,useEffect:di,useImperativeHandle:di,useLayoutEffect:di,useInsertionEffect:di,useMemo:di,useReducer:di,useRef:di,useState:di,useDebugValue:di,useDeferredValue:di,useTransition:di,useSyncExternalStore:di,useId:di,useHostTransitionStatus:di,useFormState:di,useActionState:di,useOptimistic:di,useMemoCache:di,useCacheRefresh:di};Dy.useEffectEvent=di;var LB={readContext:ga,use:i4,useCallback:function(g,y){return Ka().memoizedState=[g,y===void 0?null:y],g},useContext:ga,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=Ka();y=y===void 0?null:y;var A=g();if(Xd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[A,y],A},useReducer:function(g,y,w){var A=Ka();if(w!==void 0){var G=w(y);if(Xd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return A.memoizedState=A.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},A.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[A.memoizedState,g]},useRef:function(g){var y=Ka();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=Ka();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),Ka().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var A=Mr,G=Ka();if(Xr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),An===null)throw Error(n(349));(Hr&127)!==0||KI(A,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,A,W,g),[g]),A.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,A,W,w,y),null),w},useId:function(){var g=Ka(),y=An.identifierPrefix;if(Xr){var w=Al,A=_l;w=(A&~(1<<32-we(A)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof A.is=="string"?re.createElement("select",{is:A.is}):re.createElement("select"),A.multiple?W.multiple=!0:A.size&&(W.size=A.size);break;default:W=typeof A.is=="string"?re.createElement(G,{is:A.is}):re.createElement(G)}}W[nt]=y,W[st]=A;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(ya(W,G,A),G){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break e;case"img":A=!0;break e;default:A=!1}A&&Nc(y)}}return Fn(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==A&&Nc(y);else{if(typeof A!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,A=null,G=pa,G!==null)switch(G.tag){case 27:case 5:A=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||A!==null&&A.suppressHydrationWarning===!0||XP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(A),g[nt]=y,y.stateNode=g}return Fn(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(A=op(y),w!==null){if(g===null){if(!A)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Ks(y),y):(Ks(y),null);if((y.flags&128)!==0)throw Error(n(558))}return Fn(y),null;case 13:if(A=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),A!==null&&A.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Ks(y),y):(Ks(y),null)}return Ks(y),(y.flags&128)!==0?(y.lanes=w,y):(w=A!==null,g=g!==null&&g.memoizedState!==null,w&&(A=y.child,G=null,A.alternate!==null&&A.alternate.memoizedState!==null&&A.alternate.memoizedState.cachePool!==null&&(G=A.alternate.memoizedState.cachePool.pool),W=null,A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(W=A.memoizedState.cachePool.pool),W!==G&&(A.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),Fn(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),Fn(y),null;case 10:return Ac(y.type),Fn(y),null;case 19:if(H(Ti),A=y.memoizedState,A===null)return Fn(y),null;if(G=(y.flags&128)!==0,W=A.rendering,W===null)if(G)My(A,!1);else{if(fi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(A,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return X(Ti,Ti.current&1|2),Xr&&kc(y,A.treeForkCount),y.child}g=g.sibling}A.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(A,!0),A.tail===null&&A.tailMode==="hidden"&&!W.alternate&&!Xr)return Fn(y),null}else 2*Ge()-A.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304);A.isBackwards?(W.sibling=y.child,y.child=W):(g=A.last,g!==null?g.sibling=W:y.child=W,A.last=W)}return A.tail!==null?(g=A.tail,A.rendering=g,A.tail=g.sibling,A.renderingStartTime=Ge(),g.sibling=null,w=Ti.current,X(Ti,G?w&1|2:w&1),Xr&&kc(y,A.treeForkCount),g):(Fn(y),null);case 22:case 23:return Ks(y),YE(),A=y.memoizedState!==null,g!==null?g.memoizedState!==null!==A&&(y.flags|=8192):A&&(y.flags|=8192),A?(w&536870912)!==0&&(y.flags&128)===0&&(Fn(y),y.subtreeFlags&6&&(y.flags|=8192)):Fn(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),A=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(A=y.memoizedState.cachePool.pool),A!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Ri),Fn(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Ri),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Ks(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Ks(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(Ti),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Ks(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Ri),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Ri),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Ks(y);break;case 13:Ks(y);break;case 19:H(Ti);break;case 10:Ac(y.type);break;case 22:case 23:Ks(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Ri)}}function Oy(g,y){try{var w=y.updateQueue,A=w!==null?w.lastEffect:null;if(A!==null){var G=A.next;w=G;do{if((w.tag&g)===g){A=void 0;var W=w.create,re=w.inst;A=W(),re.destroy=A}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var A=y.updateQueue,G=A!==null?A.lastEffect:null;if(G!==null){var W=G.next;A=W;do{if((A.tag&g)===g){var re=A.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}A=A.next}while(A!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(A){xn(g,g.return,A)}}}function tP(g,y,w){w.props=jd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(A){xn(g,y,A)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var A=g.stateNode;break;case 30:A=g.stateNode;break;default:A=g.stateNode}typeof w=="function"?g.refCleanup=w(A):w.current=A}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,A=g.refCleanup;if(w!==null)if(typeof A=="function")try{A()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,A=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&A.focus();break e;case"img":w.src?A.src=w.src:w.srcSet&&(A.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var A=g.stateNode;Jhe(A,g.type,w,y),A[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=ws));else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var A=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);ya(y,A,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Mi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,ia=null;function Nhe(g,y){if(g=g.containerInfo,jk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var A=w.getSelection&&w.getSelection();if(A&&A.rangeCount!==0){w=A.anchorNode;var G=A.anchorOffset,W=A.focusNode;A=A.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||A!==0&&_t.nodeType!==3||(Ve=re+A),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===A&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,ia=y;ia!==null;)if(y=ia,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,ia=g;else for(;ia!==null;){switch(y=ia,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),ya(W,A,w),W[nt]=g,Cr(W),A=W;break e;case"link":var re=hF("link","href",G).get(A+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),je=gI(ge,Sn);if(rt&&je&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==je.node||yt.focusOffset!==je.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(je.node,je.offset)):(ct.setEnd(je.node,je.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!jk,Kk=jk=null}finally{un=G,B.p=A,N.T=w}}g.current=y,Hi=2}}function NP(){if(Hi===2){Hi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var A=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=A,N.T=w}}Hi=3}}function MP(){if(Hi===4||Hi===3){Hi=0,De();var g=yh,y=Tp,w=Fc,A=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Hi=5:(Hi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(A!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Hi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=A,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var A=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&(mh===null||!mh.has(A))){g=Co(w,g),w=PB(2),A=uh(y,w,2),A!==null&&(FB(w,A,y,g),At(A,2),Rl(A));break}}y=y.return}}function $k(g,y,w){var A=g.pingCache;if(A===null){A=g.pingCache=new Ihe;var G=new Set;A.set(y,G)}else G=A.get(y),G===void 0&&(G=new Set,A.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var A=g.pingCache;A!==null&&A.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,An===g&&(Hr&w)===w&&(fi===4||fi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var A=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:A=g.stateNode;break;case 22:A=g.stateNode._retryCache;break;default:throw Error(n(314))}A!==null&&A.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,A=S4;A!==null;){if(g!==0){var G=A.pendingLanes;if(G===0)var W=0;else{var re=A.suspendedLanes,ge=A.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(A,W))}else W=Hr,W=lt(A,A===An?W:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),(W&3)===0||ve(A,W)||(w=!0,qP(A,W));A=A.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,A=S4;A!==null;){var G=A.next,W=$P(A,y);W===0?(A.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=A,(g!==0||(W&3)!==0)&&(E4=!0)),A=G}Hi!==0&&Hi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,A=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&jP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var A=Ep;if(A&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},A.querySelector(G)===null&&(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var A=Ep;if(A&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),A.querySelector(G)!==null||y==="style"&&A.querySelector(Hy(W))||y==="script"&&A.querySelector(Wy(W))||(y=A.createElement("link"),ya(y,"link",g),Cr(y),A.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var A=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(A)+'"][href="'+cn(g)+'"]',W=G;switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}A=w.createElement("link"),ya(A,"link",g),Cr(A),w.head.appendChild(A)}}}function pde(g,y,w){$c.S(g,y,w);var A=Ep;if(A&&g){var G=_r(A).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=A.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=A.createElement("link");Cr(Ve),ya(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,A)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),ya(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function lF(g,y,w,A){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,A=w.get(y),A||(A={type:"style",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&A===null)throw Error(n(528,""));return re}if(y&&A!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,A=w.get(y),A||(A={type:"script",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,A){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?A.loading=1:(y=g.createElement("link"),A.preload=y,y.addEventListener("load",function(){return A.loading|=1}),y.addEventListener("error",function(){return A.loading|=2}),ya(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var A=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(A)return y.instance=A,Cr(A),A;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return A=(g.ownerDocument||g).createElement("style"),Cr(A),ya(A,"style",G),R4(A,w.precedence,g),y.instance=A;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;A=cF(w),(G=Lo.get(G))&&n6(A,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(A=w,(G=Lo.get(W))&&(A=d({},w),i6(A,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),ya(G,"link",A),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(A=y.instance,y.state.loading|=4,R4(A,w.precedence,g));return y.instance}function R4(g,y,w){for(var A=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=A.length?A[A.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,A){if(w.type==="stylesheet"&&(typeof A.media!="string"||matchMedia(A.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(A.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,A=cF(A),(G=Lo.get(G))&&n6(A,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),ya(W,"link",A),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(A),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var A=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Da=Kt.createContext({});function Vde({children:t}){const[e,r]=Kt.useState(!0),[n,i]=Kt.useState({classname:"",steps:[]}),[a,s]=Kt.useState([]),[o,l]=Kt.useState(!1),[u,h]=Kt.useState(null),[d,f]=Kt.useState(""),[p,m]=Kt.useState(""),[v,b]=Kt.useState(""),[x,C]=Kt.useState(null),[T,E]=Kt.useState([]),[_,R]=Kt.useState([]),[k,L]=Kt.useState("error"),[O,F]=Kt.useState(null),[$,q]=Kt.useState([]),[z,D]=Kt.useState(null),[I,N]=Kt.useState(""),[B,M]=Kt.useState(null);return Ae.jsx(Da.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:R,activeLogTab:k,setActiveLogTab:L,initError:O,setInitError:F,openPythonFiles:$,setOpenPythonFiles:q,idaesHistoryList:z,setIdaesHistoryList:D,osPlatform:I,setOsPlatform:N,pythonEnvInfo:B,setPythonEnvInfo:M},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_1cg4x_1",Hde="_flowsheet_steps_main_container_1cg4x_12",Wde="_step_selector_container_1cg4x_24",Yde="_python_env_container_1cg4x_30",Xde="_python_env_label_1cg4x_34",jde="_python_env_actions_1cg4x_41",Kde="_python_env_path_text_1cg4x_49",Zde="_python_env_icon_btn_1cg4x_61",Qde="_dropdown_select_1cg4x_86",Jde="_step_selector_checkbox_1cg4x_103",efe="_open_results_view_container_1cg4x_131",tfe="_open_results_view_select_1cg4x_135",rfe="_view_switch_container_1cg4x_150",nfe="_active_1cg4x_178",Ca={tree_app_container:Ude,flowsheet_steps_main_container:Hde,step_selector_container:Wde,python_env_container:Yde,python_env_label:Xde,python_env_actions:jde,python_env_path_text:Kde,python_env_icon_btn:Zde,dropdown_select:Qde,step_selector_checkbox:Jde,open_results_view_container:efe,open_results_view_select:tfe,view_switch_container:rfe,active:nfe},ife="_config_title_8m99f_1",afe="_config_control_8m99f_7",sfe="_update_button_8m99f_20",ofe="_button_group_8m99f_25",lfe="_cancel_button_8m99f_31",kh={config_title:ife,config_control:afe,update_button:sfe,button_group:ofe,cancel_button:lfe};function cfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=Kt.useContext(Da),[i,a]=Kt.useState(null);Kt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return Kt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Ae.jsxs("div",{children:[Ae.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Ae.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Ae.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Ae.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Ae.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.button_group}`,children:[Ae.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Ae.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const ufe="_run_flowsheet_section_ajmxp_1",hfe="_run_flowsheet_button_container_ajmxp_4",dfe="_run_flowsheet_button_ajmxp_4",ffe="_run_flowsheet_animation_container_ajmxp_28",pfe="_running_time_container_ajmxp_35",gfe="_running_timer_container_hidden_ajmxp_42",mfe="_running_time_label_ajmxp_46",yfe="_running_dots_ajmxp_50",vfe="_running_time_ajmxp_35",bfe="_cancel_flowsheet_run_btn_ajmxp_60",xfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:ufe,run_flowsheet_button_container:hfe,run_flowsheet_button:dfe,run_flowsheet_animation_container:ffe,running_time_container:pfe,running_timer_container_hidden:gfe,running_time_label:mfe,running_dots:yfe,running_time:vfe,cancel_flowsheet_run_btn:bfe,cancel_flowsheet_run_btn_hidden:xfe};function Tfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=Kt.useContext(Da),[l,u]=Kt.useState(0),[h,d]=Kt.useState("."),[f,p]=Kt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};Kt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),Kt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Ae.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Ae.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Ae.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Ae.jsx("button",{onClick:()=>v(),className:` +`+A.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var A=g.pendingLanes;if(A===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=A&134217727;return ge!==0?(A=ge&~W,A!==0?G=qe(A):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=A&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=A&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,A,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function Xo(g,y,w,A,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Vn(y)):g.value!==""+Vn(y)&&(g.value=""+Vn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Vn(y)):w!=null?Md(g,re,Vn(w)):A!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Vn(ge):g.removeAttribute("name")}function j0(g,y,w,A,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Vn(w):"",y=y!=null?""+Vn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}A=A??G,A=typeof A!="function"&&typeof A!="symbol"&&!!A,g.checked=ge?g.checked:!!A,g.defaultChecked=!!A,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,A){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,A,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=A}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var A=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(A)||(A=tp,"selectionStart"in A&&TE(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),vy&&yy(vy,A)||(vy=A,A=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),je=W(Eh,je,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),Xr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return Xr&&kc(rt,Or),fr}for(lr=A(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),Xr&&kc(rt,Or),fr}function Sn(rt,je,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;je!==null;){if(je.key===fr){if(fr=ct.type,fr===v){if(je.tag===7){w(rt,je.sibling),Ct=G(je,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(je.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===L&&Hd(fr)===je.type){w(rt,je.sibling),Ct=G(je,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,je);break}else y(rt,je);je=je.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;je!==null;){if(je.key===fr)if(je.tag===4&&je.stateNode.containerInfo===ct.containerInfo&&je.stateNode.implementation===ct.implementation){w(rt,je.sibling),Ct=G(je,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,je);break}else y(rt,je);je=je.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case L:return ct=Hd(ct),Sn(rt,je,ct,Ct)}if(I(ct))return ir(rt,je,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,je,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,je,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,je,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,je!==null&&je.tag===6?(w(rt,je.sibling),Ct=G(je,ct),Ct.return=rt,rt=Ct):(w(rt,je),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,je)}return function(rt,je,ct,Ct){try{Cy=0;var fr=Sn(rt,je,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===jx)throw lr;var rn=Xs(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var A=g.updateQueue;if(A===null)return null;if(A=A.shared,(un&2)!==0){var G=A.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),A.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,A,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,A=g.alternate;if(A!==null&&(A=A.updateQueue,w===A)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:A.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:A.shared,callbacks:A.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,A){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(A&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,A);Ry(g,y,Tt,Js(g))}else Ry(g,y,A,Js(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Js())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,A){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(A)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Js())}function ck(){return ma(Yy)}function SB(){return Ci().memoizedState}function EB(){return Ci().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Js();g=ch(w);var A=uh(y,g,w);A!==null&&(As(A,y,w),Ey(A,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var A=Js();w={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,A),w!==null&&(As(w,g,A),AB(w,y,A)))}function kB(g,y,w){var A=Js();Ry(g,y,w,A)}function Ry(g,y,w,A){var G={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ys(ge,re))return Vx(g,y,G,0),An===null&&qx(),!1}catch{}if(w=_E(g,y,G,A),w!==null)return As(w,g,A),AB(w,y,A),!0}return!1}function uk(g,y,w,A){if(A={lane:2,revertLane:Vk(),gesture:null,action:A,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,A,2),y!==null&&As(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}var Dy={readContext:ma,use:i4,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useLayoutEffect:fi,useInsertionEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useSyncExternalStore:fi,useId:fi,useHostTransitionStatus:fi,useFormState:fi,useActionState:fi,useOptimistic:fi,useMemoCache:fi,useCacheRefresh:fi};Dy.useEffectEvent=fi;var LB={readContext:ma,use:i4,useCallback:function(g,y){return Ka().memoizedState=[g,y===void 0?null:y],g},useContext:ma,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=Ka();y=y===void 0?null:y;var A=g();if(Xd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[A,y],A},useReducer:function(g,y,w){var A=Ka();if(w!==void 0){var G=w(y);if(Xd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return A.memoizedState=A.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},A.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[A.memoizedState,g]},useRef:function(g){var y=Ka();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=Ka();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),Ka().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var A=Mr,G=Ka();if(Xr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),An===null)throw Error(n(349));(Hr&127)!==0||KI(A,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,A,W,g),[g]),A.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,A,W,w,y),null),w},useId:function(){var g=Ka(),y=An.identifierPrefix;if(Xr){var w=Al,A=_l;w=(A&~(1<<32-we(A)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof A.is=="string"?re.createElement("select",{is:A.is}):re.createElement("select"),A.multiple?W.multiple=!0:A.size&&(W.size=A.size);break;default:W=typeof A.is=="string"?re.createElement(G,{is:A.is}):re.createElement(G)}}W[nt]=y,W[st]=A;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(va(W,G,A),G){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break e;case"img":A=!0;break e;default:A=!1}A&&Nc(y)}}return Fn(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==A&&Nc(y);else{if(typeof A!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,A=null,G=ga,G!==null)switch(G.tag){case 27:case 5:A=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||A!==null&&A.suppressHydrationWarning===!0||XP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(A),g[nt]=y,y.stateNode=g}return Fn(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(A=op(y),w!==null){if(g===null){if(!A)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Ks(y),y):(Ks(y),null);if((y.flags&128)!==0)throw Error(n(558))}return Fn(y),null;case 13:if(A=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),A!==null&&A.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;Fn(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Ks(y),y):(Ks(y),null)}return Ks(y),(y.flags&128)!==0?(y.lanes=w,y):(w=A!==null,g=g!==null&&g.memoizedState!==null,w&&(A=y.child,G=null,A.alternate!==null&&A.alternate.memoizedState!==null&&A.alternate.memoizedState.cachePool!==null&&(G=A.alternate.memoizedState.cachePool.pool),W=null,A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(W=A.memoizedState.cachePool.pool),W!==G&&(A.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),Fn(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),Fn(y),null;case 10:return Ac(y.type),Fn(y),null;case 19:if(H(wi),A=y.memoizedState,A===null)return Fn(y),null;if(G=(y.flags&128)!==0,W=A.rendering,W===null)if(G)My(A,!1);else{if(pi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(A,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return X(wi,wi.current&1|2),Xr&&kc(y,A.treeForkCount),y.child}g=g.sibling}A.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(A,!0),A.tail===null&&A.tailMode==="hidden"&&!W.alternate&&!Xr)return Fn(y),null}else 2*Ge()-A.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(A,!1),y.lanes=4194304);A.isBackwards?(W.sibling=y.child,y.child=W):(g=A.last,g!==null?g.sibling=W:y.child=W,A.last=W)}return A.tail!==null?(g=A.tail,A.rendering=g,A.tail=g.sibling,A.renderingStartTime=Ge(),g.sibling=null,w=wi.current,X(wi,G?w&1|2:w&1),Xr&&kc(y,A.treeForkCount),g):(Fn(y),null);case 22:case 23:return Ks(y),YE(),A=y.memoizedState!==null,g!==null?g.memoizedState!==null!==A&&(y.flags|=8192):A&&(y.flags|=8192),A?(w&536870912)!==0&&(y.flags&128)===0&&(Fn(y),y.subtreeFlags&6&&(y.flags|=8192)):Fn(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),A=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(A=y.memoizedState.cachePool.pool),A!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Di),Fn(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Di),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Ks(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Ks(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(wi),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Ks(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Di),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Di),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Ks(y);break;case 13:Ks(y);break;case 19:H(wi);break;case 10:Ac(y.type);break;case 22:case 23:Ks(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Di)}}function Oy(g,y){try{var w=y.updateQueue,A=w!==null?w.lastEffect:null;if(A!==null){var G=A.next;w=G;do{if((w.tag&g)===g){A=void 0;var W=w.create,re=w.inst;A=W(),re.destroy=A}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var A=y.updateQueue,G=A!==null?A.lastEffect:null;if(G!==null){var W=G.next;A=W;do{if((A.tag&g)===g){var re=A.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}A=A.next}while(A!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(A){xn(g,g.return,A)}}}function tP(g,y,w){w.props=jd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(A){xn(g,y,A)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var A=g.stateNode;break;case 30:A=g.stateNode;break;default:A=g.stateNode}typeof w=="function"?g.refCleanup=w(A):w.current=A}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,A=g.refCleanup;if(w!==null)if(typeof A=="function")try{A()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,A=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&A.focus();break e;case"img":w.src?A.src=w.src:w.srcSet&&(A.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var A=g.stateNode;Jhe(A,g.type,w,y),A[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=ws));else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(A!==4&&(A===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var A=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);va(y,A,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Oi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,aa=null;function Nhe(g,y){if(g=g.containerInfo,jk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var A=w.getSelection&&w.getSelection();if(A&&A.rangeCount!==0){w=A.anchorNode;var G=A.anchorOffset,W=A.focusNode;A=A.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||A!==0&&_t.nodeType!==3||(Ve=re+A),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===A&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,aa=y;aa!==null;)if(y=aa,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,aa=g;else for(;aa!==null;){switch(y=aa,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),va(W,A,w),W[nt]=g,Cr(W),A=W;break e;case"link":var re=hF("link","href",G).get(A+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),je=gI(ge,Sn);if(rt&&je&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==je.node||yt.focusOffset!==je.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(je.node,je.offset)):(ct.setEnd(je.node,je.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!jk,Kk=jk=null}finally{un=G,B.p=A,N.T=w}}g.current=y,Wi=2}}function NP(){if(Wi===2){Wi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var A=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=A,N.T=w}}Wi=3}}function MP(){if(Wi===4||Wi===3){Wi=0,De();var g=yh,y=Tp,w=Fc,A=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Wi=5:(Wi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(A!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Wi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=A,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var A=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&(mh===null||!mh.has(A))){g=Co(w,g),w=PB(2),A=uh(y,w,2),A!==null&&(FB(w,A,y,g),At(A,2),Rl(A));break}}y=y.return}}function $k(g,y,w){var A=g.pingCache;if(A===null){A=g.pingCache=new Ihe;var G=new Set;A.set(y,G)}else G=A.get(y),G===void 0&&(G=new Set,A.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var A=g.pingCache;A!==null&&A.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,An===g&&(Hr&w)===w&&(pi===4||pi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var A=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:A=g.stateNode;break;case 22:A=g.stateNode._retryCache;break;default:throw Error(n(314))}A!==null&&A.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,A=S4;A!==null;){if(g!==0){var G=A.pendingLanes;if(G===0)var W=0;else{var re=A.suspendedLanes,ge=A.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(A,W))}else W=Hr,W=lt(A,A===An?W:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),(W&3)===0||ve(A,W)||(w=!0,qP(A,W));A=A.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,A=S4;A!==null;){var G=A.next,W=$P(A,y);W===0?(A.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=A,(g!==0||(W&3)!==0)&&(E4=!0)),A=G}Wi!==0&&Wi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,A=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&jP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var A=Ep;if(A&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},A.querySelector(G)===null&&(y=A.createElement("link"),va(y,"link",g),Cr(y),A.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var A=Ep;if(A&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),A.querySelector(G)!==null||y==="style"&&A.querySelector(Hy(W))||y==="script"&&A.querySelector(Wy(W))||(y=A.createElement("link"),va(y,"link",g),Cr(y),A.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var A=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(A)+'"][href="'+cn(g)+'"]',W=G;switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}A=w.createElement("link"),va(A,"link",g),Cr(A),w.head.appendChild(A)}}}function pde(g,y,w){$c.S(g,y,w);var A=Ep;if(A&&g){var G=_r(A).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=A.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=A.createElement("link");Cr(Ve),va(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,A)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var A=_r(w).hoistableScripts,G=_p(g),W=A.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function lF(g,y,w,A){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,A=w.get(y),A||(A={type:"style",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&A===null)throw Error(n(528,""));return re}if(y&&A!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,A=w.get(y),A||(A={type:"script",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,A){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?A.loading=1:(y=g.createElement("link"),A.preload=y,y.addEventListener("load",function(){return A.loading|=1}),y.addEventListener("error",function(){return A.loading|=2}),va(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var A=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(A)return y.instance=A,Cr(A),A;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return A=(g.ownerDocument||g).createElement("style"),Cr(A),va(A,"style",G),R4(A,w.precedence,g),y.instance=A;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;A=cF(w),(G=Lo.get(G))&&n6(A,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",A),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(A=w,(G=Lo.get(W))&&(A=d({},w),i6(A,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),va(G,"link",A),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(A=y.instance,y.state.loading|=4,R4(A,w.precedence,g));return y.instance}function R4(g,y,w){for(var A=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=A.length?A[A.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,A){if(w.type==="stylesheet"&&(typeof A.media!="string"||matchMedia(A.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(A.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,A=cF(A),(G=Lo.get(G))&&n6(A,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",A),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(A),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var A=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Da=Kt.createContext({});function Vde({children:t}){const[e,r]=Kt.useState(!0),[n,i]=Kt.useState({classname:"",steps:[]}),[a,s]=Kt.useState([]),[o,l]=Kt.useState(!1),[u,h]=Kt.useState(null),[d,f]=Kt.useState(""),[p,m]=Kt.useState(""),[v,b]=Kt.useState(""),[x,C]=Kt.useState(null),[T,E]=Kt.useState([]),[_,R]=Kt.useState([]),[k,L]=Kt.useState("error"),[O,F]=Kt.useState(null),[$,q]=Kt.useState([]),[z,D]=Kt.useState(null),[I,N]=Kt.useState(""),[B,M]=Kt.useState(null);return Ae.jsx(Da.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:R,activeLogTab:k,setActiveLogTab:L,initError:O,setInitError:F,openPythonFiles:$,setOpenPythonFiles:q,idaesHistoryList:z,setIdaesHistoryList:D,osPlatform:I,setOsPlatform:N,pythonEnvInfo:B,setPythonEnvInfo:M},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_boe10_1",Hde="_flowsheet_steps_main_container_boe10_12",Wde="_flowsheet_file_section_boe10_24",Yde="_section_label_boe10_28",Xde="_section_hint_boe10_35",jde="_steps_container_boe10_42",Kde="_steps_actions_footer_boe10_48",Zde="_init_error_box_boe10_55",Qde="_init_error_text_boe10_61",Jde="_step_selector_container_boe10_67",efe="_python_env_container_boe10_73",tfe="_python_env_label_boe10_77",rfe="_python_env_actions_boe10_84",nfe="_python_env_path_text_boe10_92",ife="_python_env_icon_btn_boe10_104",afe="_dropdown_select_boe10_129",sfe="_step_selector_checkbox_boe10_146",ofe="_open_results_view_container_boe10_174",lfe="_open_results_view_btn_boe10_178",cfe="_view_switch_container_boe10_198",ufe="_active_boe10_226",Wn={tree_app_container:Ude,flowsheet_steps_main_container:Hde,flowsheet_file_section:Wde,section_label:Yde,section_hint:Xde,steps_container:jde,steps_actions_footer:Kde,init_error_box:Zde,init_error_text:Qde,step_selector_container:Jde,python_env_container:efe,python_env_label:tfe,python_env_actions:rfe,python_env_path_text:nfe,python_env_icon_btn:ife,dropdown_select:afe,step_selector_checkbox:sfe,open_results_view_container:ofe,open_results_view_btn:lfe,view_switch_container:cfe,active:ufe},hfe="_config_title_8m99f_1",dfe="_config_control_8m99f_7",ffe="_update_button_8m99f_20",pfe="_button_group_8m99f_25",gfe="_cancel_button_8m99f_31",kh={config_title:hfe,config_control:dfe,update_button:ffe,button_group:pfe,cancel_button:gfe};function mfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=Kt.useContext(Da),[i,a]=Kt.useState(null);Kt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return Kt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Ae.jsxs("div",{children:[Ae.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Ae.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Ae.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Ae.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Ae.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.button_group}`,children:[Ae.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Ae.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const yfe="_run_flowsheet_section_ajmxp_1",vfe="_run_flowsheet_button_container_ajmxp_4",bfe="_run_flowsheet_button_ajmxp_4",xfe="_run_flowsheet_animation_container_ajmxp_28",Tfe="_running_time_container_ajmxp_35",wfe="_running_timer_container_hidden_ajmxp_42",Cfe="_running_time_label_ajmxp_46",Sfe="_running_dots_ajmxp_50",Efe="_running_time_ajmxp_35",kfe="_cancel_flowsheet_run_btn_ajmxp_60",_fe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:yfe,run_flowsheet_button_container:vfe,run_flowsheet_button:bfe,run_flowsheet_animation_container:xfe,running_time_container:Tfe,running_timer_container_hidden:wfe,running_time_label:Cfe,running_dots:Sfe,running_time:Efe,cancel_flowsheet_run_btn:kfe,cancel_flowsheet_run_btn_hidden:_fe};function Afe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=Kt.useContext(Da),[l,u]=Kt.useState(0),[h,d]=Kt.useState("."),[f,p]=Kt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};Kt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),Kt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Ae.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Ae.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Ae.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Ae.jsx("button",{onClick:()=>v(),className:` ${r?Ro.cancel_flowsheet_run_btn:Ro.cancel_flowsheet_run_btn_hidden} `,children:"Cancel"}),Ae.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Ae.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Ae.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Ae.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:Ae.jsxs("div",{className:` ${r?Ro.running_time_container:Ro.running_timer_container_hidden} - `,children:[Ae.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Ae.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Ae.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const wfe="_navContainer_1o0u5_1",Cfe={navContainer:wfe};function Sfe({setShowConfig:t}){return Ae.jsx("nav",{className:Cfe.navContainer,children:Ae.jsx(Tfe,{setShowConfig:t})})}function Efe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,openPythonFiles:a,activateFileName:s,pythonEnvInfo:o}=Kt.useContext(Da),[l,u]=Kt.useState([]),h=b=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:b})},d=b=>{const x=b.target.value;x&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:x})},f=b=>{const x=b.target.value;x&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:x})},p=()=>{const b=o?.current?.path;b&&navigator.clipboard.writeText(b)},m=(b,x)=>{let C=[];b.target.checked?C=Array.from({length:x+1},(E,_)=>_):(C=Array.from({length:x},(E,_)=>_),C=C.sort((E,_)=>E-_)),u(C);const T=C.map(E=>t.steps[E]).filter(Boolean);r(T)},v=()=>{if(n)return console.log("loading idaes-extension-steps"),Ae.jsx("div",{children:Ae.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Ae.jsx("div",{style:{padding:"10px",backgroundColor:"var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, 0.1))",border:"1px solid var(--vscode-inputValidation-errorBorder, red)",color:"var(--vscode-errorForeground, red)",borderRadius:"4px",marginTop:"15px"},children:Ae.jsx("p",{style:{margin:0,fontWeight:"bold",whiteSpace:"pre-wrap"},children:i})});if(!t)return Ae.jsx("div",{children:Ae.jsx("p",{children:"Loading config data..."})});const b=Object.keys(t);if(!b.includes("steps"))return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Steps Display"}),Ae.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(b.includes("steps")&&b.length===0)return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Step Display"}),Ae.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(b.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((C,T)=>Ae.jsxs("div",{className:`${Ca.step_selector_container}`,children:[Ae.jsx("input",{type:"checkbox",id:`step_${T}`,className:`${Ca.step_selector_checkbox}`,checked:l.includes(T),onChange:E=>m(E,T)}),Ae.jsx("label",{htmlFor:`${T}`,children:C})]},C+T))};return Kt.useEffect(()=>{console.log("Selected steps:",l)},[l]),Ae.jsxs("div",{className:`${Ca.flowsheet_steps_main_container}`,children:[Ae.jsxs("div",{style:{marginBottom:"20px"},children:[Ae.jsx("label",{style:{display:"block",margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Flowsheet to inspect:"}),Ae.jsxs("select",{className:Ca.dropdown_select,onChange:d,value:a?.find(b=>b.name===s)?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),a?.map((b,x)=>Ae.jsx("option",{value:b.path,children:b.name},x))]}),Ae.jsx("p",{style:{margin:"5px 0 0 0",fontSize:"11px",color:"var(--vscode-descriptionForeground, #cccccc)",fontStyle:"italic"},children:"Open the flowsheet in editor to select"})]}),Ae.jsxs("div",{className:Ca.python_env_container,children:[Ae.jsx("label",{className:Ca.python_env_label,children:"Current Python:"}),Ae.jsxs("div",{className:Ca.python_env_actions,children:[Ae.jsx("span",{className:Ca.python_env_path_text,children:o?.current?.path||"No interpreter selected"}),Ae.jsx("button",{className:Ca.python_env_icon_btn,onClick:p,title:"Copy interpreter path",disabled:!o?.current?.path,children:Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),Ae.jsxs("select",{className:Ca.dropdown_select,onChange:f,value:o?.current?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),o?.envs.map((b,x)=>Ae.jsx("option",{value:b.path,children:b.label},x))]})]}),Ae.jsx("p",{style:{margin:"0 0 10px 0",fontSize:"13px",color:"var(--vscode-foreground)"},children:"Select Steps to Run:"}),Ae.jsx("div",{className:`${Ca.steps_container}`,children:v()}),Ae.jsxs("div",{style:{marginTop:"15px",display:"flex",flexDirection:"column",gap:"15px"},children:[Ae.jsx(Sfe,{setShowConfig:e}),Ae.jsx("div",{className:`${Ca.open_results_view_container}`,children:Ae.jsx("button",{className:`${Ca.open_results_view_select}`,style:{width:"100%",padding:"8px",backgroundColor:"transparent",border:"1px solid var(--vscode-editor-foreground)",color:"var(--vscode-editor-foreground)",cursor:"pointer",borderRadius:"4px",display:"flex",justifyContent:"center",alignItems:"center",gap:"8px",backgroundImage:"none"},onClick:()=>h("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function kfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=Kt.useContext(Da),[n,i]=Kt.useState(!1);return Kt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Ae.jsxs(Ae.Fragment,{children:[Ae.jsxs("h2",{children:["Current Files is: ",e]}),Ae.jsx("div",{style:{display:n?"block":"none"},children:Ae.jsx(cfe,{setShowConfig:i})}),Ae.jsx("div",{style:{display:n?"none":"block"},children:Ae.jsx(Efe,{idaesRunInfo:t,setShowConfig:i})})]})}const _fe="_container_1qs3w_1",Afe="_controlBar_1qs3w_10",Lfe="_searchBox_1qs3w_18",Rfe="_actionGroup_1qs3w_42",Dfe="_runCount_1qs3w_50",Nfe="_tableContainer_1qs3w_70",Mfe="_headerRow_1qs3w_76",Ofe="_dataRowContainer_1qs3w_89",Ife="_dataRow_1qs3w_89",Bfe="_colStatus_1qs3w_119",Pfe="_colTime_1qs3w_124",Ffe="_colTags_1qs3w_128",$fe="_tagBadge_1qs3w_134",zfe="_emptyMessage_1qs3w_143",qfe="_cssTooltip_1qs3w_175",Vfe="_colFlowsheet_1qs3w_211",Gfe="_flowsheetText_1qs3w_216",Ufe="_pathTooltip_1qs3w_225",Dn={container:_fe,controlBar:Afe,searchBox:Lfe,actionGroup:Rfe,runCount:Dfe,tableContainer:Nfe,headerRow:Mfe,dataRowContainer:Ofe,dataRow:Ife,colStatus:Bfe,colTime:Pfe,colTags:Ffe,tagBadge:$fe,emptyMessage:zfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:qfe,colFlowsheet:Vfe,flowsheetText:Gfe,pathTooltip:Ufe};function Hfe(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function Wfe(){const{idaesHistoryList:t}=Kt.useContext(Da),[e,r]=Kt.useState(""),n=Kt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Ae.jsxs("div",{className:Dn.container,children:[Ae.jsxs("div",{className:Dn.controlBar,children:[Ae.jsx("input",{type:"text",className:Dn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Ae.jsx("div",{className:Dn.actionGroup,children:Ae.jsxs("span",{className:Dn.runCount,children:["Runs: ",n.length]})})]}),Ae.jsxs("div",{className:Dn.tableContainer,children:[Ae.jsxs("div",{className:Dn.headerRow,children:[Ae.jsx("div",{className:Dn.colStatus,children:"Status"}),Ae.jsx("div",{className:Dn.colTime,children:"Since"}),Ae.jsx("div",{children:"Flowsheet"}),Ae.jsx("div",{className:Dn.colTags,children:"Tags"})]}),Ae.jsxs("div",{className:Dn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Ae.jsxs("div",{className:Dn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Ae.jsx("div",{className:Dn.colStatus,children:a.status?Ae.jsx("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--success"]}`,children:"✓"}):Ae.jsxs("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Ae.jsx("span",{className:Dn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Ae.jsx("div",{className:Dn.colTime,children:Hfe(a.created)}),Ae.jsxs("div",{className:Dn.colFlowsheet,children:[Ae.jsx("span",{className:Dn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Ae.jsx("div",{className:Dn.pathTooltip,children:l})]}),Ae.jsx("div",{className:Dn.colTags,children:Ae.jsx("span",{className:Dn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Ae.jsx("div",{className:Dn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Ae.jsxs("div",{className:Dn.emptyMessage,children:[Ae.jsx("div",{children:"No historical runs found across any flowsheet."}),Ae.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Ae.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function Yfe(){const[t,e]=Kt.useState("runFlowsheet"),r=n=>{e(n)};return Ae.jsxs("div",{className:`${Ca.tree_app_container}`,children:[Ae.jsxs("ul",{className:Ca.view_switch_container,children:[Ae.jsx("li",{className:t==="runFlowsheet"?Ca.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Ae.jsx("li",{className:t==="loadFlowsheet"?Ca.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Ae.jsx(kfe,{}),t==="loadFlowsheet"&&Ae.jsx(Wfe,{})]})}function Xfe(){const[t,e]=Kt.useState(!1),{editorContent:r,activateFileName:n}=Kt.useContext(Da),i=()=>{e(!t)};return Ae.jsxs("div",{children:[Ae.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Ae.jsxs("div",{style:{display:t?"block":"none"},children:[Ae.jsx("h1",{children:"Editor Page "}),Ae.jsxs("h2",{children:["File: ",n]}),Ae.jsx("pre",{children:r})]})]})}const jfe="modulepreload",Kfe=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=Kfe(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":jfe,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},Zfe=t3.exports,FF;function Qfe(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(Zfe,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;R[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(L(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=L,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)jY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)jY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${sa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},t0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:e0e,unit:t0e},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Pa={ALL:0,RGB:1,HSL:2};let r0e=class{constructor(){this.type=Pa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Pa.ALL}is(e){return this.type===e}};class n0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new r0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Pa.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Pa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Pa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Pa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Pa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Pa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Pa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new n0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},jv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(jv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:jv,rgba:jv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||jv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Pa.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?jv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),i0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},a0e=t=>i0e(t)>=.5,ys=t=>!a0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},s0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,s0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:o0e,getPrototypeOf:l0e,getOwnPropertyDescriptor:c0e}=Object;let{freeze:ds,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(o0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function g0e(t){for(let e=0;e/gm),x0e=Go(/\$\{[\w\W]*/gm),T0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),w0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),C0e=Go(/^(?:\w+script|data):/i),S0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),E0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:w0e,ATTR_WHITESPACE:S0e,CUSTOM_ELEMENT:E0e,DATA_ATTR:T0e,DOCTYPE_NAME:JY,ERB_EXPR:b0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:C0e,MUSTACHE_EXPR:v0e,TMPLIT_EXPR:x0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},k0e=function(){return typeof window>"u"?null:window},_0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function eX(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:k0e();const e=vt=>eX(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:R,createNodeIterator:k,createDocumentFragment:L,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&R&&R.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let X=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let j=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Le=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},Xe=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,X=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,Xe=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Le=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,j=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Le=!0),Ye&&(P=Fr({},GF),X=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(X,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(X,C6),Fr(X,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(X,C6),Fr(X,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(X,HF),Fr(X,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(X===Z&&(X=Il(X)),Fr(X,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=_0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,...m0e]),St=Fr({},[...w6,...y0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Le||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=R.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt)))return!1;if(Ge&&!Xe[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Bn=v(_r[Qr],!0);Bn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Bn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!X[ft]||Q[ft]){if(!(Ut(Ne)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Ne)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ne))&&(j.attributeNameCheck instanceof RegExp&&Za(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft,Ne))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&d0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Bn}=_r,_n=Qe(Cr),Jn=Bn;let Ur=Cr==="value"?Jn:f0e(Jn);if(Rt.attrName=_n,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(_n==="id"||_n==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(_n==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,_n,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,_n)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==Jn)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Bn=Qe(vt.nodeName);if(!P[Bn]||ee[Bn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Le&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Le?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Le){if(me){ft.normalize();let Bn=ft.innerHTML;Jy([q,z,D],_n=>{Bn=Lp(Bn,_n," ")}),ft.innerHTML=Bn}if(Oe)for(_r=L.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(X.shadowroot||X.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(JY,ft.ownerDocument.doctype.name)&&(Qr=" -`+Qr),me&&Jy([q,z,D],Bn=>{Qr=Lp(Qr,Bn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=u0e($[vt],Ne);return ft===-1?void 0:h0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=eX(),tX=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,A0e=/\s*%%.*\n/gm,Wg,rX=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tX,"").replace(E2,"").replace(A0e,` -`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rX(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nX(e,r,n)},"registerLazyLoadedDiagrams"),nX=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),L0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),ki=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,R0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),D0e=S(t=>{const e=new R0e;return e.calculate(t),e},"getThemeVariables"),Xg,N0e=(Xg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),M0e=S(t=>{const e=new N0e;return e.calculate(t),e},"getThemeVariables"),jg,O0e=(jg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),Hb=S(t=>{const e=new O0e;return e.calculate(t),e},"getThemeVariables"),Kg,I0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),B0e=S(t=>{const e=new I0e;return e.calculate(t),e},"getThemeVariables"),Zg,P0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),F0e=S(t=>{const e=new P0e;return e.calculate(t),e},"getThemeVariables"),Qg,$0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),z0e=S(t=>{const e=new $0e;return e.calculate(t),e},"getThemeVariables"),Jg,q0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),V0e=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),e1,G0e=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),U0e=S(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),t1,H0e=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),W0e=S(t=>{const e=new H0e;return e.calculate(t),e},"getThemeVariables"),r1,Y0e=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),X0e=S(t=>{const e=new Y0e;return e.calculate(t),e},"getThemeVariables"),n1,j0e=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),K0e=S(t=>{const e=new j0e;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:D0e},dark:{getThemeVariables:M0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:B0e},neutral:{getThemeVariables:F0e},neo:{getThemeVariables:z0e},"neo-dark":{getThemeVariables:V0e},redux:{getThemeVariables:U0e},"redux-dark":{getThemeVariables:W0e},"redux-color":{getThemeVariables:X0e},"redux-dark-color":{getThemeVariables:K0e}},eo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},iX={...eo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...eo.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...eo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...eo.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...eo.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...eo.pie,useWidth:984},xyChart:{...eo.xyChart,useWidth:void 0},requirement:{...eo.requirement,useWidth:void 0},packet:{...eo.packet},treeView:{...eo.treeView,useWidth:void 0},radar:{...eo.radar},ishikawa:{...eo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...eo.venn}},aX=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aX(t[n],"")]:[...r,e+n],[]),"keyify"),Z0e=new Set(aX(iX,"")),Vr=iX,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!Z0e.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=Q0e(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),Q0e=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ns=ki({},tm),d5,e0=[],k2=ki({},tm),gC=S((t,e)=>{let r=ki({},t),n={};for(const i of e)lX(i),n=ki(n,i);if(r=ki(r,n),n.theme&&n.theme in xu){const i=ki({},d5),a=ki(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uX(k2),k2},"updateCurrentConfig"),J0e=S(t=>(Ns=ki({},tm),Ns=ki(Ns,t),t.theme&&xu[t.theme]&&(Ns.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ns,e0),Ns),"setSiteConfig"),epe=S(t=>{d5=ki({},t)},"saveConfigFromInitialize"),tpe=S(t=>(Ns=ki(Ns,t),gC(Ns,e0),Ns),"updateSiteConfig"),sX=S(()=>ki({},Ns),"getSiteConfig"),oX=S(t=>(uX(t),ki(k2,t),gr()),"setConfig"),gr=S(()=>ki({},k2),"getConfig"),lX=S(t=>{t&&(["secure",...Ns.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lX(t[e])}))},"sanitize"),rpe=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ns,e0)},"addDirective"),f5=S((t=Ns)=>{e0=[],gC(t,e0)},"reset"),npe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},XF={},cX=S(t=>{XF[t]||(oe.warn(npe[t]),XF[t]=!0)},"issueWarning"),uX=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cX("LAZY_LOAD_DEPRECATED")},"checkConfig"),ipe=S(()=>{let t={};d5&&(t=ki(t,d5));for(const e of e0)t=ki(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cX("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,ape=S(t=>t?fX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),spe=(()=>{let t=!1;return()=>{t||(hX(),t=!0)}})();function hX(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hX,"setupDompurifyHooks");var dX=S(t=>(spe(),Qh.sanitize(t)),"removeScript"),jF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dX(t):r!=="loose"&&(t=fX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=upe(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(jF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(jF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),ope=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),lpe=S(t=>Bm.test(t),"hasBreaks"),cpe=S(t=>t.split(Bm),"splitBreaks"),upe=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fX=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),hpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),dpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),fpe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),ppe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Li=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),gpe=S(async(t,e)=>{if(!Li(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>q_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Li(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await gpe(t,e),e),"renderKatexSanitized"),$t={getRows:ape,sanitizeText:Jr,sanitizeTextOrArray:ope,hasBreaks:lpe,splitBreaks:cpe,lineBreakRegex:Bm,removeScript:dX,getUrl:mC,evaluate:Pu,getMax:hpe,getMin:dpe},mpe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),ype=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Gi=S(function(t,e,r,n){const i=ype(e,r,n);mpe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Gi(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},vpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { + `,children:[Ae.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Ae.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Ae.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const Lfe="_navContainer_1o0u5_1",Rfe={navContainer:Lfe};function Dfe({setShowConfig:t}){return Ae.jsx("nav",{className:Rfe.navContainer,children:Ae.jsx(Afe,{setShowConfig:t})})}function Nfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,openPythonFiles:a,activateFileName:s,pythonEnvInfo:o}=Kt.useContext(Da),[l,u]=Kt.useState([]),h=b=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:b})},d=b=>{const x=b.target.value;x&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:x})},f=b=>{const x=b.target.value;x&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:x})},p=()=>{const b=o?.current?.path;b&&navigator.clipboard.writeText(b)},m=(b,x)=>{let C=[];b.target.checked?C=Array.from({length:x+1},(E,_)=>_):(C=Array.from({length:x},(E,_)=>_),C=C.sort((E,_)=>E-_)),u(C);const T=C.map(E=>t.steps[E]).filter(Boolean);r(T)},v=()=>{if(n)return console.log("loading idaes-extension-steps"),Ae.jsx("div",{children:Ae.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Ae.jsx("div",{className:Wn.init_error_box,children:Ae.jsx("p",{className:Wn.init_error_text,children:i})});if(!t)return Ae.jsx("div",{children:Ae.jsx("p",{children:"Loading config data..."})});const b=Object.keys(t);if(!b.includes("steps"))return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Steps Display"}),Ae.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(b.includes("steps")&&b.length===0)return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Step Display"}),Ae.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(b.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((C,T)=>Ae.jsxs("div",{className:`${Wn.step_selector_container}`,children:[Ae.jsx("input",{type:"checkbox",id:`step_${T}`,className:`${Wn.step_selector_checkbox}`,checked:l.includes(T),onChange:E=>m(E,T)}),Ae.jsx("label",{htmlFor:`${T}`,children:C})]},C+T))};return Kt.useEffect(()=>{console.log("Selected steps:",l)},[l]),Ae.jsxs("div",{className:Wn.flowsheet_steps_main_container,children:[Ae.jsxs("div",{className:Wn.flowsheet_file_section,children:[Ae.jsx("label",{className:Wn.section_label,children:"Flowsheet to inspect:"}),Ae.jsxs("select",{className:Wn.dropdown_select,onChange:d,value:a?.find(b=>b.name===s)?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),a?.map((b,x)=>Ae.jsx("option",{value:b.path,children:b.name},x))]}),Ae.jsx("p",{className:Wn.section_hint,children:"Open the flowsheet in editor to select"})]}),Ae.jsxs("div",{className:Wn.python_env_container,children:[Ae.jsx("label",{className:Wn.python_env_label,children:"Current Python:"}),Ae.jsxs("div",{className:Wn.python_env_actions,children:[Ae.jsx("span",{className:Wn.python_env_path_text,children:o?.current?.path||"No interpreter selected"}),Ae.jsx("button",{className:Wn.python_env_icon_btn,onClick:p,title:"Copy interpreter path",disabled:!o?.current?.path,children:Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),Ae.jsxs("select",{className:Wn.dropdown_select,onChange:f,value:o?.current?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),o?.envs.map((b,x)=>Ae.jsx("option",{value:b.path,children:b.label},x))]})]}),Ae.jsx("p",{className:Wn.section_label,children:"Select Steps to Run:"}),Ae.jsx("div",{className:Wn.steps_container,children:v()}),Ae.jsxs("div",{className:Wn.steps_actions_footer,children:[Ae.jsx(Dfe,{setShowConfig:e}),Ae.jsx("div",{className:Wn.open_results_view_container,children:Ae.jsx("button",{className:Wn.open_results_view_btn,onClick:()=>h("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Mfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=Kt.useContext(Da),[n,i]=Kt.useState(!1);return Kt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Ae.jsxs(Ae.Fragment,{children:[Ae.jsxs("h2",{children:["Current Files is: ",e]}),Ae.jsx("div",{style:{display:n?"block":"none"},children:Ae.jsx(mfe,{setShowConfig:i})}),Ae.jsx("div",{style:{display:n?"none":"block"},children:Ae.jsx(Nfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Ofe="_container_1qs3w_1",Ife="_controlBar_1qs3w_10",Bfe="_searchBox_1qs3w_18",Pfe="_actionGroup_1qs3w_42",Ffe="_runCount_1qs3w_50",$fe="_tableContainer_1qs3w_70",zfe="_headerRow_1qs3w_76",qfe="_dataRowContainer_1qs3w_89",Vfe="_dataRow_1qs3w_89",Gfe="_colStatus_1qs3w_119",Ufe="_colTime_1qs3w_124",Hfe="_colTags_1qs3w_128",Wfe="_tagBadge_1qs3w_134",Yfe="_emptyMessage_1qs3w_143",Xfe="_cssTooltip_1qs3w_175",jfe="_colFlowsheet_1qs3w_211",Kfe="_flowsheetText_1qs3w_216",Zfe="_pathTooltip_1qs3w_225",Dn={container:Ofe,controlBar:Ife,searchBox:Bfe,actionGroup:Pfe,runCount:Ffe,tableContainer:$fe,headerRow:zfe,dataRowContainer:qfe,dataRow:Vfe,colStatus:Gfe,colTime:Ufe,colTags:Hfe,tagBadge:Wfe,emptyMessage:Yfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Xfe,colFlowsheet:jfe,flowsheetText:Kfe,pathTooltip:Zfe};function Qfe(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function Jfe(){const{idaesHistoryList:t}=Kt.useContext(Da),[e,r]=Kt.useState(""),n=Kt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Ae.jsxs("div",{className:Dn.container,children:[Ae.jsxs("div",{className:Dn.controlBar,children:[Ae.jsx("input",{type:"text",className:Dn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Ae.jsx("div",{className:Dn.actionGroup,children:Ae.jsxs("span",{className:Dn.runCount,children:["Runs: ",n.length]})})]}),Ae.jsxs("div",{className:Dn.tableContainer,children:[Ae.jsxs("div",{className:Dn.headerRow,children:[Ae.jsx("div",{className:Dn.colStatus,children:"Status"}),Ae.jsx("div",{className:Dn.colTime,children:"Since"}),Ae.jsx("div",{children:"Flowsheet"}),Ae.jsx("div",{className:Dn.colTags,children:"Tags"})]}),Ae.jsxs("div",{className:Dn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Ae.jsxs("div",{className:Dn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Ae.jsx("div",{className:Dn.colStatus,children:a.status?Ae.jsx("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--success"]}`,children:"✓"}):Ae.jsxs("div",{className:`${Dn["status-icon"]} ${Dn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Ae.jsx("span",{className:Dn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Ae.jsx("div",{className:Dn.colTime,children:Qfe(a.created)}),Ae.jsxs("div",{className:Dn.colFlowsheet,children:[Ae.jsx("span",{className:Dn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Ae.jsx("div",{className:Dn.pathTooltip,children:l})]}),Ae.jsx("div",{className:Dn.colTags,children:Ae.jsx("span",{className:Dn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Ae.jsx("div",{className:Dn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Ae.jsxs("div",{className:Dn.emptyMessage,children:[Ae.jsx("div",{children:"No historical runs found across any flowsheet."}),Ae.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Ae.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function e0e(){const[t,e]=Kt.useState("runFlowsheet"),r=n=>{e(n)};return Ae.jsxs("div",{className:`${Wn.tree_app_container}`,children:[Ae.jsxs("ul",{className:Wn.view_switch_container,children:[Ae.jsx("li",{className:t==="runFlowsheet"?Wn.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Ae.jsx("li",{className:t==="loadFlowsheet"?Wn.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Ae.jsx(Mfe,{}),t==="loadFlowsheet"&&Ae.jsx(Jfe,{})]})}function t0e(){const[t,e]=Kt.useState(!1),{editorContent:r,activateFileName:n}=Kt.useContext(Da),i=()=>{e(!t)};return Ae.jsxs("div",{children:[Ae.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Ae.jsxs("div",{style:{display:t?"block":"none"},children:[Ae.jsx("h1",{children:"Editor Page "}),Ae.jsxs("h2",{children:["File: ",n]}),Ae.jsx("pre",{children:r})]})]})}const r0e="modulepreload",n0e=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=n0e(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":r0e,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},i0e=t3.exports,FF;function a0e(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(i0e,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;R[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(L(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=L,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)jY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)jY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${oa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},l0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:o0e,unit:l0e},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Pa={ALL:0,RGB:1,HSL:2};let c0e=class{constructor(){this.type=Pa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Pa.ALL}is(e){return this.type===e}};class u0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new c0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Pa.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Pa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Pa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Pa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Pa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Pa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Pa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new u0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},jv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(jv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:jv,rgba:jv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||jv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Pa.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?jv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),h0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},d0e=t=>h0e(t)>=.5,ys=t=>!d0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},f0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,f0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:p0e,getPrototypeOf:g0e,getOwnPropertyDescriptor:m0e}=Object;let{freeze:ds,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(p0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function w0e(t){for(let e=0;e/gm),_0e=Go(/\$\{[\w\W]*/gm),A0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),L0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),R0e=Go(/^(?:\w+script|data):/i),D0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),N0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:L0e,ATTR_WHITESPACE:D0e,CUSTOM_ELEMENT:N0e,DATA_ATTR:A0e,DOCTYPE_NAME:JY,ERB_EXPR:k0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:R0e,MUSTACHE_EXPR:E0e,TMPLIT_EXPR:_0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},M0e=function(){return typeof window>"u"?null:window},O0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function eX(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:M0e();const e=vt=>eX(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:R,createNodeIterator:k,createDocumentFragment:L,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&R&&R.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let X=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let j=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Le=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},Xe=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,X=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,Xe=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Le=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,j=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Le=!0),Ye&&(P=Fr({},GF),X=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(X,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(X,C6),Fr(X,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(X,C6),Fr(X,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(X,HF),Fr(X,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(X===Z&&(X=Il(X)),Fr(X,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(Xe===at&&(Xe=Il(Xe)),Fr(Xe,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=O0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,...C0e]),St=Fr({},[...w6,...S0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Le||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=R.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt)))return!1;if(Ge&&!Xe[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Bn=v(_r[Qr],!0);Bn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Bn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!X[ft]||Q[ft]){if(!(Ut(Ne)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Ne)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ne))&&(j.attributeNameCheck instanceof RegExp&&Za(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft,Ne))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&b0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Bn}=_r,_n=Qe(Cr),ei=Bn;let Ur=Cr==="value"?ei:x0e(ei);if(Rt.attrName=_n,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(_n==="id"||_n==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(_n==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,_n,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,_n)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==ei)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Bn=Qe(vt.nodeName);if(!P[Bn]||ee[Bn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Le&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Le?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Le){if(me){ft.normalize();let Bn=ft.innerHTML;Jy([q,z,D],_n=>{Bn=Lp(Bn,_n," ")}),ft.innerHTML=Bn}if(Oe)for(_r=L.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(X.shadowroot||X.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(JY,ft.ownerDocument.doctype.name)&&(Qr=" +`+Qr),me&&Jy([q,z,D],Bn=>{Qr=Lp(Qr,Bn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=y0e($[vt],Ne);return ft===-1?void 0:v0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=eX(),tX=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,I0e=/\s*%%.*\n/gm,Wg,rX=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tX,"").replace(E2,"").replace(I0e,` +`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rX(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nX(e,r,n)},"registerLazyLoadedDiagrams"),nX=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),B0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),_i=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,P0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),F0e=S(t=>{const e=new P0e;return e.calculate(t),e},"getThemeVariables"),Xg,$0e=(Xg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),z0e=S(t=>{const e=new $0e;return e.calculate(t),e},"getThemeVariables"),jg,q0e=(jg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),Hb=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),Kg,V0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),G0e=S(t=>{const e=new V0e;return e.calculate(t),e},"getThemeVariables"),Zg,U0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),H0e=S(t=>{const e=new U0e;return e.calculate(t),e},"getThemeVariables"),Qg,W0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),Y0e=S(t=>{const e=new W0e;return e.calculate(t),e},"getThemeVariables"),Jg,X0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),j0e=S(t=>{const e=new X0e;return e.calculate(t),e},"getThemeVariables"),e1,K0e=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),Z0e=S(t=>{const e=new K0e;return e.calculate(t),e},"getThemeVariables"),t1,Q0e=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),J0e=S(t=>{const e=new Q0e;return e.calculate(t),e},"getThemeVariables"),r1,epe=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),tpe=S(t=>{const e=new epe;return e.calculate(t),e},"getThemeVariables"),n1,rpe=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),npe=S(t=>{const e=new rpe;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:F0e},dark:{getThemeVariables:z0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:G0e},neutral:{getThemeVariables:H0e},neo:{getThemeVariables:Y0e},"neo-dark":{getThemeVariables:j0e},redux:{getThemeVariables:Z0e},"redux-dark":{getThemeVariables:J0e},"redux-color":{getThemeVariables:tpe},"redux-dark-color":{getThemeVariables:npe}},eo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},iX={...eo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...eo.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...eo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...eo.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...eo.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...eo.pie,useWidth:984},xyChart:{...eo.xyChart,useWidth:void 0},requirement:{...eo.requirement,useWidth:void 0},packet:{...eo.packet},treeView:{...eo.treeView,useWidth:void 0},radar:{...eo.radar},ishikawa:{...eo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...eo.venn}},aX=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aX(t[n],"")]:[...r,e+n],[]),"keyify"),ipe=new Set(aX(iX,"")),Vr=iX,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!ipe.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=ape(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),ape=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ns=_i({},tm),d5,e0=[],k2=_i({},tm),gC=S((t,e)=>{let r=_i({},t),n={};for(const i of e)lX(i),n=_i(n,i);if(r=_i(r,n),n.theme&&n.theme in xu){const i=_i({},d5),a=_i(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uX(k2),k2},"updateCurrentConfig"),spe=S(t=>(Ns=_i({},tm),Ns=_i(Ns,t),t.theme&&xu[t.theme]&&(Ns.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ns,e0),Ns),"setSiteConfig"),ope=S(t=>{d5=_i({},t)},"saveConfigFromInitialize"),lpe=S(t=>(Ns=_i(Ns,t),gC(Ns,e0),Ns),"updateSiteConfig"),sX=S(()=>_i({},Ns),"getSiteConfig"),oX=S(t=>(uX(t),_i(k2,t),gr()),"setConfig"),gr=S(()=>_i({},k2),"getConfig"),lX=S(t=>{t&&(["secure",...Ns.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lX(t[e])}))},"sanitize"),cpe=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ns,e0)},"addDirective"),f5=S((t=Ns)=>{e0=[],gC(t,e0)},"reset"),upe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},XF={},cX=S(t=>{XF[t]||(oe.warn(upe[t]),XF[t]=!0)},"issueWarning"),uX=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cX("LAZY_LOAD_DEPRECATED")},"checkConfig"),hpe=S(()=>{let t={};d5&&(t=_i(t,d5));for(const e of e0)t=_i(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cX("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,dpe=S(t=>t?fX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),fpe=(()=>{let t=!1;return()=>{t||(hX(),t=!0)}})();function hX(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hX,"setupDompurifyHooks");var dX=S(t=>(fpe(),Qh.sanitize(t)),"removeScript"),jF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dX(t):r!=="loose"&&(t=fX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=ype(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(jF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(jF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),ppe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),gpe=S(t=>Bm.test(t),"hasBreaks"),mpe=S(t=>t.split(Bm),"splitBreaks"),ype=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fX=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),vpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),bpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),xpe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),Tpe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Ri=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),wpe=S(async(t,e)=>{if(!Ri(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>X_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Ri(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await wpe(t,e),e),"renderKatexSanitized"),$t={getRows:dpe,sanitizeText:Jr,sanitizeTextOrArray:ppe,hasBreaks:gpe,splitBreaks:mpe,lineBreakRegex:Bm,removeScript:dX,getUrl:mC,evaluate:Pu,getMax:vpe,getMin:bpe},Cpe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Spe=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Ui=S(function(t,e,r,n){const i=Spe(e,r,n);Cpe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Ui(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},Epe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -130,27 +130,27 @@ Error generating stack: `+A.message+` } ${e} -`},"getStyles"),bpe=S((t,e)=>{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),xpe=vpe,yD={};fC(yD,{clear:()=>jn,getAccDescription:()=>ui,getAccTitle:()=>li,getDiagramTitle:()=>Kn,setAccDescription:()=>ci,setAccTitle:()=>Xn,setDiagramTitle:()=>oi});var vD="",bD="",xD="",TD=S(t=>Jr(t,gr()),"sanitizeText"),jn=S(()=>{vD="",xD="",bD=""},"clear"),Xn=S(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),li=S(()=>vD,"getAccTitle"),ci=S(t=>{xD=TD(t).replace(/\n\s+/g,` -`)},"setAccDescription"),ui=S(()=>xD,"getAccDescription"),oi=S(t=>{bD=TD(t)},"setDiagramTitle"),Kn=S(()=>bD,"getDiagramTitle"),ZF=oe,Tpe=fD,Pe=gr,YA=oX,pX=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gX=Pm,wpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nX(t,r),bpe(t,e.styles),e.injectUtils?.(ZF,Tpe,Pe,wD,gX,wpe(),()=>{})},"registerDiagram"),XA=S(t=>{if(t in p5)return p5[t];throw new Cpe(t)},"getDiagram"),i1,Cpe=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Spe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Spe?t:Epe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function Epe(){return 0}function kpe(t){return t===null?NaN:+t}const _pe=CD(a3),Ape=_pe.right;CD(kpe).center;class QF extends Map{constructor(e,r=Dpe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(Lpe(this,e),r)}delete(e){return super.delete(Rpe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function Lpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Rpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Dpe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Npe=Math.sqrt(50),Mpe=Math.sqrt(10),Ope=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Npe?10:a>=Mpe?5:a>=Ope?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function Ppe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Fpe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function Gpe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Upe(){return!this.__axis}function mX(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?zpe:qpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):$pe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?Gpe:Vpe)(e.copy(),l),_=p.selection?p.selection():p,R=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),L=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(R=R.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),L=L.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),L.remove(),R.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(Upe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function Hpe(t){return mX(s3,t)}function Wpe(t){return mX(ZA,t)}var Ype={value:()=>{}};function yX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yX.prototype={constructor:o3,on:function(t,e){var r=this._,n=Xpe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function Kpe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function Zpe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vX(t){var e=vC(t);return(e.local?Zpe:Kpe)(e)}function Qpe(){}function SD(t){return t==null?Qpe:function(){return this.querySelector(t)}}function Jpe(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Sge(t){t||(t=Ege);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function kge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function _ge(){return Array.from(this)}function Age(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?$ge:typeof e=="function"?qge:zge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||CX(t).getComputedStyle(t,null).getPropertyValue(e)}function Gge(t){return function(){delete this[t]}}function Uge(t,e){return function(){this[t]=e}}function Hge(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Wge(t,e){return arguments.length>1?this.each((e==null?Gge:typeof e=="function"?Hge:Uge)(t,e)):this.node()[t]}function SX(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new EX(t)}function EX(t){this._node=t,this._names=SX(t.getAttribute("class")||"")}EX.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kX(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function x1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=L1e.exec(t))?new Va(e[1],e[2],e[3],1):(e=R1e.exec(t))?new Va(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=D1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=N1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=M1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=O1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new Va(NaN,NaN,NaN,0):null}function s$(t){return new Va(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Va(t,e,r,n)}function RX(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new Va(t.r,t.g,t.b,t.opacity)):new Va}function JA(t,e,r,n){return arguments.length===1?RX(t):new Va(t,e,r,n??1)}function Va(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Xb(Va,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Va(Xf(this.r),Xf(this.g),Xf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:P1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function P1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${Xf(this.r)}, ${Xf(this.g)}, ${Xf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Xf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Xf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function DX(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function F1e(t,e,r,n){return arguments.length===1?DX(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Xb(ll,F1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Va(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const $1e=Math.PI/180,z1e=180/Math.PI,x5=18,NX=.96422,MX=1,OX=.82521,IX=4/29,Dg=6/29,BX=3*Dg*Dg,q1e=Dg*Dg*Dg;function PX(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return FX(t);t instanceof Va||(t=RX(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/MX),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/NX),s=k6((.0139322*e+.0971045*r+.7141733*n)/OX)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function V1e(t,e,r,n){return arguments.length===1?PX(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Xb(ec,V1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=NX*_6(e),t=MX*_6(t),r=OX*_6(r),new Va(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>q1e?Math.pow(t,1/3):t/BX+IX}function _6(t){return t>Dg?t*t*t:BX*(t-IX)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function G1e(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=PX(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $X(t,e){return function(r){return t+r*e}}function U1e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function H1e(t,e){var r=e-t;return r?$X(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function W1e(t){return(t=+t)==1?_2:function(e,r){return r-e?U1e(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$X(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=W1e(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function Y1e(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{lme()}finally{nm=0,ume(),r0=0}}function cme(){var t=q2.now(),e=t-C5;e>GX&&(TC-=e,C5=t)}function ume(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(cme,GX)),nm=1,UX(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var hme=yX("start","end","cancel","interrupt"),dme=[],WX=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;fme(t,r,{name:e,index:n,group:i,on:hme,tween:dme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:WX})}function AD(t,e){var r=Sl(t,e);if(r.state>WX)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function fme(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=HX(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function Ume(t,e,r){var n,i,a=Gme(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function Hme(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(Ume(r,t,e))}function Wme(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Yme(){return this.on("end.remove",Wme(this._id))}function Xme(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return KX;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>bye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function wye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function Cye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Sye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var Eye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=Eye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function kye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function _ye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:wye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:_ye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Aye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:Cye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Sye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,R=d.type;R==="n"?(T=!0,R="g"):y$[R]||(E===void 0&&(E=12),_=!0,R="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():""),L=(b==="$"?n:/[%p]/.test(R)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[R],F=/[defgprs%]/.test(R);E=E===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=L,I,N,B;if(R==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=kye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(R==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,ZX;Lye({thousands:",",grouping:[3],currency:["$",""]});function Lye(t){return Y4=Aye(t),Of=Y4.format,ZX=Y4.formatPrefix,Y4}function Rye(t){return Math.max(0,-im(Math.abs(t)))}function Dye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function Nye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function Mye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Oye(){return this.eachAfter(Mye)}function Iye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Bye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Pye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function zye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function qye(t){for(var e=this,r=Vye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function Vye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function Gye(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function Uye(){return Array.from(this)}function Hye(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Wye(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*Yye(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(Qye)}function Xye(){return DD(this).eachBefore(Zye)}function jye(t){return t.children}function Kye(t){return Array.isArray(t)?t[1]:null}function Zye(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Qye(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Oye,each:Iye,eachAfter:Pye,eachBefore:Bye,find:Fye,sum:$ye,sort:zye,path:qye,ancestors:Gye,descendants:Uye,leaves:Hye,links:Wye,copy:Xye,[Symbol.iterator]:Yye};function Jye(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function eve(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function tve(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),R=b*b*_,T=Math.max(C/R,R/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(nve);function sve(){var t=ave,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(eve),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function uve(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?hve:uve,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,lve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=eme,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function JX(){return dve()(vg,vg)}function fve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Dye(i,s))&&(n.precision=a),ZX(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Nye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=Rye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function pve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Ipe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return fve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=jA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=JX();return t.copy=function(){return QX(t,am())},CC.apply(t,arguments),pve(t)}function gve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(ura(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=ra(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?ra(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=ra(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const mve=ra(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());mve.range;const G2=ra(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const yve=ra(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());yve.range;const n0=ra(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const vve=ra(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));vve.range;function A0(t){return ra(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const jb=A0(0),U2=A0(1),ej=A0(2),tj=A0(3),i0=A0(4),rj=A0(5),nj=A0(6);jb.range;U2.range;ej.range;tj.range;i0.range;rj.range;nj.range;function L0(t){return ra(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const ij=L0(0),L5=L0(1),bve=L0(2),xve=L0(3),om=L0(4),Tve=L0(5),wve=L0(6);ij.range;L5.range;bve.range;xve.range;om.range;Tve.range;wve.range;const H2=ra(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const Cve=ra(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Cve.range;const Ru=ra(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=ra(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ra(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Sve(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function L(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return L(te,e,ae,ie)}function I(te,ae,ie){return L(te,r,ae,ie)}function N(te,ae,ie){return L(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function X(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function j(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=R(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=R(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ua=/^\s*\d+/,Ave=/^%/,Lve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Dve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Nve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Mve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Ove(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Ive(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ua.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Bve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Pve(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Fve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $ve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function zve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function qve(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Vve(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ua.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Uve(t,e,r){var n=Ave.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Hve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Wve(t,e,r){var n=ua.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function Yve(t,e){return sn(t.getHours(),e,2)}function Xve(t,e){return sn(t.getHours()%12||12,e,2)}function jve(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aj(t,e){return sn(t.getMilliseconds(),e,3)}function Kve(t,e){return aj(t,e)+"000"}function Zve(t,e){return sn(t.getMonth()+1,e,2)}function Qve(t,e){return sn(t.getMinutes(),e,2)}function Jve(t,e){return sn(t.getSeconds(),e,2)}function e2e(t){var e=t.getDay();return e===0?7:e}function t2e(t,e){return sn(jb.count(Ru(t)-1,t),e,2)}function sj(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function r2e(t,e){return t=sj(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function n2e(t){return t.getDay()}function i2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function a2e(t,e){return sn(t.getFullYear()%100,e,2)}function s2e(t,e){return t=sj(t),sn(t.getFullYear()%100,e,2)}function o2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function l2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function c2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function u2e(t,e){return sn(t.getUTCHours(),e,2)}function h2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function d2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oj(t,e){return sn(t.getUTCMilliseconds(),e,3)}function f2e(t,e){return oj(t,e)+"000"}function p2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function g2e(t,e){return sn(t.getUTCMinutes(),e,2)}function m2e(t,e){return sn(t.getUTCSeconds(),e,2)}function y2e(t){var e=t.getUTCDay();return e===0?7:e}function v2e(t,e){return sn(ij.count(a0(t)-1,t),e,2)}function lj(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function b2e(t,e){return t=lj(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function x2e(t){return t.getUTCDay()}function T2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function w2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function C2e(t,e){return t=lj(t),sn(t.getUTCFullYear()%100,e,2)}function S2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function E2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function k2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;_2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function _2e(t){return Rp=_ve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function A2e(t){return new Date(t)}function L2e(t){return t instanceof Date?+t:+new Date(+t)}function cj(t,e,r,n,i,a,s,o,l,u){var h=JX(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(R){return(l(R)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uj(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Tye(e)}function I2e(t){return t.innerRadius}function B2e(t){return t.outerRadius}function P2e(t){return t.startAngle}function F2e(t){return t.endAngle}function $2e(t){return t&&t.padAngle}function z2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(L=F,O=$),{cx:L,cy:O,x01:-h,y01:-d,x11:L*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=I2e,e=B2e,r=Ei(0),n=null,i=P2e,a=F2e,s=$2e,o=null,l=uj(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pFa))o.moveTo(0,0);else if(b>u3-Fa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Fa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,R=b,k=b,L=s.apply(this,arguments)/2,O=L>Fa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Fa){var I=I$(O/f*Dl(L)),N=I$(O/p*Dl(L));(R-=I*2)>Fa?(I*=x?1:-1,E+=I,_-=I):(R=0,E=_=(m+v)/2),(k-=N*2)>Fa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Fa){var P=p*Qd(T),H=p*Dl(T),X=f*Qd(E),Z=f*Dl(E),j;if(bFa?q>Fa?(z=X4(X,Z,B,M,p,q,x),D=X4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qFa)||!(R>Fa)?o.lineTo(V,U):$>Fa?(z=X4(V,U,P,H,f,-$,x),D=X4(B,M,X,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function U2e(t){return t}function H2e(){var t=U2e,e=G2e,r=null,n=Ei(0),i=Ei(u3),a=Ei(0);function s(o){var l,u=(o=hj(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,R){return e(m[_],m[R])}):r!=null&&p.sort(function(_,R){return r(o[_],o[R])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:Ei(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ei(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ei(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:Ei(+o),s):a},s}class fj{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pj(t){return new fj(t,!0)}function gj(t){return new fj(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function X2(t){return new SC(t)}function mj(t){this._context=t}mj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function W2e(t){return new mj(t)}function yj(t){this._context=t}yj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Y2e(t){return new yj(t)}function vj(t,e){this._basis=new SC(t),this._beta=e}vj.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const X2e=(function t(e){function r(n){return e===1?new SC(n):new vj(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bj=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const j2e=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const K2e=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Fa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Fa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xj(t,e){this._context=t,this._alpha=e}xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Tj=(function t(e){function r(n){return e?new xj(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wj(t,e){this._context=t,this._alpha=e}wj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Z2e=(function t(e){function r(n){return e?new wj(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Cj(t,e){this._context=t,this._alpha=e}Cj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Q2e=(function t(e){function r(n){return e?new Cj(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Sj(t){this._context=t}Sj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function J2e(t){return new Sj(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function Ej(t){this._context=new kj(t)}(Ej.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kj(t){this._context=t}kj.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _j(t){return new O5(t)}function Aj(t){return new Ej(t)}function Lj(t){this._context=t}Lj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Dj(t){return new EC(t,.5)}function Nj(t){return new EC(t,0)}function Mj(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Gs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function Oj(t){return typeof t=="object"&&t!==null}S(Oj,"isObject");function Ij(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(Ij,"toArray");function Bj(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;ro&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(h3,"getLine");function d3(t,e){return Zi.repeat(" ",e-t.length)+t}S(d3,"padStart");function $j(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Zi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` -`+o;for(u=h3(t.buffer,n[s],i[s],t.position,d),o+=Zi.repeat(" ",e.indent)+d3((t.line+1).toString(),h)+" | "+u.str+` -`,o+=Zi.repeat("-",e.indent+h+3+u.pos)+`^ -`,l=1;l<=e.linesAfter&&!(s+l>=i.length);l++)u=h3(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),d),o+=Zi.repeat(" ",e.indent)+d3((t.line+l+1).toString(),h)+" | "+u.str+` -`;return o.replace(/\n$/,"")}S($j,"makeSnippet");var sbe=$j,obe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],lbe=["scalar","sequence","mapping"];function zj(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}S(zj,"compileStyleAliases");function qj(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(obe.indexOf(r)===-1)throw new Is('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=zj(e.styleAliases||null),lbe.indexOf(this.kind)===-1)throw new Is('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}S(qj,"Type$1");var Ga=qj;function u8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}S(u8,"compileList");function Vj(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(S(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ybe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!ybe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var vbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Zi.isNegativeZero(t))return"-0.0";return r=t.toString(10),vbe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Zi.isNegativeZero(t))}S(iK,"isFloat");var bbe=new Ga("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=fbe.extend({implicit:[pbe,gbe,mbe,bbe]}),xbe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var Tbe=new Ga("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var wbe=new Ga("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(gK,"isBinary");var Cbe=new Ga("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),Sbe=Object.prototype.hasOwnProperty,Ebe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=sbe(r),new Is(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function j2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(j2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&j2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Zi.repeat(` -`,e-1))}S(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),os(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),os(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(pl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,_i(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else pl(r)?(Tu(t,n,i,!0),_C(t,_i(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),pl(o))_i(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else pl(o)?(Tu(t,r,n,!0),_C(t,_i(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(_i(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),os(u)&&(d=f=!0,t.position++,_i(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,_i(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),_i(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),_i(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Dbe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!pl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),pl(d)){l++;continue}if(t.lineIndent{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),_pe=Epe,yD={};fC(yD,{clear:()=>Kn,getAccDescription:()=>hi,getAccTitle:()=>ci,getDiagramTitle:()=>Zn,setAccDescription:()=>ui,setAccTitle:()=>jn,setDiagramTitle:()=>li});var vD="",bD="",xD="",TD=S(t=>Jr(t,gr()),"sanitizeText"),Kn=S(()=>{vD="",xD="",bD=""},"clear"),jn=S(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),ci=S(()=>vD,"getAccTitle"),ui=S(t=>{xD=TD(t).replace(/\n\s+/g,` +`)},"setAccDescription"),hi=S(()=>xD,"getAccDescription"),li=S(t=>{bD=TD(t)},"setDiagramTitle"),Zn=S(()=>bD,"getDiagramTitle"),ZF=oe,Ape=fD,Pe=gr,YA=oX,pX=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gX=Pm,Lpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nX(t,r),kpe(t,e.styles),e.injectUtils?.(ZF,Ape,Pe,wD,gX,Lpe(),()=>{})},"registerDiagram"),XA=S(t=>{if(t in p5)return p5[t];throw new Rpe(t)},"getDiagram"),i1,Rpe=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Dpe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Dpe?t:Npe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function Npe(){return 0}function Mpe(t){return t===null?NaN:+t}const Ope=CD(a3),Ipe=Ope.right;CD(Mpe).center;class QF extends Map{constructor(e,r=Fpe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(Bpe(this,e),r)}delete(e){return super.delete(Ppe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function Bpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Ppe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Fpe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const $pe=Math.sqrt(50),zpe=Math.sqrt(10),qpe=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=$pe?10:a>=zpe?5:a>=qpe?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function Upe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Hpe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function Kpe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Zpe(){return!this.__axis}function mX(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?Ype:Xpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Wpe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?Kpe:jpe)(e.copy(),l),_=p.selection?p.selection():p,R=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),L=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(R=R.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),L=L.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),L.remove(),R.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(Zpe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function Qpe(t){return mX(s3,t)}function Jpe(t){return mX(ZA,t)}var ege={value:()=>{}};function yX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yX.prototype={constructor:o3,on:function(t,e){var r=this._,n=tge(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function nge(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function ige(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vX(t){var e=vC(t);return(e.local?ige:nge)(e)}function age(){}function SD(t){return t==null?age:function(){return this.querySelector(t)}}function sge(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Dge(t){t||(t=Nge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function Mge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Oge(){return Array.from(this)}function Ige(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Wge:typeof e=="function"?Xge:Yge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||CX(t).getComputedStyle(t,null).getPropertyValue(e)}function Kge(t){return function(){delete this[t]}}function Zge(t,e){return function(){this[t]=e}}function Qge(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Jge(t,e){return arguments.length>1?this.each((e==null?Kge:typeof e=="function"?Qge:Zge)(t,e)):this.node()[t]}function SX(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new EX(t)}function EX(t){this._node=t,this._names=SX(t.getAttribute("class")||"")}EX.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kX(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function _1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=B1e.exec(t))?new Va(e[1],e[2],e[3],1):(e=P1e.exec(t))?new Va(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=F1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=$1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=z1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=q1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new Va(NaN,NaN,NaN,0):null}function s$(t){return new Va(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Va(t,e,r,n)}function RX(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new Va(t.r,t.g,t.b,t.opacity)):new Va}function JA(t,e,r,n){return arguments.length===1?RX(t):new Va(t,e,r,n??1)}function Va(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Xb(Va,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Va(Xf(this.r),Xf(this.g),Xf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:U1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function U1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${Xf(this.r)}, ${Xf(this.g)}, ${Xf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Xf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Xf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function DX(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function H1e(t,e,r,n){return arguments.length===1?DX(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Xb(ll,H1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Va(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const W1e=Math.PI/180,Y1e=180/Math.PI,x5=18,NX=.96422,MX=1,OX=.82521,IX=4/29,Dg=6/29,BX=3*Dg*Dg,X1e=Dg*Dg*Dg;function PX(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return FX(t);t instanceof Va||(t=RX(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/MX),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/NX),s=k6((.0139322*e+.0971045*r+.7141733*n)/OX)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function j1e(t,e,r,n){return arguments.length===1?PX(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Xb(ec,j1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=NX*_6(e),t=MX*_6(t),r=OX*_6(r),new Va(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>X1e?Math.pow(t,1/3):t/BX+IX}function _6(t){return t>Dg?t*t*t:BX*(t-IX)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function K1e(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=PX(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $X(t,e){return function(r){return t+r*e}}function Z1e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function Q1e(t,e){var r=e-t;return r?$X(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function J1e(t){return(t=+t)==1?_2:function(e,r){return r-e?Z1e(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$X(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=J1e(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function eme(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{gme()}finally{nm=0,yme(),r0=0}}function mme(){var t=q2.now(),e=t-C5;e>GX&&(TC-=e,C5=t)}function yme(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(mme,GX)),nm=1,UX(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var vme=yX("start","end","cancel","interrupt"),bme=[],WX=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;xme(t,r,{name:e,index:n,group:i,on:vme,tween:bme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:WX})}function AD(t,e){var r=Sl(t,e);if(r.state>WX)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function xme(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=HX(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function Zme(t,e,r){var n,i,a=Kme(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function Qme(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(Zme(r,t,e))}function Jme(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function eye(){return this.on("end.remove",Jme(this._id))}function tye(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return KX;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>kye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function Lye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function Rye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Dye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var Nye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=Nye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Mye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function Oye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Lye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:Oye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Iye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:Rye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Dye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,R=d.type;R==="n"?(T=!0,R="g"):y$[R]||(E===void 0&&(E=12),_=!0,R="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():""),L=(b==="$"?n:/[%p]/.test(R)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[R],F=/[defgprs%]/.test(R);E=E===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=L,I,N,B;if(R==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=Mye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(R==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,ZX;Bye({thousands:",",grouping:[3],currency:["$",""]});function Bye(t){return Y4=Iye(t),Of=Y4.format,ZX=Y4.formatPrefix,Y4}function Pye(t){return Math.max(0,-im(Math.abs(t)))}function Fye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function $ye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function zye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function qye(){return this.eachAfter(zye)}function Vye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Gye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Uye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Yye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Xye(t){for(var e=this,r=jye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function jye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function Kye(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function Zye(){return Array.from(this)}function Qye(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Jye(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*eve(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(ave)}function tve(){return DD(this).eachBefore(ive)}function rve(t){return t.children}function nve(t){return Array.isArray(t)?t[1]:null}function ive(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function ave(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:qye,each:Vye,eachAfter:Uye,eachBefore:Gye,find:Hye,sum:Wye,sort:Yye,path:Xye,ancestors:Kye,descendants:Zye,leaves:Qye,links:Jye,copy:tve,[Symbol.iterator]:eve};function sve(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function ove(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function lve(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),R=b*b*_,T=Math.max(C/R,R/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(uve);function fve(){var t=dve,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(ove),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function yve(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?vve:yve,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,gve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=ome,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function JX(){return bve()(vg,vg)}function xve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Fye(i,s))&&(n.precision=a),ZX(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=$ye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=Pye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function Tve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Vpe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return xve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=jA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=JX();return t.copy=function(){return QX(t,am())},CC.apply(t,arguments),Tve(t)}function wve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(una(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=na(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?na(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=na(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const Cve=na(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());Cve.range;const G2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const Sve=na(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());Sve.range;const n0=na(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const Eve=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));Eve.range;function A0(t){return na(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const jb=A0(0),U2=A0(1),ej=A0(2),tj=A0(3),i0=A0(4),rj=A0(5),nj=A0(6);jb.range;U2.range;ej.range;tj.range;i0.range;rj.range;nj.range;function L0(t){return na(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const ij=L0(0),L5=L0(1),kve=L0(2),_ve=L0(3),om=L0(4),Ave=L0(5),Lve=L0(6);ij.range;L5.range;kve.range;_ve.range;om.range;Ave.range;Lve.range;const H2=na(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const Rve=na(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Rve.range;const Ru=na(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=na(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Dve(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function L(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return L(te,e,ae,ie)}function I(te,ae,ie){return L(te,r,ae,ie)}function N(te,ae,ie){return L(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function X(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function j(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=R(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=R(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ha=/^\s*\d+/,Ive=/^%/,Bve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Fve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function $ve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function zve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function qve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Vve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ha.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Gve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Uve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Hve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Wve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Yve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Xve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function jve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Kve(t,e,r){var n=ha.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Zve(t,e,r){var n=Ive.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Qve(t,e,r){var n=ha.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Jve(t,e,r){var n=ha.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function e2e(t,e){return sn(t.getHours(),e,2)}function t2e(t,e){return sn(t.getHours()%12||12,e,2)}function r2e(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aj(t,e){return sn(t.getMilliseconds(),e,3)}function n2e(t,e){return aj(t,e)+"000"}function i2e(t,e){return sn(t.getMonth()+1,e,2)}function a2e(t,e){return sn(t.getMinutes(),e,2)}function s2e(t,e){return sn(t.getSeconds(),e,2)}function o2e(t){var e=t.getDay();return e===0?7:e}function l2e(t,e){return sn(jb.count(Ru(t)-1,t),e,2)}function sj(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function c2e(t,e){return t=sj(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function u2e(t){return t.getDay()}function h2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function d2e(t,e){return sn(t.getFullYear()%100,e,2)}function f2e(t,e){return t=sj(t),sn(t.getFullYear()%100,e,2)}function p2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function g2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function m2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function y2e(t,e){return sn(t.getUTCHours(),e,2)}function v2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function b2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oj(t,e){return sn(t.getUTCMilliseconds(),e,3)}function x2e(t,e){return oj(t,e)+"000"}function T2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function w2e(t,e){return sn(t.getUTCMinutes(),e,2)}function C2e(t,e){return sn(t.getUTCSeconds(),e,2)}function S2e(t){var e=t.getUTCDay();return e===0?7:e}function E2e(t,e){return sn(ij.count(a0(t)-1,t),e,2)}function lj(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function k2e(t,e){return t=lj(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function _2e(t){return t.getUTCDay()}function A2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function L2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function R2e(t,e){return t=lj(t),sn(t.getUTCFullYear()%100,e,2)}function D2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function N2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function M2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;O2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function O2e(t){return Rp=Ove(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function I2e(t){return new Date(t)}function B2e(t){return t instanceof Date?+t:+new Date(+t)}function cj(t,e,r,n,i,a,s,o,l,u){var h=JX(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(R){return(l(R)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uj(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Aye(e)}function V2e(t){return t.innerRadius}function G2e(t){return t.outerRadius}function U2e(t){return t.startAngle}function H2e(t){return t.endAngle}function W2e(t){return t&&t.padAngle}function Y2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(L=F,O=$),{cx:L,cy:O,x01:-h,y01:-d,x11:L*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=V2e,e=G2e,r=ki(0),n=null,i=U2e,a=H2e,s=W2e,o=null,l=uj(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pFa))o.moveTo(0,0);else if(b>u3-Fa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Fa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,R=b,k=b,L=s.apply(this,arguments)/2,O=L>Fa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Fa){var I=I$(O/f*Dl(L)),N=I$(O/p*Dl(L));(R-=I*2)>Fa?(I*=x?1:-1,E+=I,_-=I):(R=0,E=_=(m+v)/2),(k-=N*2)>Fa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Fa){var P=p*Qd(T),H=p*Dl(T),X=f*Qd(E),Z=f*Dl(E),j;if(bFa?q>Fa?(z=X4(X,Z,B,M,p,q,x),D=X4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qFa)||!(R>Fa)?o.lineTo(V,U):$>Fa?(z=X4(V,U,P,H,f,-$,x),D=X4(B,M,X,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function Z2e(t){return t}function Q2e(){var t=Z2e,e=K2e,r=null,n=ki(0),i=ki(u3),a=ki(0);function s(o){var l,u=(o=hj(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,R){return e(m[_],m[R])}):r!=null&&p.sort(function(_,R){return r(o[_],o[R])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:ki(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:ki(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:ki(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:ki(+o),s):a},s}class fj{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pj(t){return new fj(t,!0)}function gj(t){return new fj(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function X2(t){return new SC(t)}function mj(t){this._context=t}mj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function J2e(t){return new mj(t)}function yj(t){this._context=t}yj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function ebe(t){return new yj(t)}function vj(t,e){this._basis=new SC(t),this._beta=e}vj.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const tbe=(function t(e){function r(n){return e===1?new SC(n):new vj(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bj=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const rbe=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const nbe=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Fa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Fa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xj(t,e){this._context=t,this._alpha=e}xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Tj=(function t(e){function r(n){return e?new xj(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wj(t,e){this._context=t,this._alpha=e}wj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const ibe=(function t(e){function r(n){return e?new wj(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Cj(t,e){this._context=t,this._alpha=e}Cj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const abe=(function t(e){function r(n){return e?new Cj(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Sj(t){this._context=t}Sj.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function sbe(t){return new Sj(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function Ej(t){this._context=new kj(t)}(Ej.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kj(t){this._context=t}kj.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _j(t){return new O5(t)}function Aj(t){return new Ej(t)}function Lj(t){this._context=t}Lj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Dj(t){return new EC(t,.5)}function Nj(t){return new EC(t,0)}function Mj(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Gs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function Oj(t){return typeof t=="object"&&t!==null}S(Oj,"isObject");function Ij(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(Ij,"toArray");function Bj(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;ro&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(h3,"getLine");function d3(t,e){return Qi.repeat(" ",e-t.length)+t}S(d3,"padStart");function $j(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Qi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` +`+o;for(u=h3(t.buffer,n[s],i[s],t.position,d),o+=Qi.repeat(" ",e.indent)+d3((t.line+1).toString(),h)+" | "+u.str+` +`,o+=Qi.repeat("-",e.indent+h+3+u.pos)+`^ +`,l=1;l<=e.linesAfter&&!(s+l>=i.length);l++)u=h3(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),d),o+=Qi.repeat(" ",e.indent)+d3((t.line+l+1).toString(),h)+" | "+u.str+` +`;return o.replace(/\n$/,"")}S($j,"makeSnippet");var fbe=$j,pbe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],gbe=["scalar","sequence","mapping"];function zj(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}S(zj,"compileStyleAliases");function qj(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(pbe.indexOf(r)===-1)throw new Is('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=zj(e.styleAliases||null),gbe.indexOf(this.kind)===-1)throw new Is('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}S(qj,"Type$1");var Ga=qj;function u8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}S(u8,"compileList");function Vj(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(S(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Sbe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!Sbe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var Ebe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Qi.isNegativeZero(t))return"-0.0";return r=t.toString(10),Ebe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Qi.isNegativeZero(t))}S(iK,"isFloat");var kbe=new Ga("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=xbe.extend({implicit:[Tbe,wbe,Cbe,kbe]}),_be=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var Abe=new Ga("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var Lbe=new Ga("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(gK,"isBinary");var Rbe=new Ga("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),Dbe=Object.prototype.hasOwnProperty,Nbe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=fbe(r),new Is(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function j2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(j2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&j2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Qi.repeat(` +`,e-1))}S(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),os(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),os(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(pl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,Ai(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else pl(r)?(Tu(t,n,i,!0),_C(t,Ai(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),pl(o))Ai(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else pl(o)?(Tu(t,r,n,!0),_C(t,Ai(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),os(u)&&(d=f=!0,t.position++,Ai(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,Ai(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),Ai(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Fbe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!pl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),pl(d)){l++;continue}if(t.lineIndente)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),_i(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(_i(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!pl(s));break}if(pl(s))break;for(r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):j2(t,'unknown document directive "'+n+'"')}if(_i(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,_i(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),_i(t,!0,-1),t.checkLineBreaks&&Mbe.test(t.input.slice(e,t.position))&&j2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,_i(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;ie)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),Ai(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ai(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!pl(s));break}if(pl(s))break;for(r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):j2(t,'unknown document directive "'+n+'"')}if(Ai(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ai(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),Ai(t,!0,-1),t.checkLineBreaks&&zbe.test(t.input.slice(e,t.position))&&j2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ai(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(exe.indexOf(e)!==-1||txe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Is("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` +`+Qi.repeat(" ",t.indent*e)}S($5,"generateNextLine");function tZ(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(oxe.indexOf(e)!==-1||lxe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Is("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` @@ -161,13 +161,13 @@ Error generating stack: `+A.message+` `:"")+w8(l,e),i=a}return n}S(cZ,"foldString");function w8(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=` `+t.slice(i,a),i=a+1),s=o;return l+=` `,t.length-i>e&&s>i?l+=t.slice(i,s)+` -`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Ya[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Is("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Is("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),$a={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Hn(t),e=Hn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(e2,"calculateDeltaAndAngle");var Hn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Hn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),o=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),l=Math.abs(Hn(e).x-Hn(n[0]).x),u=Math.abs(Hn(e).y-Hn(n[0]).y),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),o=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),l=Math.abs(Hn(e).y-Hn(n[0]).y),u=Math.abs(Hn(e).x-Hn(n[0]).x),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return j4}var R0=sxe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,oxe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||oxe||Function("return this")(),Uo=uc.Symbol,yZ=Object.prototype,lxe=yZ.hasOwnProperty,cxe=yZ.toString,uv=Uo?Uo.toStringTag:void 0;function uxe(t){var e=lxe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=cxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var hxe=Object.prototype,dxe=hxe.toString;function fxe(t){return dxe.call(t)}var pxe="[object Null]",gxe="[object Undefined]",H$=Uo?Uo.toStringTag:void 0;function D0(t){return t==null?t===void 0?gxe:pxe:H$&&H$ in Object(t)?uxe(t):fxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var mxe="[object AsyncFunction]",yxe="[object Function]",vxe="[object GeneratorFunction]",bxe="[object Proxy]";function J2(t){if(!po(t))return!1;var e=D0(t);return e==yxe||e==vxe||e==mxe||e==bxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function xxe(t){return!!W$&&W$ in t}var Txe=Function.prototype,wxe=Txe.toString;function N0(t){if(t!=null){try{return wxe.call(t)}catch{}try{return t+""}catch{}}return""}var Cxe=/[\\^$.*+?()[\]{}|]/g,Sxe=/^\[object .+?Constructor\]$/,Exe=Function.prototype,kxe=Object.prototype,_xe=Exe.toString,Axe=kxe.hasOwnProperty,Lxe=RegExp("^"+_xe.call(Axe).replace(Cxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Rxe(t){if(!po(t)||xxe(t))return!1;var e=J2(t)?Lxe:Sxe;return e.test(N0(t))}function Dxe(t,e){return t?.[e]}function M0(t,e){var r=Dxe(t,e);return Rxe(r)?r:void 0}var eb=M0(Object,"create");function Nxe(){this.__data__=eb?eb(null):{},this.size=0}function Mxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Oxe="__lodash_hash_undefined__",Ixe=Object.prototype,Bxe=Ixe.hasOwnProperty;function Pxe(t){var e=this.__data__;if(eb){var r=e[t];return r===Oxe?void 0:r}return Bxe.call(e,t)?e[t]:void 0}var Fxe=Object.prototype,$xe=Fxe.hasOwnProperty;function zxe(t){var e=this.__data__;return eb?e[t]!==void 0:$xe.call(e,t)}var qxe="__lodash_hash_undefined__";function Vxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?qxe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function jxe(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=m4e}function vd(t){return t!=null&&jD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function y4e(){return!1}var kZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Q$=kZ&&typeof co=="object"&&co&&!co.nodeType&&co,v4e=Q$&&Q$.exports===kZ,J$=v4e?uc.Buffer:void 0,b4e=J$?J$.isBuffer:void 0,dm=b4e||y4e,x4e="[object Object]",T4e=Function.prototype,w4e=Object.prototype,_Z=T4e.toString,C4e=w4e.hasOwnProperty,S4e=_Z.call(Object);function E4e(t){if(!nc(t)||D0(t)!=x4e)return!1;var e=XD(t);if(e===null)return!0;var r=C4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==S4e}var k4e="[object Arguments]",_4e="[object Array]",A4e="[object Boolean]",L4e="[object Date]",R4e="[object Error]",D4e="[object Function]",N4e="[object Map]",M4e="[object Number]",O4e="[object Object]",I4e="[object RegExp]",B4e="[object Set]",P4e="[object String]",F4e="[object WeakMap]",$4e="[object ArrayBuffer]",z4e="[object DataView]",q4e="[object Float32Array]",V4e="[object Float64Array]",G4e="[object Int8Array]",U4e="[object Int16Array]",H4e="[object Int32Array]",W4e="[object Uint8Array]",Y4e="[object Uint8ClampedArray]",X4e="[object Uint16Array]",j4e="[object Uint32Array]",$n={};$n[q4e]=$n[V4e]=$n[G4e]=$n[U4e]=$n[H4e]=$n[W4e]=$n[Y4e]=$n[X4e]=$n[j4e]=!0;$n[k4e]=$n[_4e]=$n[$4e]=$n[A4e]=$n[z4e]=$n[L4e]=$n[R4e]=$n[D4e]=$n[N4e]=$n[M4e]=$n[O4e]=$n[I4e]=$n[B4e]=$n[P4e]=$n[F4e]=!1;function K4e(t){return nc(t)&&jD(t.length)&&!!$n[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,L2=AZ&&typeof co=="object"&&co&&!co.nodeType&&co,Z4e=L2&&L2.exports===AZ,z6=Z4e&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):K4e;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Q4e=Object.prototype,J4e=Q4e.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(J4e.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=fTe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=mTe(dTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function yTe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=ki(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${bTe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),TTe=S(function(t){return t.replace(E2,"")},"removeDirectives"),wTe=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return vTe[r]??e}S(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}S(IZ,"formatUrl");var CTe=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}S(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}S(PZ,"calcLabelPosition");var rz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),STe=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(JD,"getStylesFromArray");var nz=0,$Z=S(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),ETe=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),kTe=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=us(`${s} `,r),u=us(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=_Te(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),_Te=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(us(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}S(U5,"calculateTextHeight");function us(t,e){return eN(t,e).width}S(us,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=ETe();b.text=v||MZ;const x=kTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,ATe=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(a1,"InitIDGenerator"),a1),K4,LTe=S(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}S(tN,"isDetailedError");var RTe=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function Ji(t,e){return G5({},t,e)}S(Ji,"cleanAndMerge");var Lr={assignWithDepth:ki,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:us,calculateTextDimensions:eN,cleanAndMerge:Ji,detectInit:xTe,detectDirective:OZ,isSubstringInArray:wTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:STe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:CTe,entityDecode:LTe,insertTitle:RTe,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:ATe},DTe=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function oa(t){return t??null}S(oa,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(GZ,"isLabelCoordinateInPath");var Qb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(rN,"configureLabelImages");var NTe=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=S(t=>{const e=MTe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),MTe=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:OTe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),OTe=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const ITe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...ITe,...H5}),BTe=Object.freeze({...UZ,body:"",hidden:!1}),PTe=Object.freeze({width:null,height:null}),FTe=Object.freeze({...PTe,...H5}),$Te=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function zTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=zTe(t,e);for(const n in BTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function qTe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function VTe(t,e){if(t.icons[e])return az(t,e,[]);const r=qTe(t,[e])[e];return r?az(t,e,r):null}const GTe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,UTe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(GTe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=UTe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function HTe(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function WTe(t,e){return t?""+t+""+e:e}function YTe(t,e,r){const n=HTe(t);return WTe(n.defs,e+n.content+r)}const XTe=t=>t==="unset"||t==="undefined"||t==="none";function jTe(t,e){const r={...UZ,...t},n={...FTe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=YTe(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{XTe(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const KTe=/\sid="(\S+)"/g,oz=new Map;function ZTe(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function QTe(t){const e=[];let r;for(;r=KTe.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=ZTe(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function JTe(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(ls.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var e3e=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},t3e=/^(?:[ \t]*(?:\n|$))+/,r3e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,i3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),a3e=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,s3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,o3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),l3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,c3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),u3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XZ).getRegex(),cN={blockquote:u3e,code:r3e,def:o3e,fences:n3e,heading:i3e,hr:Jb,html:c3e,lheading:YZ,list:l3e,newline:t3e,paragraph:XZ,table:R2,text:s3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),h3e={...cN,lheading:a3e,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},d3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},f3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,p3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jZ=/^( {2,}|\\)\n(?!\s*$)/,g3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",e3e?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,x3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),T3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",w3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),C3e=on(JZ,"gu").replace(/notPunctSpace/g,v3e).replace(/punctSpace/g,y3e).replace(/punct/g,ZZ).getRegex(),S3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),E3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),k3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),_3e=on(lN).replace("(?:-->|$)","-->").getRegex(),A3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",_3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,L3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),R3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:E3e,autolink:k3e,blockSkip:b3e,br:jZ,code:p3e,del:R2,emStrongLDelim:x3e,emStrongRDelimAst:w3e,emStrongRDelimUnd:S3e,escape:f3e,link:L3e,nolink:tQ,punctuation:m3e,reflink:eQ,reflinkSearch:R3e,tag:A3e,text:g3e,url:R2},D3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:C3e,emStrongLDelim:T3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>M3e[t];function Bl(t,e){if(e){if(ls.escapeTest.test(t))return t.replace(ls.escapeReplace,uz)}else if(ls.escapeTestNoEncode.test(t))return t.replace(ls.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(ls.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(ls.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(ls.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function I3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` +`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Ya[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Is("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Is("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),$a={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Hn(t),e=Hn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(e2,"calculateDeltaAndAngle");var Hn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Hn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),o=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),l=Math.abs(Hn(e).x-Hn(n[0]).x),u=Math.abs(Hn(e).y-Hn(n[0]).y),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Hn(e).y-Hn(n[n.length-1]).y),o=Math.abs(Hn(e).x-Hn(n[n.length-1]).x),l=Math.abs(Hn(e).y-Hn(n[0]).y),u=Math.abs(Hn(e).x-Hn(n[0]).x),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return j4}var R0=fxe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,pxe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||pxe||Function("return this")(),Uo=uc.Symbol,yZ=Object.prototype,gxe=yZ.hasOwnProperty,mxe=yZ.toString,uv=Uo?Uo.toStringTag:void 0;function yxe(t){var e=gxe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=mxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var vxe=Object.prototype,bxe=vxe.toString;function xxe(t){return bxe.call(t)}var Txe="[object Null]",wxe="[object Undefined]",H$=Uo?Uo.toStringTag:void 0;function D0(t){return t==null?t===void 0?wxe:Txe:H$&&H$ in Object(t)?yxe(t):xxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Cxe="[object AsyncFunction]",Sxe="[object Function]",Exe="[object GeneratorFunction]",kxe="[object Proxy]";function J2(t){if(!po(t))return!1;var e=D0(t);return e==Sxe||e==Exe||e==Cxe||e==kxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function _xe(t){return!!W$&&W$ in t}var Axe=Function.prototype,Lxe=Axe.toString;function N0(t){if(t!=null){try{return Lxe.call(t)}catch{}try{return t+""}catch{}}return""}var Rxe=/[\\^$.*+?()[\]{}|]/g,Dxe=/^\[object .+?Constructor\]$/,Nxe=Function.prototype,Mxe=Object.prototype,Oxe=Nxe.toString,Ixe=Mxe.hasOwnProperty,Bxe=RegExp("^"+Oxe.call(Ixe).replace(Rxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Pxe(t){if(!po(t)||_xe(t))return!1;var e=J2(t)?Bxe:Dxe;return e.test(N0(t))}function Fxe(t,e){return t?.[e]}function M0(t,e){var r=Fxe(t,e);return Pxe(r)?r:void 0}var eb=M0(Object,"create");function $xe(){this.__data__=eb?eb(null):{},this.size=0}function zxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var qxe="__lodash_hash_undefined__",Vxe=Object.prototype,Gxe=Vxe.hasOwnProperty;function Uxe(t){var e=this.__data__;if(eb){var r=e[t];return r===qxe?void 0:r}return Gxe.call(e,t)?e[t]:void 0}var Hxe=Object.prototype,Wxe=Hxe.hasOwnProperty;function Yxe(t){var e=this.__data__;return eb?e[t]!==void 0:Wxe.call(e,t)}var Xxe="__lodash_hash_undefined__";function jxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?Xxe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function r4e(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=C4e}function vd(t){return t!=null&&jD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function S4e(){return!1}var kZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Q$=kZ&&typeof co=="object"&&co&&!co.nodeType&&co,E4e=Q$&&Q$.exports===kZ,J$=E4e?uc.Buffer:void 0,k4e=J$?J$.isBuffer:void 0,dm=k4e||S4e,_4e="[object Object]",A4e=Function.prototype,L4e=Object.prototype,_Z=A4e.toString,R4e=L4e.hasOwnProperty,D4e=_Z.call(Object);function N4e(t){if(!nc(t)||D0(t)!=_4e)return!1;var e=XD(t);if(e===null)return!0;var r=R4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==D4e}var M4e="[object Arguments]",O4e="[object Array]",I4e="[object Boolean]",B4e="[object Date]",P4e="[object Error]",F4e="[object Function]",$4e="[object Map]",z4e="[object Number]",q4e="[object Object]",V4e="[object RegExp]",G4e="[object Set]",U4e="[object String]",H4e="[object WeakMap]",W4e="[object ArrayBuffer]",Y4e="[object DataView]",X4e="[object Float32Array]",j4e="[object Float64Array]",K4e="[object Int8Array]",Z4e="[object Int16Array]",Q4e="[object Int32Array]",J4e="[object Uint8Array]",eTe="[object Uint8ClampedArray]",tTe="[object Uint16Array]",rTe="[object Uint32Array]",$n={};$n[X4e]=$n[j4e]=$n[K4e]=$n[Z4e]=$n[Q4e]=$n[J4e]=$n[eTe]=$n[tTe]=$n[rTe]=!0;$n[M4e]=$n[O4e]=$n[W4e]=$n[I4e]=$n[Y4e]=$n[B4e]=$n[P4e]=$n[F4e]=$n[$4e]=$n[z4e]=$n[q4e]=$n[V4e]=$n[G4e]=$n[U4e]=$n[H4e]=!1;function nTe(t){return nc(t)&&jD(t.length)&&!!$n[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,L2=AZ&&typeof co=="object"&&co&&!co.nodeType&&co,iTe=L2&&L2.exports===AZ,z6=iTe&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):nTe;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var aTe=Object.prototype,sTe=aTe.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(sTe.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=xTe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=CTe(bTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function STe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=_i(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${kTe.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),ATe=S(function(t){return t.replace(E2,"")},"removeDirectives"),LTe=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return ETe[r]??e}S(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}S(IZ,"formatUrl");var RTe=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}S(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}S(PZ,"calcLabelPosition");var rz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),DTe=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(JD,"getStylesFromArray");var nz=0,$Z=S(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),NTe=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),MTe=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=us(`${s} `,r),u=us(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=OTe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),OTe=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(us(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}S(U5,"calculateTextHeight");function us(t,e){return eN(t,e).width}S(us,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=NTe();b.text=v||MZ;const x=MTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,ITe=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(a1,"InitIDGenerator"),a1),K4,BTe=S(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}S(tN,"isDetailedError");var PTe=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function ea(t,e){return G5({},t,e)}S(ea,"cleanAndMerge");var Lr={assignWithDepth:_i,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:us,calculateTextDimensions:eN,cleanAndMerge:ea,detectInit:_Te,detectDirective:OZ,isSubstringInArray:LTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:DTe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:RTe,entityDecode:BTe,insertTitle:PTe,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:ITe},FTe=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function la(t){return t??null}S(la,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(GZ,"isLabelCoordinateInPath");var Qb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(rN,"configureLabelImages");var $Te=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=S(t=>{const e=zTe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),zTe=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:qTe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),qTe=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const VTe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...VTe,...H5}),GTe=Object.freeze({...UZ,body:"",hidden:!1}),UTe=Object.freeze({width:null,height:null}),HTe=Object.freeze({...UTe,...H5}),WTe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function YTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=YTe(t,e);for(const n in GTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function XTe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function jTe(t,e){if(t.icons[e])return az(t,e,[]);const r=XTe(t,[e])[e];return r?az(t,e,r):null}const KTe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,ZTe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(KTe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=ZTe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function QTe(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function JTe(t,e){return t?""+t+""+e:e}function e3e(t,e,r){const n=QTe(t);return JTe(n.defs,e+n.content+r)}const t3e=t=>t==="unset"||t==="undefined"||t==="none";function r3e(t,e){const r={...UZ,...t},n={...HTe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=e3e(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{t3e(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const n3e=/\sid="(\S+)"/g,oz=new Map;function i3e(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function a3e(t){const e=[];let r;for(;r=n3e.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=i3e(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function s3e(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(ls.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var o3e=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},l3e=/^(?:[ \t]*(?:\n|$))+/,c3e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,u3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,h3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),d3e=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,f3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,p3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),g3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,m3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),y3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XZ).getRegex(),cN={blockquote:y3e,code:c3e,def:p3e,fences:u3e,heading:h3e,hr:Jb,html:m3e,lheading:YZ,list:g3e,newline:l3e,paragraph:XZ,table:R2,text:f3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),v3e={...cN,lheading:d3e,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},b3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},x3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,T3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jZ=/^( {2,}|\\)\n(?!\s*$)/,w3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",o3e?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,_3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),A3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",L3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),R3e=on(JZ,"gu").replace(/notPunctSpace/g,E3e).replace(/punctSpace/g,S3e).replace(/punct/g,ZZ).getRegex(),D3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),N3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),M3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),O3e=on(lN).replace("(?:-->|$)","-->").getRegex(),I3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",O3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,B3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),P3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:N3e,autolink:M3e,blockSkip:k3e,br:jZ,code:T3e,del:R2,emStrongLDelim:_3e,emStrongRDelimAst:L3e,emStrongRDelimUnd:D3e,escape:x3e,link:B3e,nolink:tQ,punctuation:C3e,reflink:eQ,reflinkSearch:P3e,tag:I3e,text:w3e,url:R2},F3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:R3e,emStrongLDelim:A3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>z3e[t];function Bl(t,e){if(e){if(ls.escapeTest.test(t))return t.replace(ls.escapeReplace,uz)}else if(ls.escapeTestNoEncode.test(t))return t.replace(ls.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(ls.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(ls.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(ls.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function V3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` `).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[o]=s;return o.length>=i.length?a.slice(i.length):a}).join(` `)}var Y5=class{options;rules;lexer;constructor(e){this.options=e||B0}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:dv(n,` -`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=I3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=dv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:dv(r[0],` +`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=V3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=dv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:dv(r[0],` `)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=dv(r[0],` `).split(` `),i="",a="",s=[];for(;n.length>0;){let o=!1,l=[],u;for(u=0;uf.type==="space"),d=h.length>0&&h.some(f=>this.rules.other.anyLine.test(f.raw));a.loose=d}if(a.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[u]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` -`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=dv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=O3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),fz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return fz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},sl=class A8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B0,this.options.tokenizer=this.options.tokenizer||new Y5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:ls,block:Z4.normal,inline:hv.normal};this.options.pedantic?(r.block=Z4.pedantic,r.inline=hv.pedantic):this.options.gfm&&(r.block=Z4.gfm,this.options.breaks?r.inline=hv.breaks:r.inline=hv.gfm),this.tokenizer.rules=r}static get rules(){return{block:Z4,inline:hv}}static lex(e,r){return new A8(r).lex(e)}static lexInline(e,r){return new A8(r).inlineTokens(e)}lex(e){e=e.replace(ls.carriageReturn,` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=dv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=q3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),fz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return fz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},sl=class A8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B0,this.options.tokenizer=this.options.tokenizer||new Y5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:ls,block:Z4.normal,inline:hv.normal};this.options.pedantic?(r.block=Z4.pedantic,r.inline=hv.pedantic):this.options.gfm&&(r.block=Z4.gfm,this.options.breaks?r.inline=hv.breaks:r.inline=hv.gfm),this.tokenizer.rules=r}static get rules(){return{block:Z4,inline:hv}}static lex(e,r){return new A8(r).lex(e)}static lexInline(e,r){return new A8(r).inlineTokens(e)}lex(e){e=e.replace(ls.carriageReturn,` `),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` @@ -221,27 +221,27 @@ ${this.parser.parse(e)} ${e} `}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` `}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Bl(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=hz(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=hz(e);if(a===null)return Bl(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new X5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new B3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=X5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new X5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new G3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=X5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=$Te(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=VTe(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),P3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=jTe(n,e),a=JTe(QTe(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` +`)),s+=d+n[l+1]}),s}var nQ={body:'?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=WTe(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=jTe(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),U3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=r3e(n,e),a=s3e(a3e(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` `).replace(/\n{2,}/g,` `);return rQ(n)}S(oQ,"preprocessMarkdown");function lQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}S(lQ,"nonMarkdownToLines");function cQ(t,e={}){const r=oQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` `).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return S(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}S(cQ,"markdownToLines");function uQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}S(uQ,"nonMarkdownToHTML");function hQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return S(n,"output"),r.map(n).join("")}S(hQ,"markdownToHTML");function dQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}S(dQ,"splitTextToChars");function fQ(t,e){const r=dQ(e.content);return fN(t,[],r,e.type)}S(fQ,"splitWordToFitWidth");function fN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}S(fN,"splitWordToFitWidthRecursion");function pQ(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return j5(t,e)}S(pQ,"splitLineToFitWidth");function j5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return j5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return j5(t,e,r)}S(j5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Li(e.label)?await yC(e.label.replace($t.lineBreakRegex,` -`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await P3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Li(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function F3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function $3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];F3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),$3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class z3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class q3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let V3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*C],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...j3e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function Z3e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=X3e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,C),R+=Tr(.01*R,C);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/C.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":C(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=Z3e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class Q3e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class J3e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new Q3e(t,e),svg:(t,e)=>new J3e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",oa(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var e5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=e5e,t5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=t5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),r5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),n5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),i5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),a5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),s5e=kQ,o5e={rect:kQ,squareRect:s5e,roundedWithTitle:n5e,noteGroup:r5e,divider:a5e,kanbanSection:i5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await o5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),l5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var c5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var h5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",oa(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);R.push({x:F,y:$})}return R}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",oa(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} - M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function xa(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var f5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),p5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),g5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=f5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",oa(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",oa(e.cssClasses)).attr("style",oa(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function XQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(XQ,"filledCircle");var Ez=10,kz=10;async function jQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(jQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var m5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=m5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=C.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",oa(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",oa(f)).attr("ry",oa(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var y5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),v5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),b5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=y5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",oa(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=C.path(R,T);const L=Zr(_);let O=C.path(L,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var x5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=x5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",oa(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,NTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",oa(R)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var X6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-X6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=X6*u,d=X6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=C.path(R,T),L=Zr(_),O=C.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var T5e=S((t,e,r,n,i,a)=>`M${t},${e} +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return j5(t,e)}S(pQ,"splitLineToFitWidth");function j5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return j5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return j5(t,e,r)}S(j5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Ri(e.label)?await yC(e.label.replace($t.lineBreakRegex,` +`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await U3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ri(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function H3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function W3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];H3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),W3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class Y3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class X3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let j3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*C],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...r5e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function i5e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=t5e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,C),R+=Tr(.01*R,C);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/C.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":C(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=i5e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class a5e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class s5e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new a5e(t,e),svg:(t,e)=>new s5e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",la(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var o5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=o5e,l5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=l5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),c5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),u5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),h5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),d5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),f5e=kQ,p5e={rect:kQ,squareRect:f5e,roundedWithTitle:u5e,noteGroup:c5e,divider:d5e,kanbanSection:h5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await p5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),g5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var m5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var v5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",la(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);R.push({x:F,y:$})}return R}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",la(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function Ta(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var x5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),T5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),w5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=x5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",la(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",la(e.cssClasses)).attr("style",la(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function XQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(XQ,"filledCircle");var Ez=10,kz=10;async function jQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(jQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var C5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=C5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=C.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",la(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",la(f)).attr("ry",la(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var S5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),E5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),k5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=S5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",la(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=C.path(R,T);const L=Zr(_);let O=C.path(L,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var _5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=_5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",la(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,$Te(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",la(R)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var X6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-X6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=X6*u,d=X6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=C.path(R,T),L=Zr(_),O=C.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var A5e=S((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} - l${-r},0`,"createCylinderPathD"),w5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),C5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=T5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",oa(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var pi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-pi,10),e.height=Math.max((e?.height??0)-a*2-pi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+pi,h=(e?.height?e?.height:o.height)+a*2+pi,d=u-pi,f=h-pi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-pi,y:m-pi},{x:p-pi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-pi}],T=`M${p-pi},${m-pi} L${p+d},${m-pi} L${p+d},${m+f} L${p-pi},${m+f} L${p-pi},${m-pi} - M${p-pi},${m} L${p+d},${m} - M${p},${m-pi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${pi/2}, ${pi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+pi/2-(o.x-(o.left??0))}, ${-(o.height/2)+pi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,C,R)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),S5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};us(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&S5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await vs(o,e,{width:us(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Li(o)&&(s=!0);const l=await vs(i,wD(Du(o)),{width:us(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,C,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await vs(i,wD(Du(e)),{width:us(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var E5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",E5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 + l${-r},0`,"createCylinderPathD"),L5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),R5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=A5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",la(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var gi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-gi,10),e.height=Math.max((e?.height??0)-a*2-gi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+gi,h=(e?.height?e?.height:o.height)+a*2+gi,d=u-gi,f=h-gi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-gi,y:m-gi},{x:p-gi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-gi}],T=`M${p-gi},${m-gi} L${p+d},${m-gi} L${p+d},${m+f} L${p-gi},${m+f} L${p-gi},${m-gi} + M${p-gi},${m} L${p+d},${m} + M${p},${m-gi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${gi/2}, ${gi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+gi/2-(o.x-(o.left??0))}, ${-(o.height/2)+gi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,C,R)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),D5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};us(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&D5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await vs(o,e,{width:us(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Ri(o)&&(s=!0);const l=await vs(i,wD(Du(o)),{width:us(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,C,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await vs(i,wD(Du(e)),{width:us(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var N5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",N5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 a${h},${h} 1 0,0 ${m*.25},${-1*v*.1} a${h},${h} 1 0,0 ${m*.25},0 a${h},${h} 1 0,0 ${m*.25},0 @@ -259,7 +259,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error a${h},${h} 1 0,0 ${-1*m*.1},${-1*v*.33} a${h*.8},${h*.8} 1 0,0 0,${-1*v*.34} a${h},${h} 1 0,0 ${m*.1},${-1*v*.33} - H0 V0 Z`;if(e.look==="handDrawn"){const C=ar.svg(i),T=sr(e,{}),E=C.path(x,T);b=i.insert(()=>E,":first-child"),b.attr("class","basic label-container").attr("style",oa(d))}else b=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return b.attr("transform",`translate(${-m/2}, ${-v/2})`),or(e,b),e.calcIntersect=function(C,T){return Jt.rect(C,T)},e.intersect=function(C){return oe.info("Bang intersect",e,C),Jt.rect(e,C)},i}S(qJ,"bang");async function VJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,d=.25*l,f=.35*l,p=.2*l,{cssStyles:m}=e;let v;const b=`M0 0 + H0 V0 Z`;if(e.look==="handDrawn"){const C=ar.svg(i),T=sr(e,{}),E=C.path(x,T);b=i.insert(()=>E,":first-child"),b.attr("class","basic label-container").attr("style",la(d))}else b=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return b.attr("transform",`translate(${-m/2}, ${-v/2})`),or(e,b),e.calcIntersect=function(C,T){return Jt.rect(C,T)},e.intersect=function(C){return oe.info("Bang intersect",e,C),Jt.rect(e,C)},i}S(qJ,"bang");async function VJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,d=.25*l,f=.35*l,p=.2*l,{cssStyles:m}=e;let v;const b=`M0 0 a${h},${h} 0 0,1 ${l*.25},${-1*l*.1} a${f},${f} 1 0,1 ${l*.4},${-1*l*.1} a${d},${d} 1 0,1 ${l*.35},${l*.2} @@ -273,7 +273,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error a${h},${h} 1 0,1 ${-1*l*.1},${-1*u*.35} a${p},${p} 1 0,1 ${l*.1},${-1*u*.65} - H0 V0 Z`;if(e.look==="handDrawn"){const x=ar.svg(i),C=sr(e,{}),T=x.path(b,C);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",oa(m))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",b);return o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),v.attr("transform",`translate(${-l/2}, ${-u/2})`),or(e,v),e.calcIntersect=function(x,C){return Jt.rect(x,C)},e.intersect=function(x){return oe.info("Cloud intersect",e,x),Jt.rect(e,x)},i}S(VJ,"cloud");async function GJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+8*s,u=a.height+2*s,h=5,d=e.look==="neo"?` + H0 V0 Z`;if(e.look==="handDrawn"){const x=ar.svg(i),C=sr(e,{}),T=x.path(b,C);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",la(m))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",b);return o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),v.attr("transform",`translate(${-l/2}, ${-u/2})`),or(e,v),e.calcIntersect=function(x,C){return Jt.rect(x,C)},e.intersect=function(x){return oe.info("Cloud intersect",e,x),Jt.rect(e,x)},i}S(VJ,"cloud");async function GJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+8*s,u=a.height+2*s,h=5,d=e.look==="neo"?` M${-l/2} ${u/2-h} v${-u+2*h} q0,-${h} ${h},-${h} @@ -293,25 +293,25 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error h${-(l-2*h)} q${-h},0 ${-h},${-h} Z - `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var k5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:XQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:jQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],_5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...k5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=_5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",oa(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var A5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),L5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),R5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),D5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},N5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=D5e[r],u=l&&N5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),M5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Sa=new Map,O5e=S(()=>{ew.clear(),Sa.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await vs(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var XJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Sa.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Sa.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Sa.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Sa.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),I5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),B5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: + `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var M5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:XQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:jQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],O5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...M5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=O5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",la(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var I5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),B5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),P5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),F5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},$5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=F5e[r],u=l&&$5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),z5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Sa=new Map,q5e=S(()=>{ew.clear(),Sa.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await vs(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var XJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Sa.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Sa.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Sa.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Sa.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),V5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),G5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!I5e(e,a)&&!i){const s=B5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function jJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(jJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),P5e=S(function(t){const{cornerPointPositions:e}=jJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),F5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=M5e(e.curve);b!=="rounded"&&(v=P5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=X2;break;case"cardinal":x=bj;break;case"bumpX":x=pj;break;case"bumpY":x=gj;break;case"catmullRom":x=Tj;break;case"monotoneX":x=_j;break;case"monotoneY":x=Aj;break;case"natural":x=Rj;break;case"step":x=Dj;break;case"stepAfter":x=Mj;break;case"stepBefore":x=Nj;break;case"rounded":x=A2;break;default:x=X2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,X=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?F5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",oa(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";R5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&$a[e.arrowTypeStart]){const i=$a[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&$a[e.arrowTypeEnd]){const i=$a[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var $5e=S((t,e,r,n)=>{e.forEach(i=>{lwe[i](t,r,n)})},"insertMarkers"),z5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),V5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),G5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),U5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),H5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),W5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),Y5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),X5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),j5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),K5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),Z5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),Q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),J5e=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),ewe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),twe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),rwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),nwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),iwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!V5e(e,a)&&!i){const s=G5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function jJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(jJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),U5e=S(function(t){const{cornerPointPositions:e}=jJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),H5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=z5e(e.curve);b!=="rounded"&&(v=U5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=X2;break;case"cardinal":x=bj;break;case"bumpX":x=pj;break;case"bumpY":x=gj;break;case"catmullRom":x=Tj;break;case"monotoneX":x=_j;break;case"monotoneY":x=Aj;break;case"natural":x=Rj;break;case"step":x=Dj;break;case"stepAfter":x=Mj;break;case"stepBefore":x=Nj;break;case"rounded":x=A2;break;default:x=X2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,X=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?H5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",la(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";P5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&$a[e.arrowTypeStart]){const i=$a[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&$a[e.arrowTypeEnd]){const i=$a[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var W5e=S((t,e,r,n)=>{e.forEach(i=>{gwe[i](t,r,n)})},"insertMarkers"),Y5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),X5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),j5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),K5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Z5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),Q5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),J5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),ewe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),twe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),rwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),nwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),iwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),awe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),swe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),owe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),lwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),cwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),uwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),hwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`)},"requirement_arrow"),awe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L0,20`)},"requirement_arrow"),dwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),swe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),owe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),lwe={extension:z5e,composition:q5e,aggregation:V5e,dependency:G5e,lollipop:U5e,point:H5e,circle:W5e,cross:Y5e,barb:X5e,barbNeo:j5e,only_one:K5e,zero_or_one:Z5e,one_or_more:Q5e,zero_or_more:J5e,only_one_neo:ewe,zero_or_one_neo:twe,one_or_more_neo:rwe,zero_or_more_neo:nwe,requirement_arrow:iwe,requirement_contains:swe,requirement_arrow_neo:awe,requirement_contains_neo:owe},JJ=$5e,cwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:XJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),uwe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>ZRe),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>FBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");uwe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,cwe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",hwe="@import",dwe="@namespace",fwe="@keyframes",pwe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function gwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function mwe(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,Fi=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function ywe(){return Fi}function vwe(){return Fi=Ho>0?Mg(Gm,--Ho):0,gm--,Fi===10&&(gm=1,WC--),Fi}function ml(){return Fi=Ho2||ab(Fi)>3?"":" "}function wwe(t,e){for(;--e&&ml()&&!(Fi<48||Fi>102||Fi>57&&Fi<65||Fi>70&&Fi<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch(Fi){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8(Fi);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function Cwe(t,e){for(;ml()&&t+Fi!==57;)if(t+Fi===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Swe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function Ewe(t){return xwe(y3("",null,null,null,[""],t=bwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){gwe(k+=g3(j6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=j6(C);break;case 9:case 10:case 13:case 32:k+=Twe(m);break;case 92:k+=wwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(kwe(Cwe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(R=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,R,R,n&&rT(Pz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&vwe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=j6(ml())),f=zh(),h=d=ql(T=k+=Swe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=mwe(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function kwe(t,e,r,n){return xN(t,e,r,tee,bN(ywe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Vwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),Gwe={id:lee,detector:qwe,loader:Vwe},Uwe=Gwe,cee="flowchart",Hwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Wwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),Ywe={id:cee,detector:Hwe,loader:Wwe},Xwe=Ywe,uee="flowchart-v2",jwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),Kwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),Zwe={id:uee,detector:jwe,loader:Kwe},Qwe=Zwe,hee="er",Jwe=S(t=>/^\s*erDiagram/.test(t),"detector"),eCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>JPe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),tCe={id:hee,detector:Jwe,loader:eCe},rCe=tCe,dee="gitGraph",nCe=S(t=>/^\s*gitGraph/.test(t),"detector"),iCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),aCe={id:dee,detector:nCe,loader:iCe},sCe=aCe,fee="gantt",oCe=S(t=>/^\s*gantt/.test(t),"detector"),lCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>pYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),cCe={id:fee,detector:oCe,loader:lCe},uCe=cCe,pee="info",hCe=S(t=>/^\s*info/.test(t),"detector"),dCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>wYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),fCe={id:pee,detector:hCe,loader:dCe},gee="pie",pCe=S(t=>/^\s*pie/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Ye);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),mCe={id:gee,detector:pCe,loader:gCe},mee="quadrantChart",yCe=S(t=>/^\s*quadrantChart/.test(t),"detector"),vCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>XYe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),bCe={id:mee,detector:yCe,loader:vCe},xCe=bCe,yee="xychart",TCe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),wCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>cXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),CCe={id:yee,detector:TCe,loader:wCe},SCe=CCe,vee="requirement",ECe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),kCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yXe);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),_Ce={id:vee,detector:ECe,loader:kCe},ACe=_Ce,bee="sequence",LCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),RCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),DCe={id:bee,detector:LCe,loader:RCe},NCe=DCe,xee="class",MCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),OCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>vje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),ICe={id:xee,detector:MCe,loader:OCe},BCe=ICe,Tee="classDiagram",PCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),FCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xje);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),$Ce={id:Tee,detector:PCe,loader:FCe},zCe=$Ce,wee="state",qCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),VCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>cKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),GCe={id:wee,detector:qCe,loader:VCe},UCe=GCe,Cee="stateDiagram",HCe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),WCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>hKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),YCe={id:Cee,detector:HCe,loader:WCe},XCe=YCe,See="journey",jCe=S(t=>/^\s*journey/.test(t),"detector"),KCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),ZCe={id:See,detector:jCe,loader:KCe},QCe=ZCe,JCe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error -`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Gi(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:JCe},eSe=Eee,tSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},rSe=tSe,kee="flowchart-elk",nSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),iSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),aSe={id:kee,detector:nSe,loader:iSe},sSe=aSe,_ee="timeline",oSe=S(t=>/^\s*timeline/.test(t),"detector"),lSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>lZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),cSe={id:_ee,detector:oSe,loader:lSe},uSe=cSe,Aee="mindmap",hSe=S(t=>/^\s*mindmap/.test(t),"detector"),dSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>SZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),fSe={id:Aee,detector:hSe,loader:dSe},pSe=fSe,Lee="kanban",gSe=S(t=>/^\s*kanban/.test(t),"detector"),mSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UZe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),ySe={id:Lee,detector:gSe,loader:mSe},vSe=ySe,Ree="sankey",bSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),xSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>AQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),TSe={id:Ree,detector:bSe,loader:xSe},wSe=TSe,Dee="packet",CSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),SSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Qe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),ESe={id:Dee,detector:CSe,loader:SSe},Nee="radar",kSe=S(t=>/^\s*radar-beta/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),ASe={id:Nee,detector:kSe,loader:_Se},Mee="block",LSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),RSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Bet);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),DSe={id:Mee,detector:LSe,loader:RSe},NSe=DSe,Oee="treeView",MSe=S(t=>/^\s*treeView-beta/.test(t),"detector"),OSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ttt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),ISe={id:Oee,detector:MSe,loader:OSe},BSe=ISe,Iee="architecture",PSe=S(t=>/^\s*architecture/.test(t),"detector"),FSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Ltt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),$Se={id:Iee,detector:PSe,loader:FSe},zSe=$Se,Bee="ishikawa",qSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),VSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Wtt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),GSe={id:Bee,detector:qSe,loader:VSe},Pee="venn",USe=S(t=>/^\s*venn-beta/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Drt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),WSe={id:Pee,detector:USe,loader:HSe},YSe=WSe,Fee="treemap",XSe=S(t=>/^\s*treemap/.test(t),"detector"),jSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Vrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),KSe={id:Fee,detector:XSe,loader:jSe},$ee="wardley-beta",ZSe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),QSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jrt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),JSe={id:$ee,detector:ZSe,loader:QSe},eEe=JSe,Uz=!1,XC=S(()=>{Uz||(Uz=!0,g5("error",rSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(sSe,pSe,zSe),GA(Uwe,vSe,zCe,BCe,rCe,uCe,fCe,mCe,ACe,NCe,Qwe,Xwe,uSe,sCe,XCe,UCe,QCe,xCe,wSe,ESe,SCe,NSe,BSe,ASe,GSe,KSe,YSe,eEe))},"addDiagrams"),tEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{XA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),rEe="graphics-document document";function zee(t,e){t.attr("role",rEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=DTe(e)+` -`;try{XA(i)}catch{const u=L0e(i);if(!u)throw new rX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=XA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],nEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),iEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tX);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var aEe=S(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),sEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),oEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:TTe(t),directive:e}},"processDirectives");function TN(t){const e=aEe(t),r=sEe(e),n=oEe(r.text),i=Ji(r.config,n.directive);return t=iEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var lEe=5e4,cEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",uEe="sandbox",hEe="loose",dEe="http://www.w3.org/2000/svg",fEe="http://www.w3.org/1999/xlink",pEe="http://www.w3.org/1999/xhtml",gEe="100%",mEe="100%",yEe="border:0;margin:0;",vEe="margin:0",bEe="allow-top-navigation-by-user-activation allow-popups",xEe='The "iframe" tag is not supported by your browser.',TEe=["foreignobject"],wEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),rpe(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){XC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),CEe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),fwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),pwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),gwe={extension:Y5e,composition:X5e,aggregation:j5e,dependency:K5e,lollipop:Z5e,point:Q5e,circle:J5e,cross:ewe,barb:twe,barbNeo:rwe,only_one:nwe,zero_or_one:iwe,one_or_more:awe,zero_or_more:swe,only_one_neo:owe,zero_or_one_neo:lwe,one_or_more_neo:cwe,zero_or_more_neo:uwe,requirement_arrow:hwe,requirement_contains:fwe,requirement_arrow_neo:dwe,requirement_contains_neo:pwe},JJ=W5e,mwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:XJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),ywe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>i9e),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>HBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");ywe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,mwe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",vwe="@import",bwe="@namespace",xwe="@keyframes",Twe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function wwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function Cwe(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,$i=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function Swe(){return $i}function Ewe(){return $i=Ho>0?Mg(Gm,--Ho):0,gm--,$i===10&&(gm=1,WC--),$i}function ml(){return $i=Ho2||ab($i)>3?"":" "}function Lwe(t,e){for(;--e&&ml()&&!($i<48||$i>102||$i>57&&$i<65||$i>70&&$i<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch($i){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8($i);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function Rwe(t,e){for(;ml()&&t+$i!==57;)if(t+$i===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Dwe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function Nwe(t){return _we(y3("",null,null,null,[""],t=kwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){wwe(k+=g3(j6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=j6(C);break;case 9:case 10:case 13:case 32:k+=Awe(m);break;case 92:k+=Lwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(Mwe(Rwe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(R=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,R,R,n&&rT(Pz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&Ewe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=j6(ml())),f=zh(),h=d=ql(T=k+=Dwe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=Cwe(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function Mwe(t,e,r,n){return xN(t,e,r,tee,bN(Swe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),jwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>zPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),Kwe={id:lee,detector:Xwe,loader:jwe},Zwe=Kwe,cee="flowchart",Qwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Jwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),eCe={id:cee,detector:Qwe,loader:Jwe},tCe=eCe,uee="flowchart-v2",rCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),nCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),iCe={id:uee,detector:rCe,loader:nCe},aCe=iCe,hee="er",sCe=S(t=>/^\s*erDiagram/.test(t),"detector"),oCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sFe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),lCe={id:hee,detector:sCe,loader:oCe},cCe=lCe,dee="gitGraph",uCe=S(t=>/^\s*gitGraph/.test(t),"detector"),hCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>fWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),dCe={id:dee,detector:uCe,loader:hCe},fCe=dCe,fee="gantt",pCe=S(t=>/^\s*gantt/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>TYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),mCe={id:fee,detector:pCe,loader:gCe},yCe=mCe,pee="info",vCe=S(t=>/^\s*info/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>LYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),xCe={id:pee,detector:vCe,loader:bCe},gee="pie",TCe=S(t=>/^\s*pie/.test(t),"detector"),wCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>WYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),CCe={id:gee,detector:TCe,loader:wCe},mee="quadrantChart",SCe=S(t=>/^\s*quadrantChart/.test(t),"detector"),ECe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>tXe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),kCe={id:mee,detector:SCe,loader:ECe},_Ce=kCe,yee="xychart",ACe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),LCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>mXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),RCe={id:yee,detector:ACe,loader:LCe},DCe=RCe,vee="requirement",NCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),MCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>SXe);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),OCe={id:vee,detector:NCe,loader:MCe},ICe=OCe,bee="sequence",BCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),PCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),FCe={id:bee,detector:BCe,loader:PCe},$Ce=FCe,xee="class",zCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),qCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Eje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),VCe={id:xee,detector:zCe,loader:qCe},GCe=VCe,Tee="classDiagram",UCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),HCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>_je);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),WCe={id:Tee,detector:UCe,loader:HCe},YCe=WCe,wee="state",XCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),jCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>mKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),KCe={id:wee,detector:XCe,loader:jCe},ZCe=KCe,Cee="stateDiagram",QCe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),JCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>vKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),eSe={id:Cee,detector:QCe,loader:JCe},tSe=eSe,See="journey",rSe=S(t=>/^\s*journey/.test(t),"detector"),nSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>zKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),iSe={id:See,detector:rSe,loader:nSe},aSe=iSe,sSe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error +`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Ui(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:sSe},oSe=Eee,lSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},cSe=lSe,kee="flowchart-elk",uSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),hSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),dSe={id:kee,detector:uSe,loader:hSe},fSe=dSe,_ee="timeline",pSe=S(t=>/^\s*timeline/.test(t),"detector"),gSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>gZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),mSe={id:_ee,detector:pSe,loader:gSe},ySe=mSe,Aee="mindmap",vSe=S(t=>/^\s*mindmap/.test(t),"detector"),bSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),xSe={id:Aee,detector:vSe,loader:bSe},TSe=xSe,Lee="kanban",wSe=S(t=>/^\s*kanban/.test(t),"detector"),CSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ZZe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),SSe={id:Lee,detector:wSe,loader:CSe},ESe=SSe,Ree="sankey",kSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>IQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),ASe={id:Ree,detector:kSe,loader:_Se},LSe=ASe,Dee="packet",RSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>WQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),NSe={id:Dee,detector:RSe,loader:DSe},Nee="radar",MSe=S(t=>/^\s*radar-beta/.test(t),"detector"),OSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>fJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),ISe={id:Nee,detector:MSe,loader:OSe},Mee="block",BSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),PSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Get);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),FSe={id:Mee,detector:BSe,loader:PSe},$Se=FSe,Oee="treeView",zSe=S(t=>/^\s*treeView-beta/.test(t),"detector"),qSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ltt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),VSe={id:Oee,detector:zSe,loader:qSe},GSe=VSe,Iee="architecture",USe=S(t=>/^\s*architecture/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Btt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),WSe={id:Iee,detector:USe,loader:HSe},YSe=WSe,Bee="ishikawa",XSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),jSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jtt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),KSe={id:Bee,detector:XSe,loader:jSe},Pee="venn",ZSe=S(t=>/^\s*venn-beta/.test(t),"detector"),QSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Frt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),JSe={id:Pee,detector:ZSe,loader:QSe},eEe=JSe,Fee="treemap",tEe=S(t=>/^\s*treemap/.test(t),"detector"),rEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>jrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),nEe={id:Fee,detector:tEe,loader:rEe},$ee="wardley-beta",iEe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),aEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>snt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),sEe={id:$ee,detector:iEe,loader:aEe},oEe=sEe,Uz=!1,XC=S(()=>{Uz||(Uz=!0,g5("error",cSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(fSe,TSe,YSe),GA(Zwe,ESe,YCe,GCe,cCe,yCe,xCe,CCe,ICe,$Ce,aCe,tCe,ySe,fCe,tSe,ZCe,aSe,_Ce,LSe,NSe,DCe,$Se,GSe,ISe,KSe,nEe,eEe,oEe))},"addDiagrams"),lEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{XA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),cEe="graphics-document document";function zee(t,e){t.attr("role",cEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=FTe(e)+` +`;try{XA(i)}catch{const u=B0e(i);if(!u)throw new rX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=XA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],uEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),hEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tX);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var dEe=S(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),fEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),pEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:ATe(t),directive:e}},"processDirectives");function TN(t){const e=dEe(t),r=fEe(e),n=pEe(r.text),i=ea(r.config,n.directive);return t=hEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var gEe=5e4,mEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",yEe="sandbox",vEe="loose",bEe="http://www.w3.org/2000/svg",xEe="http://www.w3.org/1999/xlink",TEe="http://www.w3.org/1999/xhtml",wEe="100%",CEe="100%",SEe="border:0;margin:0;",EEe="margin:0",kEe="allow-top-navigation-by-user-activation allow-popups",_Ee='The "iframe" tag is not supported by your browser.',AEe=["foreignobject"],LEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),cpe(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){XC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),REe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),SEe=S((t,e,r,n)=>{const i=CEe(t,r),a=xpe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(Ewe(`${n}{${a}}`),_we)},"createUserStyles"),EEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),kEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":mEe,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",dEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var _Ee=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),AEe=S(async function(t,e,r){XC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??lEe)&&(e=cEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===uEe,p=i.securityLevel===hEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,fEe)}else{if(_Ee(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=SEe(i,C,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():eSe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",pEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=EEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=kEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:TEe,ADD_ATTR:wEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(nEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=ki({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),epe(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?J0e(e):sX();fD(r.logLevel),XC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:AEe,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oX,getSiteConfig:sX,updateSiteConfig:tpe,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var LEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Xee=S(async function(t={querySelector:".mermaid"}){try{await REe(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),REe=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){LEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),jee=S(function(t){c0.initialize(t)},"initialize"),DEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&jee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Xee(n)},"init"),NEe=S(async(t,{lazyLoad:e=!0}={})=>{XC(),GA(...t),e===!1&&await tEe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var MEe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),OEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),IEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:OEe,render:Qee,init:DEe,run:Xee,registerExternalDiagrams:NEe,registerLayoutLoaders:eee,initialize:jee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:MEe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:IEe},Xz=Nu;function nT(t){dl.postMessage(t)}const BEe="_mermaid_container_lewih_1",PEe="_diagram_container_lewih_17",FEe="_diagram_lewih_17",Z6={mermaid_container:BEe,diagram_container:PEe,diagram:FEe};function $Ee(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=Kt.useRef(null),r=Kt.useRef(0),[n,i]=Kt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Kt.useEffect(()=>{Xz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Kt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),DEe=S((t,e,r,n)=>{const i=REe(t,r),a=_pe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(Nwe(`${n}{${a}}`),Owe)},"createUserStyles"),NEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),MEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":CEe,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",bEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var OEe=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),IEe=S(async function(t,e,r){XC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??gEe)&&(e=mEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===yEe,p=i.securityLevel===vEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,xEe)}else{if(OEe(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=DEe(i,C,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():oSe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",TEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=NEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=MEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:AEe,ADD_ATTR:LEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(uEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=_i({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),ope(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?spe(e):sX();fD(r.logLevel),XC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:IEe,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oX,getSiteConfig:sX,updateSiteConfig:lpe,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var BEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Xee=S(async function(t={querySelector:".mermaid"}){try{await PEe(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),PEe=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){BEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),jee=S(function(t){c0.initialize(t)},"initialize"),FEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&jee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Xee(n)},"init"),$Ee=S(async(t,{lazyLoad:e=!0}={})=>{XC(),GA(...t),e===!1&&await lEe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var zEe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),qEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),VEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:qEe,render:Qee,init:FEe,run:Xee,registerExternalDiagrams:$Ee,registerLayoutLoaders:eee,initialize:jee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:zEe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:VEe},Xz=Nu;function nT(t){dl.postMessage(t)}const GEe="_mermaid_container_lewih_1",UEe="_diagram_container_lewih_17",HEe="_diagram_lewih_17",Z6={mermaid_container:GEe,diagram_container:UEe,diagram:HEe};function WEe(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=Kt.useRef(null),r=Kt.useRef(0),[n,i]=Kt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Kt.useEffect(()=>{Xz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Kt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=`

    No Diagram Available Yet

    Click Run in the IDAES Tree View to execute the flowsheet and generate a diagram.

    @@ -344,9 +344,9 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` `);console.log(`mermaid diagram text: ${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p}=await Xz.render(f,h);e.current&&(e.current.innerHTML=p)}catch(f){console.error("mermaid render error:",f),e.current&&(e.current.innerHTML=`

    Mermaid render error: ${f}

    -
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const zEe="_ipopt_container_87gan_1",qEe="_solver_output_87gan_11",VEe="_tabs_87gan_35",GEe="_tab_87gan_35",UEe="_tab_active_87gan_58",HEe="_tab_content_87gan_64",WEe="_run_error_87gan_73",YEe="_run_error_title_87gan_82",XEe="_run_error_body_87gan_87",jEe="_run_error_hint_87gan_92",Ba={ipopt_container:zEe,solver_output:qEe,tabs:VEe,tab:GEe,tab_active:UEe,tab_content:HEe,run_error:WEe,run_error_title:YEe,run_error_body:XEe,run_error_hint:jEe};function jz(t){if(!t)return"No solver output available for this step.";const e=t.split(` +
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const YEe="_ipopt_container_87gan_1",XEe="_solver_output_87gan_11",jEe="_tabs_87gan_35",KEe="_tab_87gan_35",ZEe="_tab_active_87gan_58",QEe="_tab_content_87gan_64",JEe="_run_error_87gan_73",eke="_run_error_title_87gan_82",tke="_run_error_body_87gan_87",rke="_run_error_hint_87gan_92",Ba={ipopt_container:YEe,solver_output:XEe,tabs:jEe,tab:KEe,tab_active:ZEe,tab_content:QEe,run_error:JEe,run_error_title:eke,run_error_body:tke,run_error_hint:rke};function jz(t){if(!t)return"No solver output available for this step.";const e=t.split(` `);let r=0;for(let n=0;n0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const ZEe="_container_1qp2h_2",QEe="_empty_msg_1qp2h_15",JEe="_tabs_1qp2h_21",eke="_tab_1qp2h_21",tke="_tab_active_1qp2h_43",rke="_tab_content_1qp2h_49",nke="_group_1qp2h_54",ike="_group_header_1qp2h_58",ake="_group_title_1qp2h_65",ske="_badge_warning_1qp2h_70",oke="_badge_caution_1qp2h_84",lke="_toggle_btns_1qp2h_99",cke="_toggle_btn_1qp2h_99",uke="_toggle_sep_1qp2h_115",hke="_group_body_1qp2h_121",dke="_summary_item_1qp2h_127",fke="_summary_line_1qp2h_131",pke="_clickable_1qp2h_140",gke="_arrow_1qp2h_149",mke="_summary_count_1qp2h_156",yke="_summary_text_1qp2h_163",vke="_detail_list_1qp2h_168",bke="_run_error_1qp2h_189",xke="_run_error_title_1qp2h_198",Tke="_run_error_body_1qp2h_203",wke="_run_error_hint_1qp2h_208",jr={container:ZEe,empty_msg:QEe,tabs:JEe,tab:eke,tab_active:tke,tab_content:rke,group:nke,group_header:ike,group_title:ake,badge_warning:ske,badge_caution:oke,toggle_btns:lke,toggle_btn:cke,toggle_sep:uke,group_body:hke,summary_item:dke,summary_line:fke,clickable:pke,arrow:gke,summary_count:mke,summary_text:yke,detail_list:vke,run_error:bke,run_error_title:xke,run_error_body:Tke,run_error_hint:wke};function X8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Cke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ske({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:jr.summary_item,children:[Ae.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:jr.summary_count,children:t.count}),Ae.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Kt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:jr.group,children:[Ae.jsxs("div",{className:jr.group_header,children:[Ae.jsx("span",{className:jr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:jr.toggle_btns,children:[Ae.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:jr.toggle_sep,children:"|"}),Ae.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:jr.group_body,children:[r.length===0&&Ae.jsx("div",{className:jr.summary_line,children:Ae.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ske,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Eke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:X8(i.bounds),names:i.names};Cke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function kke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function _ke(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=Kt.useState("structure");if(!e)return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.run_error,children:[Ae.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.tabs,children:[Ae.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&Ae.jsx(Eke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(kke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Kt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Kt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",Ake(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function Ake(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function j8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(j8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>j8(u,h,e)),o=o.filter(([u,h])=>j8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function Lke({data:t,dofSteps:e}){const[r,n]=Kt.useState(""),[i,a]=Kt.useState(!1),[s,o]=Kt.useState(0),l=Kt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Kt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(Rke,{data:t,searchTerm:l})]})}function Rke({data:t,searchTerm:e}){return Kt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Dke="_run_error_nknwf_18",Nke="_run_error_title_nknwf_27",Mke="_run_error_body_nknwf_32",Oke="_run_error_hint_nknwf_37",iT={run_error:Dke,run_error_title:Nke,run_error_body:Mke,run_error_hint:Oke};function Ike(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(Lke,{data:r,dofSteps:i})]})}const Bke="_tabs_1froz_2",Pke="_tab_1froz_2",Fke="_tab_active_1froz_24",$ke="_logs_main_container_1froz_30",zke="_tab_content_1froz_39",qke="_content_section_1froz_47",Vke="_logs_container_1froz_54",Gke="_logs_header_1froz_67",Uke="_logs_title_1froz_76",Hke="_clear_logs_button_1froz_82",Wke="_log_item_1froz_96",Yke="_no_logs_1froz_104",Bi={tabs:Bke,tab:Pke,tab_active:Fke,logs_main_container:$ke,tab_content:zke,content_section:qke,logs_container:Vke,logs_header:Gke,logs_title:Uke,clear_logs_button:Hke,log_item:Wke,no_logs:Yke};function Xke(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Kt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Bi.content_section,children:[Ae.jsxs("div",{className:Bi.logs_header,children:[Ae.jsx("h2",{className:Bi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Bi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Bi.logs_container,children:t.length===0?Ae.jsx("span",{className:Bi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Bi.log_item,children:n},i))})]})}function jke(){const{terminalLogs:t,setTerminalLogs:e}=Kt.useContext(Da),r=Kt.useRef(null);Kt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Bi.content_section,children:[Ae.jsxs("div",{className:Bi.logs_header,children:[Ae.jsx("h2",{className:Bi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Bi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Bi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Bi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function Kke(){const{activeLogTab:t,setActiveLogTab:e}=Kt.useContext(Da);return Kt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Bi.logs_main_container,children:[Ae.jsxs("div",{className:Bi.tabs,children:[Ae.jsx("span",{className:`${Bi.tab} ${t==="error"?Bi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Bi.tab} ${t==="terminal"?Bi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Bi.tab_content,children:[t==="error"&&Ae.jsx(Xke,{}),t==="terminal"&&Ae.jsx(jke,{})]})]})}const Zke="_main_display_container_xlfzb_1",Qke="_nav_xlfzb_11",Jke="_nav_item_xlfzb_25",e6e="_nav_item_active_xlfzb_44",t6e="_blue_dot_xlfzb_49",Rs={main_display_container:Zke,nav:Qke,nav_item:Jke,nav_item_active:e6e,blue_dot:t6e};function r6e(){const[t,e]=Kt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Kt.useContext(Da),[i,a]=Kt.useState(!1),s=Kt.useRef(r.length),{flowsheetRunnerResult:o}=Kt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;Kt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Kt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx($Ee,{});break;case"variable":u=Ae.jsx(Ike,{});break;case"ipopt":u=Ae.jsx(KEe,{});break;case"diagnostics":u=Ae.jsx(_ke,{});break;case"logs":u=Ae.jsx(Kke,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${Rs.main_display_container}`,children:[Ae.jsxs("ul",{className:`${Rs.nav}`,children:[Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagram"?Rs.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="variable"?Rs.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagnostics"?Rs.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="ipopt"?Rs.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Ae.jsx("span",{className:`${Rs.blue_dot}`})]}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="logs"?Rs.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${Rs.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function n6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p,setPythonEnvInfo:m}=Kt.useContext(Da),[v,b]=Kt.useState(""),[x,C]=Kt.useState(!1);function T(E){let _;switch(console.log(`Now loading page: ${E}`),E){case"editor":_=Ae.jsx(Xfe,{});break;case"webView":console.log("loading web view page"),_=Ae.jsx(r6e,{});break;case"treeView":console.log("loading tree page"),_=Ae.jsx(Yfe,{});break;case"error":console.log(`Encounter an error: ${E}`);break;default:console.log("Unknown message type:",E);break}return _}return Kt.useEffect(()=>{if(!n)return;const E=n.actions?.diagnostics;if(E?.valid!==!1)return;const _=n.last_run??[],R=`[${new Date().toLocaleTimeString()}]`;s(k=>[...k,`${R} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${_.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:E,last_run:_})}`,`${R} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:_})}`,`${R} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:_})}`,`${R} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:_})}`])},[n]),Kt.useEffect(()=>{window.addEventListener("message",E=>{const _=E.data;switch(_.type){case"init":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content),r(_.fileName),t(_.idaesRunInfo),b(_.loadApp),l(!1),_.osPlatform&&p(_.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",_),_.isLoading!==void 0&&(console.log("Calling setIsLoading with:",_.isLoading),l(_.isLoading)),r(_.activate_tab_name),_.idaesRunInfo!==void 0&&t(_.idaesRunInfo),_.initError?u(_.initError):(_.initError===null||_.isLoading)&&u(null),_.open_python_files!==void 0&&h(_.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",_),m({current:_.current??null,envs:_.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),_.open_python_files!==void 0&&h(_.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(_)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(_.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(_)}`),s(R=>{const k=`[${new Date().toLocaleTimeString()}] ${_.message||JSON.stringify(_)}`;return[...R,k]});break;case"terminal_log":o(R=>[...R,_.data]);break;case"start_new_run":i(null),f(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),C(!1),setTimeout(()=>C(!0),10);break;case"history_update":console.log(`Received history list length: ${_.data?.length}`),d(_.data);break;default:console.log("Unknown message type:",JSON.stringify(_));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:x?"flash-highlight":"",onAnimationEnd:()=>C(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:T(v)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(Kt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(n6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(i6e,"-$1").toLowerCase(),a6e={"&":"&",">":">","<":"<",'"':""","'":"'"},s6e=/[&><"']/g,Ua=t=>String(t).replace(s6e,e=>a6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,o6e=new Set(["mathord","textord","atom"]),Vu=t=>o6e.has(v3(t).type),l6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function c6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:c6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=l6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[u6e[this.id]]}sub(){return Ul[h6e[this.id]]}fracNum(){return Ul[d6e[this.id]]}fracDen(){return Ul[f6e[this.id]]}cramp(){return Ul[p6e[this.id]]}text(){return Ul[g6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],u6e=[lb,zo,lb,zo,mm,cs,mm,cs],h6e=[zo,zo,zo,zo,cs,cs,cs,cs],d6e=[Ig,wu,lb,zo,mm,cs,mm,cs],f6e=[wu,wu,zo,zo,cs,cs,cs,cs],p6e=[iw,iw,wu,wu,zo,zo,cs,cs],g6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function m6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,y6e=function(e,r){return"M95,"+(622+e+r)+` +`).trimStart();return t}function nke(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),[e,r]=Kt.useState("initial"),n=t?.actions?.diagnostics,i=!!t&&n?.valid===!1,a=t?.actions?.solver_output?.output||t?.actions?.capture_solver_output?.solver_logs;if(!t)return Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]});if(i){const s=t.last_run??[];return Ae.jsxs("div",{className:Ba.ipopt_container,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsxs("div",{className:Ba.run_error,children:[Ae.jsx("p",{className:Ba.run_error_title,children:"fi-run has issues: Solver Output Unavailable"}),Ae.jsxs("p",{className:Ba.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",s.length>0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const ike="_container_1qp2h_2",ake="_empty_msg_1qp2h_15",ske="_tabs_1qp2h_21",oke="_tab_1qp2h_21",lke="_tab_active_1qp2h_43",cke="_tab_content_1qp2h_49",uke="_group_1qp2h_54",hke="_group_header_1qp2h_58",dke="_group_title_1qp2h_65",fke="_badge_warning_1qp2h_70",pke="_badge_caution_1qp2h_84",gke="_toggle_btns_1qp2h_99",mke="_toggle_btn_1qp2h_99",yke="_toggle_sep_1qp2h_115",vke="_group_body_1qp2h_121",bke="_summary_item_1qp2h_127",xke="_summary_line_1qp2h_131",Tke="_clickable_1qp2h_140",wke="_arrow_1qp2h_149",Cke="_summary_count_1qp2h_156",Ske="_summary_text_1qp2h_163",Eke="_detail_list_1qp2h_168",kke="_run_error_1qp2h_189",_ke="_run_error_title_1qp2h_198",Ake="_run_error_body_1qp2h_203",Lke="_run_error_hint_1qp2h_208",jr={container:ike,empty_msg:ake,tabs:ske,tab:oke,tab_active:lke,tab_content:cke,group:uke,group_header:hke,group_title:dke,badge_warning:fke,badge_caution:pke,toggle_btns:gke,toggle_btn:mke,toggle_sep:yke,group_body:vke,summary_item:bke,summary_line:xke,clickable:Tke,arrow:wke,summary_count:Cke,summary_text:Ske,detail_list:Eke,run_error:kke,run_error_title:_ke,run_error_body:Ake,run_error_hint:Lke};function X8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Rke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Dke({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:jr.summary_item,children:[Ae.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:jr.summary_count,children:t.count}),Ae.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Kt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:jr.group,children:[Ae.jsxs("div",{className:jr.group_header,children:[Ae.jsx("span",{className:jr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:jr.toggle_btns,children:[Ae.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:jr.toggle_sep,children:"|"}),Ae.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:jr.group_body,children:[r.length===0&&Ae.jsx("div",{className:jr.summary_line,children:Ae.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Dke,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Nke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:X8(i.bounds),names:i.names};Rke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Mke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Oke(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=Kt.useState("structure");if(!e)return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.run_error,children:[Ae.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.tabs,children:[Ae.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&Ae.jsx(Nke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Mke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Kt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Kt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",Ike(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function Ike(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function j8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(j8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>j8(u,h,e)),o=o.filter(([u,h])=>j8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function Bke({data:t,dofSteps:e}){const[r,n]=Kt.useState(""),[i,a]=Kt.useState(!1),[s,o]=Kt.useState(0),l=Kt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Kt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(Pke,{data:t,searchTerm:l})]})}function Pke({data:t,searchTerm:e}){return Kt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Fke="_run_error_nknwf_18",$ke="_run_error_title_nknwf_27",zke="_run_error_body_nknwf_32",qke="_run_error_hint_nknwf_37",iT={run_error:Fke,run_error_title:$ke,run_error_body:zke,run_error_hint:qke};function Vke(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(Bke,{data:r,dofSteps:i})]})}const Gke="_tabs_1froz_2",Uke="_tab_1froz_2",Hke="_tab_active_1froz_24",Wke="_logs_main_container_1froz_30",Yke="_tab_content_1froz_39",Xke="_content_section_1froz_47",jke="_logs_container_1froz_54",Kke="_logs_header_1froz_67",Zke="_logs_title_1froz_76",Qke="_clear_logs_button_1froz_82",Jke="_log_item_1froz_96",e6e="_no_logs_1froz_104",Pi={tabs:Gke,tab:Uke,tab_active:Hke,logs_main_container:Wke,tab_content:Yke,content_section:Xke,logs_container:jke,logs_header:Kke,logs_title:Zke,clear_logs_button:Qke,log_item:Jke,no_logs:e6e};function t6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Kt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function r6e(){const{terminalLogs:t,setTerminalLogs:e}=Kt.useContext(Da),r=Kt.useRef(null);Kt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function n6e(){const{activeLogTab:t,setActiveLogTab:e}=Kt.useContext(Da);return Kt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(t6e,{}),t==="terminal"&&Ae.jsx(r6e,{})]})]})}const i6e="_main_display_container_xlfzb_1",a6e="_nav_xlfzb_11",s6e="_nav_item_xlfzb_25",o6e="_nav_item_active_xlfzb_44",l6e="_blue_dot_xlfzb_49",Rs={main_display_container:i6e,nav:a6e,nav_item:s6e,nav_item_active:o6e,blue_dot:l6e};function c6e(){const[t,e]=Kt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Kt.useContext(Da),[i,a]=Kt.useState(!1),s=Kt.useRef(r.length),{flowsheetRunnerResult:o}=Kt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;Kt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Kt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(WEe,{});break;case"variable":u=Ae.jsx(Vke,{});break;case"ipopt":u=Ae.jsx(nke,{});break;case"diagnostics":u=Ae.jsx(Oke,{});break;case"logs":u=Ae.jsx(n6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${Rs.main_display_container}`,children:[Ae.jsxs("ul",{className:`${Rs.nav}`,children:[Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagram"?Rs.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="variable"?Rs.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagnostics"?Rs.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="ipopt"?Rs.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Ae.jsx("span",{className:`${Rs.blue_dot}`})]}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="logs"?Rs.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${Rs.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function u6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p,setPythonEnvInfo:m}=Kt.useContext(Da),[v,b]=Kt.useState(""),[x,C]=Kt.useState(!1);function T(E){let _;switch(console.log(`Now loading page: ${E}`),E){case"editor":_=Ae.jsx(t0e,{});break;case"webView":console.log("loading web view page"),_=Ae.jsx(c6e,{});break;case"treeView":console.log("loading tree page"),_=Ae.jsx(e0e,{});break;case"error":console.log(`Encounter an error: ${E}`);break;default:console.log("Unknown message type:",E);break}return _}return Kt.useEffect(()=>{if(!n)return;const E=n.actions?.diagnostics;if(E?.valid!==!1)return;const _=n.last_run??[],R=`[${new Date().toLocaleTimeString()}]`;s(k=>[...k,`${R} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${_.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:E,last_run:_})}`,`${R} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:_})}`,`${R} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:_})}`,`${R} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:_})}`])},[n]),Kt.useEffect(()=>{window.addEventListener("message",E=>{const _=E.data;switch(_.type){case"init":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content),r(_.fileName),t(_.idaesRunInfo),b(_.loadApp),l(!1),_.osPlatform&&p(_.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",_),_.isLoading!==void 0&&(console.log("Calling setIsLoading with:",_.isLoading),l(_.isLoading)),r(_.activate_tab_name),_.idaesRunInfo!==void 0&&t(_.idaesRunInfo),_.initError?u(_.initError):(_.initError===null||_.isLoading)&&u(null),_.open_python_files!==void 0&&h(_.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",_),m({current:_.current??null,envs:_.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),_.open_python_files!==void 0&&h(_.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(_)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(_.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(_)}`),s(R=>{const k=`[${new Date().toLocaleTimeString()}] ${_.message||JSON.stringify(_)}`;return[...R,k]});break;case"terminal_log":o(R=>[...R,_.data]);break;case"start_new_run":i(null),f(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),C(!1),setTimeout(()=>C(!0),10);break;case"history_update":console.log(`Received history list length: ${_.data?.length}`),d(_.data);break;default:console.log("Unknown message type:",JSON.stringify(_));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:x?"flash-highlight":"",onAnimationEnd:()=>C(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:T(v)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(Kt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(u6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(h6e,"-$1").toLowerCase(),d6e={"&":"&",">":">","<":"<",'"':""","'":"'"},f6e=/[&><"']/g,Ua=t=>String(t).replace(f6e,e=>d6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,p6e=new Set(["mathord","textord","atom"]),Vu=t=>p6e.has(v3(t).type),g6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function m6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:m6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=g6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[y6e[this.id]]}sub(){return Ul[v6e[this.id]]}fracNum(){return Ul[b6e[this.id]]}fracDen(){return Ul[x6e[this.id]]}cramp(){return Ul[T6e[this.id]]}text(){return Ul[w6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],y6e=[lb,zo,lb,zo,mm,cs,mm,cs],v6e=[zo,zo,zo,zo,cs,cs,cs,cs],b6e=[Ig,wu,lb,zo,mm,cs,mm,cs],x6e=[wu,wu,zo,zo,cs,cs,cs,cs],T6e=[iw,iw,wu,wu,zo,zo,cs,cs],w6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function C6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var ji=t=>t+" "+t,Mp=80,S6e=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -357,7 +357,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},v6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},E6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -367,7 +367,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},b6e=function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},k6e=function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -376,7 +376,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},x6e=function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},_6e=function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -386,18 +386,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},T6e=function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},A6e=function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},w6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},C6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},L6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},R6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},S6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=y6e(r,Mp);break;case"sqrtSize1":i=v6e(r,Mp);break;case"sqrtSize2":i=b6e(r,Mp);break;case"sqrtSize3":i=x6e(r,Mp);break;case"sqrtSize4":i=T6e(r,Mp);break;case"sqrtTall":i=C6e(r,Mp,n)}return i},E6e=function(e,r){switch(e){case"⎜":return Xi("M291 0 H417 V"+r+" H291z");case"∣":return Xi("M145 0 H188 V"+r+" H145z");case"∥":return Xi("M145 0 H188 V"+r+" H145z")+Xi("M367 0 H410 V"+r+" H367z");case"⎟":return Xi("M457 0 H583 V"+r+" H457z");case"⎢":return Xi("M319 0 H403 V"+r+" H319z");case"⎥":return Xi("M263 0 H347 V"+r+" H263z");case"⎪":return Xi("M384 0 H504 V"+r+" H384z");case"⏐":return Xi("M312 0 H355 V"+r+" H312z");case"‖":return Xi("M257 0 H300 V"+r+" H257z")+Xi("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},D6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=S6e(r,Mp);break;case"sqrtSize1":i=E6e(r,Mp);break;case"sqrtSize2":i=k6e(r,Mp);break;case"sqrtSize3":i=_6e(r,Mp);break;case"sqrtSize4":i=A6e(r,Mp);break;case"sqrtTall":i=R6e(r,Mp,n)}return i},N6e=function(e,r){switch(e){case"⎜":return ji("M291 0 H417 V"+r+" H291z");case"∣":return ji("M145 0 H188 V"+r+" H145z");case"∥":return ji("M145 0 H188 V"+r+" H145z")+ji("M367 0 H410 V"+r+" H367z");case"⎟":return ji("M457 0 H583 V"+r+" H457z");case"⎢":return ji("M319 0 H403 V"+r+" H319z");case"⎥":return ji("M263 0 H347 V"+r+" H263z");case"⎪":return ji("M384 0 H504 V"+r+" H384z");case"⏐":return ji("M312 0 H355 V"+r+" H312z");case"‖":return ji("M257 0 H300 V"+r+" H257z")+ji("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 @@ -443,10 +443,10 @@ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 - 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Xi("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:Xi("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:Xi("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:Xi("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:ji("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:ji("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:ji("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:ji("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 - 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Xi("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:ji("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334 c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 @@ -495,7 +495,7 @@ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 - 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Xi("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:Xi("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:Xi("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:ji("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:ji("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:ji("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 @@ -568,7 +568,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},k6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},M6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -596,38 +596,38 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},_6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in _6e||e==="ex"},ri=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ua(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ua(n)+'"');for(var a of Object.keys(this.attributes)){if(A6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ua(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let jC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class L6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ua(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ua(n)+'"');var a=Ua(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var M6e=t=>t instanceof Hm||t instanceof jC||t instanceof Um,Xl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){Xl[t]=e}function _N(t,e,r){if(!Xl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Xl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=Xl[e][n]),!i&&r==="text"&&rte(n)&&(i=Xl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function O6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var I6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},B6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Yn={math:{},text:{}};function K(t,e,r,n,i,a){Yn[t][i]={font:e,group:r,replace:n},a&&n&&(Yn[t][n]=Yn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Zn="accent-token",er="bin",bs="close",Wm="inner",mr="mathord",Ui="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Ui,"∐","\\coprod");K(J,ce,Ui,"⋁","\\bigvee");K(J,ce,Ui,"⋀","\\bigwedge");K(J,ce,Ui,"⨄","\\biguplus");K(J,ce,Ui,"⋂","\\bigcap");K(J,ce,Ui,"⋃","\\bigcup");K(J,ce,Ui,"∫","\\int");K(J,ce,Ui,"∫","\\intop");K(J,ce,Ui,"∬","\\iint");K(J,ce,Ui,"∭","\\iiint");K(J,ce,Ui,"∏","\\prod");K(J,ce,Ui,"∑","\\sum");K(J,ce,Ui,"⨂","\\bigotimes");K(J,ce,Ui,"⨁","\\bigoplus");K(J,ce,Ui,"⨀","\\bigodot");K(J,ce,Ui,"∮","\\oint");K(J,ce,Ui,"∯","\\oiint");K(J,ce,Ui,"∰","\\oiiint");K(J,ce,Ui,"⨆","\\bigsqcup");K(J,ce,Ui,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Zn,"ˊ","\\acute");K(J,ce,Zn,"ˋ","\\grave");K(J,ce,Zn,"¨","\\ddot");K(J,ce,Zn,"~","\\tilde");K(J,ce,Zn,"ˉ","\\bar");K(J,ce,Zn,"˘","\\breve");K(J,ce,Zn,"ˇ","\\check");K(J,ce,Zn,"^","\\hat");K(J,ce,Zn,"⃗","\\vec");K(J,ce,Zn,"˙","\\dot");K(J,ce,Zn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Zn,"ˊ","\\'");K(Ot,ce,Zn,"ˋ","\\`");K(Ot,ce,Zn,"ˆ","\\^");K(Ot,ce,Zn,"˜","\\~");K(Ot,ce,Zn,"ˉ","\\=");K(Ot,ce,Zn,"˘","\\u");K(Ot,ce,Zn,"˙","\\.");K(Ot,ce,Zn,"¸","\\c");K(Ot,ce,Zn,"˚","\\r");K(Ot,ce,Zn,"ˇ","\\v");K(Ot,ce,Zn,"¨",'\\"');K(Ot,ce,Zn,"˝","\\H");K(Ot,ce,Zn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=F6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},z6e=function(e,r,n,i){var a=new jC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},q6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ri(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ti={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},V6e={mord:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mop:{mord:ti,mop:ti,mrel:Vc,minner:ti},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ti,mbin:rf,mrel:Vc,minner:ti},mpunct:{mord:ti,mop:ti,mrel:Vc,mopen:ti,mclose:ti,mpunct:ti,minner:ti},minner:{mord:ti,mop:ti,mbin:rf,mrel:Vc,mopen:ti,mpunct:ti,minner:ti}},G6e={mord:{mop:ti},mop:{mord:ti,mop:ti},mbin:{},mrel:{},mopen:{},mclose:{mop:ti},mpunct:{},minner:{mop:ti}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&H6e.has(x)?v.classes[0]="mord":x==="mbin"&&U6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=G6e[C])==null?void 0:b[T]:(x=V6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof jC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return Y6e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ea(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ea(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ua(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class zi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ua(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var X6e=new Set(["\\imath","\\jmath"]),j6e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return Yn[r][e]&&Yn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Yn[r][e].replace),new zi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(X6e.has(a))return null;if(Yn[i][a]){var s=Yn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof zi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof zi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Rn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof zi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof zi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Rn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&j6e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new zi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var K6e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:K6e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=O6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},Z6e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},Q6e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},J6e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new zi(J6e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},e_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},t_e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(t_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=e_e[l],[T,E,_]=C,R=_/1e3,k=T.length,L,O;if(k===1){var F=C[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},r_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||B6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(M6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=N6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=D6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Rn(t.base,e),r]);return n.setAttribute("accent","true"),n},n_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!n_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Rn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Rn(t.body,e));if(t.below){var a=hT(Rn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Rn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ea(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:$i(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:$i(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:$i(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:$i(e[0])}},htmlBuilder(t,e){var r=ea(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var i_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",a_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function s_e(t,e,r){var n=i_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function o_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=s_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Rn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Rn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ea(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:$i(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ri(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ri(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},l_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=l_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=Yn.math[e]&&Yn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},c_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},u_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=u_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=Xl["Size4-Regular"][e.charCodeAt(0)]?Xl["Size4-Regular"][e.charCodeAt(0)][4]:Xl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",E6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},h_e=new Set(["|","\\lvert","\\rvert","\\vert"]),d_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):h_e.has(e)?(u="∣",d="vert",f=333):d_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var R=i2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=k6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=S6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},f_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),p_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(p_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},g_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],m_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],y_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=g_e:Rte.has(e)?o=Mte:o=m_e;var l=Ote(e,r,o,i);return l.type==="small"?c_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},v_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&v_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ea(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ri({number:.6,unit:"pt"},e),u=ri({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=w6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=r_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Rn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},b_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Uu([We,Xe])},x_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){b_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),o_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Rn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var T_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Rn(t.numer,e),Rn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ri(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new zi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new zi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:T_e,mathmlBuilder:w_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},C_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Rn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:C_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:$i(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ea(t.body,e,!1);return z6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ea(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:$i(e[0]),mathml:$i(e[1])}},htmlBuilder:(t,e)=>{var r=ea(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ri(t.height,e),n=0;t.totalheight.number>0&&(n=ri(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ri(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new L6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ri(t.height,e),i=0;if(t.totalheight.number>0&&(i=ri(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ri(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ri(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Rn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:$i(e[0]),text:$i(e[1]),script:$i(e[2]),scriptscript:$i(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ea(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ea(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new zi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},S_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=S_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$i(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var E_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=E_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ea(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new zi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:$i(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:k_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ea(t.body,e,!1)):Pt(["mord"],ea(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Rn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:$i(n)}},htmlBuilder:(t,e)=>{var r=ea(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo($i(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ri(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ri(t.width,e),i=ri(t.height,e),a=t.shift?ri(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ri(t.width,e),n=ri(t.height,e),i=t.shift?ri(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ea(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:__e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Rn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Rn(r,e),Rn(n,e)]):new Vt("msqrt",[Rn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var A_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=A_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Rn(t.base,e)];t.sub&&a.push(Rn(t.sub,e)),t.sup&&a.push(Rn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new zi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},L_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(L_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:$i(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ea(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new zi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Rn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r - ]`,R_e="\\\\[a-zA-Z@]+",D_e="\\\\[^\uD800-\uDFFF]",N_e="("+R_e+")"+Yte+"*",M_e=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},O6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in O6e||e==="ex"},ni=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ua(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ua(n)+'"');for(var a of Object.keys(this.attributes)){if(I6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ua(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let jC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class B6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ua(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ua(n)+'"');var a=Ua(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var z6e=t=>t instanceof Hm||t instanceof jC||t instanceof Um,Xl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){Xl[t]=e}function _N(t,e,r){if(!Xl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Xl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=Xl[e][n]),!i&&r==="text"&&rte(n)&&(i=Xl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function q6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var V6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},G6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Xn={math:{},text:{}};function K(t,e,r,n,i,a){Xn[t][i]={font:e,group:r,replace:n},a&&n&&(Xn[t][n]=Xn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Qn="accent-token",er="bin",bs="close",Wm="inner",mr="mathord",Hi="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Hi,"∐","\\coprod");K(J,ce,Hi,"⋁","\\bigvee");K(J,ce,Hi,"⋀","\\bigwedge");K(J,ce,Hi,"⨄","\\biguplus");K(J,ce,Hi,"⋂","\\bigcap");K(J,ce,Hi,"⋃","\\bigcup");K(J,ce,Hi,"∫","\\int");K(J,ce,Hi,"∫","\\intop");K(J,ce,Hi,"∬","\\iint");K(J,ce,Hi,"∭","\\iiint");K(J,ce,Hi,"∏","\\prod");K(J,ce,Hi,"∑","\\sum");K(J,ce,Hi,"⨂","\\bigotimes");K(J,ce,Hi,"⨁","\\bigoplus");K(J,ce,Hi,"⨀","\\bigodot");K(J,ce,Hi,"∮","\\oint");K(J,ce,Hi,"∯","\\oiint");K(J,ce,Hi,"∰","\\oiiint");K(J,ce,Hi,"⨆","\\bigsqcup");K(J,ce,Hi,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Qn,"ˊ","\\acute");K(J,ce,Qn,"ˋ","\\grave");K(J,ce,Qn,"¨","\\ddot");K(J,ce,Qn,"~","\\tilde");K(J,ce,Qn,"ˉ","\\bar");K(J,ce,Qn,"˘","\\breve");K(J,ce,Qn,"ˇ","\\check");K(J,ce,Qn,"^","\\hat");K(J,ce,Qn,"⃗","\\vec");K(J,ce,Qn,"˙","\\dot");K(J,ce,Qn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Qn,"ˊ","\\'");K(Ot,ce,Qn,"ˋ","\\`");K(Ot,ce,Qn,"ˆ","\\^");K(Ot,ce,Qn,"˜","\\~");K(Ot,ce,Qn,"ˉ","\\=");K(Ot,ce,Qn,"˘","\\u");K(Ot,ce,Qn,"˙","\\.");K(Ot,ce,Qn,"¸","\\c");K(Ot,ce,Qn,"˚","\\r");K(Ot,ce,Qn,"ˇ","\\v");K(Ot,ce,Qn,"¨",'\\"');K(Ot,ce,Qn,"˝","\\H");K(Ot,ce,Qn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=H6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},Y6e=function(e,r,n,i){var a=new jC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},X6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ni(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ri={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},j6e={mord:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mop:{mord:ri,mop:ri,mrel:Vc,minner:ri},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mpunct:{mord:ri,mop:ri,mrel:Vc,mopen:ri,mclose:ri,mpunct:ri,minner:ri},minner:{mord:ri,mop:ri,mbin:rf,mrel:Vc,mopen:ri,mpunct:ri,minner:ri}},K6e={mord:{mop:ri},mop:{mord:ri,mop:ri},mbin:{},mrel:{},mopen:{},mclose:{mop:ri},mpunct:{},minner:{mop:ri}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&Q6e.has(x)?v.classes[0]="mord":x==="mbin"&&Z6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=K6e[C])==null?void 0:b[T]:(x=j6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof jC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return e_e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ta(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ta(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ua(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class qi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ua(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var t_e=new Set(["\\imath","\\jmath"]),r_e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return Xn[r][e]&&Xn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Xn[r][e].replace),new qi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(t_e.has(a))return null;if(Xn[i][a]){var s=Xn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof qi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof qi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Rn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof qi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof qi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Rn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&r_e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new qi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var n_e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:n_e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=q6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},i_e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},a_e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},s_e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new qi(s_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},o_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},l_e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(l_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=o_e[l],[T,E,_]=C,R=_/1e3,k=T.length,L,O;if(k===1){var F=C[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},c_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||G6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(z6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=$6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=F6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Rn(t.base,e),r]);return n.setAttribute("accent","true"),n},u_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!u_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Rn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Rn(t.body,e));if(t.below){var a=hT(Rn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Rn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ta(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:zi(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:zi(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:zi(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:zi(e[0])}},htmlBuilder(t,e){var r=ta(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var h_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",d_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function f_e(t,e,r){var n=h_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function p_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=f_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Rn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Rn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ta(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:zi(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ni(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ni(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},g_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=g_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=Xn.math[e]&&Xn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},m_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},y_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=y_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=Xl["Size4-Regular"][e.charCodeAt(0)]?Xl["Size4-Regular"][e.charCodeAt(0)][4]:Xl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",N6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},v_e=new Set(["|","\\lvert","\\rvert","\\vert"]),b_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):v_e.has(e)?(u="∣",d="vert",f=333):b_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var R=i2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=M6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=D6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},x_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),T_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(T_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},w_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],C_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],S_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=w_e:Rte.has(e)?o=Mte:o=C_e;var l=Ote(e,r,o,i);return l.type==="small"?m_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},E_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&E_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ta(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ni({number:.6,unit:"pt"},e),u=ni({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=L6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=c_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Rn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},k_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Uu([We,Xe])},__e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){k_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),p_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Rn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var A_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Rn(t.numer,e),Rn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ni(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new qi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new qi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:A_e,mathmlBuilder:L_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},R_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Rn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:R_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:zi(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ta(t.body,e,!1);return Y6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ta(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:zi(e[0]),mathml:zi(e[1])}},htmlBuilder:(t,e)=>{var r=ta(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ni(t.height,e),n=0;t.totalheight.number>0&&(n=ni(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ni(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new B6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ni(t.height,e),i=0;if(t.totalheight.number>0&&(i=ni(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ni(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ni(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Rn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:zi(e[0]),text:zi(e[1]),script:zi(e[2]),scriptscript:zi(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ta(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ta(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new qi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},D_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=D_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:zi(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var N_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=N_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ta(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new qi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:zi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:M_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ta(t.body,e,!1)):Pt(["mord"],ta(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Rn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:zi(n)}},htmlBuilder:(t,e)=>{var r=ta(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo(zi(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ni(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ni(t.width,e),i=ni(t.height,e),a=t.shift?ni(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ni(t.width,e),n=ni(t.height,e),i=t.shift?ni(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ta(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:O_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Rn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Rn(r,e),Rn(n,e)]):new Vt("msqrt",[Rn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var I_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=I_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Rn(t.base,e)];t.sub&&a.push(Rn(t.sub,e)),t.sup&&a.push(Rn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new qi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},B_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(B_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:zi(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ta(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Rn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r + ]`,P_e="\\\\[a-zA-Z@]+",F_e="\\\\[^\uD800-\uDFFF]",$_e="("+P_e+")"+Yte+"*",z_e=`\\\\( |[ \r ]+ -?)[ \r ]*`,lL="[̀-ͯ]",O_e=new RegExp(lL+"+$"),I_e="("+Yte+"+)|"+(M_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+N_e)+("|"+D_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(I_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class B_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var P_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],Yn.math[r],Yn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},F_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in Yn.math&&F_e.has(Yn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Xte=Gt(Xl["Main-Regular"][84][1]-.7*Xl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var jte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",jte(!1));ye("\\bra@set",jte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class $_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new B_e(P_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||Yn.math.hasOwnProperty(e)||Yn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new $_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var a7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s7e=/^\w*$/;function zN(t,e){if(qi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:s7e.test(t)||!a7e.test(t)||e!=null&&t in Object(e)}var o7e=500;function l7e(t){var e=$m(t,function(n){return r.size===o7e&&r.clear(),n}),r=e.cache;return e}var c7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,u7e=/\\(\\)?/g,h7e=l7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(c7e,function(r,n,i,a){e.push(i?a.replace(u7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return qi(t)?t:zN(t,e)?[t]:h7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&FAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var S8e=Math.max;function E8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:J_e(r);return i<0&&(i=S8e(n+i,0)),ore(t,Hu(e),i)}var YN=C8e(E8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=qi(t)?Bg:Sre;return r(t,Hu(e))}function k8e(t,e){return uS(Tn(t,e))}function _8e(t,e){return t==null?t:WD(t,WN(e),O0)}function A8e(t,e){return t&&HN(t,WN(e))}function L8e(t,e){return t>e}var R8e=Object.prototype,D8e=R8e.hasOwnProperty;function N8e(t,e){return t!=null&&D8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,N8e)}function M8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:M8e(t,so(t))}function Ai(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function $8e(t,e,r){e.length?e=Bg(e,function(a){return qi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return B8e(i,function(a,s){return F8e(a,s,r)})}function z8e(t,e){return I8e(t,e,function(r,n){return wre(t,n)})}var uw=p7e(function(t,e){return t==null?{}:z8e(t,e)}),q8e=Math.ceil,V8e=Math.max;function G8e(t,e,r,n){for(var i=-1,a=V8e(q8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function U8e(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),$8e(t,uS(e),[])}),W8e=1/0,Y8e=Og&&1/GN(new Og([,-0]))[1]==W8e?function(t){return new Og(t)}:e7e,X8e=200;function _re(t,e,r){var n=-1,i=i7e,a=t.length,s=!0,o=[],l=o;if(a>=X8e){var u=e?null:Y8e(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Ai(r))r=nf;else{r+="";for(var n=r;!Ai(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Ai(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return j8e(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Ai(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Ai(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=tLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Ai(n)?eLe:n)}function tLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class rLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,nLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function nLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var iLe=Tg(1);function aLe(t,e){if(t.nodeCount()<=1)return[];var r=oLe(t,e||iLe),n=sLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function sLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function oLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new rLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function lLe(t){var e=t.graph().acyclicer==="greedy"?aLe(t,r(t)):cLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function cLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function uLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Xm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function hLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Xq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Ai(i)||(e[i][n.order]=r)}),e}function dLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function fLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Ai(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function jq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Xm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Ai(r))return r}))}function pLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function gLe(t,e){return e()}function mLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=jl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return jN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),DLe(t,e)}function DLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=LLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function NLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function MLe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":ILe(t);break;case"longest-path":OLe(t);break;default:Jq(t)}}var OLe=ZN;function ILe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function BLe(t){var e=Xm(t,"root",{},"_root"),r=PLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=FLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=jq(t,"_bt"),u=jq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function PLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function FLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function $Le(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function zLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function qLe(t,e,r){var n=VLe(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Ai(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function VLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function GLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function HLe(t){var e={},r=jl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function WLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function YLe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Ai(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Ai(a)&&!Ai(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=jl(r,function(i){return!i.indegree});return XLe(n)}function XLe(t){var e=[];function r(a){return function(s){s.merged||(Ai(s.barycenter)||Ai(a.barycenter)||s.barycenter>=a.barycenter)&&jLe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(jl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function jLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function KLe(t,e){var r=pLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(ZLe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function ZLe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=jl(i,function(m){return m!==s&&m!==o}));var u=WLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&JLe(m,v)}});var h=YLe(u,r);QLe(h,l);var d=KLe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function QLe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function JLe(t,e){Ai(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function eRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=HLe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){tRe(o%2?r:n,o%4>=2),i=fS(t);var u=GLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function iRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function aRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=oRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function oRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function lRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function cRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>RRe(t));r(" runLayout",()=>xRe(n,r)),r(" updateInputGraph",()=>TRe(t,n))})}function xRe(t,e){e(" makeSpaceForEdgeLabels",()=>DRe(t)),e(" removeSelfEdges",()=>zRe(t)),e(" acyclic",()=>lLe(t)),e(" nestingGraph.run",()=>BLe(t)),e(" rank",()=>MLe(Are(t))),e(" injectEdgeLabelProxies",()=>NRe(t)),e(" removeEmptyRanks",()=>fLe(t)),e(" nestingGraph.cleanup",()=>$Le(t)),e(" normalizeRanks",()=>dLe(t)),e(" assignRankMinMax",()=>MRe(t)),e(" removeEdgeLabelProxies",()=>ORe(t)),e(" normalize.run",()=>TLe(t)),e(" parentDummyChains",()=>rRe(t)),e(" addBorderSegments",()=>mLe(t)),e(" order",()=>eRe(t)),e(" insertSelfEdges",()=>qRe(t)),e(" adjustCoordinateSystem",()=>yLe(t)),e(" position",()=>vRe(t)),e(" positionSelfEdges",()=>VRe(t)),e(" removeBorderNodes",()=>$Re(t)),e(" normalize.undo",()=>CLe(t)),e(" fixupEdgeLabelCoords",()=>PRe(t)),e(" undoCoordinateSystem",()=>vLe(t)),e(" translateGraph",()=>IRe(t)),e(" assignNodeIntersects",()=>BRe(t)),e(" reversePoints",()=>FRe(t)),e(" acyclic.undo",()=>uLe(t))}function TRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var wRe=["nodesep","edgesep","ranksep","marginx","marginy"],CRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},SRe=["acyclicer","ranker","rankdir","align"],ERe=["width","height"],kRe={width:0,height:0},_Re=["minlen","weight","width","height","labeloffset"],ARe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},LRe=["labelpos"];function RRe(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},CRe,T_(r,wRe),uw(r,SRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,T8e(T_(i,ERe),kRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},ARe,T_(i,_Re),uw(i,LRe)))}),e}function DRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function NRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Xm(t,"edge-proxy",a,"_ep")}})}function MRe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function ORe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function IRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function BRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Xq(n,a)),r.points.push(Xq(i,s))})}function PRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function FRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function $Re(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function zRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function qRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Xm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function VRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:GRe(t),edges:URe(t)};return Ai(t.graph())||(e.value=mre(t.graph())),e}function GRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Ai(r)||(i.value=r),Ai(n)||(i.parent=n),i})}function URe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Ai(e.name)||(n.name=e.name),Ai(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,HRe=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),WRe=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{WRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),YRe=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=YRe(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),XRe=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),jRe=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),Xre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX +?)[ \r ]*`,lL="[̀-ͯ]",q_e=new RegExp(lL+"+$"),V_e="("+Yte+"+)|"+(z_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+$_e)+("|"+F_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(V_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class G_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var U_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],Xn.math[r],Xn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},H_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in Xn.math&&H_e.has(Xn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Xte=Gt(Xl["Main-Regular"][84][1]-.7*Xl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var jte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",jte(!1));ye("\\bra@set",jte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class W_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new G_e(U_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||Xn.math.hasOwnProperty(e)||Xn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new W_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var d7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f7e=/^\w*$/;function zN(t,e){if(Vi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:f7e.test(t)||!d7e.test(t)||e!=null&&t in Object(e)}var p7e=500;function g7e(t){var e=$m(t,function(n){return r.size===p7e&&r.clear(),n}),r=e.cache;return e}var m7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,y7e=/\\(\\)?/g,v7e=g7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(m7e,function(r,n,i,a){e.push(i?a.replace(y7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return Vi(t)?t:zN(t,e)?[t]:v7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&HAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var D8e=Math.max;function N8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:s7e(r);return i<0&&(i=D8e(n+i,0)),ore(t,Hu(e),i)}var YN=R8e(N8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=Vi(t)?Bg:Sre;return r(t,Hu(e))}function M8e(t,e){return uS(Tn(t,e))}function O8e(t,e){return t==null?t:WD(t,WN(e),O0)}function I8e(t,e){return t&&HN(t,WN(e))}function B8e(t,e){return t>e}var P8e=Object.prototype,F8e=P8e.hasOwnProperty;function $8e(t,e){return t!=null&&F8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,$8e)}function z8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:z8e(t,so(t))}function Li(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function W8e(t,e,r){e.length?e=Bg(e,function(a){return Vi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return G8e(i,function(a,s){return H8e(a,s,r)})}function Y8e(t,e){return V8e(t,e,function(r,n){return wre(t,n)})}var uw=T7e(function(t,e){return t==null?{}:Y8e(t,e)}),X8e=Math.ceil,j8e=Math.max;function K8e(t,e,r,n){for(var i=-1,a=j8e(X8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function Z8e(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),W8e(t,uS(e),[])}),J8e=1/0,eLe=Og&&1/GN(new Og([,-0]))[1]==J8e?function(t){return new Og(t)}:o7e,tLe=200;function _re(t,e,r){var n=-1,i=h7e,a=t.length,s=!0,o=[],l=o;if(a>=tLe){var u=e?null:eLe(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Li(r))r=nf;else{r+="";for(var n=r;!Li(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Li(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return rLe(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Li(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Li(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=lLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Li(n)?oLe:n)}function lLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class cLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,uLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function uLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var hLe=Tg(1);function dLe(t,e){if(t.nodeCount()<=1)return[];var r=pLe(t,e||hLe),n=fLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function fLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function pLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new cLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function gLe(t){var e=t.graph().acyclicer==="greedy"?dLe(t,r(t)):mLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function mLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function yLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Xm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function vLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Xq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Li(i)||(e[i][n.order]=r)}),e}function bLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function xLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Li(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function jq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Xm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Li(r))return r}))}function TLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function wLe(t,e){return e()}function CLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=jl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return jN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),FLe(t,e)}function FLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=BLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function $Le(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function zLe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":VLe(t);break;case"longest-path":qLe(t);break;default:Jq(t)}}var qLe=ZN;function VLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function GLe(t){var e=Xm(t,"root",{},"_root"),r=ULe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=HLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=jq(t,"_bt"),u=jq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function ULe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function HLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function WLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function YLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function XLe(t,e,r){var n=jLe(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Li(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function jLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function KLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function QLe(t){var e={},r=jl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function JLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function eRe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Li(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Li(a)&&!Li(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=jl(r,function(i){return!i.indegree});return tRe(n)}function tRe(t){var e=[];function r(a){return function(s){s.merged||(Li(s.barycenter)||Li(a.barycenter)||s.barycenter>=a.barycenter)&&rRe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(jl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function rRe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function nRe(t,e){var r=TLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(iRe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function iRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=jl(i,function(m){return m!==s&&m!==o}));var u=JLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&sRe(m,v)}});var h=eRe(u,r);aRe(h,l);var d=nRe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function aRe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function sRe(t,e){Li(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function oRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=QLe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){lRe(o%2?r:n,o%4>=2),i=fS(t);var u=KLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function hRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function dRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=pRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function pRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function gRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function mRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>PRe(t));r(" runLayout",()=>_Re(n,r)),r(" updateInputGraph",()=>ARe(t,n))})}function _Re(t,e){e(" makeSpaceForEdgeLabels",()=>FRe(t)),e(" removeSelfEdges",()=>YRe(t)),e(" acyclic",()=>gLe(t)),e(" nestingGraph.run",()=>GLe(t)),e(" rank",()=>zLe(Are(t))),e(" injectEdgeLabelProxies",()=>$Re(t)),e(" removeEmptyRanks",()=>xLe(t)),e(" nestingGraph.cleanup",()=>WLe(t)),e(" normalizeRanks",()=>bLe(t)),e(" assignRankMinMax",()=>zRe(t)),e(" removeEdgeLabelProxies",()=>qRe(t)),e(" normalize.run",()=>ALe(t)),e(" parentDummyChains",()=>cRe(t)),e(" addBorderSegments",()=>CLe(t)),e(" order",()=>oRe(t)),e(" insertSelfEdges",()=>XRe(t)),e(" adjustCoordinateSystem",()=>SLe(t)),e(" position",()=>ERe(t)),e(" positionSelfEdges",()=>jRe(t)),e(" removeBorderNodes",()=>WRe(t)),e(" normalize.undo",()=>RLe(t)),e(" fixupEdgeLabelCoords",()=>URe(t)),e(" undoCoordinateSystem",()=>ELe(t)),e(" translateGraph",()=>VRe(t)),e(" assignNodeIntersects",()=>GRe(t)),e(" reversePoints",()=>HRe(t)),e(" acyclic.undo",()=>yLe(t))}function ARe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var LRe=["nodesep","edgesep","ranksep","marginx","marginy"],RRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},DRe=["acyclicer","ranker","rankdir","align"],NRe=["width","height"],MRe={width:0,height:0},ORe=["minlen","weight","width","height","labeloffset"],IRe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},BRe=["labelpos"];function PRe(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},RRe,T_(r,LRe),uw(r,DRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,A8e(T_(i,NRe),MRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},IRe,T_(i,ORe),uw(i,BRe)))}),e}function FRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function $Re(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Xm(t,"edge-proxy",a,"_ep")}})}function zRe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function qRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function VRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function GRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Xq(n,a)),r.points.push(Xq(i,s))})}function URe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function HRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function WRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function YRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function XRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Xm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function jRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:KRe(t),edges:ZRe(t)};return Li(t.graph())||(e.value=mre(t.graph())),e}function KRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Li(r)||(i.value=r),Li(n)||(i.parent=n),i})}function ZRe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Li(e.name)||(n.name=e.name),Li(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,QRe=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),JRe=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{JRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),e9e=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=e9e(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),t9e=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),r9e=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),Xre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX Node.id = `,v,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await Xre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),A5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(jRe(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);XJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),KRe=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),L5e(),O5e(),l5e(),HRe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function jre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function t9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function r9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function n9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function i9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ii(t,e){return QRe(t)||r9e(t,e)||eM(t,e)||n9e()}function dw(t){return JRe(t)||t9e(t)||eM(t)||i9e()}function a9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=a9e(t,"string");return typeof e=="symbol"?e:e+""}function ta(t){"@babel/helpers - typeof";return ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ta(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var ji=typeof window>"u"?null:window,iV=ji?ji.navigator:null;ji&&ji.document;var s9e=ta(""),Zre=ta({}),o9e=ta(function(){}),l9e=typeof HTMLElement>"u"?"undefined":ta(HTMLElement),ox=function(e){return e&&e.instanceString&&si(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ta(e)==s9e},si=function(e){return e!=null&&ta(e)===o9e},Ln=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ta(e)===Zre&&!Ln(e)&&e.constructor===Object},c9e=function(e){return e!=null&&ta(e)===Zre},Yt=function(e){return e!=null&&ta(e)===ta(1)&&!isNaN(e)},u9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(l9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},h9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},d9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},f9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},p9e=function(e){return c9e(e)&&si(e.then)},g9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},w9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+v9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},E9e=function(e){var r,n=new RegExp("^"+m9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},k9e=function(e){return _9e[e.toLowerCase()]},rne=function(e){return(Ln(e)?e:null)||k9e(e)||C9e(e)||E9e(e)||S9e(e)},_9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var P9e=B9e(),dx=cx(P9e),P_=ji?ji.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},F9e=(function(){if(ji){if(ji.requestAnimationFrame)return function(t){ji.requestAnimationFrame(t)};if(ji.mozRequestAnimationFrame)return function(t){ji.mozRequestAnimationFrame(t)};if(ji.webkitRequestAnimationFrame)return function(t){ji.webkitRequestAnimationFrame(t)};if(ji.msRequestAnimationFrame)return function(t){ji.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return F9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},$9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},j9e=function(e,r){for(var n=0;n"u"?"undefined":ta(Set))!==Z9e?Set:Q9e,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Wn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Wn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new jm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ln(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),L=x.slice(C),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,C,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=C,R=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=R,v(x,L,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(J9e)})(T3)),T3.exports}var F_,EV;function tDe(){return EV||(EV=1,F_=eDe()),F_}var rDe=tDe(),fx=cx(rDe),nDe=Na({root:null,weight:function(e){return 1},directed:!1}),iDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=nDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=C.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},aDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,C[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=fDe(a,e,r),n--}return r},pDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/dDe);if(a<2){Wn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},xDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},TDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},CDe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},SDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},EDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Ii(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},kDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function _De(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=kDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Uh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=s2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},LDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},RDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},DDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},NDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},MDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];NDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},IDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,R=C[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},PDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},QDe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:tNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,rNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,nNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return si(t)?s=t:s=wm[t]||wm.euclidean,e===0&&si(t)?s(i,a):s(e,r,n,i,a)}var iNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return iNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},oNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=bNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},_Ne={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},ANe={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,iDe,aDe,oDe,cDe,hDe,pDe,qDe,Fg,$g,pL,eNe,fNe,yNe,SNe,kNe,_Ne,ANe].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function YNe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function XNe(){if(dG)return f7;dG=1;var t=GNe(),e=UNe(),r=HNe(),n=WNe(),i=YNe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ln(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Qi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return w9e(t.selector,e.selector)}),EMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},DMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function $Me(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,$Me)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var zMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var qMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,C),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-R,N=m+Math.max(C,E)+_+R,B=v-Math.max(C,E)-_-R,M=v+Math.max(C,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*j-Le*ee+Q,y:He*ee+Le*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},VMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},GMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&VMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?SDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:iOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ln(e)||(e=[e]),aOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===nOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&j9e(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ta(Symbol))!=e&&ta(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return jre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Wn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new jm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var mOe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Nn=function(e,r,n,i){var a=gOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Nn(.25,.1,.25,1),"ease-in":Nn(.42,0,1,1),"ease-out":Nn(0,0,.58,1),"ease-in-out":Nn(.42,0,.58,1),"ease-in-sine":Nn(.47,0,.745,.715),"ease-out-sine":Nn(.39,.575,.565,1),"ease-in-out-sine":Nn(.445,.05,.55,.95),"ease-in-quad":Nn(.55,.085,.68,.53),"ease-out-quad":Nn(.25,.46,.45,.94),"ease-in-out-quad":Nn(.455,.03,.515,.955),"ease-in-cubic":Nn(.55,.055,.675,.19),"ease-out-cubic":Nn(.215,.61,.355,1),"ease-in-out-cubic":Nn(.645,.045,.355,1),"ease-in-quart":Nn(.895,.03,.685,.22),"ease-out-quart":Nn(.165,.84,.44,1),"ease-in-out-quart":Nn(.77,0,.175,1),"ease-in-quint":Nn(.755,.05,.855,.06),"ease-out-quint":Nn(.23,1,.32,1),"ease-in-out-quint":Nn(.86,0,.07,1),"ease-in-expo":Nn(.95,.05,.795,.035),"ease-out-expo":Nn(.19,1,.22,1),"ease-in-out-expo":Nn(1,0,0,1),"ease-in-circ":Nn(.6,.04,.98,.335),"ease-out-circ":Nn(.075,.82,.165,1),"ease-in-out-circ":Nn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=mOe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Nn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Ln(s)&&Ln(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(R.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(R.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(L,O)&&(a.zoom=mb(a.minZoom,Bp(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function vOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||vOe(h,T,t),yOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var bOe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},xOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(xOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Wn("Layout options must be specified to make a layout");return}if(e.name==null){Wn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Wn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var TOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Ln(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var ha={},M2="t",COe="f";ha.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};ha.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};ha.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};ha.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};ha.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};ha.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Ln(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:xDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=ji!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(p9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Ln(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,si(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Ln(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(De+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Wn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return G9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var AOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},AOe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var LOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},LOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(BOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var DOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},$Oe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},zOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},VOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},HOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},HOe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=ODe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=MDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ms(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):C(R)||E(R)||E(R,"source")||E(R,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,Xe=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},ZOe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):KOe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(ZOe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,QOe=Math.sqrt(2*wb),Xa={};Xa.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Ii(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Ii(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Xa.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||R))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Xa.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Xa.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=QOe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(L.p0,L.p1,L.p2,q),f=eIe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=wDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(su(r.rscratch,X,e,Z),Z):Ms(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await Xre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),I5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(r9e(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);XJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),n9e=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),B5e(),q5e(),g5e(),QRe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function jre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function c9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function u9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function h9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bi(t,e){return a9e(t)||c9e(t,e)||eM(t,e)||u9e()}function dw(t){return s9e(t)||l9e(t)||eM(t)||h9e()}function d9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=d9e(t,"string");return typeof e=="symbol"?e:e+""}function ra(t){"@babel/helpers - typeof";return ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ra(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var Ki=typeof window>"u"?null:window,iV=Ki?Ki.navigator:null;Ki&&Ki.document;var f9e=ra(""),Zre=ra({}),p9e=ra(function(){}),g9e=typeof HTMLElement>"u"?"undefined":ra(HTMLElement),ox=function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ra(e)==f9e},oi=function(e){return e!=null&&ra(e)===p9e},Ln=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ra(e)===Zre&&!Ln(e)&&e.constructor===Object},m9e=function(e){return e!=null&&ra(e)===Zre},Yt=function(e){return e!=null&&ra(e)===ra(1)&&!isNaN(e)},y9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(g9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},v9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},b9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},x9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},T9e=function(e){return m9e(e)&&oi(e.then)},w9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},L9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+E9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},N9e=function(e){var r,n=new RegExp("^"+C9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},M9e=function(e){return O9e[e.toLowerCase()]},rne=function(e){return(Ln(e)?e:null)||M9e(e)||R9e(e)||N9e(e)||D9e(e)},O9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var U9e=G9e(),dx=cx(U9e),P_=Ki?Ki.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},H9e=(function(){if(Ki){if(Ki.requestAnimationFrame)return function(t){Ki.requestAnimationFrame(t)};if(Ki.mozRequestAnimationFrame)return function(t){Ki.mozRequestAnimationFrame(t)};if(Ki.webkitRequestAnimationFrame)return function(t){Ki.webkitRequestAnimationFrame(t)};if(Ki.msRequestAnimationFrame)return function(t){Ki.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return H9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},W9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},rDe=function(e,r){for(var n=0;n"u"?"undefined":ra(Set))!==iDe?Set:aDe,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Yn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Yn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new jm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ln(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),L=x.slice(C),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,C,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=C,R=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=R,v(x,L,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(sDe)})(T3)),T3.exports}var F_,EV;function lDe(){return EV||(EV=1,F_=oDe()),F_}var cDe=lDe(),fx=cx(cDe),uDe=Na({root:null,weight:function(e){return 1},directed:!1}),hDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=uDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=C.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},dDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,C[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=xDe(a,e,r),n--}return r},TDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/bDe);if(a<2){Yn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},_De=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},ADe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},RDe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},DDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},NDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Bi(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},MDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function ODe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=MDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Uh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=s2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},BDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},PDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},FDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},$De=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},zDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];$De(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},VDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,R=C[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},UDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},aNe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:lNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,cNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,uNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return oi(t)?s=t:s=wm[t]||wm.euclidean,e===0&&oi(t)?s(i,a):s(e,r,n,i,a)}var hNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return hNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},pNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=kNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},ONe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},INe={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,hDe,dDe,pDe,mDe,vDe,TDe,XDe,Fg,$g,pL,oNe,xNe,SNe,DNe,MNe,ONe,INe].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function eMe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function tMe(){if(dG)return f7;dG=1;var t=KNe(),e=ZNe(),r=QNe(),n=JNe(),i=eMe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ln(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return L9e(t.selector,e.selector)}),NMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},FMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function WMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,WMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var YMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var XMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,C),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-R,N=m+Math.max(C,E)+_+R,B=v-Math.max(C,E)-_-R,M=v+Math.max(C,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*j-Le*ee+Q,y:He*ee+Le*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},jMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},KMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&jMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?DDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:hOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ln(e)||(e=[e]),dOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===uOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&rDe(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ra(Symbol))!=e&&ra(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return jre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Yn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new jm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var COe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Nn=function(e,r,n,i){var a=wOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Nn(.25,.1,.25,1),"ease-in":Nn(.42,0,1,1),"ease-out":Nn(0,0,.58,1),"ease-in-out":Nn(.42,0,.58,1),"ease-in-sine":Nn(.47,0,.745,.715),"ease-out-sine":Nn(.39,.575,.565,1),"ease-in-out-sine":Nn(.445,.05,.55,.95),"ease-in-quad":Nn(.55,.085,.68,.53),"ease-out-quad":Nn(.25,.46,.45,.94),"ease-in-out-quad":Nn(.455,.03,.515,.955),"ease-in-cubic":Nn(.55,.055,.675,.19),"ease-out-cubic":Nn(.215,.61,.355,1),"ease-in-out-cubic":Nn(.645,.045,.355,1),"ease-in-quart":Nn(.895,.03,.685,.22),"ease-out-quart":Nn(.165,.84,.44,1),"ease-in-out-quart":Nn(.77,0,.175,1),"ease-in-quint":Nn(.755,.05,.855,.06),"ease-out-quint":Nn(.23,1,.32,1),"ease-in-out-quint":Nn(.86,0,.07,1),"ease-in-expo":Nn(.95,.05,.795,.035),"ease-out-expo":Nn(.19,1,.22,1),"ease-in-out-expo":Nn(1,0,0,1),"ease-in-circ":Nn(.6,.04,.98,.335),"ease-out-circ":Nn(.075,.82,.165,1),"ease-in-out-circ":Nn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=COe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Nn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Ln(s)&&Ln(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(R.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(R.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(L,O)&&(a.zoom=mb(a.minZoom,Bp(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function EOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||EOe(h,T,t),SOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var kOe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},_Oe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(_Oe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Yn("Layout options must be specified to make a layout");return}if(e.name==null){Yn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Yn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var AOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Ln(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var da={},M2="t",ROe="f";da.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};da.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};da.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};da.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};da.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Ln(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:_De(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Ki!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(T9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Ln(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,oi(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Ln(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(De+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Yn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return K9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var IOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},IOe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var BOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},BOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(GOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var FOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},WOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},YOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},jOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},QOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},QOe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=qDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=zDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ms(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):C(R)||E(R)||E(R,"source")||E(R,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,Xe=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},iIe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):nIe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(iIe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,aIe=Math.sqrt(2*wb),Xa={};Xa.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Bi(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Bi(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Xa.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||R))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Xa.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Xa.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=aIe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(L.p0,L.p1,L.p2,q),f=oIe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=LDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(su(r.rscratch,X,e,Z),Z):Ms(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` `),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),R="",k=0,L=Fs(_),O;try{for(L.s();!(O=L.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=R.length===0?q:R+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?R+=q+$:(R&&m.push(R),R=q+$)}}catch(H){L.e(H)}finally{L.f()}R.match(/^[\s\u200b]+$/)||m.push(R)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` `)),s("labelWrapKey",l)}else if(o==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,B="",M="…",V=!1;if(this.calculateLabelDimensions(t,i).widthN)break;B+=i[U],U===i.length-1&&(V=!0)}return V||(B+=M),B}return i};pc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};pc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var p=0,m=0,v=e.split(` -`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},rIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Wn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new jm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,nIe=8,iIe=1024,aIe=1024,sIe=1024,oIe=.2,lIe=.8,cIe=10,uIe=.15,hIe=.1,dIe=.9,fIe=.9,pIe=100,gIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},mIe=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=mIe(r);yr(n,i),n.lookup=new rIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},na=l2.prototype;na.reasons=Sg;na.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};na.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};na.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};na.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};na.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>sIe||d>aIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+nIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};na.invalidateElements=function(t){for(var e=0;e=oIe*t.width&&this.retireTexture(t)};na.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>lIe&&t.fullnessChecks>=cIe?cd(r,t):t.fullnessChecks++};na.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};na.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};na.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};na.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};na.onDequeue=function(t){this.onDequeues.push(t)};na.offDequeue=function(t){cd(this.onDequeues,t)};na.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:pIe,deqCost:uIe,deqAvgCost:hIe,deqNoDrawCost:dIe,deqFastCost:fIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=vIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>kIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/yIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,_Ie),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function FIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,X,Z,j,z)):q?(t.beginPath(),FIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?wU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},$Ie=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},$Ie)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function zIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function qIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function VIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function GIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function UIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function HIe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function WIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function YIe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function XIe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function jIe(t,e,r,n){var i=kie(t,e),a=Ii(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Ii(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!HIe(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Ii(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Ii(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),iBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),aBe=` +`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},cIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Yn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new jm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,uIe=8,hIe=1024,dIe=1024,fIe=1024,pIe=.2,gIe=.8,mIe=10,yIe=.15,vIe=.1,bIe=.9,xIe=.9,TIe=100,wIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},CIe=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=CIe(r);yr(n,i),n.lookup=new cIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ia=l2.prototype;ia.reasons=Sg;ia.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ia.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ia.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};ia.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ia.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>fIe||d>dIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+uIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};ia.invalidateElements=function(t){for(var e=0;e=pIe*t.width&&this.retireTexture(t)};ia.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>gIe&&t.fullnessChecks>=mIe?cd(r,t):t.fullnessChecks++};ia.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};ia.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};ia.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};ia.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ia.onDequeue=function(t){this.onDequeues.push(t)};ia.offDequeue=function(t){cd(this.onDequeues,t)};ia.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:TIe,deqCost:yIe,deqAvgCost:vIe,deqNoDrawCost:bIe,deqFastCost:xIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=EIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>MIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/SIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,OIe),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function HIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,X,Z,j,z)):q?(t.beginPath(),HIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?wU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},WIe=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},WIe)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function YIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function XIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function jIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function KIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function ZIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function QIe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function JIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function eBe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function tBe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function rBe(t,e,r,n){var i=kie(t,e),a=Bi(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Bi(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!QIe(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Bi(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Bi(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),hBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),dBe=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } -`,sBe=` +`,fBe=` float rectangleSD(vec2 p, vec2 b) { vec2 d = abs(p)-b; return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); } -`,oBe=` +`,pBe=` float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; cr.x = (p.y > 0.0) ? cr.x : cr.y; vec2 q = abs(p) - b + cr.x; return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; } -`,lBe=` +`,gBe=` float ellipseSD(vec2 p, vec2 ab) { p = abs( p ); // symmetry @@ -647,7 +647,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } -`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},X7=0,_U=1,AU=2,j7=3,zp=4,_T=5,Tv=6,wv=7,cBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=qIe,this.atlasManager=new nBe(e,n),this.batchManager=new iBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es +`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},X7=0,_U=1,AU=2,j7=3,zp=4,_T=5,Tv=6,wv=7,mBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=XIe,this.atlasManager=new uBe(e,n),this.batchManager=new hBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es precision highp float; uniform mat3 uPanZoomMatrix; @@ -837,10 +837,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho out vec4 outColor; - `).concat(aBe,` - `).concat(sBe,` - `).concat(oBe,` - `).concat(lBe,` + `).concat(dBe,` + `).concat(fBe,` + `).concat(pBe,` + `).concat(gBe,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha return vec4( @@ -925,16 +925,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),o=zIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=j7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:UIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),hBe(r)};function uBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function hBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(dBe(t),e.call(t,a)):(fBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return bBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function dBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function fBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function pBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();JIe(o,e,r);var l=Y7();return QIe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function gBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function mBe(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function yBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function bBe(t,e,r){var n=vBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&gBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=pBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function xBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ta(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var CBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:TBe}],SBe=[{type:"layout",extensions:jOe},{type:"renderer",extensions:CBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var OBe=MBe();const IBe=k0(OBe);ac.use(IBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var BBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=C.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),PBe=BBe;const FBe=Object.freeze(Object.defineProperty({__proto__:null,render:PBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),$Be=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Xie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: + `),o=YIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=j7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:ZIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),vBe(r)};function yBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function vBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(bBe(t),e.call(t,a)):(xBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return kBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function bBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function xBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function TBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();sBe(o,e,r);var l=Y7();return aBe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function wBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function CBe(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function SBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function kBe(t,e,r){var n=EBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&wBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=TBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function _Be(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ra(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var RBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:ABe}],DBe=[{type:"layout",extensions:rIe},{type:"renderer",extensions:RBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var qBe=zBe();const VBe=k0(qBe);ac.use(VBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var GBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=C.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),UBe=GBe;const HBe=Object.freeze(Object.defineProperty({__proto__:null,render:UBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),WBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Xie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: `+Ee.showPosition()+` Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var Xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===Xe.length?this.yylloc.first_column:0)+Xe[Xe.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:S(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ge=this.pastInput(),it=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` `+it+"^"},"showPosition"),test_match:S(function(Ge,it){var Ye,Xe,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),Xe=Ge[0].match(/(?:\r\n?|\n).*/g),Xe&&(this.yylineno+=Xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Xe?Xe[Xe.length-1].length-Xe[Xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,Xe;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,Xe=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[Xe]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var zBe=kw,Cl=[],Kh=[""],hs="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,jie,qBe=S(function(){return jie},"getC4Type"),VBe=S(function(t){jie=Jr(t,Pe())},"setC4Type"),GBe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),UBe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=hs,o.wrap=kd()},"addPersonOrSystem"),HBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addContainer"),WBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addComponent"),YBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addPersonOrSystemBoundary"),XBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addContainerBoundary"),jBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=hs,l.wrap=kd(),vl=hs,hs=e,Kh.push(vl)},"addDeploymentNode"),KBe=S(function(){hs=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),ZBe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),QBe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),JBe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),ePe=S(function(){return _w},"getC4ShapeInRow"),tPe=S(function(){return Aw},"getC4BoundaryInRow"),rPe=S(function(){return hs},"getCurrentBoundaryParse"),nPe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),iPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),aPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),sPe=Zie,oPe=S(function(){return Cb},"getRels"),lPe=S(function(){return AM},"getTitle"),cPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),uPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",hs="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),hPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},dPe={FILLED:0,OPEN:1},fPe={LEFTOF:0,RIGHTOF:1,OVER:2},pPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:UBe,addPersonOrSystemBoundary:YBe,addContainer:HBe,addContainerBoundary:XBe,addComponent:WBe,addDeploymentNode:jBe,popBoundaryParseStack:KBe,addRel:GBe,updateElStyle:ZBe,updateRelStyle:QBe,updateLayoutConfig:JBe,autoWrap:kd,setWrap:cPe,getC4ShapeArray:Kie,getC4Shape:iPe,getC4ShapeKeys:aPe,getBoundaries:Zie,getBoundarys:sPe,getCurrentBoundaryParse:rPe,getParentBoundaryParse:nPe,getRels:oPe,getTitle:lPe,getC4Type:qBe,getC4ShapeInRow:ePe,getC4BoundaryInRow:tPe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,getConfig:S(()=>Pe().c4,"getConfig"),clear:uPe,LINETYPE:hPe,ARROWTYPE:dPe,PLACEMENT:fPe,setTitle:pPe,setC4Type:VBe},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),gPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),mPe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),yPe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=EPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),vPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),bPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),xPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),TPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),wPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),CPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),SPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),EPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){ki(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),kPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(us(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=us(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=us("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),_Pe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),APe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=kPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=us(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=us(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=us(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=_Pe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var LPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),APe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Gi(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:LPe},RPe=S(t=>`.person { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var YBe=kw,Cl=[],Kh=[""],hs="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,jie,XBe=S(function(){return jie},"getC4Type"),jBe=S(function(t){jie=Jr(t,Pe())},"setC4Type"),KBe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),ZBe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=hs,o.wrap=kd()},"addPersonOrSystem"),QBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addContainer"),JBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addComponent"),ePe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addPersonOrSystemBoundary"),tPe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addContainerBoundary"),rPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=hs,l.wrap=kd(),vl=hs,hs=e,Kh.push(vl)},"addDeploymentNode"),nPe=S(function(){hs=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),iPe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),aPe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),sPe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),oPe=S(function(){return _w},"getC4ShapeInRow"),lPe=S(function(){return Aw},"getC4BoundaryInRow"),cPe=S(function(){return hs},"getCurrentBoundaryParse"),uPe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),hPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),dPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),fPe=Zie,pPe=S(function(){return Cb},"getRels"),gPe=S(function(){return AM},"getTitle"),mPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),yPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",hs="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),vPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},bPe={FILLED:0,OPEN:1},xPe={LEFTOF:0,RIGHTOF:1,OVER:2},TPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:ZBe,addPersonOrSystemBoundary:ePe,addContainer:QBe,addContainerBoundary:tPe,addComponent:JBe,addDeploymentNode:rPe,popBoundaryParseStack:nPe,addRel:KBe,updateElStyle:iPe,updateRelStyle:aPe,updateLayoutConfig:sPe,autoWrap:kd,setWrap:mPe,getC4ShapeArray:Kie,getC4Shape:hPe,getC4ShapeKeys:dPe,getBoundaries:Zie,getBoundarys:fPe,getCurrentBoundaryParse:cPe,getParentBoundaryParse:uPe,getRels:pPe,getTitle:gPe,getC4Type:XBe,getC4ShapeInRow:oPe,getC4BoundaryInRow:lPe,setAccTitle:jn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,getConfig:S(()=>Pe().c4,"getConfig"),clear:yPe,LINETYPE:vPe,ARROWTYPE:bPe,PLACEMENT:xPe,setTitle:TPe,setC4Type:jBe},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),wPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),CPe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),SPe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=NPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),EPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),kPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),_Pe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),APe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),LPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),RPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),DPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),NPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){_i(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),MPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(us(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=us(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=us("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),OPe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),IPe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=MPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=us(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=us(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=us(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=OPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var BPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),IPe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Ui(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:BPe},PPe=S(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),DPe=RPe,NPe={parser:zBe,db:DL,renderer:BU,styles:DPe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const MPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NPe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` +`,"getStyles"),FPe=PPe,$Pe={parser:YBe,db:DL,renderer:BU,styles:FPe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const zPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:$Pe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; @@ -948,21 +948,21 @@ Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse erro stroke: revert; stroke-width: revert; } -`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=OPe(t,e);Gi(t,a,i,n);const l=IPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),OPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),IPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),BPe="flowchart-",l1,PPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` +`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=qPe(t,e);Ui(t,a,i,n);const l=VPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),qPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),VPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),GPe="flowchart-",l1,UPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=jn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` `)?p=l+` `:p=`{ `+l+` -}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:BPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. +}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:GPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Xie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),jn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pX.flowchart}},S(l1,"FlowDB"),l1),FPe=S(function(t,e){return e.db.getClasses()},"getClasses"),$Pe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),zPe={getClasses:FPe,draw:$Pe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Le=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Bn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Vn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1]};break;case 78:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length};break;case 84:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Le,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Le,[2,56]),t(Wt,[2,87]),t(Le,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,64]),t(Le,[2,59]),t(Le,[2,60]),t(Le,[2,61]),{109:[1,264]},t(Le,[2,63]),t(Le,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,67]),t(Le,[2,68]),t(Le,[2,70]),t(Le,[2,69]),t(Le,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Le,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Le,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Le,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Vn=this.table,Re="",Gn=0,Dd=0,X0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Xo={yy:{}};for(var j0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j0)&&(Xo.yy[j0]=this.yy[j0]);cn.setInput(Ht,Xo.yy),Xo.yy.lexer=cn,Xo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof Xo.yy.parseError=="function"?this.parseError=Xo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(fa){Xt.length=Xt.length-2*fa,Ar.length=Ar.length-fa,ke.length=ke.length-fa}S(Mx,"popStack");function cy(){var fa;return fa=Lt.pop()||cn.lex()||Nd,typeof fa!="number"&&(fa instanceof Array&&(Lt=fa,fa=Lt.pop()),fa=Bt.symbols_[fa]||fa),fa}S(cy,"lex");for(var xi,Cc,ja,K0,kl={},Z0,jo,Od,ws;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?ja=this.defaultActions[Cc]:((xi===null||typeof xi>"u")&&(xi=cy()),ja=Vn[Cc]&&Vn[Cc][xi]),typeof ja>"u"||!ja.length||!ja[0]){var Id="";ws=[];for(Z0 in Vn[Cc])this.terminals_[Z0]&&Z0>X0&&ws.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Gn+1)+`: +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Xie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),Kn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pX.flowchart}},S(l1,"FlowDB"),l1),HPe=S(function(t,e){return e.db.getClasses()},"getClasses"),WPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),YPe={getClasses:HPe,draw:WPe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Le=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Bn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Vn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1]};break;case 78:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length};break;case 84:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Le,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Le,[2,56]),t(Wt,[2,87]),t(Le,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,64]),t(Le,[2,59]),t(Le,[2,60]),t(Le,[2,61]),{109:[1,264]},t(Le,[2,63]),t(Le,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,67]),t(Le,[2,68]),t(Le,[2,70]),t(Le,[2,69]),t(Le,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Le,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Le,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Le,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Vn=this.table,Re="",Gn=0,Dd=0,X0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Xo={yy:{}};for(var j0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j0)&&(Xo.yy[j0]=this.yy[j0]);cn.setInput(Ht,Xo.yy),Xo.yy.lexer=cn,Xo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof Xo.yy.parseError=="function"?this.parseError=Xo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(pa){Xt.length=Xt.length-2*pa,Ar.length=Ar.length-pa,ke.length=ke.length-pa}S(Mx,"popStack");function cy(){var pa;return pa=Lt.pop()||cn.lex()||Nd,typeof pa!="number"&&(pa instanceof Array&&(Lt=pa,pa=Lt.pop()),pa=Bt.symbols_[pa]||pa),pa}S(cy,"lex");for(var Ti,Cc,ja,K0,kl={},Z0,jo,Od,ws;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?ja=this.defaultActions[Cc]:((Ti===null||typeof Ti>"u")&&(Ti=cy()),ja=Vn[Cc]&&Vn[Cc][Ti]),typeof ja>"u"||!ja.length||!ja[0]){var Id="";ws=[];for(Z0 in Vn[Cc])this.terminals_[Z0]&&Z0>X0&&ws.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Gn+1)+`: `+cn.showPosition()+` -Expecting `+ws.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse error on line "+(Gn+1)+": Unexpected "+(xi==Nd?"end of input":"'"+(this.terminals_[xi]||xi)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[xi]||xi,line:cn.yylineno,loc:Md,expected:ws})}if(ja[0]instanceof Array&&ja.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+xi);switch(ja[0]){case 1:Xt.push(xi),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(ja[1]),xi=null,Dd=cn.yyleng,Re=cn.yytext,Gn=cn.yylineno,Md=cn.yylloc;break;case 2:if(jo=this.productions_[ja[1]][1],kl.$=Ar[Ar.length-jo],kl._$={first_line:ke[ke.length-(jo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(jo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(jo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Gn,Xo.yy,ja[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;jo&&(Xt=Xt.slice(0,-1*jo*2),Ar=Ar.slice(0,-1*jo),ke=ke.slice(0,-1*jo)),Xt.push(this.productions_[ja[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Vn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},_n=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse error on line "+(Gn+1)+": Unexpected "+(Ti==Nd?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[Ti]||Ti,line:cn.yylineno,loc:Md,expected:ws})}if(ja[0]instanceof Array&&ja.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+Ti);switch(ja[0]){case 1:Xt.push(Ti),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(ja[1]),Ti=null,Dd=cn.yyleng,Re=cn.yytext,Gn=cn.yylineno,Md=cn.yylloc;break;case 2:if(jo=this.productions_[ja[1]][1],kl.$=Ar[Ar.length-jo],kl._$={first_line:ke[ke.length-(jo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(jo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(jo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Gn,Xo.yy,ja[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;jo&&(Xt=Xt.slice(0,-1*jo*2),Ar=Ar.slice(0,-1*jo),ke=ke.slice(0,-1*jo)),Xt.push(this.productions_[ja[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Vn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},_n=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ht){this.unput(this.match.slice(Ht))},"less"),pastInput:S(function(){var Ht=this.matched.substr(0,this.matched.length-this.match.length);return(Ht.length>20?"...":"")+Ht.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ht=this.match;return Ht.length<20&&(Ht+=this._input.substr(0,20-Ht.length)),(Ht.substr(0,20)+(Ht.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ht=this.pastInput(),Bt=new Array(Ht.length+1).join("-");return Ht+this.upcomingInput()+` `+Bt+"^"},"showPosition"),test_match:S(function(Ht,Bt){var Xt,Lt,Ar;if(this.options.backtrack_lexer&&(Ar={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ar.yylloc.range=this.yylloc.range.slice(0))),Lt=Ht[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ht[0].length},this.yytext+=Ht[0],this.match+=Ht[0],this.matches=Ht,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ht[0].length),this.matched+=Ht[0],Xt=this.performAction.call(this,this.yy,this,Bt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Xt)return Xt;if(this._backtrack){for(var ke in Ar)this[ke]=Ar[ke];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ht,Bt,Xt,Lt;this._more||(this.yytext="",this.match="");for(var Ar=this._currentRules(),ke=0;keBt[0].length)){if(Bt=Xt,Lt=ke,this.options.backtrack_lexer){if(Ht=this.test_match(Xt,Ar[ke]),Ht!==!1)return Ht;if(this._backtrack){Bt=!1;continue}else return!1}else if(!this.options.flex)break}return Bt?(Ht=this.test_match(Bt,Ar[Lt]),Ht!==!1?Ht:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Bn.lexer=_n;function Jn(){this.yy={}}return S(Jn,"Parser"),Jn.prototype=Bn,Bn.Parser=Jn,new Jn})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} -`);return nae.parse(e)};var qPe=iae,VPe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),GPe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Bn.lexer=_n;function ei(){this.yy={}}return S(ei,"Parser"),ei.prototype=Bn,Bn.Parser=ei,new ei})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} +`);return nae.parse(e)};var XPe=iae,jPe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),KPe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -1049,7 +1049,7 @@ Expecting `+ws.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse erro /* For html labels only */ .labelBkg { - background-color: ${VPe(t.edgeLabelBackground,.5)}; + background-color: ${jPe(t.edgeLabelBackground,.5)}; // background-color: } @@ -1109,12 +1109,12 @@ Expecting `+ws.join(", ")+", got '"+(this.terminals_[xi]||xi)+"'":Id="Parse erro text-align: center; } ${bx()} -`,"getStyles"),UPe=GPe,HPe={parser:qPe,get db(){return new PPe},renderer:zPe,styles:UPe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:HPe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Le){for(He=He||{},Le=Me.length;Le--;He[Me[Le]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Le,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Le=new Error($e);throw Le.hash=He,Le}},"parseError"),parse:S(function($e){var He=this,Le=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Le.length=Le.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Le[Le.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: +`,"getStyles"),ZPe=KPe,QPe={parser:XPe,get db(){return new UPe},renderer:YPe,styles:ZPe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:QPe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Le){for(He=He||{},Le=Me.length;Le--;He[Me[Le]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Le,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Le=new Error($e);throw Le.hash=He,Le}},"parseError"),parse:S(function($e){var He=this,Le=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Le.length=Le.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Le[Le.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: `+xe.showPosition()+` Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==Xe?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Le.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Le.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Le=Le.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Le.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Le[Le.length-2]][Le[Le.length-1]],Le.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Le){if(this.yy.parser)this.yy.parser.parseError(He,Le);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Le=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Le.length-1&&(this.yylineno-=Le.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Le?(Le.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Le.length].length-Le[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function($e){this.unput(this.match.slice($e))},"less"),pastInput:S(function(){var $e=this.matched.substr(0,this.matched.length-this.match.length);return($e.length>20?"...":"")+$e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var $e=this.match;return $e.length<20&&($e+=this._input.substr(0,20-$e.length)),($e.substr(0,20)+($e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var $e=this.pastInput(),He=new Array($e.length+1).join("-");return $e+this.upcomingInput()+` `+He+"^"},"showPosition"),test_match:S(function($e,He){var Le,Oe,We;if(this.options.backtrack_lexer&&(We={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(We.yylloc.range=this.yylloc.range.slice(0))),Oe=$e[0].match(/(?:\r\n?|\n).*/g),Oe&&(this.yylineno+=Oe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Oe?Oe[Oe.length-1].length-Oe[Oe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+$e[0].length},this.yytext+=$e[0],this.match+=$e[0],this.matches=$e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice($e[0].length),this.matched+=$e[0],Le=this.performAction.call(this,this.yy,this,He,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Le)return Le;if(this._backtrack){for(var Te in We)this[Te]=We[Te];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var $e,He,Le,Oe;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),Te=0;TeHe[0].length)){if(He=Le,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Le,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var He=this.next();return He||this.lex()},"lex"),begin:S(function(He){this.conditionStack.push(He)},"begin"),popState:S(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Le,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Le.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Le.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var WPe=IL,c1,YPe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],jn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>XPe});var XPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),jPe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Le,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Le.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Le.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var JPe=IL,c1,eFe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Kn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>tFe});var tFe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),rFe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` - ${jPe(t)} + `;return s},"genColor"),nFe=S(t=>{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` + ${rFe(t)} .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -1193,19 +1193,19 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro [data-look=neo].labelBkg { background-color: ${PU(t.tertiaryColor,.5)}; } -`},"getStyles"),ZPe=KPe,QPe={parser:WPe,get db(){return new YPe},renderer:aae,styles:ZPe};const JPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:QPe},Symbol.toStringTag,{value:"Module"}));function Xu(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(Xu,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function qa(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function eFe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return qa(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Ea{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Ea(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=tFe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Ea(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Ea(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Ea(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Ea(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Ea(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Ea(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function tFe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Ea(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ni(...t){if(t.length===1){const e=t[0];if(e instanceof Ea)return e;if(Dw(e))return new Ea(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ea(()=>({index:0}),r=>r.index1?new Ea(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{qa(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):qa(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?SFe(r,e):!1}function Nw(t){return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function wFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function CFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const EFe=/^[\w\p{L}]$/u;function kFe(t,e){if(t){const r=_Fe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function _Fe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function AFe(){throw Error("Internal Error - Should never get here!")}function XU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const jU=[Er(" "),Er("\f"),Er(` -`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],LFe=/[0-9a-fA-F]/,DT=/[0-9]/,RFe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return AFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` +`},"getStyles"),iFe=nFe,aFe={parser:JPe,get db(){return new eFe},renderer:aae,styles:iFe};const sFe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aFe},Symbol.toStringTag,{value:"Module"}));function Xu(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(Xu,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function qa(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function oFe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return qa(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Ea{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Ea(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=lFe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Ea(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Ea(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Ea(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Ea(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Ea(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Ea(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function lFe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Ea(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ii(...t){if(t.length===1){const e=t[0];if(e instanceof Ea)return e;if(Dw(e))return new Ea(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ea(()=>({index:0}),r=>r.index1?new Ea(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{qa(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):qa(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?DFe(r,e):!1}function Nw(t){return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function LFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function RFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const NFe=/^[\w\p{L}]$/u;function MFe(t,e){if(t){const r=OFe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function OFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function IFe(){throw Error("Internal Error - Should never get here!")}function XU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const jU=[Er(" "),Er("\f"),Er(` +`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],BFe=/[0-9a-fA-F]/,DT=/[0-9]/,PFe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return IFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` `),Er("\r"),Er("\u2028"),Er("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Iw;break;case"D":e=Iw,r=!0;break;case"s":e=jU;break;case"S":e=jU,r=!0;break;case"w":e=Bw;break;case"W":e=Bw,r=!0;break}if(Gp(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Er("\f");break;case"n":e=Er(` `);break;case"r":e=Er("\r");break;case"t":e=Er(" ");break;case"v":e=Er("\v");break}if(Gp(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Er("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:Er(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:Er(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,XU(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,XU(i)){if(i.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const DFe=/\r?\n/gm,NFe=new mae;class MFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const FFe=/\r?\n/gm,$Fe=new mae;class zFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=PS(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new MFe;function OFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(NFe.pattern(t)),rA.multiline}catch{return!1}}const IFe=`\f -\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return IFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function BFe(t,e){const r=PFe(t),n=e.match(r);return!!n&&n[0].length>0}function PFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function FFe(t){return t.rules.find(e=>ju(e)&&e.entry)}function $Fe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=FFe(t);if(!n)return new Set(t.rules);const i=[n].concat($Fe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function zFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function qFe(t){return t.hidden&&!yae(FM(t))}function VFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function GFe(t,e,r){if(!t)return;const n=UFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function UFe(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function HFe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&ju(i.rule.ref))return n(i,i.rule.ref);if(gFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||ju(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return ju(t)&&Cae(t)?t.name:Eae(t)??t.name;if(cFe(t)||bFe(t)||pFe(t))return t.name;if(OS(t)){const e=WFe(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function WFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function YFe(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(mFe(t))return XFe(t);if(yFe(t))return jFe(t);if(aFe(t))return QFe(t);if(vFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(uFe(t))return ZFe(t);if(xFe(t))return KFe(t);if(fFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(TFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function XFe(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function jFe(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function KFe(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function ZFe(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function QFe(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function JFe(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&qFe(n)&&OFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:EFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function e$e(t){return t$e(t)?t.LABEL:t.name}function t$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class mi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class qn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function r$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof qn){const r={type:"Terminal",name:t.terminalType.name,label:e$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case mi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case qn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function n$e(t){return t instanceof Vs||t instanceof Ra||t instanceof mi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof qn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof mi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function i$e(t){return t instanceof Ws}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof qn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof mi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new qn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof qn)return o$e(t);if(n$e(t))return a$e(t);if(i$e(t))return s$e(t);throw Error("non exhaustive match")}function a$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function s$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function o$e(t){return[t.terminalType]}const Lae="_~IN~_";class l$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=u$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function c$e(t){const e={};return t.forEach(r=>{const n=new l$e(r).startWalking();Object.assign(e,n)}),e}function u$e(t,e){return t.name+e+Lae}let H3={};const h$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=h$e.pattern(e);return H3[e]=r,r}}function d$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: -`;function f$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new zFe;function qFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit($Fe.pattern(t)),rA.multiline}catch{return!1}}const VFe=`\f +\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return VFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function GFe(t,e){const r=UFe(t),n=e.match(r);return!!n&&n[0].length>0}function UFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function HFe(t){return t.rules.find(e=>ju(e)&&e.entry)}function WFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=HFe(t);if(!n)return new Set(t.rules);const i=[n].concat(WFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function YFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function XFe(t){return t.hidden&&!yae(FM(t))}function jFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function KFe(t,e,r){if(!t)return;const n=ZFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ZFe(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function QFe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&ju(i.rule.ref))return n(i,i.rule.ref);if(wFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||ju(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return ju(t)&&Cae(t)?t.name:Eae(t)??t.name;if(mFe(t)||kFe(t)||TFe(t))return t.name;if(OS(t)){const e=JFe(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function JFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function e$e(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(CFe(t))return t$e(t);if(SFe(t))return r$e(t);if(dFe(t))return a$e(t);if(EFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(yFe(t))return i$e(t);if(_Fe(t))return n$e(t);if(xFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(AFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function t$e(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function r$e(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function n$e(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function i$e(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function a$e(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function s$e(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&XFe(n)&&qFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:NFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function o$e(t){return l$e(t)?t.LABEL:t.name}function l$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class yi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class qn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function c$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof yi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof qn){const r={type:"Terminal",name:t.terminalType.name,label:o$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case yi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case qn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function u$e(t){return t instanceof Vs||t instanceof Ra||t instanceof yi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof qn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof yi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function h$e(t){return t instanceof Ws}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof qn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof yi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new qn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof qn)return p$e(t);if(u$e(t))return d$e(t);if(h$e(t))return f$e(t);throw Error("non exhaustive match")}function d$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function f$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function p$e(t){return[t.terminalType]}const Lae="_~IN~_";class g$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=y$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function m$e(t){const e={};return t.forEach(r=>{const n=new g$e(r).startWalking();Object.assign(e,n)}),e}function y$e(t,e){return t.name+e+Lae}let H3={};const v$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=v$e.pattern(e);return H3[e]=r,r}}function b$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: +`;function x$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` @@ -1213,48 +1213,48 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),WL(`${Fw} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&XL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&p$e(t,e)}function p$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function XL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(XL):XL(t.value):!1}class g$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new g$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function m$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{z$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(P$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=pd(_);iA(C,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=pd(k);_!==L&&(_=L,iA(C,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&XL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&T$e(t,e)}function T$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function XL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(XL):XL(t.value):!1}class w$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new w$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function C$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Y$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(U$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=pd(_);iA(C,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=pd(k);_!==L&&(_=L,iA(C,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=f$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{iA(C,R,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=x$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{iA(C,R,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function y$e(t,e){let r=[];const n=b$e(t);r=r.concat(n.errors);const i=x$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(v$e(a)),r=r.concat(A$e(a)),r=r.concat(L$e(a,e)),r=r.concat(R$e(a)),r}function v$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(w$e(r)),e=e.concat(E$e(r)),e=e.concat(k$e(r)),e=e.concat(_$e(r)),e=e.concat(C$e(r)),e}function b$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:yi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function x$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:yi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const T$e=/[^\\][$]/;function w$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return T$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function S$e(t,e){let r=[];const n=k$e(t);r=r.concat(n.errors);const i=_$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(E$e(a)),r=r.concat(I$e(a)),r=r.concat(B$e(a,e)),r=r.concat(P$e(a)),r}function E$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(L$e(r)),e=e.concat(N$e(r)),e=e.concat(M$e(r)),e=e.concat(O$e(r)),e=e.concat(R$e(r)),e}function k$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:vi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function _$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:vi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const A$e=/[^\\][$]/;function L$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return A$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function C$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:yi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const S$e=/[^\\[][\^]|^\^/;function E$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return S$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function R$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:vi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const D$e=/[^\\[][\^]|^\^/;function N$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return D$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:yi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function k$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:yi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function _$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:yi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function A$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:yi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function L$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:yi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function R$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&N$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function M$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:vi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function O$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:vi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function I$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:vi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function B$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:vi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function P$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&$$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:yi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function D$e(t,e){if(e instanceof RegExp){if(M$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function N$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function M$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition -`,type:yi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,MT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+MT+`> property in its definition -`,type:yi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,MT)&&Object.hasOwn(t,f2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${f2}: <${t.defaultMode}>which does not exist -`,type:yi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,MT)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> -`,type:yi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(u=>{u!==void 0&&!a.includes(u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${i}> -`,type:yi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function I$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:$$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:vi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function F$e(t,e){if(e instanceof RegExp){if(z$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function $$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function z$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +`,type:vi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,MT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+MT+`> property in its definition +`,type:vi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,MT)&&Object.hasOwn(t,f2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${f2}: <${t.defaultMode}>which does not exist +`,type:vi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,MT)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> +`,type:vi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(u=>{u!==void 0&&!a.includes(u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${i}> +`,type:vi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function V$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:W$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:yi.NO_LINE_BREAKS_FLAGS}),n}function B$e(t){const e={};return Object.keys(t).forEach(n=>{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function P$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const F$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function U$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const H$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===yi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===vi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=q$e(t);V$e(e),U$e(e),G$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function q$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function V$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),H$e(e)||(e.categoryMatches=[]),W$e(e)||(e.categoryMatchesMap={})})}function G$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function U$e(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function H$e(t){return Object.hasOwn(t??{},"categoryMatches")}function W$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Y$e(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const jL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var yi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(yi||(yi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=X$e(t);j$e(e),Z$e(e),K$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function X$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function j$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),Q$e(e)||(e.categoryMatches=[]),J$e(e)||(e.categoryMatchesMap={})})}function K$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function Z$e(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function Q$e(t){return Object.hasOwn(t??{},"categoryMatches")}function J$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function eze(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const jL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var vi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(vi||(vi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:jL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class $s{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=F$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(O$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(I$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(y$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=m$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- +a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=H$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(q$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(V$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(S$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=C$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+l)}this.lexerDefinitionWarning.forEach(o=>{kae(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Object.entries(this.canModeBeOptimized).reduce((l,[u,h])=>(h===!1&&l.push(u),l),[]);if(r.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{d$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{b$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const R=this.hasCustom?0:Math.floor(e.length/10),k=new Array(R),L=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=B$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` but found: '`+e[0].image+"'";if(n)return a+n+o;{const d=`one of these possible Token sequences: ${t.reduce((f,p)=>f.concat(p),[]).map(f=>`[${f.map(p=>qg(p)).join(", ")}]`).map((f,p)=>` ${p+1}. ${f}`).join(` `)}`;return a+d+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=` but found: '`+e[0].image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const K$e={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- + <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const nze={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof qn?h.terminalType.name:h instanceof gs?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Hl(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES @@ -1281,43 +1281,43 @@ rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function Z$e(t,e){const r=new Q$e(t,e);return r.resolveRefs(),r.errors}class Q$e extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class J$e extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class eze extends J$e{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class tze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class rze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof qn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function nze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof qn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(ize(x,m,v,b));else throw Error("non exhaustive match")}return h}function ize(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ii;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ii||(ii={}));function VM(t){if(t instanceof Ra||t==="Option")return ii.OPTION;if(t instanceof mi||t==="Repetition")return ii.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ii.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ii.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ii.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ii.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ii.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function aze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function sze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function oze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ii.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new cze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function dze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function fze(t,e,r,n){const i=t.flatMap(l=>pze(l,r)),a=kze(t,e,r),s=t.flatMap(l=>wze(l,r)),o=t.flatMap(l=>yze(l,t,n,r));return i.concat(a,s,o)}function pze(t,e){const r=new mze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,gze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function gze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof qn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class mze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function yze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function vze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof mi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof qn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function bze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>nze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function xze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Sze(u,s,t,r),d=Eze(u,s,t,r);return h.concat(d)})}class Tze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function wze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Cze(t,e,r){const n=[];return t.forEach(i=>{const a=new Tze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Sze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Eze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function kze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function _ze(t){const e=Object.assign({errMsgProvider:K$e},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),Z$e(r,e.errMsgProvider)}function Aze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return fze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",Xae="NotAllInputParsedException",jae=[Hae,Wae,Yae,Xae];Object.freeze(jae);function zw(t){return jae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class Lze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class Rze extends GS{constructor(e,r){super(e,r),this.name=Xae}}class Dze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Nze extends Error{constructor(e){super(e),this.name=Zae}}class Mze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Oze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new eze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Nze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>bze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>xze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Cze(e,r,Wf)}buildLookaheadForAlternation(e){return aze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,oze)}buildLookaheadForOptional(e){return sze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),lze)}}class Bze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Fze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,X3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class Pze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new Pze;function Fze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function ize(t,e){const r=new aze(t,e);return r.resolveRefs(),r.errors}class aze extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class sze extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class oze extends sze{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class lze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class cze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof qn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function uze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof qn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(hze(x,m,v,b));else throw Error("non exhaustive match")}return h}function hze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ai;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ai||(ai={}));function VM(t){if(t instanceof Ra||t==="Option")return ai.OPTION;if(t instanceof yi||t==="Repetition")return ai.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ai.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ai.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ai.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ai.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ai.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function dze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function fze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function pze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ai.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new mze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function bze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function xze(t,e,r,n){const i=t.flatMap(l=>Tze(l,r)),a=Mze(t,e,r),s=t.flatMap(l=>Lze(l,r)),o=t.flatMap(l=>Sze(l,t,n,r));return i.concat(a,s,o)}function Tze(t,e){const r=new Cze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,wze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function wze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof qn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class Cze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Sze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Eze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof yi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof qn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function kze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>uze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function _ze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Dze(u,s,t,r),d=Nze(u,s,t,r);return h.concat(d)})}class Aze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Lze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Rze(t,e,r){const n=[];return t.forEach(i=>{const a=new Aze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Dze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Nze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Mze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Oze(t){const e=Object.assign({errMsgProvider:nze},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),ize(r,e.errMsgProvider)}function Ize(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return xze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",Xae="NotAllInputParsedException",jae=[Hae,Wae,Yae,Xae];Object.freeze(jae);function zw(t){return jae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class Bze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class Pze extends GS{constructor(e,r){super(e,r),this.name=Xae}}class Fze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class $ze extends Error{constructor(e){super(e),this.name=Zae}}class zze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new oze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new $ze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>kze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>_ze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Rze(e,r,Wf)}buildLookaheadForAlternation(e){return dze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,pze)}buildLookaheadForOptional(e){return fze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),gze)}}class Gze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Hze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,X3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class Uze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new Uze;function Hze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Uze(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=Vze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function Hze(t,e){return Wze(t,e)}function Wze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class Yze{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];$ze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];zze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Gze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Uze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Xze{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class jze{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ms.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=vze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return r$e(Object.values(this.gastProductionsCache))}}class Kze{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Zze(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=jze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function Qze(t,e){return Jze(t,e)}function Jze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class eqe{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Wze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Yze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Kze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Zze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class tqe{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class rqe{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ms.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=Eze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return c$e(Object.values(this.gastProductionsCache))}}class nqe{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(Y$e)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,rze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(X3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,X3,e,uH)}else throw this.raiseEarlyExitException(e,ii.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,tze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,X3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(eze)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,cze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(X3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,X3,e,uH)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,lze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,X3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,mi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return eqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?Qze:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new qn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function eqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class tqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function rqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=_ze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=Aze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=dze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=c$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,yi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return oqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?aqe:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new qn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function oqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class lqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function cqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Oze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=Ize({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=bze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=m$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;rqe(kx,[Mze,Bze,Yze,Xze,Kze,jze,Zze,Jze,tqe]);class nqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,iqe=2,nse=4,ise=5,_x=7,aqe=8,sqe=9,oqe=10,lqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function cqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};uqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function mqe(t,e,r){const n=ca(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return yqe(t,e,r,i)}function G0(t,e,r){const n=jl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:bqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:lqe});Ad(t,o);const l=ca(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Pi(s,o),i===void 0?(Pi(o,a),Pi(o,l)):(Pi(o,l),Pi(o,i.left),Pi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ca(t,e,r,{type:oqe});Ad(t,o);const l=ca(t,e,r,{type:ase}),u=ca(t,e,r,{type:sqe});return o.loopback=u,l.loopback=u,Pi(o,a),Pi(o,l),Pi(s,u),i!==void 0?(Pi(u,l),Pi(u,i.left),Pi(i.right,a)):Pi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function yqe(t,e,r,n){const i=n.left,a=n.right;return Pi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ca(t,e,n,{type:aqe,start:r});r.end=a;for(const o of i)o!==void 0?(Pi(r,o.left),Pi(o.right,a)):Pi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,vqe(n),n.idx)]=r,s}function vqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof mi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function bqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Cqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=cqe(e.rules),this.dfas=Eqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Eqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Rqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;cqe(kx,[zze,Gze,eqe,tqe,nqe,rqe,iqe,sqe,lqe]);class uqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,hqe=2,nse=4,ise=5,_x=7,dqe=8,fqe=9,pqe=10,gqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function mqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};yqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function Cqe(t,e,r){const n=ua(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return Sqe(t,e,r,i)}function G0(t,e,r){const n=jl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:kqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:gqe});Ad(t,o);const l=ua(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Fi(s,o),i===void 0?(Fi(o,a),Fi(o,l)):(Fi(o,l),Fi(o,i.left),Fi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:pqe});Ad(t,o);const l=ua(t,e,r,{type:ase}),u=ua(t,e,r,{type:fqe});return o.loopback=u,l.loopback=u,Fi(o,a),Fi(o,l),Fi(s,u),i!==void 0?(Fi(u,l),Fi(u,i.left),Fi(i.right,a)):Fi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Sqe(t,e,r,n){const i=n.left,a=n.right;return Fi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ua(t,e,n,{type:dqe,start:r});r.end=a;for(const o of i)o!==void 0?(Fi(r,o.left),Fi(o.right,a)):Fi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,Eqe(n),n.idx)]=r,s}function Eqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof yi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function kqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Rqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=mqe(e.rules),this.dfas=Nqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Nqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Pqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function Rqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof mi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}function Dqe(t,e,r){const n=k8e(e.configs.elements,a=>a.state.transitions),i=K8e(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Nqe(t,e){return t.edges[e.tokenTypeIdx]}function Mqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Fqe(a))for(const s of i)a.add(s);return a}function Oqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Iqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Bqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Gqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var Xw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(Xw||(Xw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class Uqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var jw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(jw||(jw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&jw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Xw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var XR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(XR||(XR={}));var jR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(jR||(jR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const Hqe=[` +For Further details.`,n}function Pqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}function Fqe(t,e,r){const n=M8e(e.configs.elements,a=>a.state.transitions),i=nLe(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function $qe(t,e){return t.edges[e.tokenTypeIdx]}function zqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Hqe(a))for(const s of i)a.add(s);return a}function qqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Vqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Gqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Kqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var Xw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(Xw||(Xw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class Zqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var jw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(jw||(jw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&jw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Xw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var XR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(XR||(XR={}));var jR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(jR||(jR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const Qqe=[` `,`\r -`,"\r"];var r9;(function(t){function e(a,s,o,l){return new Wqe(a,s,o,l)}t.create=e;function r(a){let s=a;return!!(ht.defined(s)&&ht.string(s.uri)&&(ht.undefined(s.languageId)||ht.string(s.languageId))&&ht.uinteger(s.lineCount)&&ht.func(s.getText)&&ht.func(s.positionAt)&&ht.func(s.offsetAt))}t.is=r;function n(a,s){let o=a.getText(),l=i(s,(h,d)=>{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const Yqe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:Hqe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return XR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return jw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return jR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:Uqe,get WorkspaceEdit(){return Xw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class Xqe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Jqe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class jqe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Xqe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),ju(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(rFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Kqe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends Kqe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class Zqe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const Qqe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends nqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...Qqe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Sqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class Jqe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return eVe({parser:e,tokens:r,ruleNames:new Map},t),e}function eVe(t,e){const r=vae(e,!1),n=ni(e.rules).filter(ju).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ni(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,tVe(t,a))}function tVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=lVe(t,e);else if(OS(e))n=rVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=nVe(t,e);else if(hae(e))n=aVe(t,e);else if(fae(e))n=sVe(t,e);else if(BM(e))n=oVe(t,e);else if(lFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function rVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function nVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=ju(r)&&r.fragment,a=e.arguments.length>0?iVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function iVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(sFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(hFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(dFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(iFe(t)){const e=!!t.true;return()=>e}wx()}function aVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function sVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function oVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&ju(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function lVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=cVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function cVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ju(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function uVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Zqe(t);return xse(e,n,r.definition),n.finalize(),n}function hVe(t){const e=dVe(t);return e.finalize(),e}function dVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new jqe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ni(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&BFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=zFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(YFe(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return va.stringArray=s,va}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var ai=HS();function fVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let j3=0,pVe=10;function gVe(){return j3=performance.now(),new ai.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function ss(t){if(t===ai.CancellationToken.None)return;const e=performance.now();if(e-j3>=pVe&&(j3=e,await fVe(),j3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(mVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function mVe(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class vVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ai.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ai.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class bVe{constructor(e){this.documentTrie=new yVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ni(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class xVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ai.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await ss(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await ss(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qa(this._ref))return this._ref;if(eFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=HFe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||wFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ni(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ni(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ni(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ni(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ni(this.map.keys())}values(){return ni(this.map.values()).flat()}entriesGroupedByKey(){return ni(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class SVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ai.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=ai.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ai.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class EVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ni(n).concat(this.outerScope.getElements(e)):ni(n)}getAllElements(){let e=ni(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class kVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class _Ve extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class AVe extends kVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class LVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new AVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ni(e),r,n)}createScopeForNodes(e,r,n){const i=ni(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new EVe(this.indexManager.allElements(e)))}}function RVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class DVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(qa(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=VFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ni(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const OVe=Object.freeze({validateNode:!0,validateChildren:!0});class IVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ai.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:PVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=ai.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ai.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return OVe}async validateAstAfter(e,r,n,i=ai.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:BVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function BVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=GFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function PVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class FVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class $Ve{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ai.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await ss(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class zVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var qVe=sy();class VVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new qVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function GVe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function UVe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function HVe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function WVe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r -`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function YVe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const eVe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:Qqe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return XR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return jw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return jR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:Zqe,get WorkspaceEdit(){return Xw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class tVe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new sVe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class rVe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new tVe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),ju(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(cFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class nVe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends nVe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class iVe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const aVe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends uqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...aVe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Dqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class sVe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return oVe({parser:e,tokens:r,ruleNames:new Map},t),e}function oVe(t,e){const r=vae(e,!1),n=ii(e.rules).filter(ju).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ii(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,lVe(t,a))}function lVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=gVe(t,e);else if(OS(e))n=cVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=uVe(t,e);else if(hae(e))n=dVe(t,e);else if(fae(e))n=fVe(t,e);else if(BM(e))n=pVe(t,e);else if(gFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function cVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function uVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=ju(r)&&r.fragment,a=e.arguments.length>0?hVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function hVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(fFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(vFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(bFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(hFe(t)){const e=!!t.true;return()=>e}wx()}function dVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function fVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function pVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&ju(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function gVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=mVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function mVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ju(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function yVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new iVe(t);return xse(e,n,r.definition),n.finalize(),n}function vVe(t){const e=bVe(t);return e.finalize(),e}function bVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new rVe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ii(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&GFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=YFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(e$e(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return ba.stringArray=s,ba}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var si=HS();function xVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let j3=0,TVe=10;function wVe(){return j3=performance.now(),new si.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function ss(t){if(t===si.CancellationToken.None)return;const e=performance.now();if(e-j3>=TVe&&(j3=e,await xVe(),j3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(CVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function CVe(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class EVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=si.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class kVe{constructor(e){this.documentTrie=new SVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ii(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class _Ve{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=si.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await ss(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await ss(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qa(this._ref))return this._ref;if(oFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=QFe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||LFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ii(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ii(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ii(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ii(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ii(this.map.keys())}values(){return ii(this.map.values()).flat()}entriesGroupedByKey(){return ii(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class DVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=si.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=si.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=si.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class NVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ii(n).concat(this.outerScope.getElements(e)):ii(n)}getAllElements(){let e=ii(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class MVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class OVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class IVe extends MVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class BVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new IVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ii(e),r,n)}createScopeForNodes(e,r,n){const i=ii(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new NVe(this.indexManager.allElements(e)))}}function PVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class FVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(qa(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=jFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ii(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const qVe=Object.freeze({validateNode:!0,validateChildren:!0});class VVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=si.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:UVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=si.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=si.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return qVe}async validateAstAfter(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:GVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function GVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=KFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function UVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class HVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class WVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=si.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await ss(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class YVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var XVe=sy();class jVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new XVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function KVe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function ZVe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function QVe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function JVe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r +`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function eGe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r `;class n{constructor(a="utf-8"){this._encoding=a,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(a){const s=typeof a=="string"?this.fromString(a,this._encoding):a;this._chunks.push(s),this._totalLength+=s.byteLength}tryReadHeaders(a=!1){if(this._chunks.length===0)return;let s=0,o=0,l=0,u=0;e:for(;othis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function XVe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Le=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: +${m}`);const b=m.substr(0,v),x=m.substr(v+1).trim();d.set(a?b.toLowerCase():b,x)}return d}tryReadBody(a){if(!(this._totalLengththis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function tGe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Le=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: ${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=j.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Le.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){const st=nt.id,It=te.get(st);It&&It.reject(new Error("The received response has neither a result nor an error property."))}}function ze(Ce){if(Ce!=null)switch(ne){case f.Verbose:return JSON.stringify(Ce,null,4);case f.Compact:return JSON.stringify(Ce);default:return}}function et(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&Ce.params&&(nt=`Params: ${ze(Ce.params)} @@ -1343,18 +1343,18 @@ ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){ `:Ce.error===void 0&&(st=`No result returned. -`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=GVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=UVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=HVe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=WVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=YVe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=XVe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function jVe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,jVe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(Yqe);var Ja={},WH;function hi(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Ci={},YH;function tO(){if(YH)return Ci;YH=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.objectLiteral=Ci.typedArray=Ci.stringArray=Ci.array=Ci.func=Ci.error=Ci.number=Ci.string=Ci.boolean=void 0;function t(u){return u===!0||u===!1}Ci.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Ci.string=e;function r(u){return typeof u=="number"||u instanceof Number}Ci.number=r;function n(u){return u instanceof Error}Ci.error=n;function i(u){return typeof u=="function"}Ci.func=i;function a(u){return Array.isArray(u)}Ci.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Ci.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Ci.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Ci.objectLiteral=l,Ci}var Ov={},XH;function KVe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},jH;function ZVe(){if(jH)return Iv;jH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function QVe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=hi();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function JVe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=hi();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function eGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function tGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function rGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function nGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function iGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=hi();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var Xc={},nW;function aGe(){if(nW)return Xc;nW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.CallHierarchyOutgoingCallsRequest=Xc.CallHierarchyIncomingCallsRequest=Xc.CallHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Xc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Xc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.CallHierarchyOutgoingCallsRequest=n={})),Xc}var es={},iW;function sGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=hi();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function oGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=hi();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function lGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=hi();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var ba={},oW;function cGe(){if(oW)return ba;oW=1,Object.defineProperty(ba,"__esModule",{value:!0}),ba.WillDeleteFilesRequest=ba.DidDeleteFilesNotification=ba.DidRenameFilesNotification=ba.WillRenameFilesRequest=ba.DidCreateFilesNotification=ba.WillCreateFilesRequest=ba.FileOperationPatternKind=void 0;const t=hi();var e;(function(l){l.file="file",l.folder="folder"})(e||(ba.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(ba.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(ba.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(ba.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(ba.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(ba.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(ba.WillDeleteFilesRequest=o={})),ba}var jc={},lW;function uGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.MonikerRequest=jc.MonikerKind=jc.UniquenessLevel=void 0;const t=hi();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(jc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(jc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.MonikerRequest=n={})),jc}var Kc={},cW;function hGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function dGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=hi();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function fGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=hi();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function pGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=hi();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ei={},fW;function gGe(){if(fW)return ei;fW=1,Object.defineProperty(ei,"__esModule",{value:!0}),ei.DidCloseNotebookDocumentNotification=ei.DidSaveNotebookDocumentNotification=ei.DidChangeNotebookDocumentNotification=ei.NotebookCellArrayChange=ei.DidOpenNotebookDocumentNotification=ei.NotebookDocumentSyncRegistrationType=ei.NotebookDocument=ei.NotebookCell=ei.ExecutionSummary=ei.NotebookCellKind=void 0;const t=eO,e=tO(),r=hi();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ei.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ei.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function vGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function bGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(hi(),t),r(yGe(),t);var n=vGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function xGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(bGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=xGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class TGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ai.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ai.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ni(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ni(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ai.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ni(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class wGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new _Ve,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ni(i)}allElements(e,r){let n=ni(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=ai.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class CGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ai.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ni(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class SGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return jL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return jL.buildUnableToPopLexerModeMessage(e)}}const EGe={mode:"full"};class kGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=EGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function _Ge(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!_Ge(t)&&!Nse(t)}function AGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=DGe({lines:a,position:i,options:s});return BGe({index:0,tokens:o,position:i})}function LGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(DFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,RGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function DGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function NGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const MGe=/\S/,OGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(MGe);return r?e+r.index:t.length}function IGe(t){const e=t.match(OGe);if(e&&typeof e.index=="number")return e.index}function BGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=zGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}}function zGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??qGe(e,i)}}function qGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=KVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=ZVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=QVe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=JVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=eGe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=tGe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function rGe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,rGe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(eVe);var Ja={},WH;function di(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Si={},YH;function tO(){if(YH)return Si;YH=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.objectLiteral=Si.typedArray=Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function t(u){return u===!0||u===!1}Si.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Si.string=e;function r(u){return typeof u=="number"||u instanceof Number}Si.number=r;function n(u){return u instanceof Error}Si.error=n;function i(u){return typeof u=="function"}Si.func=i;function a(u){return Array.isArray(u)}Si.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Si.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Si.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Si.objectLiteral=l,Si}var Ov={},XH;function nGe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},jH;function iGe(){if(jH)return Iv;jH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function aGe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=di();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function sGe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=di();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function oGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function lGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function cGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function uGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function hGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=di();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var Xc={},nW;function dGe(){if(nW)return Xc;nW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.CallHierarchyOutgoingCallsRequest=Xc.CallHierarchyIncomingCallsRequest=Xc.CallHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Xc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Xc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.CallHierarchyOutgoingCallsRequest=n={})),Xc}var es={},iW;function fGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=di();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function pGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=di();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function gGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var xa={},oW;function mGe(){if(oW)return xa;oW=1,Object.defineProperty(xa,"__esModule",{value:!0}),xa.WillDeleteFilesRequest=xa.DidDeleteFilesNotification=xa.DidRenameFilesNotification=xa.WillRenameFilesRequest=xa.DidCreateFilesNotification=xa.WillCreateFilesRequest=xa.FileOperationPatternKind=void 0;const t=di();var e;(function(l){l.file="file",l.folder="folder"})(e||(xa.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(xa.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(xa.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(xa.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(xa.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(xa.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(xa.WillDeleteFilesRequest=o={})),xa}var jc={},lW;function yGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.MonikerRequest=jc.MonikerKind=jc.UniquenessLevel=void 0;const t=di();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(jc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(jc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.MonikerRequest=n={})),jc}var Kc={},cW;function vGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function bGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function xGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function TGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=di();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ti={},fW;function wGe(){if(fW)return ti;fW=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.DidCloseNotebookDocumentNotification=ti.DidSaveNotebookDocumentNotification=ti.DidChangeNotebookDocumentNotification=ti.NotebookCellArrayChange=ti.DidOpenNotebookDocumentNotification=ti.NotebookDocumentSyncRegistrationType=ti.NotebookDocument=ti.NotebookCell=ti.ExecutionSummary=ti.NotebookCellKind=void 0;const t=eO,e=tO(),r=di();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ti.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ti.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function EGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function kGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(di(),t),r(SGe(),t);var n=EGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function _Ge(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(kGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=_Ge(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class AGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=si.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=si.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ii(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ii(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=si.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ii(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class LGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new OVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ii(i)}allElements(e,r){let n=ii(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class RGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=si.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ii(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class DGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return jL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return jL.buildUnableToPopLexerModeMessage(e)}}const NGe={mode:"full"};class MGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=NGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function OGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!OGe(t)&&!Nse(t)}function IGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=FGe({lines:a,position:i,options:s});return GGe({index:0,tokens:o,position:i})}function BGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(FFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,PGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function FGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function $Ge(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const zGe=/\S/,qGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(zGe);return r?e+r.index:t.length}function VGe(t){const e=t.match(qGe);if(e&&typeof e.index=="number")return e.index}function GGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=YGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}}function YGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??XGe(e,i)}}function XGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` `)}return r}}class Pse{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function wW(t){return t.endsWith(` `)?` `:` -`}class VGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&LGe(r))return AGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class GGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return RVe(e)?e.$comment:kFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class UGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class HGe{constructor(){this.previousTokenSource=new ai.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=gVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ai.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class WGe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else qa(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else qa(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))nFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new GGe(e),DocumentationProvider:e=>new VGe(e)},parser:{AsyncParser:e=>new UGe(e),GrammarConfig:e=>JFe(e),LangiumParser:e=>hVe(e),CompletionParser:e=>uVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new kGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new SGe},workspace:{AstNodeLocator:()=>new zVe,AstNodeDescriptionProvider:e=>new FVe(e),ReferenceDescriptionProvider:e=>new $Ve(e)},references:{Linker:e=>new xVe(e),NameProvider:()=>new wVe,ScopeProvider:e=>new LVe(e),ScopeComputation:e=>new SVe(e),References:e=>new CVe(e)},serializer:{Hydrator:e=>new WGe(e),JsonSerializer:e=>new DVe(e)},validation:{DocumentValidator:e=>new IVe(e),ValidationRegistry:e=>new MVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new NVe(e),workspace:{LangiumDocuments:e=>new bVe(e),LangiumDocumentFactory:e=>new vVe(e),DocumentBuilder:e=>new TGe(e),IndexManager:e=>new wGe(e),WorkspaceManager:e=>new CGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new HGe,ConfigurationProvider:e=>new VVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Vi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const YGe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===YGe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class XGe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new XGe},jGe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},KGe={AstReflection:()=>new pae};function ZGe(){const t=Vi(bc(xc),KGe),e=Vi(vc({shared:t}),jGe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=ZGe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var QGe=Object.defineProperty,Ft=(t,e)=>QGe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function JGe(t){return Yo.isInstance(t,nu.$type)}Ft(JGe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function eUe(t){return Yo.isInstance(t,K3.$type)}Ft(eUe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function tUe(t){return Yo.isInstance(t,ug.$type)}Ft(tUe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function rUe(t){return Yo.isInstance(t,Df.$type)}Ft(rUe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function nUe(t){return Yo.isInstance(t,y2.$type)}Ft(nUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function iUe(t){return Yo.isInstance(t,hg.$type)}Ft(iUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function aUe(t){return Yo.isInstance(t,dg.$type)}Ft(aUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function sUe(t){return Yo.isInstance(t,fg.$type)}Ft(sUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function oUe(t){return Yo.isInstance(t,Nf.$type)}Ft(oUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function lUe(t){return Yo.isInstance(t,Z3.$type)}Ft(lUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},XT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function cUe(t){return Yo.isInstance(t,pg.$type)}Ft(cUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ta={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function uUe(t){return Yo.isInstance(t,Ta.$type)}Ft(uUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:XT.$type,properties:{evolution:{name:XT.evolution},label:{name:XT.label},name:{name:XT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:Ta.$type,properties:{accDescr:{name:Ta.accDescr},accelerators:{name:Ta.accelerators,defaultValue:[]},accTitle:{name:Ta.accTitle},anchors:{name:Ta.anchors,defaultValue:[]},annotation:{name:Ta.annotation,defaultValue:[]},annotations:{name:Ta.annotations,defaultValue:[]},components:{name:Ta.components,defaultValue:[]},deaccelerators:{name:Ta.deaccelerators,defaultValue:[]},evolution:{name:Ta.evolution},evolves:{name:Ta.evolves,defaultValue:[]},links:{name:Ta.links,defaultValue:[]},notes:{name:Ta.notes,defaultValue:[]},pipelines:{name:Ta.pipelines,defaultValue:[]},size:{name:Ta.size},title:{name:Ta.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,hUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,dUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,fUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,pUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,gUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,mUe=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,yUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,vUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,bUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),xUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},_Ue={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},LUe={Grammar:Ft(()=>hUe(),"Grammar"),LanguageMetaData:Ft(()=>xUe,"LanguageMetaData"),parser:{}},RUe={Grammar:Ft(()=>dUe(),"Grammar"),LanguageMetaData:Ft(()=>TUe,"LanguageMetaData"),parser:{}},DUe={Grammar:Ft(()=>fUe(),"Grammar"),LanguageMetaData:Ft(()=>wUe,"LanguageMetaData"),parser:{}},NUe={Grammar:Ft(()=>pUe(),"Grammar"),LanguageMetaData:Ft(()=>CUe,"LanguageMetaData"),parser:{}},MUe={Grammar:Ft(()=>gUe(),"Grammar"),LanguageMetaData:Ft(()=>SUe,"LanguageMetaData"),parser:{}},OUe={Grammar:Ft(()=>mUe(),"Grammar"),LanguageMetaData:Ft(()=>EUe,"LanguageMetaData"),parser:{}},IUe={Grammar:Ft(()=>yUe(),"Grammar"),LanguageMetaData:Ft(()=>kUe,"LanguageMetaData"),parser:{}},BUe={Grammar:Ft(()=>vUe(),"Grammar"),LanguageMetaData:Ft(()=>_Ue,"LanguageMetaData"),parser:{}},PUe={Grammar:Ft(()=>bUe(),"Grammar"),LanguageMetaData:Ft(()=>AUe,"LanguageMetaData"),parser:{}},FUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,$Ue=/accTitle[\t ]*:([^\n\r]*)/,zUe=/title([\t ][^\n\r]*|)/,qUe={ACC_DESCR:FUe,ACC_TITLE:$Ue,TITLE:zUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=qUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,VUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),GUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,UUe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=GUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,HUe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new VUe,"TokenBuilder"),ValueConverter:Ft(()=>new UUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new HUe,"TreemapValidator")}};function Vse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),IUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,WUe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new WUe,"ValueConverter")}};function Use(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),PUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,YUe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new YUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),RUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,XUe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new XUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Xse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),DUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Xse,"createInfoServices");var w1,jUe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),jse={parser:{TokenBuilder:Ft(()=>new jUe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),NUe,jse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,KUe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,ZUe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new KUe,"TokenBuilder"),ValueConverter:Ft(()=>new ZUe,"ValueConverter")}};function Qse(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),MUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,QUe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,JUe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new QUe,"ValueConverter")}};function eoe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),BUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,eHe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,tHe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new eHe,"TokenBuilder"),ValueConverter:Ft(()=>new tHe,"ValueConverter")}};function roe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),LUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,rHe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new rHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Vi(bc(t),Qu),r=Vi(vc({shared:e}),OUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},nHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>ent);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>tnt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>rnt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>nnt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>int);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>ant);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>snt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>ont);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>lnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=nHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new iHe(i);return i.value}Ft(Tc,"parse");var R1,iHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` +`}class jGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&BGe(r))return IGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class KGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return PVe(e)?e.$comment:MFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class ZGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class QGe{constructor(){this.previousTokenSource=new si.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=wVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=si.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class JGe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else qa(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else qa(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))uFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new KGe(e),DocumentationProvider:e=>new jGe(e)},parser:{AsyncParser:e=>new ZGe(e),GrammarConfig:e=>s$e(e),LangiumParser:e=>vVe(e),CompletionParser:e=>yVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new MGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new DGe},workspace:{AstNodeLocator:()=>new YVe,AstNodeDescriptionProvider:e=>new HVe(e),ReferenceDescriptionProvider:e=>new WVe(e)},references:{Linker:e=>new _Ve(e),NameProvider:()=>new LVe,ScopeProvider:e=>new BVe(e),ScopeComputation:e=>new DVe(e),References:e=>new RVe(e)},serializer:{Hydrator:e=>new JGe(e),JsonSerializer:e=>new FVe(e)},validation:{DocumentValidator:e=>new VVe(e),ValidationRegistry:e=>new zVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new $Ve(e),workspace:{LangiumDocuments:e=>new kVe(e),LangiumDocumentFactory:e=>new EVe(e),DocumentBuilder:e=>new AGe(e),IndexManager:e=>new LGe(e),WorkspaceManager:e=>new RGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new QGe,ConfigurationProvider:e=>new jVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Gi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const eUe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===eUe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class tUe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new tUe},rUe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},nUe={AstReflection:()=>new pae};function iUe(){const t=Gi(bc(xc),nUe),e=Gi(vc({shared:t}),rUe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=iUe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var aUe=Object.defineProperty,Ft=(t,e)=>aUe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function sUe(t){return Yo.isInstance(t,nu.$type)}Ft(sUe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function oUe(t){return Yo.isInstance(t,K3.$type)}Ft(oUe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function lUe(t){return Yo.isInstance(t,ug.$type)}Ft(lUe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function cUe(t){return Yo.isInstance(t,Df.$type)}Ft(cUe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function uUe(t){return Yo.isInstance(t,y2.$type)}Ft(uUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function hUe(t){return Yo.isInstance(t,hg.$type)}Ft(hUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function dUe(t){return Yo.isInstance(t,dg.$type)}Ft(dUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function fUe(t){return Yo.isInstance(t,fg.$type)}Ft(fUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function pUe(t){return Yo.isInstance(t,Nf.$type)}Ft(pUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function gUe(t){return Yo.isInstance(t,Z3.$type)}Ft(gUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},XT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function mUe(t){return Yo.isInstance(t,pg.$type)}Ft(mUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},wa={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function yUe(t){return Yo.isInstance(t,wa.$type)}Ft(yUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:XT.$type,properties:{evolution:{name:XT.evolution},label:{name:XT.label},name:{name:XT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:wa.$type,properties:{accDescr:{name:wa.accDescr},accelerators:{name:wa.accelerators,defaultValue:[]},accTitle:{name:wa.accTitle},anchors:{name:wa.anchors,defaultValue:[]},annotation:{name:wa.annotation,defaultValue:[]},annotations:{name:wa.annotations,defaultValue:[]},components:{name:wa.components,defaultValue:[]},deaccelerators:{name:wa.deaccelerators,defaultValue:[]},evolution:{name:wa.evolution},evolves:{name:wa.evolves,defaultValue:[]},links:{name:wa.links,defaultValue:[]},notes:{name:wa.notes,defaultValue:[]},pipelines:{name:wa.pipelines,defaultValue:[]},size:{name:wa.size},title:{name:wa.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,vUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,bUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,xUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,TUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,wUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,CUe=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,SUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,EUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,kUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),_Ue={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},LUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},DUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},NUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},OUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},IUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},BUe={Grammar:Ft(()=>vUe(),"Grammar"),LanguageMetaData:Ft(()=>_Ue,"LanguageMetaData"),parser:{}},PUe={Grammar:Ft(()=>bUe(),"Grammar"),LanguageMetaData:Ft(()=>AUe,"LanguageMetaData"),parser:{}},FUe={Grammar:Ft(()=>xUe(),"Grammar"),LanguageMetaData:Ft(()=>LUe,"LanguageMetaData"),parser:{}},$Ue={Grammar:Ft(()=>TUe(),"Grammar"),LanguageMetaData:Ft(()=>RUe,"LanguageMetaData"),parser:{}},zUe={Grammar:Ft(()=>wUe(),"Grammar"),LanguageMetaData:Ft(()=>DUe,"LanguageMetaData"),parser:{}},qUe={Grammar:Ft(()=>CUe(),"Grammar"),LanguageMetaData:Ft(()=>NUe,"LanguageMetaData"),parser:{}},VUe={Grammar:Ft(()=>SUe(),"Grammar"),LanguageMetaData:Ft(()=>MUe,"LanguageMetaData"),parser:{}},GUe={Grammar:Ft(()=>EUe(),"Grammar"),LanguageMetaData:Ft(()=>OUe,"LanguageMetaData"),parser:{}},UUe={Grammar:Ft(()=>kUe(),"Grammar"),LanguageMetaData:Ft(()=>IUe,"LanguageMetaData"),parser:{}},HUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,WUe=/accTitle[\t ]*:([^\n\r]*)/,YUe=/title([\t ][^\n\r]*|)/,XUe={ACC_DESCR:HUe,ACC_TITLE:WUe,TITLE:YUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=XUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,jUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),KUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,ZUe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=KUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,QUe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new jUe,"TokenBuilder"),ValueConverter:Ft(()=>new ZUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new QUe,"TreemapValidator")}};function Vse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),VUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,JUe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new JUe,"ValueConverter")}};function Use(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),UUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,eHe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new eHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),PUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,tHe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new tHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Xse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),FUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Xse,"createInfoServices");var w1,rHe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),jse={parser:{TokenBuilder:Ft(()=>new rHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),$Ue,jse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,nHe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,iHe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new nHe,"TokenBuilder"),ValueConverter:Ft(()=>new iHe,"ValueConverter")}};function Qse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),zUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,aHe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,sHe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new sHe,"TokenBuilder"),ValueConverter:Ft(()=>new aHe,"ValueConverter")}};function eoe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),GUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,oHe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,lHe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new oHe,"TokenBuilder"),ValueConverter:Ft(()=>new lHe,"ValueConverter")}};function roe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),BUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,cHe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new cHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),qUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},uHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>ont);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>lnt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>cnt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>unt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>hnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>dnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>fnt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>pnt);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>gnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=uHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new hHe(i);return i.value}Ft(Tc,"parse");var R1,hHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(` -`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),kn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},aHe=Vr.gitGraph,H0=S(()=>Ji({...aHe,...gr().gitGraph}),"getConfig"),jt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function XS(){return qZ({length:7})}S(XS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var sHe=S(function(t){jt.records.direction=t},"setDirection"),oHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),lHe=S(function(){return jt.records.options},"getOptions"),cHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+XS(),message:e,seq:jt.records.seq++,type:n??kn.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),uHe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),hHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${XS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:kn.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),dHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===kn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+XS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:kn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===kn.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var fHe=S(function(){oe.debug(jt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),pHe=S(function(){jt.reset(),jn()},"clear"),gHe=S(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),mHe=S(function(){return jt.records.branches},"getBranches"),yHe=S(function(){return jt.records.commits},"getCommits"),ooe=S(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),vHe=S(function(){return jt.records.currBranch},"getCurrentBranch"),bHe=S(function(){return jt.records.direction},"getDirection"),xHe=S(function(){return jt.records.head},"getHead"),loe={commitType:kn,getConfig:H0,setDirection:sHe,setOptions:oHe,getOptions:lHe,commit:cHe,branch:uHe,merge:hHe,cherryPick:dHe,checkout:soe,prettyPrint:fHe,clear:pHe,getBranchesAsObjArray:gHe,getBranches:mHe,getCommits:yHe,getCommitsArray:ooe,getCurrentBranch:vHe,getDirection:bHe,getHead:xHe,setAccTitle:Xn,getAccTitle:li,getAccDescription:ui,setAccDescription:ci,setDiagramTitle:oi,getDiagramTitle:Kn},THe=S((t,e)=>{Xu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)wHe(r,e)},"populate"),wHe=S((t,e)=>{const n={Commit:S(i=>e.commit(CHe(i)),"Commit"),Branch:S(i=>e.branch(SHe(i)),"Branch"),Merge:S(i=>e.merge(EHe(i)),"Merge"),Checkout:S(i=>e.checkout(kHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(_He(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),CHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?kn[t.type]:kn.NORMAL,tags:t.tags??void 0}),"parseCommit"),SHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),EHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?kn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),kHe=S(t=>t.branch,"parseCheckout"),_He=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),AHe={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),THe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,jS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),LHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",RHe=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),DHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),NHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=OHe(o),i=Math.max(n,i)):a.push(o),IHe(o,n)}),n=i,a.forEach(s=>{BHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=DHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),MHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),OHe=S(t=>MHe(t)+Wh,"calculateCommitPosition"),IHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),BHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),PHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=jS.has(s??""),l=iO.has(s??""),u=LHe.has(s??"");if(a===kn.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===kn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===kn.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===kn.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),FHe=S((t,e,r,n,i)=>{if(e.type!==kn.CHERRY_PICK&&(e.customId&&e.type===kn.MERGE||e.type!==kn.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),$He=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` +`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),kn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},dHe=Vr.gitGraph,H0=S(()=>ea({...dHe,...gr().gitGraph}),"getConfig"),jt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function XS(){return qZ({length:7})}S(XS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var fHe=S(function(t){jt.records.direction=t},"setDirection"),pHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),gHe=S(function(){return jt.records.options},"getOptions"),mHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+XS(),message:e,seq:jt.records.seq++,type:n??kn.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),yHe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),vHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${XS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:kn.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),bHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===kn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+XS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:kn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===kn.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var xHe=S(function(){oe.debug(jt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),THe=S(function(){jt.reset(),Kn()},"clear"),wHe=S(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),CHe=S(function(){return jt.records.branches},"getBranches"),SHe=S(function(){return jt.records.commits},"getCommits"),ooe=S(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),EHe=S(function(){return jt.records.currBranch},"getCurrentBranch"),kHe=S(function(){return jt.records.direction},"getDirection"),_He=S(function(){return jt.records.head},"getHead"),loe={commitType:kn,getConfig:H0,setDirection:fHe,setOptions:pHe,getOptions:gHe,commit:mHe,branch:yHe,merge:vHe,cherryPick:bHe,checkout:soe,prettyPrint:xHe,clear:THe,getBranchesAsObjArray:wHe,getBranches:CHe,getCommits:SHe,getCommitsArray:ooe,getCurrentBranch:EHe,getDirection:kHe,getHead:_He,setAccTitle:jn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,setDiagramTitle:li,getDiagramTitle:Zn},AHe=S((t,e)=>{Xu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)LHe(r,e)},"populate"),LHe=S((t,e)=>{const n={Commit:S(i=>e.commit(RHe(i)),"Commit"),Branch:S(i=>e.branch(DHe(i)),"Branch"),Merge:S(i=>e.merge(NHe(i)),"Merge"),Checkout:S(i=>e.checkout(MHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(OHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),RHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?kn[t.type]:kn.NORMAL,tags:t.tags??void 0}),"parseCommit"),DHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),NHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?kn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),MHe=S(t=>t.branch,"parseCheckout"),OHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),IHe={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),AHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,jS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),BHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",PHe=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),FHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),$He=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=qHe(o),i=Math.max(n,i)):a.push(o),VHe(o,n)}),n=i,a.forEach(s=>{GHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=FHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),zHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),qHe=S(t=>zHe(t)+Wh,"calculateCommitPosition"),VHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),GHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),UHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=jS.has(s??""),l=iO.has(s??""),u=BHe.has(s??"");if(a===kn.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===kn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===kn.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===kn.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),HHe=S((t,e,r,n,i)=>{if(e.type!==kn.CHERRY_PICK&&(e.customId&&e.type===kn.MERGE||e.type!==kn.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),WHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` ${n-a/2-zl/2},${p+cu} ${n-a/2-zl/2},${p-cu} ${r.posWithOffset-a/2-zl},${p-f-cu} @@ -1366,22 +1366,22 @@ ${r}`),this.inline?`{${i}}`:i}}function zGe(t,e,r){if(t==="linkplain"||t==="link ${r.x+Hh},${m-f-2} ${r.x+Hh+a+4},${m-f-2} ${r.x+Hh+a+4},${m+f+2} - ${r.x+Hh},${m+f+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("cx",r.x+zl/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),l.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),zHe=S(t=>{switch(t.customType??t.type){case kn.NORMAL:return"commit-normal";case kn.REVERSE:return"commit-reverse";case kn.HIGHLIGHT:return"commit-highlight";case kn.MERGE:return"commit-merge";case kn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),qHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),VHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=jS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&NHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=qHe(f,Gr,s,zs));const p=VHe(f,s,l);if(r){const m=zHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;PHe(i,f,p,m,b,v),FHe(a,f,p,s,n),$He(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),GHe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),UHe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=GHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===kn.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),HHe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{UHe(r,e.get(a),i,e)})})},"drawArrows"),WHe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=jS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),R.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),YHe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),XHe=S(function(t,e,r,n){RHe(),oe.debug("in gitgraph renderer",t+` -`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&jS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=YHe(x.name,b,C,k,s),R.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&WHe(l,o,a,e),HHe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),jHe={draw:XHe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),KHe=new Set(["redux-color","redux-dark-color"]),ZHe=new Set(["neo","neo-dark"]),QHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),JHe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),eWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{switch(t.customType??t.type){case kn.NORMAL:return"commit-normal";case kn.REVERSE:return"commit-reverse";case kn.HIGHLIGHT:return"commit-highlight";case kn.MERGE:return"commit-merge";case kn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),XHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),jHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=jS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&$He(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=XHe(f,Gr,s,zs));const p=jHe(f,s,l);if(r){const m=YHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;UHe(i,f,p,m,b,v),HHe(a,f,p,s,n),WHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),KHe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),ZHe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=KHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===kn.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),QHe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{ZHe(r,e.get(a),i,e)})})},"drawArrows"),JHe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=jS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),R.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),eWe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),tWe=S(function(t,e,r,n){PHe(),oe.debug("in gitgraph renderer",t+` +`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&jS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=eWe(x.name,b,C,k,s),R.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&JHe(l,o,a,e),QHe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),rWe={draw:tWe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),nWe=new Set(["redux-color","redux-dark-color"]),iWe=new Set(["neo","neo-dark"]),aWe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),sWe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),oWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(ZHe.has(r)){let s="";for(let o=0;o{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(iWe.has(r)){let s="";for(let o=0;o`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` + `;return s}},"genColor"),cWe=S(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } .label${e} { fill: ${t["git"+r]}; } .arrow${e} { stroke: ${t["git"+r]}; } `}).join(` -`)}`,"normalTheme"),nWe=S(t=>{const e=gr(),{theme:r}=e,n=JHe.has(r);return` +`)}`,"normalTheme"),uWe=S(t=>{const e=gr(),{theme:r}=e,n=sWe.has(r);return` .commit-id, .commit-msg, .branch-label { @@ -1419,7 +1419,7 @@ ${r}`),this.inline?`{${i}}`:i}}function zGe(t,e,r){if(t==="linkplain"||t==="link font-family: var(--mermaid-font-family); } - ${n?tWe(t):rWe(t)} + ${n?lWe(t):cWe(t)} .branch { stroke-width: ${t.strokeWidth}; @@ -1459,12 +1459,12 @@ ${r}`),this.inline?`{${i}}`:i}}function zGe(t,e,r){if(t==="linkplain"||t==="link font-size: 18px; fill: ${t.textColor}; } -`},"getStyles"),iWe=nWe,aWe={parser:AHe,db:loe,renderer:jHe,styles:iWe};const sWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},oWe=Q3.exports,$W;function lWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(oWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var cWe=lWe();const uWe=k0(cWe);var J3={exports:{}},hWe=J3.exports,zW;function dWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(hWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Le=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe)):(Me=new Date(me,pe,ne,$e,He,Le,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=C.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var fWe=dWe();const pWe=k0(fWe);var e5={exports:{}},gWe=e5.exports,qW;function mWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(gWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var yWe=mWe();const vWe=k0(yWe);var t5={exports:{}},bWe=t5.exports,VW;function xWe(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(bWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},C=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+C(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var TWe=xWe();const wWe=k0(TWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Le={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: +`},"getStyles"),hWe=uWe,dWe={parser:IHe,db:loe,renderer:rWe,styles:hWe};const fWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:dWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},pWe=Q3.exports,$W;function gWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(pWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var mWe=gWe();const yWe=k0(mWe);var J3={exports:{}},vWe=J3.exports,zW;function bWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(vWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Le=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe)):(Me=new Date(me,pe,ne,$e,He,Le,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=C.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var xWe=bWe();const TWe=k0(xWe);var e5={exports:{}},wWe=e5.exports,qW;function CWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(wWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var SWe=CWe();const EWe=k0(SWe);var t5={exports:{}},kWe=t5.exports,VW;function _We(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(kWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},C=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+C(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var AWe=_We();const LWe=k0(AWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Le={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: `+Q.showPosition()+` Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==j?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,X=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Le.$=M[M.length-We],Le._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Le._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Le,[P,X,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Le.$),V.push(Le._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(D){this.unput(this.match.slice(D))},"less"),pastInput:S(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var D=this.pastInput(),I=new Array(D.length+1).join("-");return D+this.upcomingInput()+` `+I+"^"},"showPosition"),test_match:S(function(D,I){var N,B,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],N=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var V in M)this[V]=M[V];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,I,N,B;this._more||(this.yytext="",this.match="");for(var M=this._currentRules(),V=0;VI[0].length)){if(I=N,B=V,this.options.backtrack_lexer){if(D=this.test_match(N,M[V]),D!==!1)return D;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(D=this.test_match(I,M[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var CWe=C9;sa.extend(uWe);sa.extend(pWe);sa.extend(vWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,SWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,Yi=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",jn(),fO="sunday",rC="saturday"},"clear"),EWe=S(function(t){_g=t},"setDiagramId"),kWe=S(function(t){aO=t},"setAxisFormat"),_We=S(function(){return aO},"getAxisFormat"),AWe=S(function(t){sO=t},"setTickInterval"),LWe=S(function(){return sO},"getTickInterval"),RWe=S(function(t){oO=t},"setTodayMarker"),DWe=S(function(){return oO},"getTodayMarker"),NWe=S(function(t){Ql=t},"setDateFormat"),MWe=S(function(){Dx=!0},"enableInclusiveEndDates"),OWe=S(function(){return Dx},"endDatesAreInclusive"),IWe=S(function(){dO=!0},"enableTopAxis"),BWe=S(function(){return dO},"topAxisEnabled"),PWe=S(function(t){uO=t},"setDisplayMode"),FWe=S(function(){return uO},"getDisplayMode"),$We=S(function(){return Ql},"getDateFormat"),zWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),qWe=S(function(){return Lx},"getIncludes"),VWe=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),GWe=S(function(){return Rx},"getExcludes"),UWe=S(function(){return lO},"getLinks"),HWe=S(function(t){Rm=t,cO.push(t)},"addSection"),WWe=S(function(){return cO},"getSections"),YWe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=sa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),nYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),iYe=S(function(t,e,r){t.split(",").forEach(function(n){nYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),aYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),sYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:SWe,setDateFormat:NWe,getDateFormat:$We,enableInclusiveEndDates:MWe,endDatesAreInclusive:OWe,enableTopAxis:IWe,topAxisEnabled:BWe,setAxisFormat:kWe,getAxisFormat:_We,setTickInterval:AWe,getTickInterval:LWe,setTodayMarker:RWe,getTodayMarker:DWe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,setDiagramId:EWe,setDisplayMode:PWe,getDisplayMode:FWe,setAccDescription:ci,getAccDescription:ui,addSection:HWe,getSections:WWe,getTasks:YWe,addTask:eYe,findTaskById:W0,addTaskOrg:tYe,setIncludes:zWe,getIncludes:qWe,setExcludes:VWe,getExcludes:GWe,setClickEvent:iYe,setLink:rYe,getLinks:UWe,bindFunctions:aYe,parseDuration:moe,isInvalidDate:poe,setWeekday:XWe,getWeekday:jWe,setWeekend:KWe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");sa.extend(wWe);var oYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:ej,wednesday:tj,thursday:i0,friday:rj,saturday:nj,sunday:jb},lYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,cYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=lYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=R2e().domain([Ppe(h,function(O){return O.startTime}),Bpe(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(sa(M).diff(sa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=sa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=sa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=Wpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>AA)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=Hpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var RWe=C9;oa.extend(yWe);oa.extend(TWe);oa.extend(EWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,DWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,Xi=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",Kn(),fO="sunday",rC="saturday"},"clear"),NWe=S(function(t){_g=t},"setDiagramId"),MWe=S(function(t){aO=t},"setAxisFormat"),OWe=S(function(){return aO},"getAxisFormat"),IWe=S(function(t){sO=t},"setTickInterval"),BWe=S(function(){return sO},"getTickInterval"),PWe=S(function(t){oO=t},"setTodayMarker"),FWe=S(function(){return oO},"getTodayMarker"),$We=S(function(t){Ql=t},"setDateFormat"),zWe=S(function(){Dx=!0},"enableInclusiveEndDates"),qWe=S(function(){return Dx},"endDatesAreInclusive"),VWe=S(function(){dO=!0},"enableTopAxis"),GWe=S(function(){return dO},"topAxisEnabled"),UWe=S(function(t){uO=t},"setDisplayMode"),HWe=S(function(){return uO},"getDisplayMode"),WWe=S(function(){return Ql},"getDateFormat"),YWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),XWe=S(function(){return Lx},"getIncludes"),jWe=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),KWe=S(function(){return Rx},"getExcludes"),ZWe=S(function(){return lO},"getLinks"),QWe=S(function(t){Rm=t,cO.push(t)},"addSection"),JWe=S(function(){return cO},"getSections"),eYe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=oa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),uYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),hYe=S(function(t,e,r){t.split(",").forEach(function(n){uYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),dYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),fYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:DWe,setDateFormat:$We,getDateFormat:WWe,enableInclusiveEndDates:zWe,endDatesAreInclusive:qWe,enableTopAxis:VWe,topAxisEnabled:GWe,setAxisFormat:MWe,getAxisFormat:OWe,setTickInterval:IWe,getTickInterval:BWe,setTodayMarker:PWe,getTodayMarker:FWe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,setDiagramId:NWe,setDisplayMode:UWe,getDisplayMode:HWe,setAccDescription:ui,getAccDescription:hi,addSection:QWe,getSections:JWe,getTasks:eYe,addTask:oYe,findTaskById:W0,addTaskOrg:lYe,setIncludes:YWe,getIncludes:XWe,setExcludes:jWe,getExcludes:KWe,setClickEvent:hYe,setLink:cYe,getLinks:ZWe,bindFunctions:dYe,parseDuration:moe,isInvalidDate:poe,setWeekday:tYe,getWeekday:rYe,setWeekend:nYe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");oa.extend(LWe);var pYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:ej,wednesday:tj,thursday:i0,friday:rj,saturday:nj,sunday:jb},gYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,mYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=gYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=P2e().domain([Upe(h,function(O){return O.startTime}),Gpe(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(oa(M).diff(oa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=oa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=oa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=Jpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>AA)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=Qpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` .mermaid-main-font { font-family: ${t.fontFamily}; } @@ -1750,8 +1750,8 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro fill: ${t.titleColor||t.textColor}; font-family: ${t.fontFamily}; } -`,"getStyles"),dYe=hYe,fYe={parser:CWe,db:sYe,renderer:uYe,styles:dYe};const pYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:fYe},Symbol.toStringTag,{value:"Module"}));var gYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},mYe={version:"11.14.0"},yYe=S(()=>mYe.version,"getVersion"),vYe={getVersion:yYe},bYe=S((t,e,r)=>{oe.debug(`rendering info diagram -`+t);const n=Gs(e);Gi(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),xYe={draw:bYe},TYe={parser:gYe,db:vYe,renderer:xYe};const wYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:TYe},Symbol.toStringTag,{value:"Module"}));var CYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,SYe=structuredClone(CYe),EYe=S(()=>structuredClone(SYe),"getConfig"),kYe=S(()=>{nC=new Map,mO=gO.showData,jn()},"clear"),_Ye=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),AYe=S(()=>nC,"getSections"),LYe=S(t=>{mO=t},"setShowData"),RYe=S(()=>mO,"getShowData"),Toe={getConfig:EYe,clear:kYe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:_Ye,getSections:AYe,setShowData:LYe,getShowData:RYe},DYe=S((t,e)=>{Xu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),NYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),DYe(e,Toe)},"parse")},MYe=S(t=>` +`,"getStyles"),bYe=vYe,xYe={parser:RWe,db:fYe,renderer:yYe,styles:bYe};const TYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:xYe},Symbol.toStringTag,{value:"Module"}));var wYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},CYe={version:"11.14.0"},SYe=S(()=>CYe.version,"getVersion"),EYe={getVersion:SYe},kYe=S((t,e,r)=>{oe.debug(`rendering info diagram +`+t);const n=Gs(e);Ui(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),_Ye={draw:kYe},AYe={parser:wYe,db:EYe,renderer:_Ye};const LYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:AYe},Symbol.toStringTag,{value:"Module"}));var RYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,DYe=structuredClone(RYe),NYe=S(()=>structuredClone(DYe),"getConfig"),MYe=S(()=>{nC=new Map,mO=gO.showData,Kn()},"clear"),OYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),IYe=S(()=>nC,"getSections"),BYe=S(t=>{mO=t},"setShowData"),PYe=S(()=>mO,"getShowData"),Toe={getConfig:NYe,clear:MYe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:jn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:OYe,getSections:IYe,setShowData:BYe,getShowData:PYe},FYe=S((t,e)=>{Xu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),$Ye={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),FYe(e,Toe)},"parse")},zYe=S(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1779,25 +1779,25 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),OYe=MYe,IYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return H2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),BYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart -`+t);const i=n.db,a=Pe(),s=Ji(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=IYe(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=jf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Gi(f,h,U,s.useMaxWidth)},"draw"),PYe={draw:BYe},FYe={parser:NYe,db:Toe,renderer:PYe,styles:OYe};const $Ye=Object.freeze(Object.defineProperty({__proto__:null,diagram:FYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: +`,"getStyles"),qYe=zYe,VYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return Q2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),GYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart +`+t);const i=n.db,a=Pe(),s=ea(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=VYe(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=jf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Ui(f,h,U,s.useMaxWidth)},"draw"),UYe={draw:GYe},HYe={parser:$Ye,db:Toe,renderer:UYe,styles:qYe};const WYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:HYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: `+Qe.showPosition()+` Expecting `+It.join(", ")+", got '"+(this.terminals_[gt]||gt)+"'":Wt="Parse error on line "+(ze+1)+": Unexpected "+(gt==lt?"end of input":"'"+(this.terminals_[gt]||gt)+"'"),this.parseError(Wt,{text:Qe.match,token:this.terminals_[gt]||gt,line:Qe.yylineno,loc:At,expected:It})}if(Mt[0]instanceof Array&&Mt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+gt);switch(Mt[0]){case 1:fe.push(gt),Ee.push(Qe.yytext),Ie.push(Qe.yylloc),fe.push(Mt[1]),gt=null,et=Qe.yyleng,_e=Qe.yytext,ze=Qe.yylineno,At=Qe.yylloc;break;case 2:if(nt=this.productions_[Mt[1]][1],bt.$=Ee[Ee.length-nt],bt._$={first_line:Ie[Ie.length-(nt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(nt||1)].first_column,last_column:Ie[Ie.length-1].last_column},Et&&(bt._$.range=[Ie[Ie.length-(nt||1)].range[0],Ie[Ie.length-1].range[1]]),xt=this.performAction.apply(bt,[_e,et,ze,Se.yy,Mt[1],Ee,Ie].concat(ve)),typeof xt<"u")return xt;nt&&(fe=fe.slice(0,-1*nt*2),Ee=Ee.slice(0,-1*nt),Ie=Ie.slice(0,-1*nt)),fe.push(this.productions_[Mt[1]][0]),Ee.push(bt.$),Ie.push(bt._$),st=Ue[fe[fe.length-2]][fe[fe.length-1]],fe.push(st);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var be={EOF:1,parseError:S(function(de,fe){if(this.yy.parser)this.yy.parser.parseError(de,fe);else throw new Error(de)},"parseError"),setInput:S(function(Y,de){return this.yy=de||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var de=Y.match(/(?:\r\n?|\n).*/g);return de?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:S(function(Y){var de=Y.length,fe=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-de),this.offset-=de;var we=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var Ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===we.length?this.yylloc.first_column:0)+we[we.length-fe.length].length-fe[0].length:this.yylloc.first_column-de},this.options.ranges&&(this.yylloc.range=[Ee[0],Ee[0]+this.yyleng-de]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:S(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Y=this.pastInput(),de=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+` `+de+"^"},"showPosition"),test_match:S(function(Y,de){var fe,we,Ee;if(this.options.backtrack_lexer&&(Ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ee.yylloc.range=this.yylloc.range.slice(0))),we=Y[0].match(/(?:\r\n?|\n).*/g),we&&(this.yylineno+=we.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:we?we[we.length-1].length-we[we.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Y[0].length),this.matched+=Y[0],fe=this.performAction.call(this,this.yy,this,de,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var Ie in Ee)this[Ie]=Ee[Ie];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,de,fe,we;this._more||(this.yytext="",this.match="");for(var Ee=this._currentRules(),Ie=0;Iede[0].length)){if(de=fe,we=Ie,this.options.backtrack_lexer){if(Y=this.test_match(fe,Ee[Ie]),Y!==!1)return Y;if(this._backtrack){de=!1;continue}else return!1}else if(!this.options.flex)break}return de?(Y=this.test_match(de,Ee[we]),Y!==!1?Y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var zYe=_9,ts=Hb(),D1,qYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ts.quadrant1Fill,quadrant2Fill:ts.quadrant2Fill,quadrant3Fill:ts.quadrant3Fill,quadrant4Fill:ts.quadrant4Fill,quadrant1TextFill:ts.quadrant1TextFill,quadrant2TextFill:ts.quadrant2TextFill,quadrant3TextFill:ts.quadrant3TextFill,quadrant4TextFill:ts.quadrant4TextFill,quadrantPointFill:ts.quadrantPointFill,quadrantPointTextFill:ts.quadrantPointTextFill,quadrantXAxisTextFill:ts.quadrantXAxisTextFill,quadrantYAxisTextFill:ts.quadrantYAxisTextFill,quadrantTitleFill:ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,jT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var VYe=Pe();function wc(t){return Jr(t.trim(),VYe)}S(wc,"textSanitizer");var _a=new qYe;function Soe(t){_a.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){_a.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){_a.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){_a.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){_a.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){_a.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){_a.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){_a.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new jT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new jT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new jT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new jT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);_a.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){_a.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){_a.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){_a.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&_a.setConfig(r),_a.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),_a.setData({titleText:Kn()}),_a.build()}S(Boe,"getQuadrantData");var GYe=S(function(){_a.clear(),jn()},"clear"),UYe={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:GYe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},HYe=S((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}S(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart -`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Gi(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),WYe={draw:HYe},YYe={parser:zYe,db:UYe,renderer:WYe,styles:S(()=>"","styles")};const XYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:YYe},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Le,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Le=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Le=H[He]&&H[He][$e]),typeof Le>"u"||!Le.length||!Le[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var YYe=_9,ts=Hb(),D1,XYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ts.quadrant1Fill,quadrant2Fill:ts.quadrant2Fill,quadrant3Fill:ts.quadrant3Fill,quadrant4Fill:ts.quadrant4Fill,quadrant1TextFill:ts.quadrant1TextFill,quadrant2TextFill:ts.quadrant2TextFill,quadrant3TextFill:ts.quadrant3TextFill,quadrant4TextFill:ts.quadrant4TextFill,quadrantPointFill:ts.quadrantPointFill,quadrantPointTextFill:ts.quadrantPointTextFill,quadrantXAxisTextFill:ts.quadrantXAxisTextFill,quadrantYAxisTextFill:ts.quadrantYAxisTextFill,quadrantTitleFill:ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,jT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var jYe=Pe();function wc(t){return Jr(t.trim(),jYe)}S(wc,"textSanitizer");var _a=new XYe;function Soe(t){_a.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){_a.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){_a.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){_a.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){_a.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){_a.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){_a.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){_a.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new jT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new jT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new jT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new jT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);_a.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){_a.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){_a.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){_a.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&_a.setConfig(r),_a.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),_a.setData({titleText:Zn()}),_a.build()}S(Boe,"getQuadrantData");var KYe=S(function(){_a.clear(),Kn()},"clear"),ZYe={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:KYe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},QYe=S((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}S(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart +`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Ui(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),JYe={draw:QYe},eXe={parser:YYe,db:ZYe,renderer:JYe,styles:S(()=>"","styles")};const tXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:eXe},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Le,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Le=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Le=H[He]&&H[He][$e]),typeof Le>"u"||!Le.length||!Le[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: `+te.showPosition()+` Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Le[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Le[1]),$e=null,j=te.yyleng,X=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Le[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[X,j,Z,ae.yy,Le[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Le[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(N){this.unput(this.match.slice(N))},"less"),pastInput:S(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var N=this.pastInput(),B=new Array(N.length+1).join("-");return N+this.upcomingInput()+` `+B+"^"},"showPosition"),test_match:S(function(N,B){var M,V,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),V=N[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],M=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var P in U)this[P]=U[P];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,B,M,V;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),P=0;PB[0].length)){if(B=M,V=P,this.options.backtrack_lexer){if(N=this.test_match(M,U[P]),N!==!1)return N;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(N=this.test_match(B,U[V]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var jYe=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,KYe=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,ZYe=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new KYe(e,r,t.categories,t.title,i):new ZYe(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,QYe=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new QYe(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,JYe=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,eXe=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,tXe=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new JYe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new eXe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new tXe(t,e,r)}S(zoe,"getPlotComponent");var q1,rXe=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,nXe=(V1=class{static build(e,r,n,i){return new rXe(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return Ji(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return Ji(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function Xoe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(Xoe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||Xoe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function joe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(joe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Kn(),nXe.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var iXe=S(function(){jn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),aXe={getDrawableElem:Zoe,clear:iXe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:joe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},sXe=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart -`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Gi(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};S(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=S($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),oXe={draw:sXe},lXe={parser:jYe,db:aXe,renderer:oXe};const cXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:lXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var rXe=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,nXe=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,iXe=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new nXe(e,r,t.categories,t.title,i):new iXe(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,aXe=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new aXe(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,sXe=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,oXe=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,lXe=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new sXe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new oXe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new lXe(t,e,r)}S(zoe,"getPlotComponent");var q1,cXe=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,uXe=(V1=class{static build(e,r,n,i){return new cXe(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return ea(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return ea(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function Xoe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(Xoe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||Xoe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function joe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(joe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Zn(),uXe.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var hXe=S(function(){Kn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),dXe={getDrawableElem:Zoe,clear:hXe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:joe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},fXe=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart +`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Ui(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};S(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=S($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),pXe={draw:fXe},gXe={parser:rXe,db:dXe,renderer:pXe};const mXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:gXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: `+qe.showPosition()+` Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},Xe=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ze){this.unput(this.match.slice(Ze))},"less"),pastInput:S(function(){var Ze=this.matched.substr(0,this.matched.length-this.match.length);return(Ze.length>20?"...":"")+Ze.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ze=this.match;return Ze.length<20&&(Ze+=this._input.substr(0,20-Ze.length)),(Ze.substr(0,20)+(Ze.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ze=this.pastInput(),se=new Array(Ze.length+1).join("-");return Ze+this.upcomingInput()+` `+se+"^"},"showPosition"),test_match:S(function(Ze,se){var be,Y,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),Y=Ze[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ze[0].length},this.yytext+=Ze[0],this.match+=Ze[0],this.matches=Ze,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ze[0].length),this.matched+=Ze[0],be=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),be)return be;if(this._backtrack){for(var fe in de)this[fe]=de[fe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ze,se,be,Y;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),fe=0;fese[0].length)){if(se=be,Y=fe,this.options.backtrack_lexer){if(Ze=this.test_match(be,de[fe]),Ze!==!1)return Ze;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(Ze=this.test_match(se,de[Y]),Ze!==!1?Ze:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var se=this.next();return se||this.lex()},"lex"),begin:S(function(se){this.conditionStack.push(se)},"begin"),popState:S(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var uXe=M9,G1,hXe=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,jn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),dXe=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var yXe=M9,G1,vXe=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Kn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),bXe=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` - ${dXe(t)} + `;return s},"genColor"),xXe=S(t=>{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` + ${bXe(t)} marker { fill: ${t.relationColor}; stroke: ${t.relationColor}; @@ -1875,16 +1875,16 @@ Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse erro background-color: ${i??t.edgeLabelBackground}; } -`},"getStyles"),pXe=fXe,tle={};fC(tle,{draw:()=>gXe});var gXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),mXe={parser:uXe,get db(){return new hXe},renderer:tle,styles:pXe};const yXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:mXe},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Le=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: +`},"getStyles"),TXe=xXe,tle={};fC(tle,{draw:()=>wXe});var wXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),CXe={parser:yXe,get db(){return new vXe},renderer:tle,styles:TXe};const SXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:CXe},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Le=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: `+gt.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse error on line "+(Nt+1)+": Unexpected "+(st==zt?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(Rt,{text:gt.match,token:this.terminals_[st]||st,line:gt.yylineno,loc:xt,expected:ft})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+It+", token: "+st);switch(Wt[0]){case 1:et.push(st),lt.push(gt.yytext),ve.push(gt.yylloc),et.push(Wt[1]),st=null,At=gt.yyleng,Se=gt.yytext,Nt=gt.yylineno,xt=gt.yylloc;break;case 2:if(vt=this.productions_[Wt[1]][1],rr.$=lt[lt.length-vt],rr._$={first_line:ve[ve.length-(vt||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(vt||1)].first_column,last_column:ve[ve.length-1].last_column},bt&&(rr._$.range=[ve[ve.length-(vt||1)].range[0],ve[ve.length-1].range[1]]),Ut=this.performAction.apply(rr,[Se,At,Nt,ue.yy,Wt[1],lt,ve].concat(St)),typeof Ut<"u")return Ut;vt&&(et=et.slice(0,-1*vt*2),lt=lt.slice(0,-1*vt),ve=ve.slice(0,-1*vt)),et.push(this.productions_[Wt[1]][0]),lt.push(rr.$),ve.push(rr._$),Ne=Qe[et[et.length-2]][et[et.length-1]],et.push(Ne);break;case 3:return!0}}return!0},"parse")},Ee=(function(){var Ue={EOF:1,parseError:S(function(ze,et){if(this.yy.parser)this.yy.parser.parseError(ze,et);else throw new Error(ze)},"parseError"),setInput:S(function(_e,ze){return this.yy=ze||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var ze=_e.match(/(?:\r\n?|\n).*/g);return ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:S(function(_e){var ze=_e.length,et=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ze),this.offset-=ze;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),et.length-1&&(this.yylineno-=et.length-1);var lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:et?(et.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-et.length].length-et[0].length:this.yylloc.first_column-ze},this.options.ranges&&(this.yylloc.range=[lt[0],lt[0]+this.yyleng-ze]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:S(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _e=this.pastInput(),ze=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` `+ze+"^"},"showPosition"),test_match:S(function(_e,ze){var et,qe,lt;if(this.options.backtrack_lexer&&(lt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(lt.yylloc.range=this.yylloc.range.slice(0))),qe=_e[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],et=this.performAction.call(this,this.yy,this,ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),et)return et;if(this._backtrack){for(var ve in lt)this[ve]=lt[ve];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,ze,et,qe;this._more||(this.yytext="",this.match="");for(var lt=this._currentRules(),ve=0;veze[0].length)){if(ze=et,qe=ve,this.options.backtrack_lexer){if(_e=this.test_match(et,lt[ve]),_e!==!1)return _e;if(this._backtrack){ze=!1;continue}else return!1}else if(!this.options.flex)break}return ze?(_e=this.test_match(ze,lt[qe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var vXe=O9,bXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},xXe={FILLED:0,OPEN:1},TXe={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,wXe=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=Xn,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getAccTitle=li,this.getAccDescription=ui,this.getDiagramTitle=Kn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=bXe,this.ARROWTYPE=xXe,this.PLACEMENT=TXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var EXe=O9,kXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},_Xe={FILLED:0,OPEN:1},AXe={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,LXe=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=jn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=kXe,this.ARROWTYPE=_Xe,this.PLACEMENT=AXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` `)?u=a+` `:u=`{ `+a+` -}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),jn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Xn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),CXe=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { +}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),Kn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":jn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),RXe=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; stroke-width: ${t.strokeWidth??1}; @@ -2018,25 +2018,25 @@ Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse erro filter: ${e}; stroke: ${t.nodeBorder}; } -`},"getStyles"),SXe=CXe,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),EXe=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),XXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),kXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),_Xe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Li(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),AXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} +`},"getStyles"),DXe=RXe,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),NXe=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),tje(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),MXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),OXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Ri(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),IXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} a ${C},${x} 0 0 0 0,${v.height} h ${v.width-2*C} a ${C},${x} 0 0 0 0,-${v.height} Z `;T.append("path").attr("d",_),E.append("path").attr("d",`M ${v.x},${v.y+x} - a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Li(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),LXe=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Li(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),RXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Li(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),DXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),R=v.append("g");R.attr("class",x);const k=` + a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),BXe=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Ri(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),PXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Ri(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),FXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),R=v.append("g");R.attr("class",x);const k=` M ${b.x},${b.y+_} a ${E},${_} 0 0 0 ${C},0 a ${E},${_} 0 0 0 -${C},0 l 0,${T-2*_} a ${E},${_} 0 0 0 ${C},0 l 0,-${T-2*_} -`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;eh.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Li(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),NXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Li(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),MXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),th(r,Li(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),OXe=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await MXe(t,e,r,n,o);case"participant":return await kXe(t,e,r,n,o);case"boundary":return await NXe(t,e,r,n,o);case"control":return await LXe(t,e,r,n,i,o);case"entity":return await RXe(t,e,r,n,o);case"database":return await DXe(t,e,r,n,o);case"collections":return await _Xe(t,e,r,n,o);case"queue":return await AXe(t,e,r,n,o)}},"drawActor"),IXe=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),BXe=S(function(t){return t.append("g")},"anchorElement"),PXe=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),FXe=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Li(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Li(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),$Xe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),zXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),qXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),VXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),GXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),UXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),HXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),WXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),YXe=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:On.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},JXe=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=On.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Li(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),XW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),C=S(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Li(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var eje=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Li(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=oje(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&XW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&XW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let R=s,k=o;C?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),tje=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await On.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await On.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=nje(o),u=On.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){ki(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),jW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));tje(h,d,f,v,0,b,!1);const R=await cje(b,d,E,n);On.insertArrowHead(h,e),On.insertArrowCrossHead(h,e),On.insertArrowFilledHead(h,e),On.insertSequenceNumber(h,e),On.insertSolidTopArrowHead(h,e),On.insertSolidBottomArrowHead(h,e),On.insertStickTopArrowHead(h,e),On.insertStickBottomArrowHead(h,e),s==="neo"&&On.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),On.drawActivation(h,X,H,Je,tE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}S(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await JXe(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await On.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await On.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await On.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await On.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await sle(h,Z);cle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await eje(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>On.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",On.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var ije=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Li(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),cje=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await ije(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=lje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),uje={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:rje},hje={parser:vXe,get db(){return new wXe},renderer:uje,styles:SXe,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const dje=Object.freeze(Object.defineProperty({__proto__:null,diagram:hje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Le=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Le,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Le,[2,65]),t(Le,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Le,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:S(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: +`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;eh.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Ri(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),$Xe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Ri(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),zXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),th(r,Ri(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),qXe=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await zXe(t,e,r,n,o);case"participant":return await MXe(t,e,r,n,o);case"boundary":return await $Xe(t,e,r,n,o);case"control":return await BXe(t,e,r,n,i,o);case"entity":return await PXe(t,e,r,n,o);case"database":return await FXe(t,e,r,n,o);case"collections":return await OXe(t,e,r,n,o);case"queue":return await IXe(t,e,r,n,o)}},"drawActor"),VXe=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),GXe=S(function(t){return t.append("g")},"anchorElement"),UXe=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),HXe=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Ri(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Ri(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),WXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),YXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),XXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),jXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),KXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ZXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),QXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),JXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),eje=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:On.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},sje=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=On.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Ri(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),XW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),C=S(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Ri(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var oje=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Ri(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=pje(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&XW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&XW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let R=s,k=o;C?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),lje=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await On.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await On.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=uje(o),u=On.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){_i(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),jW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));lje(h,d,f,v,0,b,!1);const R=await mje(b,d,E,n);On.insertArrowHead(h,e),On.insertArrowCrossHead(h,e),On.insertArrowFilledHead(h,e),On.insertSequenceNumber(h,e),On.insertSolidTopArrowHead(h,e),On.insertSolidBottomArrowHead(h,e),On.insertStickTopArrowHead(h,e),On.insertStickBottomArrowHead(h,e),s==="neo"&&On.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),On.drawActivation(h,X,H,Je,tE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}S(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await sje(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await On.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await On.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await On.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await On.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await sle(h,Z);cle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await oje(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>On.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",On.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var hje=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Ri(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),mje=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await hje(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=gje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),yje={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:cje},vje={parser:EXe,get db(){return new LXe},renderer:yje,styles:DXe,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const bje=Object.freeze(Object.defineProperty({__proto__:null,diagram:vje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Le=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Le,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Le,[2,65]),t(Le,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Le,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:S(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: `+Ue.showPosition()+` Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},De=(function(){var it={EOF:1,parseError:S(function(Xe,at){if(this.yy.parser)this.yy.parser.parseError(Xe,at);else throw new Error(Xe)},"parseError"),setInput:S(function(Ye,Xe){return this.yy=Xe||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var Xe=Ye.match(/(?:\r\n?|\n).*/g);return Xe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:S(function(Ye){var Xe=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xe),this.offset-=Xe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-Xe},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-Xe]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:S(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ye=this.pastInput(),Xe=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` `+Xe+"^"},"showPosition"),test_match:S(function(Ye,Xe){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,Xe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,Xe,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seXe[0].length)){if(Xe=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){Xe=!1;continue}else return!1}else if(!this.options.flex)break}return Xe?(Ye=this.test_match(Xe,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:S(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:S(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:S(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=Xie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=Xn,this.getAccTitle=li,this.setAccDescription=ci,this.getAccDescription=ui,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",jn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),fje=S(t=>`g.classGroup text { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:S(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:S(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:S(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=Xie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",Kn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),xje=S(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -2236,12 +2236,12 @@ g.classGroup line { text-align: center; } ${bx()} -`,"getStyles"),gle=fje,pje=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),gje=S(function(t,e){return e.db.getClasses()},"getClasses"),mje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:gje,draw:mje,getDir:pje},yje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const vje=Object.freeze(Object.defineProperty({__proto__:null,diagram:yje},Symbol.toStringTag,{value:"Module"}));var bje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const xje=Object.freeze(Object.defineProperty({__proto__:null,diagram:bje},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}S(Le,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: +`,"getStyles"),gle=xje,Tje=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),wje=S(function(t,e){return e.db.getClasses()},"getClasses"),Cje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:wje,draw:Cje,getDir:Tje},Sje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const Eje=Object.freeze(Object.defineProperty({__proto__:null,diagram:Sje},Symbol.toStringTag,{value:"Module"}));var kje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const _je=Object.freeze(Object.defineProperty({__proto__:null,diagram:kje},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}S(Le,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: `+me.showPosition()+` Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),j.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},He&&(Ge._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),De=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,j].concat(ne)),typeof De<"u")return De;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),j.push(Ge._$),Xe=ee[H[H.length-2]][H[H.length-1]],H.push(Xe);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:S(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:S(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:S(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===X.length?this.yylloc.first_column:0)+X[X.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(U){this.unput(this.match.slice(U))},"less"),pastInput:S(function(){var U=this.matched.substr(0,this.matched.length-this.match.length);return(U.length>20?"...":"")+U.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var U=this.match;return U.length<20&&(U+=this._input.substr(0,20-U.length)),(U.substr(0,20)+(U.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var U=this.pastInput(),P=new Array(U.length+1).join("-");return U+this.upcomingInput()+` `+P+"^"},"showPosition"),test_match:S(function(U,P){var H,X,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),X=U[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var j in Z)this[j]=Z[j];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,X;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),j=0;jP[0].length)){if(P=H,X=j,this.options.backtrack_lexer){if(U=this.test_match(H,Z[j]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[X]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,Tje="TB",vle="TB",JW="dir",mg="state",Xp="root",$9="relation",wje="classDef",Cje="style",Sje="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",Eje="stateStart",kje="stateEnd",eY="divider",tY="roundedWithTitle",_je="note",Aje="noteGroup",Nx="statediagram",Lje="state",Rje=`${Nx}-${Lje}`,Ele="transition",Dje="note",Nje="note-edge",Mje=`${Ele} ${Nje}`,Oje=`${Nx}-${Dje}`,Ije="cluster",Bje=`${Nx}-${Ije}`,Pje="cluster-alt",Fje=`${Nx}-${Pje}`,kle="parent",_le="note",$je="state",EO="----",zje=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),qje=S(function(t,e){return e.db.getClasses()},"getClasses"),Vje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in
    tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),Gje={getClasses:qje,draw:Vje,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${$je}-${t}${i}-${e}`}S(a5,"stateDomId");var Uje=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=Eje:e.start===!1&&(p=kje),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${Rje}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${Bje} ${a?Fje:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:_je,label:e.note.text,labelType:"markdown",cssClasses:Oje,cssStyles:[],cssCompiledStyles:[],id:l+zje+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:Aje,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:Mje,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),Uje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),Hje=S(()=>{i5.clear(),Ph=0},"reset"),rs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=li,this.setAccTitle=Xn,this.getAccDescription=ui,this.setAccDescription=ci,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case wje:this.addStyleClass(i.id.trim(),i.classes);break;case Cje:this.handleStyleDef(i);break;case Sje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();Hje(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===rs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Xp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Xp,stmt:Xp},{id:Xp,stmt:Xp,doc:this.rootDoc},!0),{id:Xp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,jn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===rs.START_NODE?(this.startEndCount++,`${rs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===rs.START_NODE?rs.START_TYPE:r}endIdIfNeeded(e=""){return e===rs.END_NODE?(this.startEndCount++,`${rs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===rs.END_NODE?rs.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(rs.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(rs.COLOR_KEYWORD).exec(i)){const o=a.replace(rs.FILL_KEYWORD,rs.BG_FILL).replace(rs.COLOR_KEYWORD,rs.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??Tje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),Wje=S(t=>` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,Aje="TB",vle="TB",JW="dir",mg="state",Xp="root",$9="relation",Lje="classDef",Rje="style",Dje="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",Nje="stateStart",Mje="stateEnd",eY="divider",tY="roundedWithTitle",Oje="note",Ije="noteGroup",Nx="statediagram",Bje="state",Pje=`${Nx}-${Bje}`,Ele="transition",Fje="note",$je="note-edge",zje=`${Ele} ${$je}`,qje=`${Nx}-${Fje}`,Vje="cluster",Gje=`${Nx}-${Vje}`,Uje="cluster-alt",Hje=`${Nx}-${Uje}`,kle="parent",_le="note",Wje="state",EO="----",Yje=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Xje=S(function(t,e){return e.db.getClasses()},"getClasses"),jje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),Kje={getClasses:Xje,draw:jje,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${Wje}-${t}${i}-${e}`}S(a5,"stateDomId");var Zje=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=Nje:e.start===!1&&(p=Mje),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${Pje}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${Gje} ${a?Hje:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:Oje,label:e.note.text,labelType:"markdown",cssClasses:qje,cssStyles:[],cssCompiledStyles:[],id:l+Yje+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:Ije,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:zje,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),Zje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),Qje=S(()=>{i5.clear(),Ph=0},"reset"),rs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=ci,this.setAccTitle=jn,this.getAccDescription=hi,this.setAccDescription=ui,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case Lje:this.addStyleClass(i.id.trim(),i.classes);break;case Rje:this.handleStyleDef(i);break;case Dje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();Qje(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===rs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Xp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Xp,stmt:Xp},{id:Xp,stmt:Xp,doc:this.rootDoc},!0),{id:Xp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,Kn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===rs.START_NODE?(this.startEndCount++,`${rs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===rs.START_NODE?rs.START_TYPE:r}endIdIfNeeded(e=""){return e===rs.END_NODE?(this.startEndCount++,`${rs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===rs.END_NODE?rs.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(rs.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(rs.COLOR_KEYWORD).exec(i)){const o=a.replace(rs.FILL_KEYWORD,rs.BG_FILL).replace(rs.COLOR_KEYWORD,rs.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??Aje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),Jje=S(t=>` defs [id$="-barbEnd"] { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -2466,12 +2466,12 @@ g.stateGroup line { ry: ${t.radius}px; filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} } -`,"getStyles"),Dle=Wje,Yje=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),Xje=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),jje=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),Kje=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),Zje=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),Qje=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),Jje=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),eKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),tKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=eKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&Yje(i),e.type==="end"&&Qje(i),(e.type==="fork"||e.type==="join")&&Jje(i,e),e.type==="note"&&tKe(e.note.text,i),e.type==="divider"&&Xje(i),e.type==="default"&&e.descriptions.length===0&&jje(i,e),e.type==="default"&&e.descriptions.length>0&&Kje(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,rKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(X2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},nKe=S(function(){},"setConf"),iKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),aKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);iKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Gi(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),sKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),rKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),oKe={setConf:nKe,draw:aKe},lKe={parser:yle,get db(){return new $f(1)},renderer:oKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const cKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:lKe},Symbol.toStringTag,{value:"Module"}));var uKe={parser:yle,get db(){return new $f(2)},renderer:Gje,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const hKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:uKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in C[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: +`,"getStyles"),Dle=Jje,eKe=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),tKe=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),rKe=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),nKe=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),iKe=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),aKe=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),sKe=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),oKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),lKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=oKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&eKe(i),e.type==="end"&&aKe(i),(e.type==="fork"||e.type==="join")&&sKe(i,e),e.type==="note"&&lKe(e.note.text,i),e.type==="divider"&&tKe(i),e.type==="default"&&e.descriptions.length===0&&rKe(i,e),e.type==="default"&&e.descriptions.length>0&&nKe(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,cKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(X2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},uKe=S(function(){},"setConf"),hKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),dKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);hKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Ui(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),fKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),cKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),pKe={setConf:uKe,draw:dKe},gKe={parser:yle,get db(){return new $f(1)},renderer:pKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const mKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:gKe},Symbol.toStringTag,{value:"Module"}));var yKe={parser:yle,get db(){return new $f(2)},renderer:Kje,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const vKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:yKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in C[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: `+O.showPosition()+` Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(j,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(L)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),X=C[m[m.length-2]][m[m.length-1]],m.push(X);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(f){this.unput(this.match.slice(f))},"less"),pastInput:S(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+` `+p+"^"},"showPosition"),test_match:S(function(f,p){var m,v,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),v=f[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(f[0].length),this.matched+=f[0],m=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var x in b)this[x]=b[x];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var f,p,m,v;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),x=0;xp[0].length)){if(p=m,v=x,this.options.backtrack_lexer){if(f=this.test_match(m,b[x]),f!==!1)return f;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(f=this.test_match(p,b[v]),f!==!1?f:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var dKe=z9,Nm="",kO=[],zb=[],qb=[],fKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,jn()},"clear"),pKe=S(function(t){Nm=t,kO.push(t)},"addSection"),gKe=S(function(){return kO},"getSections"),mKe=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),vKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),bKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),xKe=S(function(){return yKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:fKe,setDiagramTitle:oi,getDiagramTitle:Kn,setAccTitle:Xn,getAccTitle:li,setAccDescription:ci,getAccDescription:ui,addSection:pKe,getSections:gKe,getTasks:mKe,addTask:vKe,addTaskOrg:bKe,getActors:xKe},TKe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var bKe=z9,Nm="",kO=[],zb=[],qb=[],xKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,Kn()},"clear"),TKe=S(function(t){Nm=t,kO.push(t)},"addSection"),wKe=S(function(){return kO},"getSections"),CKe=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),EKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),kKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),_Ke=S(function(){return SKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:xKe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:jn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:TKe,getSections:wKe,getTasks:CKe,addTask:EKe,addTaskOrg:kKe,getActors:_Ke},AKe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.textColor}; } @@ -2604,12 +2604,12 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on ${t.actor5?`fill: ${t.actor5}`:""}; } ${bx()} -`,"getStyles"),wKe=TKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),CKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return $Be(t,e)},"drawText"),SKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),EKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,kKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),CKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),_Ke=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,RKe=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),DKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Gi(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,DKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:LKe,draw:RKe},NKe={parser:dKe,db:cY,renderer:hY,styles:wKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const MKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NKe},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: +`,"getStyles"),LKe=AKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),RKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return WBe(t,e)},"drawText"),DKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),NKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,MKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),RKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),OKe=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,PKe=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),FKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Ui(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,FKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:BKe,draw:PKe},$Ke={parser:bKe,db:cY,renderer:hY,styles:LKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const zKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:$Ke},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: `+F.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:j})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,R=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(X=this.productions_[V[1]][1],P.$=x[x.length-X],P._$={first_line:C[C.length-(X||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(X||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(X||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,R,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;X&&(v=v.slice(0,-1*X*2),x=x.slice(0,-1*X),C=C.slice(0,-1*X)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(p){this.unput(this.match.slice(p))},"less"),pastInput:S(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:S(function(p,m){var v,b,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),b=p[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var C in x)this[C]=x[C];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,v,b;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),C=0;Cm[0].length)){if(m=v,b=C,this.options.backtrack_lexer){if(p=this.test_match(v,x[C]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,x[b]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var m=this.next();return m||this.lex()},"lex"),begin:S(function(m){this.conditionStack.push(m)},"begin"),popState:S(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var OKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>Xle,clear:()=>zle,default:()=>IKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",jn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),Xle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),IKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:Xle,addEvent:Yle},jle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),BKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),PKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),FKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),$Ke=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,zKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),BKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),qKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),VKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var UKe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),WKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),HKe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),WKe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+jle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:PKe,drawSection:$Ke,drawText:Kle,drawLabel:FKe,drawTask:zKe,drawBackgroundRect:qKe,getTextObj:VKe,getNoteRect:RO,initGraphics:GKe,drawNode:UKe,getVirtualNodeHeight:HKe},YKe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&fY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,fY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+XKe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),XKe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),jKe={setConf:S(()=>{},"setConf"),draw:YKe},nE=200,hu=5,KKe=nE+hu*2,NO=nE+100,ZKe=NO+hu*2,Qle=10,QKe=0,pY=20,Jle=20,gY=30,ece=50,JKe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=KKe+Jle,x=ZKe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,R=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+QKe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=X,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;eZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),eZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),tZe={setConf:S(()=>{},"setConf"),draw:JKe},rZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var qKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>Xle,clear:()=>zle,default:()=>VKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",Kn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),Xle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),VKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:Xle,addEvent:Yle},jle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),GKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),UKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),HKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),WKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,YKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),GKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),XKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),jKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var ZKe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),JKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),QKe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),JKe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+jle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:UKe,drawSection:WKe,drawText:Kle,drawLabel:HKe,drawTask:YKe,drawBackgroundRect:XKe,getTextObj:jKe,getNoteRect:RO,initGraphics:KKe,drawNode:ZKe,getVirtualNodeHeight:QKe},eZe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&fY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,fY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+tZe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),tZe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),rZe={setConf:S(()=>{},"setConf"),draw:eZe},nE=200,hu=5,nZe=nE+hu*2,NO=nE+100,iZe=NO+hu*2,Qle=10,aZe=0,pY=20,Jle=20,gY=30,ece=50,sZe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=nZe+Jle,x=iZe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,R=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+aZe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=X,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;oZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),oZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),lZe={setConf:S(()=>{},"setConf"),draw:sZe},cZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o{let e="";for(let r=0;r{let e="";for(let r=0;r{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?tZe.draw(t,e,r,n):jKe.draw(t,e,r,n),"draw")},oZe={db:Ple,renderer:sZe,parser:OKe,styles:aZe};const lZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:oZe},Symbol.toStringTag,{value:"Module"})),wa=[];for(let t=0;t<256;++t)wa.push((t+256).toString(16).slice(1));function cZe(t,e=0){return(wa[t[e+0]]+wa[t[e+1]]+wa[t[e+2]]+wa[t[e+3]]+"-"+wa[t[e+4]]+wa[t[e+5]]+"-"+wa[t[e+6]]+wa[t[e+7]]+"-"+wa[t[e+8]]+wa[t[e+9]]+"-"+wa[t[e+10]]+wa[t[e+11]]+wa[t[e+12]]+wa[t[e+13]]+wa[t[e+14]]+wa[t[e+15]]).toLowerCase()}let OA;const uZe=new Uint8Array(16);function hZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(uZe)}const dZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:dZe};function fZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??hZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,cZe(n)}var U9=(function(){var t=S(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:S(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}S(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: +`},"getStyles"),dZe=hZe,fZe={setConf:S(()=>{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?lZe.draw(t,e,r,n):rZe.draw(t,e,r,n),"draw")},pZe={db:Ple,renderer:fZe,parser:qKe,styles:dZe};const gZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:pZe},Symbol.toStringTag,{value:"Module"})),Ca=[];for(let t=0;t<256;++t)Ca.push((t+256).toString(16).slice(1));function mZe(t,e=0){return(Ca[t[e+0]]+Ca[t[e+1]]+Ca[t[e+2]]+Ca[t[e+3]]+"-"+Ca[t[e+4]]+Ca[t[e+5]]+"-"+Ca[t[e+6]]+Ca[t[e+7]]+"-"+Ca[t[e+8]]+Ca[t[e+9]]+"-"+Ca[t[e+10]]+Ca[t[e+11]]+Ca[t[e+12]]+Ca[t[e+13]]+Ca[t[e+14]]+Ca[t[e+15]]).toLowerCase()}let OA;const yZe=new Uint8Array(16);function vZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(yZe)}const bZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:bZe};function xZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??vZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,mZe(n)}var U9=(function(){var t=S(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:S(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}S(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: `+M.showPosition()+` Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error on line "+(z+1)+": Unexpected "+(j==N?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(pe,{text:M.match,token:this.terminals_[j]||j,line:M.yylineno,loc:P,expected:me})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+j);switch(Q[0]){case 1:k.push(j),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),j=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:S(function(R,k){if(this.yy.parser)this.yy.parser.parseError(R,k);else throw new Error(R)},"parseError"),setInput:S(function(_,R){return this.yy=R||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var R=_.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:S(function(_){var R=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===L.length?this.yylloc.first_column:0)+L[L.length-k.length].length-k[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_){this.unput(this.match.slice(_))},"less"),pastInput:S(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _=this.pastInput(),R=new Array(_.length+1).join("-");return _+this.upcomingInput()+` `+R+"^"},"showPosition"),test_match:S(function(_,R){var k,L,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),L=_[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,R,k,L;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FR[0].length)){if(R=k,L=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(_=this.test_match(R,O[L]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var R=this.next();return R||this.lex()},"lex"),begin:S(function(R){this.conditionStack.push(R)},"begin"),popState:S(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:S(function(R){this.begin(R)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var pZe=U9,gZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,mZe=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(gZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=ipe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+fZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),yZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram -`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),vZe={draw:yZe},bZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:S(function(R){this.begin(R)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var TZe=U9,wZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,CZe=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(wZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=hpe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+xZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),SZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram +`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),EZe={draw:SZe},kZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i{let n="";for(let i=0;i{let n="";for(let i=0;i{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` + }`;return n},"genGradient"),AZe=S(t=>{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` .edge { stroke-width: 3; } - ${bZe(t)} + ${kZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2817,18 +2817,18 @@ Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error [data-look="neo"].mindmap-node.section-root .text-inner-tspan { fill: ${e?.includes("redux")?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:0)]}; } - ${t.useGradient&&r&&t.mainBkg?xZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} -`},"getStyles"),wZe=TZe,CZe={get db(){return new mZe},renderer:vZe,parser:pZe,styles:wZe};const SZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:CZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:S(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Le){F.length=F.length-2*Le,q.length=q.length-Le,z.length=z.length-Le}S(ee,"popStack");function Q(){var Le;return Le=$.pop()||P.lex()||V,typeof Le!="number"&&(Le instanceof Array&&($=Le,Le=$.pop()),Le=O.symbols_[Le]||Le),Le}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: + ${t.useGradient&&r&&t.mainBkg?_Ze(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} +`},"getStyles"),LZe=AZe,RZe={get db(){return new CZe},renderer:EZe,parser:TZe,styles:LZe};const DZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:RZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:S(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Le){F.length=F.length-2*Le,q.length=q.length-Le,z.length=z.length-Le}S(ee,"popStack");function Q(){var Le;return Le=$.pop()||P.lex()||V,typeof Le!="number"&&(Le instanceof Array&&($=Le,Le=$.pop()),Le=O.symbols_[Le]||Le),Le}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: `+P.showPosition()+` Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},j&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:S(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:S(function(L,O){return this.yy=O||this.yy||{},this._input=L,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var L=this._input[0];this.yytext+=L,this.yyleng++,this.offset++,this.match+=L,this.matched+=L;var O=L.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),L},"input"),unput:S(function(L){var O=L.length,F=L.split(/(?:\r\n?|\n)/g);this._input=L+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(L){this.unput(this.match.slice(L))},"less"),pastInput:S(function(){var L=this.matched.substr(0,this.matched.length-this.match.length);return(L.length>20?"...":"")+L.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var L=this.match;return L.length<20&&(L+=this._input.substr(0,20-L.length)),(L.substr(0,20)+(L.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var L=this.pastInput(),O=new Array(L.length+1).join("-");return L+this.upcomingInput()+` `+O+"^"},"showPosition"),test_match:S(function(L,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=L[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+L[0].length},this.yytext+=L[0],this.match+=L[0],this.matches=L,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(L[0].length),this.matched+=L[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var L,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(L=this.test_match(F,q[z]),L!==!1)return L;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(L=this.test_match(O,q[$]),L!==!1?L:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return S(R,"Parser"),R.prototype=E,E.Parser=R,new R})();H9.parser=H9;var EZe=H9,Bo=[],MO=[],W9=0,OO={},kZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),_Ze=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),LZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Ki.ROUNDED_RECT:case Ki.RECT:case Ki.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return S(R,"Parser"),R.prototype=E,E.Parser=R,new R})();H9.parser=H9;var NZe=H9,Bo=[],MO=[],W9=0,OO={},MZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),OZe=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),BZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Zi.ROUNDED_RECT:case Zi.RECT:case Zi.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` `)?u=i+` `:u=`{ `+i+` -}`;const h=LC(u,{schema:AC});if(h.shape&&(h.shape!==h.shape.toLowerCase()||h.shape.includes("_")))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);h?.shape&&h.shape==="kanbanItem"&&(o.shape=h?.shape),h?.label&&(o.label=h?.label),h?.icon&&(o.icon=h?.icon.toString()),h?.assigned&&(o.assigned=h?.assigned.toString()),h?.ticket&&(o.ticket=h?.ticket.toString()),h?.priority&&(o.priority=h?.priority)}const l=_Ze(t);l?o.parentId=l.id||"kbn"+W9++:MO.push(o),Bo.push(o)},"addNode"),Ki={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},RZe=S((t,e)=>{switch(oe.debug("In get type",t,e),t){case"[":return Ki.RECT;case"(":return e===")"?Ki.ROUNDED_RECT:Ki.CLOUD;case"((":return Ki.CIRCLE;case")":return Ki.CLOUD;case"))":return Ki.BANG;case"{{":return Ki.HEXAGON;default:return Ki.DEFAULT}},"getType"),DZe=S((t,e)=>{OO[t]=e},"setElementForId"),NZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),MZe=S(t=>{switch(t){case Ki.DEFAULT:return"no-border";case Ki.RECT:return"rect";case Ki.ROUNDED_RECT:return"rounded-rect";case Ki.CIRCLE:return"circle";case Ki.CLOUD:return"cloud";case Ki.BANG:return"bang";case Ki.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),OZe=S(()=>oe,"getLogger"),IZe=S(t=>OO[t],"getElementById"),BZe={clear:kZe,addNode:LZe,getSections:tce,getData:AZe,nodeType:Ki,getType:RZe,setElementForId:DZe,decorateNode:NZe,type2Str:MZe,getLogger:OZe,getElementById:IZe},PZe=BZe,FZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram -`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=C-1.5*f;const F=(await HC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await $8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),$Ze={draw:FZe},zZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n{switch(oe.debug("In get type",t,e),t){case"[":return Zi.RECT;case"(":return e===")"?Zi.ROUNDED_RECT:Zi.CLOUD;case"((":return Zi.CIRCLE;case")":return Zi.CLOUD;case"))":return Zi.BANG;case"{{":return Zi.HEXAGON;default:return Zi.DEFAULT}},"getType"),FZe=S((t,e)=>{OO[t]=e},"setElementForId"),$Ze=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),zZe=S(t=>{switch(t){case Zi.DEFAULT:return"no-border";case Zi.RECT:return"rect";case Zi.ROUNDED_RECT:return"rounded-rect";case Zi.CIRCLE:return"circle";case Zi.CLOUD:return"cloud";case Zi.BANG:return"bang";case Zi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),qZe=S(()=>oe,"getLogger"),VZe=S(t=>OO[t],"getElementById"),GZe={clear:MZe,addNode:BZe,getSections:tce,getData:IZe,nodeType:Zi,getType:PZe,setElementForId:FZe,decorateNode:$Ze,type2Str:zZe,getLogger:qZe,getElementById:VZe},UZe=GZe,HZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram +`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=C-1.5*f;const F=(await HC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await $8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),WZe={draw:HZe},YZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n` + `}return e},"genSections"),XZe=S(t=>` .edge { stroke-width: 3; } - ${zZe(t)} + ${YZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2906,16 +2906,16 @@ Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse erro text-align: center; } ${bx()} -`,"getStyles"),VZe=qZe,GZe={db:PZe,renderer:$Ze,parser:EZe,styles:VZe};const UZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:GZe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function HZe(t){return t.target.depth}function WZe(t){return t.depth}function YZe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function XZe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,HZe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function jZe(t){return t.index}function KZe(t){return t.nodes}function ZZe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function QZe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=jZe,l=nce,u,h,d=KZe,f=ZZe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,X9=2*Y9,Mf=1e-6,JZe=X9-Mf;function j9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new j9}j9.prototype=ice.prototype={constructor:j9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%X9+X9),d>JZe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function eQe(t){return t[0]}function tQe(t){return t[1]}var rQe=Array.prototype.slice;function nQe(t){return t.source}function iQe(t){return t.target}function aQe(t){var e=nQe,r=iQe,n=eQe,i=tQe,a=null;function s(){var o,l=rQe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function sQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function oQe(){return aQe(sQe)}function lQe(t){return[t.source.x1,t.y0]}function cQe(t){return[t.target.x0,t.y1]}function uQe(){return oQe().source(lQe).target(cQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: +`,"getStyles"),jZe=XZe,KZe={db:UZe,renderer:WZe,parser:NZe,styles:jZe};const ZZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:KZe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function QZe(t){return t.target.depth}function JZe(t){return t.depth}function eQe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function tQe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,QZe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function rQe(t){return t.index}function nQe(t){return t.nodes}function iQe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function aQe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=rQe,l=nce,u,h,d=nQe,f=iQe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,X9=2*Y9,Mf=1e-6,sQe=X9-Mf;function j9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new j9}j9.prototype=ice.prototype={constructor:j9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%X9+X9),d>sQe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function oQe(t){return t[0]}function lQe(t){return t[1]}var cQe=Array.prototype.slice;function uQe(t){return t.source}function hQe(t){return t.target}function dQe(t){var e=uQe,r=hQe,n=oQe,i=lQe,a=null;function s(){var o,l=cQe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function fQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function pQe(){return dQe(fQe)}function gQe(t){return[t.source.x1,t.y0]}function mQe(t){return[t.target.x0,t.y1]}function yQe(){return pQe().source(gQe).target(mQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: `+_.showPosition()+` Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:L,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,L=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,R.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:S(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` `+u+"^"},"showPosition"),test_match:S(function(l,u){var h,d,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),d=l[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],h=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var p in f)this[p]=f[p];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,u,h,d;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),p=0;pu[0].length)){if(u=h,d=p,this.options.backtrack_lexer){if(l=this.test_match(h,f[p]),l!==!1)return l;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(l=this.test_match(u,f[d]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,hQe=S(()=>{iE=[],aE=[],lC=new Map,jn()},"clear"),X1,dQe=(X1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(X1,"SankeyLink"),X1),fQe=S((t,e,r)=>{iE.push(new dQe(t,e,r))},"addLink"),j1,pQe=(j1=class{constructor(e){this.ID=e}},S(j1,"SankeyNode"),j1),gQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new pQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),mQe=S(()=>aE,"getNodes"),yQe=S(()=>iE,"getLinks"),vQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),bQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:mQe,getLinks:yQe,getGraph:vQe,addLink:fQe,findOrCreateNode:gQe,getAccTitle:li,setAccTitle:Xn,getAccDescription:ui,setAccDescription:ci,getDiagramTitle:Kn,setDiagramTitle:oi,clear:hQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),xQe={left:WZe,right:YZe,center:XZe,justify:nce},TQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=xQe[p];QZe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=jf(N2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=S(({id:F,value:$})=>b?`${F} -${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",uQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),wQe={draw:TQe},CQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing"),SQe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,vQe=S(()=>{iE=[],aE=[],lC=new Map,Kn()},"clear"),X1,bQe=(X1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(X1,"SankeyLink"),X1),xQe=S((t,e,r)=>{iE.push(new bQe(t,e,r))},"addLink"),j1,TQe=(j1=class{constructor(e){this.ID=e}},S(j1,"SankeyNode"),j1),wQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new TQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),CQe=S(()=>aE,"getNodes"),SQe=S(()=>iE,"getLinks"),EQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),kQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:CQe,getLinks:SQe,getGraph:EQe,addLink:xQe,findOrCreateNode:wQe,getAccTitle:ci,setAccTitle:jn,getAccDescription:hi,setAccDescription:ui,getDiagramTitle:Zn,setDiagramTitle:li,clear:vQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),_Qe={left:JZe,right:eQe,center:tQe,justify:nce},AQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=_Qe[p];aQe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=jf($2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=S(({id:F,value:$})=>b?`${F} +${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",yQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),LQe={draw:AQe},RQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing"),DQe=S(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),EQe=SQe,kQe=oC.parse.bind(oC);oC.parse=t=>kQe(CQe(t));var _Qe={styles:EQe,parser:oC,db:bQe,renderer:wQe};const AQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:_Qe},Symbol.toStringTag,{value:"Module"}));var LQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getConfig(){const e=Ji({...LQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){jn(),this.packet=[]}},S(K1,"PacketDB"),K1),RQe=1e4,DQe=S((t,e)=>{Xu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),DQe(e,r)},"parse")},MQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Gi(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())OQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),OQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),IQe={draw:MQe},BQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},PQe=S(({packet:t}={})=>{const e=Ji(BQe,t);return` + }`,"getStyles"),NQe=DQe,MQe=oC.parse.bind(oC);oC.parse=t=>MQe(RQe(t));var OQe={styles:NQe,parser:oC,db:kQe,renderer:LQe};const IQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:OQe},Symbol.toStringTag,{value:"Module"}));var BQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getConfig(){const e=ea({...BQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Kn(),this.packet=[]}},S(K1,"PacketDB"),K1),PQe=1e4,FQe=S((t,e)=>{Xu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),FQe(e,r)},"parse")},zQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Ui(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())qQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),qQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),VQe={draw:zQe},GQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},UQe=S(({packet:t}={})=>{const e=ea(GQe,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2938,7 +2938,7 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles"),FQe={parser:sce,get db(){return new ace},renderer:IQe,styles:PQe};const $Qe=Object.freeze(Object.defineProperty({__proto__:null,diagram:FQe},Symbol.toStringTag,{value:"Module"}));var yg={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},oce={axes:[],curves:[],options:yg},Y0=structuredClone(oce),zQe=Vr.radar,qQe=S(()=>Ji({...zQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),VQe=S(()=>Y0.curves,"getCurves"),GQe=S(()=>Y0.options,"getOptions"),UQe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),HQe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:WQe(e.entries)}))},"setCurves"),WQe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),YQe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),XQe=S(()=>{jn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:VQe,getOptions:GQe,setAxes:UQe,setCurves:HQe,setOptions:YQe,getConfig:qQe,clear:XQe,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},jQe=S(t=>{Xu(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),KQe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),jQe(e)},"parse")},ZQe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=QQe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;JQe(d,a,m,o.ticks,o.graticule),eJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),QQe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Gi(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),JQe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),eJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var tJe={draw:ZQe},rJe=S((t,e)=>{let r="";for(let n=0;nea({...YQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),jQe=S(()=>Y0.curves,"getCurves"),KQe=S(()=>Y0.options,"getOptions"),ZQe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),QQe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:JQe(e.entries)}))},"setCurves"),JQe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),eJe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),tJe=S(()=>{Kn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:jQe,getOptions:KQe,setAxes:ZQe,setCurves:QQe,setOptions:eJe,getConfig:XQe,clear:tJe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},rJe=S(t=>{Xu(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),nJe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),rJe(e)},"parse")},iJe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=aJe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;sJe(d,a,m,o.ticks,o.graticule),oJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),aJe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Ui(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),sJe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),oJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var lJe={draw:iJe},cJe=S((t,e)=>{let r="";for(let n=0;n{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),iJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=nJe(t);return` + `}return r},"genIndexStyles"),uJe=S(t=>{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),hJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=uJe(t);return` .radarTitle { font-size: ${e.fontSize}; color: ${e.titleColor}; @@ -2979,13 +2979,13 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- font-size: ${r.legendFontSize}px; dominant-baseline: hanging; } - ${rJe(e,r)} - `},"styles"),aJe={parser:KQe,db:w2,renderer:tJe,styles:iJe};const sJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:S(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}S(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: + ${cJe(e,r)} + `},"styles"),dJe={parser:nJe,db:w2,renderer:lJe,styles:hJe};const fJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:dJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:S(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}S(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: `+B.showPosition()+` Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+Z);switch(ee[0]){case 1:R.push(Z),L.push(B.yytext),O.push(B.yylloc),R.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=L[L.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],L,O].concat(N)),typeof Q<"u")return Q;ae&&(R=R.slice(0,-1*ae*2),L=L.slice(0,-1*ae),O=O.slice(0,-1*ae)),R.push(this.productions_[ee[1]][0]),L.push(he.$),O.push(he._$),ie=F[R[R.length-2]][R[R.length-1]],R.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:S(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw new Error(_)},"parseError"),setInput:S(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:S(function(E){var _=E.length,R=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1&&(this.yylineno-=R.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===k.length?this.yylloc.first_column:0)+k[k.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(E){this.unput(this.match.slice(E))},"less"),pastInput:S(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` `+_+"^"},"showPosition"),test_match:S(function(E,_){var R,k,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],R=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var O in L)this[O]=L[O];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,R,k;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),O=0;O_[0].length)){if(_=R,k=O,this.options.backtrack_lexer){if(E=this.test_match(R,L[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,L[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var oJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",lJe="bgFill",fce=",",cJe=Pe(),cC=new Map,BO="",uJe=S(t=>$t.sanitizeText(t,cJe),"sanitizeText"),hJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,lJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),dJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),fJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=uJe(s.label)),s.type==="classDef"){hJe(s.id,s.css);continue}if(s.type==="applyClass"){fJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&dJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),jn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,gJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),mJe=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),yJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),vJe=S(()=>[...xl.values()],"getBlocksFlat"),bJe=S(()=>PO||[],"getBlocks"),xJe=S(()=>IO,"getEdges"),TJe=S(t=>xl.get(t),"getBlock"),wJe=S(t=>{xl.set(t.id,t)},"setBlock"),CJe=S(t=>{BO=t},"setDiagramId"),SJe=S(()=>BO,"getDiagramId"),EJe=S(()=>oe,"getLogger"),kJe=S(function(){return cC},"getClasses"),_Je={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:EJe,getBlocksFlat:vJe,getBlocks:bJe,getEdges:xJe,setHierarchy:mJe,getBlock:TJe,setBlock:wJe,getColumns:yJe,getClasses:kJe,clear:pJe,generateId:gJe,setDiagramId:CJe,getDiagramId:SJe},AJe=_Je,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),LJe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var pJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",gJe="bgFill",fce=",",mJe=Pe(),cC=new Map,BO="",yJe=S(t=>$t.sanitizeText(t,mJe),"sanitizeText"),vJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,gJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),bJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),xJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=yJe(s.label)),s.type==="classDef"){vJe(s.id,s.css);continue}if(s.type==="applyClass"){xJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&bJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),Kn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,wJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),CJe=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),SJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),EJe=S(()=>[...xl.values()],"getBlocksFlat"),kJe=S(()=>PO||[],"getBlocks"),_Je=S(()=>IO,"getEdges"),AJe=S(t=>xl.get(t),"getBlock"),LJe=S(t=>{xl.set(t.id,t)},"setBlock"),RJe=S(t=>{BO=t},"setDiagramId"),DJe=S(()=>BO,"getDiagramId"),NJe=S(()=>oe,"getLogger"),MJe=S(function(){return cC},"getClasses"),OJe={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:NJe,getBlocksFlat:EJe,getBlocks:kJe,getEdges:_Je,setHierarchy:CJe,getBlock:AJe,setBlock:LJe,getColumns:SJe,getClasses:MJe,clear:TJe,generateId:wJe,setDiagramId:RJe,getDiagramId:DJe},IJe=OJe,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),BJe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -3108,11 +3108,11 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error fill: ${t.textColor}; } ${bx()} -`,"getStyles"),RJe=LJe,DJe=S((t,e,r,n)=>{e.forEach(i=>{qJe[i](t,r,n)})},"insertMarkers"),NJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),MJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),OJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),IJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),BJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),PJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),FJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),$Je=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),zJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),qJe={extension:NJe,composition:MJe,aggregation:OJe,dependency:IJe,lollipop:BJe,point:PJe,circle:FJe,cross:$Je,barb:zJe},VJe=DJe,Si=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var GJe=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=GJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Si*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Si-Si)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Si;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Si}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Si,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Si}`),d.size){const x=f/2;h.size.x=l+Si+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Si} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Si,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Si}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var UJe=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=UJe,HJe=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),WJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=WJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},za={},YJe=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var XJe=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=za[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=za[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=za[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=za[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),jJe=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),KJe=S((t,e,r)=>{oe.debug(`intersection calc abc89: +`,"getStyles"),PJe=BJe,FJe=S((t,e,r,n)=>{e.forEach(i=>{XJe[i](t,r,n)})},"insertMarkers"),$Je=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),zJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),qJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),VJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),GJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),UJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),HJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),WJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),YJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),XJe={extension:$Je,composition:zJe,aggregation:qJe,dependency:VJe,lollipop:GJe,point:UJe,circle:HJe,cross:WJe,barb:YJe},jJe=FJe,Ei=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var KJe=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=KJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Ei*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Ei-Ei)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Ei;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Ei}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Ei}`),d.size){const x=f/2;h.size.x=l+Ei+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Ei} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Ei,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Ei}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var ZJe=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=ZJe,QJe=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),JJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=JJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},za={},eet=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var tet=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=za[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=za[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=za[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=za[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),ret=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),net=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!jJe(e,a)&&!i){const s=KJe(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),ZJe=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=X2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),HJe(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),QJe=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),JJe=S((t,e,r)=>{const n=QJe(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var eet=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var ret=Cce,net=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var iet=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),aet=iet,Qn={node:eet,circle:tet,ellipse:Tce,polygon:net,rect:aet},da=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),bi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var set=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await da(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},n},"note"),oet=set,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),bi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Qn.polygon(e,o,u)},r},"question"),cet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Qn.circle(e,14,s)},r},"choice"),uet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"hexagon"),het=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=JJe(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),bi(e,u),e.intersect=function(h){return Qn.polygon(e,l,h)},r},"block_arrow"),det=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_left_inv_arrow"),fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_right"),pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"lean_left"),get=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"trapezoid"),met=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"inv_trapezoid"),yet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"rect_right_inv_arrow"),vet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return bi(e,u),e.intersect=function(h){const d=Qn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"rect"),xet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return bi(e,a),e.intersect=function(h){return Qn.rect(e,h)},r},"composite"),Tet=S(async(t,e)=>{const{shapeSvg:r}=await da(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return bi(e,n),e.intersect=function(s){return Qn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var wet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return bi(e,s),e.intersect=function(o){return Qn.rect(e,o)},r},"stadium"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),bi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Qn.circle(e,n.width/2+i,s)},r},"circle"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await da(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),bi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Qn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await da(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),bi(e,o),e.intersect=function(l){return Qn.polygon(e,s,l)},r},"subroutine"),Aet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),bi(e,n),e.intersect=function(i){return Qn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return bi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Qn.rect(e,o)},n},"forkJoin"),Let=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),bi(e,i),e.intersect=function(a){return Qn.circle(e,7,a)},r},"end"),Ret=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),bi(e,o),e.intersect=function(L){return Qn.rect(e,L)},s},"class_box"),MY={rhombus:DY,composite:xet,question:DY,rect:bet,labelRect:Tet,rectWithTitle:wet,choice:cet,circle:Eet,doublecircle:ket,stadium:Cet,hexagon:uet,block_arrow:het,rect_left_inv_arrow:det,lean_right:fet,lean_left:pet,trapezoid:get,inv_trapezoid:met,rect_right_inv_arrow:yet,cylinder:vet,start:Aet,end:Let,note:oet,subroutine:_et,fork:NY,join:NY,class_box:Ret},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Det=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Det(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;ZJe(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await YJe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),XJe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Net=S(function(t,e){return e.db.getClasses()},"getClasses"),Met=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);VJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Gi(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Oet={draw:Met,getClasses:Net},Iet={parser:oJe,db:AJe,renderer:Oet,styles:RJe};const Bet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Iet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Pet=S(()=>{Gl.reset(),jn()},"clear"),Fet=S(()=>Gl.records.stack[0],"getRoot"),$et=S(()=>Gl.records.cnt,"getCount"),zet=Vr.treeView,qet=S(()=>Ji(zet,gr().treeView),"getConfig"),Vet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),Get={clear:Pet,addNode:Vet,getRoot:Fet,getCount:$et,getConfig:qet,getAccTitle:li,getAccDescription:ui,getDiagramTitle:Kn,setAccDescription:ci,setAccTitle:Xn,setDiagramTitle:oi},rD=Get,Uet=S(t=>{Xu(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),Het={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),Uet(e)},"parse")},Wet=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),Yet=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);Wet(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),Xet=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram -`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=Yet(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Gi(o,u,h,s.useMaxWidth)},"draw"),jet={draw:Xet},Ket=jet,Zet={labelFontSize:"16px",labelColor:"black",lineColor:"black"},Qet=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=Ji(Zet,t);return` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!ret(e,a)&&!i){const s=net(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),iet=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=X2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),QJe(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),aet=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),set=S((t,e,r)=>{const n=aet(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var oet=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var uet=Cce,het=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var det=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),fet=det,Jn={node:oet,circle:cet,ellipse:Tce,polygon:het,rect:fet},fa=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),xi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var pet=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await fa(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},n},"note"),get=pet,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),xi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Jn.polygon(e,o,u)},r},"question"),met=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Jn.circle(e,14,s)},r},"choice"),yet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"hexagon"),vet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=set(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"block_arrow"),bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_left_inv_arrow"),xet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_right"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_left"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"trapezoid"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"inv_trapezoid"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_right_inv_arrow"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return xi(e,u),e.intersect=function(h){const d=Jn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"rect"),Aet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"composite"),Let=S(async(t,e)=>{const{shapeSvg:r}=await fa(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return xi(e,n),e.intersect=function(s){return Jn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var Ret=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},r},"stadium"),Net=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),xi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Jn.circle(e,n.width/2+i,s)},r},"circle"),Met=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),xi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Jn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Oet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"subroutine"),Iet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xi(e,n),e.intersect=function(i){return Jn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return xi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Jn.rect(e,o)},n},"forkJoin"),Bet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xi(e,i),e.intersect=function(a){return Jn.circle(e,7,a)},r},"end"),Pet=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),xi(e,o),e.intersect=function(L){return Jn.rect(e,L)},s},"class_box"),MY={rhombus:DY,composite:Aet,question:DY,rect:_et,labelRect:Let,rectWithTitle:Ret,choice:met,circle:Net,doublecircle:Met,stadium:Det,hexagon:yet,block_arrow:vet,rect_left_inv_arrow:bet,lean_right:xet,lean_left:Tet,trapezoid:wet,inv_trapezoid:Cet,rect_right_inv_arrow:Eet,cylinder:ket,start:Iet,end:Bet,note:get,subroutine:Oet,fork:NY,join:NY,class_box:Pet},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Fet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Fet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;iet(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await eet(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),tet({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var $et=S(function(t,e){return e.db.getClasses()},"getClasses"),zet=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);jJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Ui(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),qet={draw:zet,getClasses:$et},Vet={parser:pJe,db:IJe,renderer:qet,styles:PJe};const Get=Object.freeze(Object.defineProperty({__proto__:null,diagram:Vet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Uet=S(()=>{Gl.reset(),Kn()},"clear"),Het=S(()=>Gl.records.stack[0],"getRoot"),Wet=S(()=>Gl.records.cnt,"getCount"),Yet=Vr.treeView,Xet=S(()=>ea(Yet,gr().treeView),"getConfig"),jet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),Ket={clear:Uet,addNode:jet,getRoot:Het,getCount:Wet,getConfig:Xet,getAccTitle:ci,getAccDescription:hi,getDiagramTitle:Zn,setAccDescription:ui,setAccTitle:jn,setDiagramTitle:li},rD=Ket,Zet=S(t=>{Xu(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),Qet={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),Zet(e)},"parse")},Jet=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),ett=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);Jet(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),ttt=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram +`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=ett(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Ui(o,u,h,s.useMaxWidth)},"draw"),rtt={draw:ttt},ntt=rtt,itt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},att=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=ea(itt,t);return` .treeView-node-label { font-size: ${e}; fill: ${r}; @@ -3120,7 +3120,7 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error .treeView-node-line { stroke: ${n}; } - `},"styles"),Jet=Qet,ett={db:rD,renderer:Ket,parser:Het,styles:Jet};const ttt=Object.freeze(Object.defineProperty({__proto__:null,diagram:ett},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},rtt=u5.exports,IY;function ntt(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(rtt,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Le=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Le),Te=this.s[Oe]/We,ot=Le/We;this.s[Oe]=We,Oe!==pe&&(Le=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Le){if(!Me.has(Le)){ne[$e]=[],me[$e]=!1;var Oe=Le;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var stt=l5.exports,PY;function ott(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(att())})(stt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){C=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Le=He.boundingBox();z.push({x:Le.x1+Le.w/2,y:Le.y1+Le.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Le){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Le))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Le){k.eles=He,$.push(x(k,F[Le])),p.relocateComponent(z[Le],$[Le],k)})}else q.forEach(function(He,Le){p.relocateComponent(z[Le],F[Le],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Le){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Le].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Le].xCoords[Te]-ot.boundingbox().w/2,y:F[Le].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Le].xCoords,F[Le].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Le][ot.id()]&&We.nodes.push({x:$[Le][ot.id()].getLeft(),y:$[Le][ot.id()].getTop(),width:$[Le][ot.id()].getWidth(),height:$[Le][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Le].xCoords,F[Le].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Le].xCoords[it]),Xe.push(F[Le].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Le].xCoords,F[Le].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Le].xCoords[Ye]),at.push(F[Le].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Le][De.id()]&&$[Le][Ge.id()]&&We.edges.push({startX:$[Le][De.id()].getCenterX(),startY:$[Le][De.id()].getCenterY(),endX:$[Le][Ge.id()].getCenterX(),endY:$[Le][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Le))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Le){var Oe=He.xCoords.map(function(Te){return Te+ne[Le].dx}),We=He.yCoords.map(function(Te){return Te+ne[Le].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Le){var Oe=$[He][Le];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Le,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Le=="number"&&(Le=Oe);var We=void 0,Te=void 0,ot=Le.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Le.position("x"),y:Le.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Le.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Le.position("x"),y:Le.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Le=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Le=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Le)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var ltt=ott();const ctt=k0(ltt);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},utt=S(function(t){return as(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),as=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=as(t)&&yd(e),n=yd(t)&&as(e);return r||n},"isArchitectureDirectionXY"),htt=S(function(t){const e=t[0],r=t[1],n=as(e)&&yd(r),i=yd(e)&&as(r);return n||i},"isArchitecturePairXY"),dtt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return dtt(r)?r:void 0},"getArchitectureDirectionPair"),ftt=S(function([t,e],r){const n=r[0],i=r[1];return as(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:as(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),ptt=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),gtt=S(function(t,e){return qO(t,e)?"bend":as(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),mtt=S(function(t){return t.type==="service"},"isArchitectureService"),ytt=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),vtt=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",jn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(mtt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(ytt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=gtt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=ftt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Ji({...vtt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),btt=S((t,e)=>{Xu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");btt(e,r)},"parse")},xtt=S(t=>` + `},"styles"),stt=att,ott={db:rD,renderer:ntt,parser:Qet,styles:stt};const ltt=Object.freeze(Object.defineProperty({__proto__:null,diagram:ott},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},ctt=u5.exports,IY;function utt(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(ctt,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Le=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Le),Te=this.s[Oe]/We,ot=Le/We;this.s[Oe]=We,Oe!==pe&&(Le=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Le){if(!Me.has(Le)){ne[$e]=[],me[$e]=!1;var Oe=Le;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var ftt=l5.exports,PY;function ptt(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(dtt())})(ftt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){C=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Le=He.boundingBox();z.push({x:Le.x1+Le.w/2,y:Le.y1+Le.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Le){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Le))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Le){k.eles=He,$.push(x(k,F[Le])),p.relocateComponent(z[Le],$[Le],k)})}else q.forEach(function(He,Le){p.relocateComponent(z[Le],F[Le],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Le){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Le].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Le].xCoords[Te]-ot.boundingbox().w/2,y:F[Le].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Le].xCoords,F[Le].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Le][ot.id()]&&We.nodes.push({x:$[Le][ot.id()].getLeft(),y:$[Le][ot.id()].getTop(),width:$[Le][ot.id()].getWidth(),height:$[Le][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Le].xCoords,F[Le].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Le].xCoords[it]),Xe.push(F[Le].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Le].xCoords,F[Le].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Le].xCoords[Ye]),at.push(F[Le].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Le][De.id()]&&$[Le][Ge.id()]&&We.edges.push({startX:$[Le][De.id()].getCenterX(),startY:$[Le][De.id()].getCenterY(),endX:$[Le][Ge.id()].getCenterX(),endY:$[Le][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Le))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Le){var Oe=He.xCoords.map(function(Te){return Te+ne[Le].dx}),We=He.yCoords.map(function(Te){return Te+ne[Le].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Le){var Oe=$[He][Le];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Le,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Le=="number"&&(Le=Oe);var We=void 0,Te=void 0,ot=Le.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Le.position("x"),y:Le.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Le.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Le.position("x"),y:Le.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Le=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Le=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Le)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var gtt=ptt();const mtt=k0(gtt);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},ytt=S(function(t){return as(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),as=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=as(t)&&yd(e),n=yd(t)&&as(e);return r||n},"isArchitectureDirectionXY"),vtt=S(function(t){const e=t[0],r=t[1],n=as(e)&&yd(r),i=yd(e)&&as(r);return n||i},"isArchitecturePairXY"),btt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return btt(r)?r:void 0},"getArchitectureDirectionPair"),xtt=S(function([t,e],r){const n=r[0],i=r[1];return as(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:as(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ttt=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),wtt=S(function(t,e){return qO(t,e)?"bend":as(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Ctt=S(function(t){return t.type==="service"},"isArchitectureService"),Stt=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),Ett=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",Kn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(Ctt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(Stt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=wtt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=xtt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return ea({...Ett,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),ktt=S((t,e)=>{Xu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ktt(e,r)},"parse")},_tt=S(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; @@ -3151,17 +3151,17 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error display: -webkit-box; -webkit-box-orient: vertical; } -`,"getStyles"),Ttt=xtt,jp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:jp('')},server:{body:jp('')},disk:{body:jp('')},internet:{body:jp('')},cloud:{body:jp('')},unknown:nQ,blank:{body:jp("")}}},wtt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(as(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(as(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(as(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(as(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=as(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=as(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](L,o):L-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":as(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await vs(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&&htt(D)){const I=z.node().getBoundingClientRect(),[N,B]=ptt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` +`,"getStyles"),Att=_tt,jp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:jp('')},server:{body:jp('')},disk:{body:jp('')},internet:{body:jp('')},cloud:{body:jp('')},unknown:nQ,blank:{body:jp("")}}},Ltt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(as(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(as(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(as(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(as(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=as(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=as(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](L,o):L-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":as(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await vs(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&&vtt(D)){const I=z.node().getBoundingClientRect(),[N,B]=Ttt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` translate(${_}, ${R-I.height/2}) translate(${N*M.width/2}, ${B*M.height/2}) rotate(${-1*N*B*45}, 0, ${I.height/2}) - `)}}}}}))},"drawEdges"),Ctt=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Stt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Ett=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(ctt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[utt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));C=C/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[R,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var ktt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Stt(i,f,a,e),Ett(i,f,s,e);const m=await qce(a,s,o,l,i,u);await wtt(d,m,i,e),await Ctt(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),_tt={draw:ktt},Att={parser:Mce,get db(){return new Nce},renderer:_tt,styles:Ttt};const Ltt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Att},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: + `)}}}}}))},"drawEdges"),Rtt=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Dtt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Ntt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(mtt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[ytt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));C=C/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[R,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Mtt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Dtt(i,f,a,e),Ntt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await Ltt(d,m,i,e),await Rtt(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Ott={draw:Mtt},Itt={parser:Mce,get db(){return new Nce},renderer:Ott,styles:Att};const Btt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Itt},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: `+I.showPosition()+` Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+H);switch(Z[0]){case 1:E.push(H),R.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=R[R.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),j=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],R,k].concat(D)),typeof j<"u")return j;he&&(E=E.slice(0,-1*he*2),R=R.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),R.push(ee.$),k.push(ee._$),te=L[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(C){this.unput(this.match.slice(C))},"less"),pastInput:S(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var C=this.pastInput(),T=new Array(C.length+1).join("-");return C+this.upcomingInput()+` `+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in R)this[k]=R[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,R[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,R[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var Rtt=iD,Q1,Dtt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,jn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],oi(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return li()}setAccTitle(e){Xn(e)}getAccDescription(){return ui()}setAccDescription(e){ci(e)}getDiagramTitle(){return Kn()}setDiagramTitle(e){oi(e)}},S(Q1,"IshikawaDB"),Q1),Ntt=14,Kp=250,Mtt=30,Ott=60,Itt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Gi(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Btt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Ntt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const R=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(Ptt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(L),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),Ptt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Ftt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),$tt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),ztt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),$tt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Ftt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?Ott+k.childCount*Itt:Mtt),Ug(F,$,L,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,L,1,0,o),hC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Ug(F,$,q,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-L,o),hC(F,k.text,z,L,_,"end",s)}k.childCount>0&&C.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),qtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` -`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=qtt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),Vtt={draw:Btt},Gtt=S(t=>` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var Ptt=iD,Q1,Ftt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Kn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],li(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ci()}setAccTitle(e){jn(e)}getAccDescription(){return hi()}setAccDescription(e){ui(e)}getDiagramTitle(){return Zn()}setDiagramTitle(e){li(e)}},S(Q1,"IshikawaDB"),Q1),$tt=14,Kp=250,ztt=30,qtt=60,Vtt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Ui(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Gtt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??$tt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const R=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(Utt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(L),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),Utt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Htt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Wtt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ytt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Wtt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Htt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?qtt+k.childCount*Vtt:ztt),Ug(F,$,L,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,L,1,0,o),hC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Ug(F,$,q,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-L,o),hC(F,k.text,z,L,_,"end",s)}k.childCount>0&&C.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Xtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=Xtt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),jtt={draw:Gtt},Ktt=S(t=>` .ishikawa .ishikawa-spine, .ishikawa .ishikawa-branch, .ishikawa .ishikawa-sub-branch { @@ -3224,18 +3224,18 @@ Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .ishikawa .ishikawa-label.down { dominant-baseline: hanging; } -`,"getStyles"),Utt=Gtt,Htt={parser:Rtt,get db(){return new Dtt},renderer:Vtt,styles:Utt};const Wtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Htt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=Xtt(t),n=r.filter(o=>Ytt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function Ytt(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function jtt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>R.fx?(du(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function Ztt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function Qtt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function ert(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function trt(t,e={}){let r=nrt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=rrt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>ert(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+jce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function irt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function art(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=art(n);for(const u of i){irt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function srt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[C];return C+=1,C>=x.length&&(C=0),L},E=Xce,_=Im;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=crt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,R):_},R}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function ort(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function lrt(t,e,r){const n=[];return n.push(` +`,"getStyles"),Ztt=Ktt,Qtt={parser:Ptt,get db(){return new Ftt},renderer:jtt,styles:Ztt};const Jtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qtt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=trt(t),n=r.filter(o=>ert(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function ert(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function rrt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>R.fx?(du(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function irt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function art(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function ort(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function lrt(t,e={}){let r=urt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=crt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>ort(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+jce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function hrt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function drt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=drt(n);for(const u of i){hrt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function frt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[C];return C+=1,C>=x.length&&(C=0),L},E=Xce,_=Im;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=mrt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,R):_},R}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function prt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function grt(t,e,r){const n=[];return n.push(` M`,t,e),n.push(` m`,-r,0),n.push(` a`,r,r,0,1,0,r*2,0),n.push(` -a`,r,r,0,1,0,-r*2,0),n.join(" ")}function crt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return lrt(n(a.x),n(a.y),n(a.radius))}const i=[` +a`,r,r,0,1,0,-r*2,0),n.join(" ")}function mrt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return grt(n(a.x),n(a.y),n(a.radius))}const i=[` M`,n(t[0].p2.x),n(t[0].p2.y)];for(const a of t){const s=n(a.circle.radius);i.push(` -A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function urt(t,e={}){const{lossFunction:r,layoutFunction:n=Xce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=nue(_),k=iue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of C)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return C.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}S(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: +A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function yrt(t,e={}){const{lossFunction:r,layoutFunction:n=Xce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=nue(_),k=iue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of C)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return C.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}S(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: `+N.showPosition()+` Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[X]||X,line:N.yylineno,loc:V,expected:ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+X);switch(j[0]){case 1:_.push(X),k.push(N.yytext),L.push(N.yylloc),_.push(j[1]),X=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[j[1]][1],Q.$=k[k.length-te],Q._$={first_line:L[L.length-(te||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(te||1)].first_column,last_column:L[L.length-1].last_column},U&&(Q._$.range=[L[L.length-(te||1)].range[0],L[L.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,j[1],k,L].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),L=L.slice(0,-1*te)),_.push(this.productions_[j[1]][0]),k.push(Q.$),L.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var C={EOF:1,parseError:S(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:S(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:S(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===R.length?this.yylloc.first_column:0)+R[R.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(T){this.unput(this.match.slice(T))},"less"),pastInput:S(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` `+E+"^"},"showPosition"),test_match:S(function(T,E){var _,R,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),R=T[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var L in k)this[L]=k[L];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,R;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),L=0;LE[0].length)){if(E=_,R=L,this.options.backtrack_lexer){if(T=this.test_match(_,k[L]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[R]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var hrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,XO=!1,drt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),frt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),prt=S(t=>t&&Ub(t),"normalizeStyleValue"),grt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),mrt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=prt(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),yrt=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),vrt=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),brt=S(()=>UO,"getTextData"),xrt=S(()=>YO,"getCurrentSets"),Trt=S(()=>XO,"getIndentMode"),wrt=S(t=>{XO=t},"setIndentMode"),Crt=Vr.venn;function aue(){return Ji(Crt,gr().venn)}S(aue,"getConfig");var Srt=S(()=>{jn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,XO=!1},"customClear"),Ert={getConfig:aue,clear:Srt,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci,addSubsetData:drt,getSubsetData:frt,addTextData:grt,addStyleData:mrt,validateUnionIdentifiers:vrt,getTextData:brt,getStyleData:yrt,getCurrentSets:xrt,getIndentMode:Trt,setIndentMode:wrt},krt=S(t=>` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var vrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,XO=!1,brt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),xrt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),Trt=S(t=>t&&Ub(t),"normalizeStyleValue"),wrt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),Crt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=Trt(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),Srt=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),Ert=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),krt=S(()=>UO,"getTextData"),_rt=S(()=>YO,"getCurrentSets"),Art=S(()=>XO,"getIndentMode"),Lrt=S(t=>{XO=t},"setIndentMode"),Rrt=Vr.venn;function aue(){return ea(Rrt,gr().venn)}S(aue,"getConfig");var Drt=S(()=>{Kn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,XO=!1},"customClear"),Nrt={getConfig:aue,clear:Drt,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,addSubsetData:brt,getSubsetData:xrt,addTextData:wrt,addStyleData:Crt,validateUnionIdentifiers:Ert,getTextData:krt,getStyleData:Srt,getCurrentSets:_rt,getIndentMode:Art,setIndentMode:Lrt},Mrt=S(t=>` .venn-title { font-size: 32px; fill: ${t.vennTitleTextColor}; @@ -3257,7 +3257,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error font-family: ${t.fontFamily}; color: ${t.vennSetTextColor}; } -`,"getStyles"),_rt=krt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var Art=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=srt().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=urt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,R,p,C,m);const $=ys(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*C}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Gi(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}S(oue,"renderTextNodes");var Lrt={draw:Art},Rrt={parser:hrt,db:Ert,renderer:Lrt,styles:_rt};const Drt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Rrt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=li,this.setDiagramTitle=oi,this.getDiagramTitle=Kn,this.getAccDescription=ui,this.setAccDescription=ci}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return Ji({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){jn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Nrt=S((t,e)=>{Xu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Mrt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Mrt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Nrt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Ort=10,Zp=10,Xv=25,Irt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Ort,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Gi(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=jf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=jf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=jf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=sve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Xv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Xv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Xv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Xv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Xv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=Ji(e,r.themeVariables),i=Ji(Frt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` +`,"getStyles"),Ort=Mrt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var Irt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=frt().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=yrt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,R,p,C,m);const $=ys(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*C}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Ui(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}S(oue,"renderTextNodes");var Brt={draw:Irt},Prt={parser:vrt,db:Nrt,renderer:Brt,styles:Ort};const Frt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Prt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return ea({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Kn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var $rt=S((t,e)=>{Xu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=zrt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),zrt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");$rt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},qrt=10,Zp=10,Xv=25,Vrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??qrt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Ui(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=jf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=jf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=jf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=fve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Xv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Xv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Xv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Xv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Xv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(Hrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` .treemapNode.section { stroke: ${i.sectionStrokeColor}; stroke-width: ${i.sectionStrokeWidth}; @@ -3280,8 +3280,8 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error fill: ${a}; font-size: ${i.titleFontSize}; } - `},"getStyles"),zrt=$rt,qrt={parser:uue,get db(){return new lue},renderer:Prt,styles:zrt};const Vrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:qrt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),XY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),Grt=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Urt=S((t,e)=>{if(Xu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=XY(r.fromPort)??XY(r.toPort);const{flow:a,label:s}=Grt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Urt(e,r)},"parse")},em,Hrt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),Ts=new Hrt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){Ts.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){Ts.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){Ts.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){Ts.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){Ts.setSize(t,e)}S(Tue,"setSize");function wue(t){Ts.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){Ts.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return Ts.getNode(t)}S(Eue,"getNode");function kue(){return Ts.build()}S(kue,"getWardleyData");function _ue(){Ts.clear(),jn()}S(_ue,"clear");var Wrt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:li,setDiagramTitle:oi,getDiagramTitle:Kn,getAccDescription:ui,setAccDescription:ci},Yrt=["Genesis","Custom Built","Product","Commodity"],Xrt=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),jrt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),Krt=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map -`+t);const i=jrt(),a=Xrt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Gi(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:Yrt;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` + `},"getStyles"),Yrt=Wrt,Xrt={parser:uue,get db(){return new lue},renderer:Urt,styles:Yrt};const jrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Xrt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),XY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),Krt=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Zrt=S((t,e)=>{if(Xu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=XY(r.fromPort)??XY(r.toPort);const{flow:a,label:s}=Krt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Zrt(e,r)},"parse")},em,Qrt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),Ts=new Qrt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){Ts.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){Ts.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){Ts.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){Ts.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){Ts.setSize(t,e)}S(Tue,"setSize");function wue(t){Ts.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){Ts.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return Ts.getNode(t)}S(Eue,"getNode");function kue(){return Ts.build()}S(kue,"getWardleyData");function _ue(){Ts.clear(),Kn()}S(_ue,"clear");var Jrt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},ent=["Genesis","Custom Built","Product","Commodity"],tnt=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),rnt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),nnt=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map +`+t);const i=rnt(),a=tnt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Ui(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:ent;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` M ${U} ${P-X/2} L ${U+H-Z} ${P-X/2} L ${U+H-Z} ${P-X/2-8} @@ -3299,4 +3299,4 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error L ${U+Z} ${P+X/2} L ${U+H} ${P+X/2} Z - `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),Zrt={draw:Krt},Qrt={parser:hue,db:Wrt,renderer:Zrt,styles:S(()=>"","styles")};const Jrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qrt},Symbol.toStringTag,{value:"Module"})),ent=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:Xse},Symbol.toStringTag,{value:"Module"})),tnt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:jse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),rnt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),nnt=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),int=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),ant=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),snt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),ont=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),lnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default cnt(); + `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),int={draw:nnt},ant={parser:hue,db:Jrt,renderer:int,styles:S(()=>"","styles")};const snt=Object.freeze(Object.defineProperty({__proto__:null,diagram:ant},Symbol.toStringTag,{value:"Module"})),ont=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:Xse},Symbol.toStringTag,{value:"Module"})),lnt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:jse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),cnt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),unt=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),hnt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),dnt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),fnt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),pnt=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),gnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default mnt(); diff --git a/extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css b/extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css deleted file mode 100644 index 5275317..0000000 --- a/extension/src/webview_template/webview_new/assets/index-D6bYdpOb.css +++ /dev/null @@ -1 +0,0 @@ -*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_1cg4x_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_1cg4x_12,._flowsheet_steps_container_1cg4x_18{display:flex;flex-direction:column;gap:10px}._step_selector_container_1cg4x_24{display:flex;flex-direction:row;gap:10px}._python_env_container_1cg4x_30{margin-bottom:20px}._python_env_label_1cg4x_34{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_1cg4x_41{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_1cg4x_49{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_1cg4x_61{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_1cg4x_61:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_1cg4x_61:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_1cg4x_86{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_1cg4x_96{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_1cg4x_103{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_1cg4x_103:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_1cg4x_103:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_1cg4x_131{width:100%}._open_results_view_select_1cg4x_135{width:100%;min-width:200px;height:40px;padding:5px 30px 5px 10px;border:1px solid #05d868;border-radius:5px;color:#05d868;background-color:var(--vscode-sideBar-background);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2305d868' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}._view_switch_container_1cg4x_150{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_1cg4x_150 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_1cg4x_150 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_1cg4x_150 li._active_1cg4x_178{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-DtSILhwC.css b/extension/src/webview_template/webview_new/assets/index-DtSILhwC.css new file mode 100644 index 0000000..b7e00a5 --- /dev/null +++ b/extension/src/webview_template/webview_new/assets/index-DtSILhwC.css @@ -0,0 +1 @@ +*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_boe10_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_boe10_12,._flowsheet_steps_container_boe10_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_boe10_24{margin-bottom:20px}._section_label_boe10_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_boe10_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_boe10_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_boe10_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._init_error_box_boe10_55{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_boe10_61{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_boe10_67{display:flex;flex-direction:row;gap:10px}._python_env_container_boe10_73{margin-bottom:20px}._python_env_label_boe10_77{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_boe10_84{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_boe10_92{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_boe10_104{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_boe10_104:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_boe10_104:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_boe10_129{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_boe10_139{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_boe10_146{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_boe10_146:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_boe10_146:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_boe10_174{width:100%}._open_results_view_btn_boe10_178{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_boe10_178:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_boe10_198{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_boe10_198 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_boe10_198 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_boe10_198 li._active_boe10_226{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index 415bb5a..aea1204 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,8 +5,8 @@ webview_ui - - + +
    diff --git a/webview_ui/src/css/tree_app.module.css b/webview_ui/src/css/tree_app.module.css index 7f5a55b..9887464 100644 --- a/webview_ui/src/css/tree_app.module.css +++ b/webview_ui/src/css/tree_app.module.css @@ -21,6 +21,49 @@ gap: 10px; } +.flowsheet_file_section { + margin-bottom: 20px; +} + +.section_label { + display: block; + margin: 0 0 10px 0; + font-size: 13px; + color: var(--vscode-foreground); +} + +.section_hint { + margin: 5px 0 0 0; + font-size: 11px; + color: var(--vscode-descriptionForeground, #cccccc); + font-style: italic; +} + +.steps_container { + display: flex; + flex-direction: column; + gap: 10px; +} + +.steps_actions_footer { + margin-top: 15px; + display: flex; + flex-direction: column; + gap: 15px; +} + +.init_error_box { + padding: 8px; + border: 1px solid var(--vscode-errorForeground, #f44747); + border-radius: 4px; +} + +.init_error_text { + font-size: 12px; + color: var(--vscode-errorForeground, #f44747); + margin: 0; +} + .step_selector_container{ display: flex; flex-direction: row; @@ -38,6 +81,51 @@ color: var(--vscode-foreground); } +.python_env_actions { + display: flex; + flex-direction: row; + align-items: center; + gap: 6px; + padding: 2px 0 6px 0; +} + +.python_env_path_text { + flex: 1; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 11px; + font-family: var(--vscode-editor-font-family, monospace); + color: var(--vscode-descriptionForeground, #9d9d9d); + padding: 2px 4px; +} + +.python_env_icon_btn { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; + padding: 3px 5px; + background: transparent; + border: 1px solid transparent; + border-radius: 3px; + color: var(--vscode-foreground); + cursor: pointer; + opacity: 0.7; + transition: opacity 0.15s, border-color 0.15s; +} + +.python_env_icon_btn:hover:not(:disabled) { + opacity: 1; + border-color: var(--vscode-focusBorder, #007fd4); +} + +.python_env_icon_btn:disabled { + opacity: 0.3; + cursor: not-allowed; +} + .dropdown_select { width: 100%; padding: 6px; @@ -87,19 +175,24 @@ width: 100%; } -.open_results_view_select{ +.open_results_view_btn { width: 100%; - min-width: 200px; - height: 40px; - padding: 5px 30px 5px 10px; - border: 1px solid #05d868; - border-radius: 5px; - color: #05d868; - background-color: var(--vscode-sideBar-background); - appearance: none; - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2305d868' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); - background-repeat: no-repeat; - background-position: right 10px center; + padding: 8px; + background-color: transparent; + border: 1px solid var(--vscode-editor-foreground); + color: var(--vscode-editor-foreground); + cursor: pointer; + border-radius: 4px; + display: flex; + justify-content: center; + align-items: center; + gap: 8px; + font-size: 13px; + font-family: var(--vscode-font-family); +} + +.open_results_view_btn:hover { + background-color: var(--vscode-toolbar-hoverBackground, rgba(255,255,255,0.1)); } .view_switch_container { From dec08d8de76733306614ab66f31eca38ee8c462d Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 11:46:29 -0700 Subject: [PATCH 12/36] add python interpretor full path and copy button --- webview_ui/src/treeview/flowsheet_steps.tsx | 62 ++++++++++++--------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/webview_ui/src/treeview/flowsheet_steps.tsx b/webview_ui/src/treeview/flowsheet_steps.tsx index acca7b7..51f4916 100644 --- a/webview_ui/src/treeview/flowsheet_steps.tsx +++ b/webview_ui/src/treeview/flowsheet_steps.tsx @@ -49,6 +49,13 @@ export default function FlowsheetSteps({ idaesRunInfo, setShowConfig }: { idaesR } }; + const handleCopyInterpreterPath = () => { + const path = pythonEnvInfo?.current?.path; + if (path) { + navigator.clipboard.writeText(path); + } + }; + /** * Handle step selector checkbox change. * Selecting a step automatically selects all preceding steps (0 to index). @@ -85,8 +92,8 @@ export default function FlowsheetSteps({ idaesRunInfo, setShowConfig }: { idaesR if (initError) { return ( -
    -

    {initError}

    +
    +

    {initError}

    ) } @@ -148,9 +155,9 @@ export default function FlowsheetSteps({ idaesRunInfo, setShowConfig }: { idaesR }, [selectedIndices]); return ( -
    -
    -
    ${e} `}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` -`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Bl(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=hz(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=hz(e);if(a===null)return Bl(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new X5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new G3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=X5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Bl(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=hz(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=hz(e);if(a===null)return Bl(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new j5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new Y3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=j5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=WTe(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=jTe(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),U3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=r3e(n,e),a=s3e(a3e(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` +`)),s+=d+n[l+1]}),s}var nQ={body:'?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=KTe(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=JTe(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),j3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=s3e(n,e),a=u3e(c3e(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` `).replace(/\n{2,}/g,` `);return rQ(n)}S(oQ,"preprocessMarkdown");function lQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}S(lQ,"nonMarkdownToLines");function cQ(t,e={}){const r=oQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` `).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return S(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}S(cQ,"markdownToLines");function uQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}S(uQ,"nonMarkdownToHTML");function hQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return S(n,"output"),r.map(n).join("")}S(hQ,"markdownToHTML");function dQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}S(dQ,"splitTextToChars");function fQ(t,e){const r=dQ(e.content);return fN(t,[],r,e.type)}S(fQ,"splitWordToFitWidth");function fN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}S(fN,"splitWordToFitWidthRecursion");function pQ(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return j5(t,e)}S(pQ,"splitLineToFitWidth");function j5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return j5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return j5(t,e,r)}S(j5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Ri(e.label)?await yC(e.label.replace($t.lineBreakRegex,` -`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await U3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ri(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function H3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function W3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];H3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),W3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class Y3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class X3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let j3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*C],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...r5e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function i5e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=t5e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,C),R+=Tr(.01*R,C);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/C.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":C(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=i5e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class a5e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class s5e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new a5e(t,e),svg:(t,e)=>new s5e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",la(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var o5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=o5e,l5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=l5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),c5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),u5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),h5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),d5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),f5e=kQ,p5e={rect:kQ,squareRect:f5e,roundedWithTitle:u5e,noteGroup:c5e,divider:d5e,kanbanSection:h5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await p5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),g5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var m5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var v5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",la(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);R.push({x:F,y:$})}return R}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",la(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} - M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function Ta(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var x5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),T5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),w5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=x5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",la(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",la(e.cssClasses)).attr("style",la(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function XQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(XQ,"filledCircle");var Ez=10,kz=10;async function jQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(jQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var C5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=C5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=C.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",la(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",la(f)).attr("ry",la(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var S5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),E5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),k5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=S5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",la(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=C.path(R,T);const L=Zr(_);let O=C.path(L,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var _5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=_5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",la(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,$Te(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",la(R)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var X6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-X6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=X6*u,d=X6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=C.path(R,T),L=Zr(_),O=C.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var A5e=S((t,e,r,n,i,a)=>`M${t},${e} +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return X5(t,e)}S(pQ,"splitLineToFitWidth");function X5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return X5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return X5(t,e,r)}S(X5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Ri(e.label)?await yC(e.label.replace($t.lineBreakRegex,` +`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await j3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ri(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function X3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function K3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];X3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),K3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class Z3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class Q3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let J3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),A=Math.tan(x/4),k=4/3*i*A,R=4/3*a*A,O=[t,e],F=[t+k*T,e-R*C],$=[r+k*_,n-R*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...s5e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function l5e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=a5e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),A=Math.abs(v/2);_+=Tr(.01*_,C),A+=Tr(.01*A,C);let k=b,R=x;for(;k<0;)k+=2*Math.PI,R+=2*Math.PI;R-k>2*Math.PI&&(k=0,R=2*Math.PI);const O=(R-k)/C.curveStepCount,F=[];for(let $=k;$<=R;$+=O)F.push([T+_*Math.cos($),E+A*Math.sin($)]);return F.push([T+_*Math.cos(R),E+A*Math.sin(R)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:A}of p)switch(_){case"M":T(),b=[A[0],A[1]],v.push(b);break;case"L":C(),v.push([A[0],A[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([A[0],A[1]]),x.push([A[2],A[3]]),x.push([A[4],A[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const A=l5e(_,f);A.length&&E.push(A)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class c5e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class u5e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new c5e(t,e),svg:(t,e)=>new u5e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",la(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var h5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=h5e,d5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=d5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),f5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),p5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const A=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,A,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",A).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const R=k.node().getBBox();return e.height=R.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),g5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),m5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),y5e=kQ,v5e={rect:kQ,squareRect:y5e,roundedWithTitle:p5e,noteGroup:f5e,divider:m5e,kanbanSection:g5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await v5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),b5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var x5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var w5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",la(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const A=[];for(let k=0;k<20;k++){const R=k/19,O=T+R*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);A.push({x:F,y:$})}return A}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const A=Zr(T),k=E.path(A,_),R=u.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${f/2}, 0)`),or(e,R),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",la(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),A.insert(()=>T,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),A.insert(()=>T,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function Ta(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],A=Zr(_),k=v.path(A,b),R=u.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var S5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),E5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),k5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=S5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",la(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",la(e.cssClasses)).attr("style",la(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function jQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(jQ,"filledCircle");var Ez=10,kz=10;async function XQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(XQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var _5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=_5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const A=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),R=p+h.height+T,O=E.rectangle(-k/2,-R/2,k,R,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>A,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-R/2:R/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const A=_.node().getBBox(),k=A.width,R=A.height,O=A.x,F=A.y,$=Math.max(k,R)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-R/2-F:-h.height/2-p/2-R/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,A=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const R=C.get("fill");k.stroke=R??x;const O=A.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=A.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,A=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const R=C.get("fill");k.stroke=R??x;const O=A.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=A.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),A=h+f.height+x,k=C.rectangle(-_/2,-A/2,_,A,{...T,fill:"none",stroke:"none"}),R=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?A/2-h:-A/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),R.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",la(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",la(f)).attr("ry",la(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var A5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),L5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),R5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthA,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=A5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",la(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const A=Zr(E);let k=C.path(A,T);const R=Zr(_);let O=C.path(R,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],A=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const O=Zr(_),F=k.path(O,R),$=Zr(A),q=k.path($,R),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var D5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=D5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(A){return Jt.polygon(e,v,A)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const R=h.children[0],O=kt(h);d=R.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),A=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else A=s.insert("rect",":first-child"),k=s.insert("line"),A.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,A),e.intersect=function(R){return Jt.rect(e,R)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",la(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),A=o.insert(()=>_,":first-child");return A.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&A.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&A.selectChildren("path").attr("style",n),A.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,GTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:A}=e;_.attr("class","basic label-container").attr("style",la(A)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var j6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-j6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=j6*u,d=j6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const A=Zr(E),k=C.path(A,T),R=Zr(_),O=C.path(R,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),A=Zr(T),k=m.path(A,{...v,fillStyle:"solid"}),R=i.insert(()=>k,":first-child");return R.insert(()=>_,":first-child"),R.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var N5e=S((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} - l${-r},0`,"createCylinderPathD"),L5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),R5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=A5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",la(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var gi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-gi,10),e.height=Math.max((e?.height??0)-a*2-gi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+gi,h=(e?.height?e?.height:o.height)+a*2+gi,d=u-gi,f=h-gi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-gi,y:m-gi},{x:p-gi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-gi}],T=`M${p-gi},${m-gi} L${p+d},${m-gi} L${p+d},${m+f} L${p-gi},${m+f} L${p-gi},${m-gi} + l${-r},0`,"createCylinderPathD"),M5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),O5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=N5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",la(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],A=Zr(_),k=T.path(A,E),R=l.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var gi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-gi,10),e.height=Math.max((e?.height??0)-a*2-gi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+gi,h=(e?.height?e?.height:o.height)+a*2+gi,d=u-gi,f=h-gi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-gi,y:m-gi},{x:p-gi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-gi}],T=`M${p-gi},${m-gi} L${p+d},${m-gi} L${p+d},${m+f} L${p-gi},${m+f} L${p-gi},${m-gi} M${p-gi},${m} L${p+d},${m} - M${p},${m-gi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${gi/2}, ${gi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+gi/2-(o.x-(o.left??0))}, ${-(o.height/2)+gi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,C,R)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),D5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};us(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=eg(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&D5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await vs(o,e,{width:us(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Ri(o)&&(s=!0);const l=await vs(i,wD(Du(o)),{width:us(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,C,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await vs(i,wD(Du(e)),{width:us(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var N5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",N5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 + M${p},${m-gi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${gi/2}, ${gi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+gi/2-(o.x-(o.left??0))}, ${-(o.height/2)+gi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(A){return Jt.polygon(e,C,A)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),I5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};us(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+A+k+R);_+=ee/$,A+=ee/$,k>0&&(k+=ee/$),R>0&&(R+=ee/$)}const z=_+A+k+R,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+A:te.attr("class").includes("attribute-comment")&&(ie+=_+A+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const j=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,j),X=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>X).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,j),X=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>X).attr("class","divider"),O){const ee=_+A+V;Z=eg(ee,x.height+U,ee,M+U,j),X=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>X).attr("class","divider")}if(F){const ee=_+A+k+V;Z=eg(ee,x.height+U,ee,M+U,j),X=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>X).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,j),X=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>X).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&I5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await vs(o,e,{width:us(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Ri(o)&&(s=!0);const l=await vs(i,wD(Du(o)),{width:us(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let A=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(A=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+A,b),R=u.insert(()=>k,":first-child");R.attr("class","basic label-container outer-path");const O=R.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const j=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);j&&(V=parseFloat(j[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,j,Z){window.getComputedStyle(Z[j]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),R.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,R),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),A=sr(e,{});e.look!=="handDrawn"&&(A.roughness=0,A.fillStyle="solid");const k=_.rectangle(T,E,x,C,A),R=p.insert(()=>k,":first-child");if(R.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,A)}else F=_.line(T,O,T+x,O,A);p.insert(()=>F).attr("class","divider")}return or(e,R),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await vs(i,wD(Du(e)),{width:us(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var B5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,A=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let R;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(A,k,T,_,O||0),z):q.rectangle(A,k,T,_,z);R=o.insert(()=>D,":first-child"),R.attr("class","basic label-container").attr("style",$||null)}else{R=o.insert("rect",":first-child"),R.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",A).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=A+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",B5e(q))}}return or(e,R),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 a${h},${h} 1 0,0 ${m*.25},${-1*v*.1} a${h},${h} 1 0,0 ${m*.25},0 a${h},${h} 1 0,0 ${m*.25},0 @@ -293,25 +293,25 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error h${-(l-2*h)} q${-h},0 ${-h},${-h} Z - `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var M5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:XQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:jQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],O5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...M5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=O5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",la(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var I5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),B5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),P5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),F5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},$5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=F5e[r],u=l&&$5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),z5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Sa=new Map,q5e=S(()=>{ew.clear(),Sa.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await vs(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var XJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Sa.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Sa.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Sa.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Sa.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),V5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),G5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: + `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var P5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:jQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:XQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],F5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...P5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=F5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",la(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var $5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),z5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),q5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),V5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},G5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=V5e[r],u=l&&G5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),U5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Sa=new Map,H5e=S(()=>{ew.clear(),Sa.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await vs(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var jJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Sa.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Sa.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Sa.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Sa.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),W5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),Y5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!V5e(e,a)&&!i){const s=G5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function jJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(jJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),U5e=S(function(t){const{cornerPointPositions:e}=jJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),H5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=z5e(e.curve);b!=="rounded"&&(v=U5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=X2;break;case"cardinal":x=bj;break;case"bumpX":x=pj;break;case"bumpY":x=gj;break;case"catmullRom":x=Tj;break;case"monotoneX":x=_j;break;case"monotoneY":x=Aj;break;case"natural":x=Rj;break;case"step":x=Dj;break;case"stepAfter":x=Mj;break;case"stepBefore":x=Nj;break;case"rounded":x=A2;break;default:x=X2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,X=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?H5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",la(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";P5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&$a[e.arrowTypeStart]){const i=$a[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&$a[e.arrowTypeEnd]){const i=$a[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var W5e=S((t,e,r,n)=>{e.forEach(i=>{gwe[i](t,r,n)})},"insertMarkers"),Y5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),X5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),j5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),K5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Z5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),Q5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),J5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),ewe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),twe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),rwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),nwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),iwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),awe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),swe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),owe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),lwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),cwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),uwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),hwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!W5e(e,a)&&!i){const s=Y5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function XJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(XJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),j5e=S(function(t){const{cornerPointPositions:e}=XJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),X5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=U5e(e.curve);b!=="rounded"&&(v=j5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=j2;break;case"cardinal":x=bX;break;case"bumpX":x=pX;break;case"bumpY":x=gX;break;case"catmullRom":x=TX;break;case"monotoneX":x=_X;break;case"monotoneY":x=AX;break;case"natural":x=RX;break;case"step":x=DX;break;case"stepAfter":x=MX;break;case"stepBefore":x=NX;break;case"rounded":x=A2;break;default:x=j2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let A,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const R=Array.isArray(e.style)?e.style:[e.style];let O=R.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",A=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",R?R.reduce((U,P)=>U+";"+P,""):"");let V=A.attr("d");A.attr("d",V),t.node().appendChild(A.node())}else{const B=p.join(";"),M=R?R.reduce((Z,X)=>Z+X+";",""):"",V=(B?B+";"+M+";":M)+";"+(R?R.reduce((Z,X)=>Z+";"+X,""):"");A=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=A.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,j=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const X=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?X5e(P,H,j):`0 ${H} ${P-H-j} ${j}`}; stroke-dashoffset: 0;`;A.attr("style",X+A.attr("style"))}}A.attr("data-edge",!0),A.attr("data-et","edge"),A.attr("data-id",e.id),A.attr("data-points",m),A.attr("data-look",la(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";q5e(A,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,A.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&$a[e.arrowTypeStart]){const i=$a[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&$a[e.arrowTypeEnd]){const i=$a[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var K5e=S((t,e,r,n)=>{e.forEach(i=>{bwe[i](t,r,n)})},"insertMarkers"),Z5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),Q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),J5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),ewe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),twe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),rwe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),nwe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),iwe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),awe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),swe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),owe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),lwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),cwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),uwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),hwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),dwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),fwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),pwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),gwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`)},"requirement_arrow"),dwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L0,20`)},"requirement_arrow"),mwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),fwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),pwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),gwe={extension:Y5e,composition:X5e,aggregation:j5e,dependency:K5e,lollipop:Z5e,point:Q5e,circle:J5e,cross:ewe,barb:twe,barbNeo:rwe,only_one:nwe,zero_or_one:iwe,one_or_more:awe,zero_or_more:swe,only_one_neo:owe,zero_or_one_neo:lwe,one_or_more_neo:cwe,zero_or_more_neo:uwe,requirement_arrow:hwe,requirement_contains:fwe,requirement_arrow_neo:dwe,requirement_contains_neo:pwe},JJ=W5e,mwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:XJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),ywe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>i9e),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>HBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");ywe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,mwe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",vwe="@import",bwe="@namespace",xwe="@keyframes",Twe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function wwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function Cwe(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,$i=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function Swe(){return $i}function Ewe(){return $i=Ho>0?Mg(Gm,--Ho):0,gm--,$i===10&&(gm=1,WC--),$i}function ml(){return $i=Ho2||ab($i)>3?"":" "}function Lwe(t,e){for(;--e&&ml()&&!($i<48||$i>102||$i>57&&$i<65||$i>70&&$i<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch($i){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8($i);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function Rwe(t,e){for(;ml()&&t+$i!==57;)if(t+$i===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Dwe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function Nwe(t){return _we(y3("",null,null,null,[""],t=kwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){wwe(k+=g3(j6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=j6(C);break;case 9:case 10:case 13:case 32:k+=Awe(m);break;case 92:k+=Lwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(Mwe(Rwe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(R=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,R,R,n&&rT(Pz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&Ewe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=j6(ml())),f=zh(),h=d=ql(T=k+=Dwe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=Cwe(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function Mwe(t,e,r,n){return xN(t,e,r,tee,bN(Swe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),jwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>zPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),Kwe={id:lee,detector:Xwe,loader:jwe},Zwe=Kwe,cee="flowchart",Qwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Jwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),eCe={id:cee,detector:Qwe,loader:Jwe},tCe=eCe,uee="flowchart-v2",rCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),nCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),iCe={id:uee,detector:rCe,loader:nCe},aCe=iCe,hee="er",sCe=S(t=>/^\s*erDiagram/.test(t),"detector"),oCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>sFe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),lCe={id:hee,detector:sCe,loader:oCe},cCe=lCe,dee="gitGraph",uCe=S(t=>/^\s*gitGraph/.test(t),"detector"),hCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>fWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),dCe={id:dee,detector:uCe,loader:hCe},fCe=dCe,fee="gantt",pCe=S(t=>/^\s*gantt/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>TYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),mCe={id:fee,detector:pCe,loader:gCe},yCe=mCe,pee="info",vCe=S(t=>/^\s*info/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>LYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),xCe={id:pee,detector:vCe,loader:bCe},gee="pie",TCe=S(t=>/^\s*pie/.test(t),"detector"),wCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>WYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),CCe={id:gee,detector:TCe,loader:wCe},mee="quadrantChart",SCe=S(t=>/^\s*quadrantChart/.test(t),"detector"),ECe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>tXe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),kCe={id:mee,detector:SCe,loader:ECe},_Ce=kCe,yee="xychart",ACe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),LCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>mXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),RCe={id:yee,detector:ACe,loader:LCe},DCe=RCe,vee="requirement",NCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),MCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>SXe);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),OCe={id:vee,detector:NCe,loader:MCe},ICe=OCe,bee="sequence",BCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),PCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),FCe={id:bee,detector:BCe,loader:PCe},$Ce=FCe,xee="class",zCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),qCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Eje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),VCe={id:xee,detector:zCe,loader:qCe},GCe=VCe,Tee="classDiagram",UCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),HCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>_je);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),WCe={id:Tee,detector:UCe,loader:HCe},YCe=WCe,wee="state",XCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),jCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>mKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),KCe={id:wee,detector:XCe,loader:jCe},ZCe=KCe,Cee="stateDiagram",QCe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),JCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>vKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),eSe={id:Cee,detector:QCe,loader:JCe},tSe=eSe,See="journey",rSe=S(t=>/^\s*journey/.test(t),"detector"),nSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>zKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),iSe={id:See,detector:rSe,loader:nSe},aSe=iSe,sSe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error -`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Ui(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:sSe},oSe=Eee,lSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},cSe=lSe,kee="flowchart-elk",uSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),hSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),dSe={id:kee,detector:uSe,loader:hSe},fSe=dSe,_ee="timeline",pSe=S(t=>/^\s*timeline/.test(t),"detector"),gSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>gZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),mSe={id:_ee,detector:pSe,loader:gSe},ySe=mSe,Aee="mindmap",vSe=S(t=>/^\s*mindmap/.test(t),"detector"),bSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),xSe={id:Aee,detector:vSe,loader:bSe},TSe=xSe,Lee="kanban",wSe=S(t=>/^\s*kanban/.test(t),"detector"),CSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ZZe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),SSe={id:Lee,detector:wSe,loader:CSe},ESe=SSe,Ree="sankey",kSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>IQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),ASe={id:Ree,detector:kSe,loader:_Se},LSe=ASe,Dee="packet",RSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>WQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),NSe={id:Dee,detector:RSe,loader:DSe},Nee="radar",MSe=S(t=>/^\s*radar-beta/.test(t),"detector"),OSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>fJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),ISe={id:Nee,detector:MSe,loader:OSe},Mee="block",BSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),PSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Get);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),FSe={id:Mee,detector:BSe,loader:PSe},$Se=FSe,Oee="treeView",zSe=S(t=>/^\s*treeView-beta/.test(t),"detector"),qSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ltt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),VSe={id:Oee,detector:zSe,loader:qSe},GSe=VSe,Iee="architecture",USe=S(t=>/^\s*architecture/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Btt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),WSe={id:Iee,detector:USe,loader:HSe},YSe=WSe,Bee="ishikawa",XSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),jSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jtt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),KSe={id:Bee,detector:XSe,loader:jSe},Pee="venn",ZSe=S(t=>/^\s*venn-beta/.test(t),"detector"),QSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Frt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),JSe={id:Pee,detector:ZSe,loader:QSe},eEe=JSe,Fee="treemap",tEe=S(t=>/^\s*treemap/.test(t),"detector"),rEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>jrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),nEe={id:Fee,detector:tEe,loader:rEe},$ee="wardley-beta",iEe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),aEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>snt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),sEe={id:$ee,detector:iEe,loader:aEe},oEe=sEe,Uz=!1,XC=S(()=>{Uz||(Uz=!0,g5("error",cSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(fSe,TSe,YSe),GA(Zwe,ESe,YCe,GCe,cCe,yCe,xCe,CCe,ICe,$Ce,aCe,tCe,ySe,fCe,tSe,ZCe,aSe,_Ce,LSe,NSe,DCe,$Se,GSe,ISe,KSe,nEe,eEe,oEe))},"addDiagrams"),lEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{XA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),cEe="graphics-document document";function zee(t,e){t.attr("role",cEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=FTe(e)+` -`;try{XA(i)}catch{const u=B0e(i);if(!u)throw new rX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=XA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],uEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),hEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tX);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var dEe=S(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),fEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),pEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:ATe(t),directive:e}},"processDirectives");function TN(t){const e=dEe(t),r=fEe(e),n=pEe(r.text),i=ea(r.config,n.directive);return t=hEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var gEe=5e4,mEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",yEe="sandbox",vEe="loose",bEe="http://www.w3.org/2000/svg",xEe="http://www.w3.org/1999/xlink",TEe="http://www.w3.org/1999/xhtml",wEe="100%",CEe="100%",SEe="border:0;margin:0;",EEe="margin:0",kEe="allow-top-navigation-by-user-activation allow-popups",_Ee='The "iframe" tag is not supported by your browser.',AEe=["foreignobject"],LEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),cpe(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){XC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),REe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),ywe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),vwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),bwe={extension:Z5e,composition:Q5e,aggregation:J5e,dependency:ewe,lollipop:twe,point:rwe,circle:nwe,cross:iwe,barb:awe,barbNeo:swe,only_one:owe,zero_or_one:lwe,one_or_more:cwe,zero_or_more:uwe,only_one_neo:hwe,zero_or_one_neo:dwe,one_or_more_neo:fwe,zero_or_more_neo:pwe,requirement_arrow:gwe,requirement_contains:ywe,requirement_arrow_neo:mwe,requirement_contains_neo:vwe},JJ=K5e,xwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:jJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),Twe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>l9e),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>XBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");Twe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,xwe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",wwe="@import",Cwe="@namespace",Swe="@keyframes",Ewe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function kwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function _we(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,$i=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function Awe(){return $i}function Lwe(){return $i=Ho>0?Mg(Gm,--Ho):0,gm--,$i===10&&(gm=1,WC--),$i}function ml(){return $i=Ho2||ab($i)>3?"":" "}function Mwe(t,e){for(;--e&&ml()&&!($i<48||$i>102||$i>57&&$i<65||$i>70&&$i<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch($i){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8($i);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function Owe(t,e){for(;ml()&&t+$i!==57;)if(t+$i===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Iwe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function Bwe(t){return Dwe(y3("",null,null,null,[""],t=Rwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,A=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){kwe(k+=g3(X6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=X6(C);break;case 9:case 10:case 13:case 32:k+=Nwe(m);break;case 92:k+=Mwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(Pwe(Owe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(A=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,A,A,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,A,A,n&&rT(Pz(t,A,A,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,A,A,A,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&Lwe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=X6(ml())),f=zh(),h=d=ql(T=k+=Iwe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=_we(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function Pwe(t,e,r,n){return xN(t,e,r,tee,bN(Awe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Jwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),eCe={id:lee,detector:Qwe,loader:Jwe},tCe=eCe,cee="flowchart",rCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),nCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),iCe={id:cee,detector:rCe,loader:nCe},aCe=iCe,uee="flowchart-v2",sCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),oCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),lCe={id:uee,detector:sCe,loader:oCe},cCe=lCe,hee="er",uCe=S(t=>/^\s*erDiagram/.test(t),"detector"),hCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>uFe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),dCe={id:hee,detector:uCe,loader:hCe},fCe=dCe,dee="gitGraph",pCe=S(t=>/^\s*gitGraph/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),mCe={id:dee,detector:pCe,loader:gCe},yCe=mCe,fee="gantt",vCe=S(t=>/^\s*gantt/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>EYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),xCe={id:fee,detector:vCe,loader:bCe},TCe=xCe,pee="info",wCe=S(t=>/^\s*info/.test(t),"detector"),CCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),SCe={id:pee,detector:wCe,loader:CCe},gee="pie",ECe=S(t=>/^\s*pie/.test(t),"detector"),kCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),_Ce={id:gee,detector:ECe,loader:kCe},mee="quadrantChart",ACe=S(t=>/^\s*quadrantChart/.test(t),"detector"),LCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>aje);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),RCe={id:mee,detector:ACe,loader:LCe},DCe=RCe,yee="xychart",NCe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),MCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xje);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),OCe={id:yee,detector:NCe,loader:MCe},ICe=OCe,vee="requirement",BCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),PCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Aje);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),FCe={id:vee,detector:BCe,loader:PCe},$Ce=FCe,bee="sequence",zCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),qCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>CXe);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),VCe={id:bee,detector:zCe,loader:qCe},GCe=VCe,xee="class",UCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),HCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>LXe);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),WCe={id:xee,detector:UCe,loader:HCe},YCe=WCe,Tee="classDiagram",jCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),XCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DXe);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),KCe={id:Tee,detector:jCe,loader:XCe},ZCe=KCe,wee="state",QCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),JCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),eSe={id:wee,detector:QCe,loader:JCe},tSe=eSe,Cee="stateDiagram",rSe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),nSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>wKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),iSe={id:Cee,detector:rSe,loader:nSe},aSe=iSe,See="journey",sSe=S(t=>/^\s*journey/.test(t),"detector"),oSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),lSe={id:See,detector:sSe,loader:oSe},cSe=lSe,uSe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error +`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Ui(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:uSe},hSe=Eee,dSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},fSe=dSe,kee="flowchart-elk",pSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),gSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),mSe={id:kee,detector:pSe,loader:gSe},ySe=mSe,_ee="timeline",vSe=S(t=>/^\s*timeline/.test(t),"detector"),bSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),xSe={id:_ee,detector:vSe,loader:bSe},TSe=xSe,Aee="mindmap",wSe=S(t=>/^\s*mindmap/.test(t),"detector"),CSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>IZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),SSe={id:Aee,detector:wSe,loader:CSe},ESe=SSe,Lee="kanban",kSe=S(t=>/^\s*kanban/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>tQe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),ASe={id:Lee,detector:kSe,loader:_Se},LSe=ASe,Ree="sankey",RSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Qe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),NSe={id:Ree,detector:RSe,loader:DSe},MSe=NSe,Dee="packet",OSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),ISe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),BSe={id:Dee,detector:OSe,loader:ISe},Nee="radar",PSe=S(t=>/^\s*radar-beta/.test(t),"detector"),FSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),$Se={id:Nee,detector:PSe,loader:FSe},Mee="block",zSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),qSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Yet);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),VSe={id:Mee,detector:zSe,loader:qSe},GSe=VSe,Oee="treeView",USe=S(t=>/^\s*treeView-beta/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dtt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),WSe={id:Oee,detector:USe,loader:HSe},YSe=WSe,Iee="architecture",jSe=S(t=>/^\s*architecture/.test(t),"detector"),XSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ztt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),KSe={id:Iee,detector:jSe,loader:XSe},ZSe=KSe,Bee="ishikawa",QSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),JSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nrt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),eEe={id:Bee,detector:QSe,loader:JSe},Pee="venn",tEe=S(t=>/^\s*venn-beta/.test(t),"detector"),rEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Vrt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),nEe={id:Pee,detector:tEe,loader:rEe},iEe=nEe,Fee="treemap",aEe=S(t=>/^\s*treemap/.test(t),"detector"),sEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),oEe={id:Fee,detector:aEe,loader:sEe},$ee="wardley-beta",lEe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),cEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>unt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),uEe={id:$ee,detector:lEe,loader:cEe},hEe=uEe,Uz=!1,jC=S(()=>{Uz||(Uz=!0,g5("error",fSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(ySe,ESe,ZSe),GA(tCe,LSe,ZCe,YCe,fCe,TCe,SCe,_Ce,$Ce,GCe,cCe,aCe,TSe,yCe,aSe,tSe,cSe,DCe,MSe,BSe,ICe,GSe,YSe,$Se,eEe,oEe,iEe,hEe))},"addDiagrams"),dEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{jA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),fEe="graphics-document document";function zee(t,e){t.attr("role",fEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=VTe(e)+` +`;try{jA(i)}catch{const u=z0e(i);if(!u)throw new rj(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=jA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],pEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),gEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tj);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var mEe=S(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),yEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),vEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:NTe(t),directive:e}},"processDirectives");function TN(t){const e=mEe(t),r=yEe(e),n=vEe(r.text),i=ea(r.config,n.directive);return t=gEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var bEe=5e4,xEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",TEe="sandbox",wEe="loose",CEe="http://www.w3.org/2000/svg",SEe="http://www.w3.org/1999/xlink",EEe="http://www.w3.org/1999/xhtml",kEe="100%",_Ee="100%",AEe="border:0;margin:0;",LEe="margin:0",REe="allow-top-navigation-by-user-activation allow-popups",DEe='The "iframe" tag is not supported by your browser.',NEe=["foreignobject"],MEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),fpe(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){jC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),OEe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),DEe=S((t,e,r,n)=>{const i=REe(t,r),a=_pe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(Nwe(`${n}{${a}}`),Owe)},"createUserStyles"),NEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),MEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":CEe,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",bEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var OEe=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),IEe=S(async function(t,e,r){XC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??gEe)&&(e=mEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===yEe,p=i.securityLevel===vEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,xEe)}else{if(OEe(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=DEe(i,C,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():oSe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",TEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=NEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=MEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:AEe,ADD_ATTR:LEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(uEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=_i({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),ope(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?spe(e):sX();fD(r.logLevel),XC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:IEe,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oX,getSiteConfig:sX,updateSiteConfig:lpe,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var BEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Xee=S(async function(t={querySelector:".mermaid"}){try{await PEe(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),PEe=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){BEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),jee=S(function(t){c0.initialize(t)},"initialize"),FEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&jee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Xee(n)},"init"),$Ee=S(async(t,{lazyLoad:e=!0}={})=>{XC(),GA(...t),e===!1&&await lEe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var zEe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),qEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),VEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:qEe,render:Qee,init:FEe,run:Xee,registerExternalDiagrams:$Ee,registerLayoutLoaders:eee,initialize:jee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:zEe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:VEe},Xz=Nu;function nT(t){dl.postMessage(t)}const GEe="_mermaid_container_lewih_1",UEe="_diagram_container_lewih_17",HEe="_diagram_lewih_17",Z6={mermaid_container:GEe,diagram_container:UEe,diagram:HEe};function WEe(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=Kt.useRef(null),r=Kt.useRef(0),[n,i]=Kt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Kt.useEffect(()=>{Xz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Kt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),IEe=S((t,e,r,n)=>{const i=OEe(t,r),a=Dpe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(Bwe(`${n}{${a}}`),Fwe)},"createUserStyles"),BEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),PEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":_Ee,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",CEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var FEe=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),$Ee=S(async function(t,e,r){jC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??bEe)&&(e=xEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===TEe,p=i.securityLevel===wEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,SEe)}else{if(FEe(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),A=IEe(i,C,_,a),k=document.createElement("style");k.innerHTML=A,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():hSe.draw(e,t,"11.14.0"),q}const R=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,R,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",EEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=BEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=PEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:NEe,ADD_ATTR:MEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(pEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=_i({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),hpe(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?upe(e):sj();fD(r.logLevel),jC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:$Ee,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oj,getSiteConfig:sj,updateSiteConfig:dpe,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var zEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),jee=S(async function(t={querySelector:".mermaid"}){try{await qEe(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),qEe=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){zEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),Xee=S(function(t){c0.initialize(t)},"initialize"),VEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&Xee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await jee(n)},"init"),GEe=S(async(t,{lazyLoad:e=!0}={})=>{jC(),GA(...t),e===!1&&await dEe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var UEe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),HEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),WEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:HEe,render:Qee,init:VEe,run:jee,registerExternalDiagrams:GEe,registerLayoutLoaders:eee,initialize:Xee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:UEe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:WEe},jz=Nu;function nT(t){dl.postMessage(t)}const YEe="_mermaid_container_lewih_1",jEe="_diagram_container_lewih_17",XEe="_diagram_lewih_17",Z6={mermaid_container:YEe,diagram_container:jEe,diagram:XEe};function KEe(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=jt.useRef(null),r=jt.useRef(0),[n,i]=jt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return jt.useEffect(()=>{jz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),jt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=`

    No Diagram Available Yet

    Click Run in the IDAES Tree View to execute the flowsheet and generate a diagram.

    @@ -342,11 +342,11 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` Extension returned Mermaid content is: ${u.join(", ")}

    `,nT({reload_mermaid:"done"});return}const h=u.join(` `);console.log(`mermaid diagram text: -${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p}=await Xz.render(f,h);e.current&&(e.current.innerHTML=p)}catch(f){console.error("mermaid render error:",f),e.current&&(e.current.innerHTML=` +${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p}=await jz.render(f,h);e.current&&(e.current.innerHTML=p)}catch(f){console.error("mermaid render error:",f),e.current&&(e.current.innerHTML=`

    Mermaid render error: ${f}

    -
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const YEe="_ipopt_container_87gan_1",XEe="_solver_output_87gan_11",jEe="_tabs_87gan_35",KEe="_tab_87gan_35",ZEe="_tab_active_87gan_58",QEe="_tab_content_87gan_64",JEe="_run_error_87gan_73",eke="_run_error_title_87gan_82",tke="_run_error_body_87gan_87",rke="_run_error_hint_87gan_92",Ba={ipopt_container:YEe,solver_output:XEe,tabs:jEe,tab:KEe,tab_active:ZEe,tab_content:QEe,run_error:JEe,run_error_title:eke,run_error_body:tke,run_error_hint:rke};function jz(t){if(!t)return"No solver output available for this step.";const e=t.split(` +
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const ZEe="_ipopt_container_87gan_1",QEe="_solver_output_87gan_11",JEe="_tabs_87gan_35",eke="_tab_87gan_35",tke="_tab_active_87gan_58",rke="_tab_content_87gan_64",nke="_run_error_87gan_73",ike="_run_error_title_87gan_82",ake="_run_error_body_87gan_87",ske="_run_error_hint_87gan_92",Ba={ipopt_container:ZEe,solver_output:QEe,tabs:JEe,tab:eke,tab_active:tke,tab_content:rke,run_error:nke,run_error_title:ike,run_error_body:ake,run_error_hint:ske};function Xz(t){if(!t)return"No solver output available for this step.";const e=t.split(` `);let r=0;for(let n=0;n0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:jz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const ike="_container_1qp2h_2",ake="_empty_msg_1qp2h_15",ske="_tabs_1qp2h_21",oke="_tab_1qp2h_21",lke="_tab_active_1qp2h_43",cke="_tab_content_1qp2h_49",uke="_group_1qp2h_54",hke="_group_header_1qp2h_58",dke="_group_title_1qp2h_65",fke="_badge_warning_1qp2h_70",pke="_badge_caution_1qp2h_84",gke="_toggle_btns_1qp2h_99",mke="_toggle_btn_1qp2h_99",yke="_toggle_sep_1qp2h_115",vke="_group_body_1qp2h_121",bke="_summary_item_1qp2h_127",xke="_summary_line_1qp2h_131",Tke="_clickable_1qp2h_140",wke="_arrow_1qp2h_149",Cke="_summary_count_1qp2h_156",Ske="_summary_text_1qp2h_163",Eke="_detail_list_1qp2h_168",kke="_run_error_1qp2h_189",_ke="_run_error_title_1qp2h_198",Ake="_run_error_body_1qp2h_203",Lke="_run_error_hint_1qp2h_208",jr={container:ike,empty_msg:ake,tabs:ske,tab:oke,tab_active:lke,tab_content:cke,group:uke,group_header:hke,group_title:dke,badge_warning:fke,badge_caution:pke,toggle_btns:gke,toggle_btn:mke,toggle_sep:yke,group_body:vke,summary_item:bke,summary_line:xke,clickable:Tke,arrow:wke,summary_count:Cke,summary_text:Ske,detail_list:Eke,run_error:kke,run_error_title:_ke,run_error_body:Ake,run_error_hint:Lke};function X8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Rke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Dke({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:jr.summary_item,children:[Ae.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:jr.summary_count,children:t.count}),Ae.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Kt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:jr.group,children:[Ae.jsxs("div",{className:jr.group_header,children:[Ae.jsx("span",{className:jr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:jr.toggle_btns,children:[Ae.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:jr.toggle_sep,children:"|"}),Ae.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:jr.group_body,children:[r.length===0&&Ae.jsx("div",{className:jr.summary_line,children:Ae.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Dke,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Nke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:X8(i.bounds),names:i.names};Rke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Mke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:X8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Oke(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=Kt.useState("structure");if(!e)return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.run_error,children:[Ae.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:jr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:jr.tabs,children:[Ae.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&Ae.jsx(Nke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Mke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Kt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Kt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",Ike(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function Ike(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function j8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(j8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>j8(u,h,e)),o=o.filter(([u,h])=>j8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function Bke({data:t,dofSteps:e}){const[r,n]=Kt.useState(""),[i,a]=Kt.useState(!1),[s,o]=Kt.useState(0),l=Kt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Kt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(Pke,{data:t,searchTerm:l})]})}function Pke({data:t,searchTerm:e}){return Kt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Fke="_run_error_nknwf_18",$ke="_run_error_title_nknwf_27",zke="_run_error_body_nknwf_32",qke="_run_error_hint_nknwf_37",iT={run_error:Fke,run_error_title:$ke,run_error_body:zke,run_error_hint:qke};function Vke(){const{flowsheetRunnerResult:t}=Kt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(Bke,{data:r,dofSteps:i})]})}const Gke="_tabs_1froz_2",Uke="_tab_1froz_2",Hke="_tab_active_1froz_24",Wke="_logs_main_container_1froz_30",Yke="_tab_content_1froz_39",Xke="_content_section_1froz_47",jke="_logs_container_1froz_54",Kke="_logs_header_1froz_67",Zke="_logs_title_1froz_76",Qke="_clear_logs_button_1froz_82",Jke="_log_item_1froz_96",e6e="_no_logs_1froz_104",Pi={tabs:Gke,tab:Uke,tab_active:Hke,logs_main_container:Wke,tab_content:Yke,content_section:Xke,logs_container:jke,logs_header:Kke,logs_title:Zke,clear_logs_button:Qke,log_item:Jke,no_logs:e6e};function t6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Kt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function r6e(){const{terminalLogs:t,setTerminalLogs:e}=Kt.useContext(Da),r=Kt.useRef(null);Kt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function n6e(){const{activeLogTab:t,setActiveLogTab:e}=Kt.useContext(Da);return Kt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(t6e,{}),t==="terminal"&&Ae.jsx(r6e,{})]})]})}const i6e="_main_display_container_xlfzb_1",a6e="_nav_xlfzb_11",s6e="_nav_item_xlfzb_25",o6e="_nav_item_active_xlfzb_44",l6e="_blue_dot_xlfzb_49",Rs={main_display_container:i6e,nav:a6e,nav_item:s6e,nav_item_active:o6e,blue_dot:l6e};function c6e(){const[t,e]=Kt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Kt.useContext(Da),[i,a]=Kt.useState(!1),s=Kt.useRef(r.length),{flowsheetRunnerResult:o}=Kt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;Kt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Kt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(WEe,{});break;case"variable":u=Ae.jsx(Vke,{});break;case"ipopt":u=Ae.jsx(nke,{});break;case"diagnostics":u=Ae.jsx(Oke,{});break;case"logs":u=Ae.jsx(n6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${Rs.main_display_container}`,children:[Ae.jsxs("ul",{className:`${Rs.nav}`,children:[Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagram"?Rs.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="variable"?Rs.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagnostics"?Rs.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="ipopt"?Rs.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Ae.jsx("span",{className:`${Rs.blue_dot}`})]}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="logs"?Rs.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${Rs.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function u6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p,setPythonEnvInfo:m}=Kt.useContext(Da),[v,b]=Kt.useState(""),[x,C]=Kt.useState(!1);function T(E){let _;switch(console.log(`Now loading page: ${E}`),E){case"editor":_=Ae.jsx(t0e,{});break;case"webView":console.log("loading web view page"),_=Ae.jsx(c6e,{});break;case"treeView":console.log("loading tree page"),_=Ae.jsx(e0e,{});break;case"error":console.log(`Encounter an error: ${E}`);break;default:console.log("Unknown message type:",E);break}return _}return Kt.useEffect(()=>{if(!n)return;const E=n.actions?.diagnostics;if(E?.valid!==!1)return;const _=n.last_run??[],R=`[${new Date().toLocaleTimeString()}]`;s(k=>[...k,`${R} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${_.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:E,last_run:_})}`,`${R} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:_})}`,`${R} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:_})}`,`${R} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:_})}`])},[n]),Kt.useEffect(()=>{window.addEventListener("message",E=>{const _=E.data;switch(_.type){case"init":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content),r(_.fileName),t(_.idaesRunInfo),b(_.loadApp),l(!1),_.osPlatform&&p(_.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",_),_.isLoading!==void 0&&(console.log("Calling setIsLoading with:",_.isLoading),l(_.isLoading)),r(_.activate_tab_name),_.idaesRunInfo!==void 0&&t(_.idaesRunInfo),_.initError?u(_.initError):(_.initError===null||_.isLoading)&&u(null),_.open_python_files!==void 0&&h(_.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",_),m({current:_.current??null,envs:_.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),_.open_python_files!==void 0&&h(_.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(_)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(_.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(_)}`),a(_.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(_)}`),s(R=>{const k=`[${new Date().toLocaleTimeString()}] ${_.message||JSON.stringify(_)}`;return[...R,k]});break;case"terminal_log":o(R=>[...R,_.data]);break;case"start_new_run":i(null),f(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),C(!1),setTimeout(()=>C(!0),10);break;case"history_update":console.log(`Received history list length: ${_.data?.length}`),d(_.data);break;default:console.log("Unknown message type:",JSON.stringify(_));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:x?"flash-highlight":"",onAnimationEnd:()=>C(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:T(v)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(Kt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(u6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(h6e,"-$1").toLowerCase(),d6e={"&":"&",">":">","<":"<",'"':""","'":"'"},f6e=/[&><"']/g,Ua=t=>String(t).replace(f6e,e=>d6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,p6e=new Set(["mathord","textord","atom"]),Vu=t=>p6e.has(v3(t).type),g6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function m6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:m6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=g6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[y6e[this.id]]}sub(){return Ul[v6e[this.id]]}fracNum(){return Ul[b6e[this.id]]}fracDen(){return Ul[x6e[this.id]]}cramp(){return Ul[T6e[this.id]]}text(){return Ul[w6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],y6e=[lb,zo,lb,zo,mm,cs,mm,cs],v6e=[zo,zo,zo,zo,cs,cs,cs,cs],b6e=[Ig,wu,lb,zo,mm,cs,mm,cs],x6e=[wu,wu,zo,zo,cs,cs,cs,cs],T6e=[iw,iw,wu,wu,zo,zo,cs,cs],w6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function C6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var ji=t=>t+" "+t,Mp=80,S6e=function(e,r){return"M95,"+(622+e+r)+` +`).trimStart();return t}function oke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),[e,r]=jt.useState("initial"),n=t?.actions?.diagnostics,i=!!t&&n?.valid===!1,a=t?.actions?.solver_output?.output||t?.actions?.capture_solver_output?.solver_logs;if(!t)return Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]});if(i){const s=t.last_run??[];return Ae.jsxs("div",{className:Ba.ipopt_container,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsxs("div",{className:Ba.run_error,children:[Ae.jsx("p",{className:Ba.run_error_title,children:"fi-run has issues: Solver Output Unavailable"}),Ae.jsxs("p",{className:Ba.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",s.length>0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const lke="_container_1qp2h_2",cke="_empty_msg_1qp2h_15",uke="_tabs_1qp2h_21",hke="_tab_1qp2h_21",dke="_tab_active_1qp2h_43",fke="_tab_content_1qp2h_49",pke="_group_1qp2h_54",gke="_group_header_1qp2h_58",mke="_group_title_1qp2h_65",yke="_badge_warning_1qp2h_70",vke="_badge_caution_1qp2h_84",bke="_toggle_btns_1qp2h_99",xke="_toggle_btn_1qp2h_99",Tke="_toggle_sep_1qp2h_115",wke="_group_body_1qp2h_121",Cke="_summary_item_1qp2h_127",Ske="_summary_line_1qp2h_131",Eke="_clickable_1qp2h_140",kke="_arrow_1qp2h_149",_ke="_summary_count_1qp2h_156",Ake="_summary_text_1qp2h_163",Lke="_detail_list_1qp2h_168",Rke="_run_error_1qp2h_189",Dke="_run_error_title_1qp2h_198",Nke="_run_error_body_1qp2h_203",Mke="_run_error_hint_1qp2h_208",Xr={container:lke,empty_msg:cke,tabs:uke,tab:hke,tab_active:dke,tab_content:fke,group:pke,group_header:gke,group_title:mke,badge_warning:yke,badge_caution:vke,toggle_btns:bke,toggle_btn:xke,toggle_sep:Tke,group_body:wke,summary_item:Cke,summary_line:Ske,clickable:Eke,arrow:kke,summary_count:_ke,summary_text:Ake,detail_list:Lke,run_error:Rke,run_error_title:Dke,run_error_body:Nke,run_error_hint:Mke};function j8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Oke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ike({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:Xr.summary_item,children:[Ae.jsxs("div",{className:`${Xr.summary_line} ${n?Xr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:Xr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:Xr.summary_count,children:t.count}),Ae.jsxs("span",{className:Xr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:Xr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=jt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:Xr.group,children:[Ae.jsxs("div",{className:Xr.group_header,children:[Ae.jsx("span",{className:Xr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:Xr.toggle_btns,children:[Ae.jsx("span",{className:Xr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:Xr.toggle_sep,children:"|"}),Ae.jsx("span",{className:Xr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:Xr.group_body,children:[r.length===0&&Ae.jsx("div",{className:Xr.summary_line,children:Ae.jsx("span",{className:Xr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ike,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Bke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:j8(i.bounds),names:i.names};Oke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Pke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Fke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=jt.useState("structure");if(!e)return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:Xr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.run_error,children:[Ae.jsx("p",{className:Xr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:Xr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:Xr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.tabs,children:[Ae.jsx("span",{className:`${Xr.tab} ${r==="structure"?Xr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${Xr.tab} ${r==="numerical"?Xr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:Xr.tab_content,children:[r==="structure"&&Ae.jsx(Bke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Pke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=jt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=jt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",$ke(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function $ke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function X8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(X8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>X8(u,h,e)),o=o.filter(([u,h])=>X8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function zke({data:t,dofSteps:e}){const[r,n]=jt.useState(""),[i,a]=jt.useState(!1),[s,o]=jt.useState(0),l=jt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=jt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(qke,{data:t,searchTerm:l})]})}function qke({data:t,searchTerm:e}){return jt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Vke="_run_error_nknwf_18",Gke="_run_error_title_nknwf_27",Uke="_run_error_body_nknwf_32",Hke="_run_error_hint_nknwf_37",iT={run_error:Vke,run_error_title:Gke,run_error_body:Uke,run_error_hint:Hke};function Wke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(zke,{data:r,dofSteps:i})]})}const Yke="_tabs_1froz_2",jke="_tab_1froz_2",Xke="_tab_active_1froz_24",Kke="_logs_main_container_1froz_30",Zke="_tab_content_1froz_39",Qke="_content_section_1froz_47",Jke="_logs_container_1froz_54",e6e="_logs_header_1froz_67",t6e="_logs_title_1froz_76",r6e="_clear_logs_button_1froz_82",n6e="_log_item_1froz_96",i6e="_no_logs_1froz_104",Pi={tabs:Yke,tab:jke,tab_active:Xke,logs_main_container:Kke,tab_content:Zke,content_section:Qke,logs_container:Jke,logs_header:e6e,logs_title:t6e,clear_logs_button:r6e,log_item:n6e,no_logs:i6e};function a6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=jt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function s6e(){const{terminalLogs:t,setTerminalLogs:e}=jt.useContext(Da),r=jt.useRef(null);jt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function o6e(){const{activeLogTab:t,setActiveLogTab:e}=jt.useContext(Da);return jt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(a6e,{}),t==="terminal"&&Ae.jsx(s6e,{})]})]})}const l6e="_main_display_container_xlfzb_1",c6e="_nav_xlfzb_11",u6e="_nav_item_xlfzb_25",h6e="_nav_item_active_xlfzb_44",d6e="_blue_dot_xlfzb_49",Rs={main_display_container:l6e,nav:c6e,nav_item:u6e,nav_item_active:h6e,blue_dot:d6e};function f6e(){const[t,e]=jt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=jt.useContext(Da),[i,a]=jt.useState(!1),s=jt.useRef(r.length),{flowsheetRunnerResult:o}=jt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;jt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),jt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(KEe,{});break;case"variable":u=Ae.jsx(Wke,{});break;case"ipopt":u=Ae.jsx(oke,{});break;case"diagnostics":u=Ae.jsx(Fke,{});break;case"logs":u=Ae.jsx(o6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${Rs.main_display_container}`,children:[Ae.jsxs("ul",{className:`${Rs.nav}`,children:[Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagram"?Rs.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="variable"?Rs.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagnostics"?Rs.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="ipopt"?Rs.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Ae.jsx("span",{className:`${Rs.blue_dot}`})]}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="logs"?Rs.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${Rs.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function p6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setPackageWarnings:h,setOpenPythonFiles:d,setIdaesHistoryList:f,setMermaidDiagram:p,setOsPlatform:m,setPythonEnvInfo:v}=jt.useContext(Da),[b,x]=jt.useState(""),[C,T]=jt.useState(!1);function E(_){let A;switch(console.log(`Now loading page: ${_}`),_){case"editor":A=Ae.jsx(a0e,{});break;case"webView":console.log("loading web view page"),A=Ae.jsx(f6e,{});break;case"treeView":console.log("loading tree page"),A=Ae.jsx(i0e,{});break;case"error":console.log(`Encounter an error: ${_}`);break;default:console.log("Unknown message type:",_);break}return A}return jt.useEffect(()=>{if(!n)return;const _=n.actions?.diagnostics;if(_?.valid!==!1)return;const A=n.last_run??[],k=`[${new Date().toLocaleTimeString()}]`;s(R=>[...R,`${k} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${A.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:_,last_run:A})}`,`${k} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:A})}`,`${k} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:A})}`,`${k} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:A})}`])},[n]),jt.useEffect(()=>{window.addEventListener("message",_=>{const A=_.data;switch(A.type){case"init":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content),r(A.fileName),t(A.idaesRunInfo),x(A.loadApp),l(!1),A.osPlatform&&m(A.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",A),A.isLoading!==void 0&&(console.log("Calling setIsLoading with:",A.isLoading),l(A.isLoading)),r(A.activate_tab_name),A.idaesRunInfo!==void 0&&t(A.idaesRunInfo),A.initError?u(A.initError):(A.initError===null||A.isLoading)&&u(null),A.isLoading?h(null):A.packageWarnings!==void 0&&h(A.packageWarnings),A.open_python_files!==void 0&&d(A.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",A),v({current:A.current??null,envs:A.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),A.open_python_files!==void 0&&d(A.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(A)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(A.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(A)}`),s(k=>{const R=`[${new Date().toLocaleTimeString()}] ${A.message||JSON.stringify(A)}`;return[...k,R]});break;case"terminal_log":o(k=>[...k,A.data]);break;case"start_new_run":i(null),p(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),T(!1),setTimeout(()=>T(!0),10);break;case"history_update":console.log(`Received history list length: ${A.data?.length}`),f(A.data);break;default:console.log("Unknown message type:",JSON.stringify(A));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:C?"flash-highlight":"",onAnimationEnd:()=>T(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:E(b)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(jt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(p6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(g6e,"-$1").toLowerCase(),m6e={"&":"&",">":">","<":"<",'"':""","'":"'"},y6e=/[&><"']/g,Ua=t=>String(t).replace(y6e,e=>m6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,v6e=new Set(["mathord","textord","atom"]),Vu=t=>v6e.has(v3(t).type),b6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function x6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:x6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=b6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[T6e[this.id]]}sub(){return Ul[w6e[this.id]]}fracNum(){return Ul[C6e[this.id]]}fracDen(){return Ul[S6e[this.id]]}cramp(){return Ul[E6e[this.id]]}text(){return Ul[k6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],T6e=[lb,zo,lb,zo,mm,cs,mm,cs],w6e=[zo,zo,zo,zo,cs,cs,cs,cs],C6e=[Ig,wu,lb,zo,mm,cs,mm,cs],S6e=[wu,wu,zo,zo,cs,cs,cs,cs],E6e=[iw,iw,wu,wu,zo,zo,cs,cs],k6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function _6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,A6e=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -357,7 +357,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},E6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},L6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -367,7 +367,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},k6e=function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},R6e=function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -376,7 +376,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},_6e=function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},D6e=function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -386,18 +386,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},A6e=function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},N6e=function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},L6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},R6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},M6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},O6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},D6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=S6e(r,Mp);break;case"sqrtSize1":i=E6e(r,Mp);break;case"sqrtSize2":i=k6e(r,Mp);break;case"sqrtSize3":i=_6e(r,Mp);break;case"sqrtSize4":i=A6e(r,Mp);break;case"sqrtTall":i=R6e(r,Mp,n)}return i},N6e=function(e,r){switch(e){case"⎜":return ji("M291 0 H417 V"+r+" H291z");case"∣":return ji("M145 0 H188 V"+r+" H145z");case"∥":return ji("M145 0 H188 V"+r+" H145z")+ji("M367 0 H410 V"+r+" H367z");case"⎟":return ji("M457 0 H583 V"+r+" H457z");case"⎢":return ji("M319 0 H403 V"+r+" H319z");case"⎥":return ji("M263 0 H347 V"+r+" H263z");case"⎪":return ji("M384 0 H504 V"+r+" H384z");case"⏐":return ji("M312 0 H355 V"+r+" H312z");case"‖":return ji("M257 0 H300 V"+r+" H257z")+ji("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},I6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=A6e(r,Mp);break;case"sqrtSize1":i=L6e(r,Mp);break;case"sqrtSize2":i=R6e(r,Mp);break;case"sqrtSize3":i=D6e(r,Mp);break;case"sqrtSize4":i=N6e(r,Mp);break;case"sqrtTall":i=O6e(r,Mp,n)}return i},B6e=function(e,r){switch(e){case"⎜":return Xi("M291 0 H417 V"+r+" H291z");case"∣":return Xi("M145 0 H188 V"+r+" H145z");case"∥":return Xi("M145 0 H188 V"+r+" H145z")+Xi("M367 0 H410 V"+r+" H367z");case"⎟":return Xi("M457 0 H583 V"+r+" H457z");case"⎢":return Xi("M319 0 H403 V"+r+" H319z");case"⎥":return Xi("M263 0 H347 V"+r+" H263z");case"⎪":return Xi("M384 0 H504 V"+r+" H384z");case"⏐":return Xi("M312 0 H355 V"+r+" H312z");case"‖":return Xi("M257 0 H300 V"+r+" H257z")+Xi("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 @@ -443,10 +443,10 @@ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 - 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:ji("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:ji("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:ji("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:ji("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Xi("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:Xi("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:Xi("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:Xi("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 - 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:ji("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Xi("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334 c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 @@ -495,7 +495,7 @@ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 - 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:ji("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:ji("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:ji("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Xi("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:Xi("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:Xi("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 @@ -568,7 +568,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},M6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},P6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -596,38 +596,38 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},O6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in O6e||e==="ex"},ni=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ua(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ua(n)+'"');for(var a of Object.keys(this.attributes)){if(I6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ua(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let jC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class B6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ua(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ua(n)+'"');var a=Ua(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var z6e=t=>t instanceof Hm||t instanceof jC||t instanceof Um,Xl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){Xl[t]=e}function _N(t,e,r){if(!Xl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Xl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=Xl[e][n]),!i&&r==="text"&&rte(n)&&(i=Xl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function q6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var V6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},G6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Xn={math:{},text:{}};function K(t,e,r,n,i,a){Xn[t][i]={font:e,group:r,replace:n},a&&n&&(Xn[t][n]=Xn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Qn="accent-token",er="bin",bs="close",Wm="inner",mr="mathord",Hi="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Hi,"∐","\\coprod");K(J,ce,Hi,"⋁","\\bigvee");K(J,ce,Hi,"⋀","\\bigwedge");K(J,ce,Hi,"⨄","\\biguplus");K(J,ce,Hi,"⋂","\\bigcap");K(J,ce,Hi,"⋃","\\bigcup");K(J,ce,Hi,"∫","\\int");K(J,ce,Hi,"∫","\\intop");K(J,ce,Hi,"∬","\\iint");K(J,ce,Hi,"∭","\\iiint");K(J,ce,Hi,"∏","\\prod");K(J,ce,Hi,"∑","\\sum");K(J,ce,Hi,"⨂","\\bigotimes");K(J,ce,Hi,"⨁","\\bigoplus");K(J,ce,Hi,"⨀","\\bigodot");K(J,ce,Hi,"∮","\\oint");K(J,ce,Hi,"∯","\\oiint");K(J,ce,Hi,"∰","\\oiiint");K(J,ce,Hi,"⨆","\\bigsqcup");K(J,ce,Hi,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Qn,"ˊ","\\acute");K(J,ce,Qn,"ˋ","\\grave");K(J,ce,Qn,"¨","\\ddot");K(J,ce,Qn,"~","\\tilde");K(J,ce,Qn,"ˉ","\\bar");K(J,ce,Qn,"˘","\\breve");K(J,ce,Qn,"ˇ","\\check");K(J,ce,Qn,"^","\\hat");K(J,ce,Qn,"⃗","\\vec");K(J,ce,Qn,"˙","\\dot");K(J,ce,Qn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Qn,"ˊ","\\'");K(Ot,ce,Qn,"ˋ","\\`");K(Ot,ce,Qn,"ˆ","\\^");K(Ot,ce,Qn,"˜","\\~");K(Ot,ce,Qn,"ˉ","\\=");K(Ot,ce,Qn,"˘","\\u");K(Ot,ce,Qn,"˙","\\.");K(Ot,ce,Qn,"¸","\\c");K(Ot,ce,Qn,"˚","\\r");K(Ot,ce,Qn,"ˇ","\\v");K(Ot,ce,Qn,"¨",'\\"');K(Ot,ce,Qn,"˝","\\H");K(Ot,ce,Qn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=H6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},Y6e=function(e,r,n,i){var a=new jC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},X6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ni(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ri={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},j6e={mord:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mop:{mord:ri,mop:ri,mrel:Vc,minner:ri},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mpunct:{mord:ri,mop:ri,mrel:Vc,mopen:ri,mclose:ri,mpunct:ri,minner:ri},minner:{mord:ri,mop:ri,mbin:rf,mrel:Vc,mopen:ri,mpunct:ri,minner:ri}},K6e={mord:{mop:ri},mop:{mord:ri,mop:ri},mbin:{},mrel:{},mopen:{},mclose:{mop:ri},mpunct:{},minner:{mop:ri}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&Q6e.has(x)?v.classes[0]="mord":x==="mbin"&&Z6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=K6e[C])==null?void 0:b[T]:(x=j6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof jC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return e_e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ta(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ta(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ua(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class qi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ua(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var t_e=new Set(["\\imath","\\jmath"]),r_e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return Xn[r][e]&&Xn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Xn[r][e].replace),new qi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(t_e.has(a))return null;if(Xn[i][a]){var s=Xn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof qi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof qi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Rn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof qi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof qi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Rn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&r_e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new qi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var n_e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:n_e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=q6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},i_e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},a_e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},s_e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new qi(s_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},o_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},l_e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(l_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=o_e[l],[T,E,_]=C,R=_/1e3,k=T.length,L,O;if(k===1){var F=C[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},c_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||G6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(z6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=$6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=F6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Rn(t.base,e),r]);return n.setAttribute("accent","true"),n},u_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!u_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Rn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Rn(t.body,e));if(t.below){var a=hT(Rn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Rn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ta(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:zi(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:zi(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:zi(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:zi(e[0])}},htmlBuilder(t,e){var r=ta(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var h_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",d_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function f_e(t,e,r){var n=h_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function p_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=f_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Rn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Rn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ta(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:zi(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ni(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ni(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},g_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=g_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=Xn.math[e]&&Xn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},m_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},y_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=y_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=Xl["Size4-Regular"][e.charCodeAt(0)]?Xl["Size4-Regular"][e.charCodeAt(0)][4]:Xl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",N6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},v_e=new Set(["|","\\lvert","\\rvert","\\vert"]),b_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):v_e.has(e)?(u="∣",d="vert",f=333):b_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var R=i2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=M6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=D6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},x_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),T_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(T_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},w_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],C_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],S_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=w_e:Rte.has(e)?o=Mte:o=C_e;var l=Ote(e,r,o,i);return l.type==="small"?m_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},E_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&E_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ta(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ni({number:.6,unit:"pt"},e),u=ni({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=L6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=c_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Rn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},k_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Uu([We,Xe])},__e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){k_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),p_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Rn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var A_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Rn(t.numer,e),Rn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ni(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new qi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new qi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:A_e,mathmlBuilder:L_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},R_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Rn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:R_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:zi(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ta(t.body,e,!1);return Y6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ta(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:zi(e[0]),mathml:zi(e[1])}},htmlBuilder:(t,e)=>{var r=ta(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ni(t.height,e),n=0;t.totalheight.number>0&&(n=ni(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ni(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new B6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ni(t.height,e),i=0;if(t.totalheight.number>0&&(i=ni(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ni(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ni(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Rn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:zi(e[0]),text:zi(e[1]),script:zi(e[2]),scriptscript:zi(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ta(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ta(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new qi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},D_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=D_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:zi(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var N_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=N_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ta(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new qi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:zi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:M_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ta(t.body,e,!1)):Pt(["mord"],ta(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Rn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:zi(n)}},htmlBuilder:(t,e)=>{var r=ta(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo(zi(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ni(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ni(t.width,e),i=ni(t.height,e),a=t.shift?ni(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ni(t.width,e),n=ni(t.height,e),i=t.shift?ni(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ta(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:O_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Rn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Rn(r,e),Rn(n,e)]):new Vt("msqrt",[Rn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var I_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=I_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Rn(t.base,e)];t.sub&&a.push(Rn(t.sub,e)),t.sup&&a.push(Rn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new qi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},B_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(B_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:zi(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ta(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Rn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Rn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r - ]`,P_e="\\\\[a-zA-Z@]+",F_e="\\\\[^\uD800-\uDFFF]",$_e="("+P_e+")"+Yte+"*",z_e=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},F6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in F6e||e==="ex"},ni=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ua(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ua(n)+'"');for(var a of Object.keys(this.attributes)){if($6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ua(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let XC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class z6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ua(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ua(n)+'"');var a=Ua(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var U6e=t=>t instanceof Hm||t instanceof XC||t instanceof Um,jl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){jl[t]=e}function _N(t,e,r){if(!jl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=jl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=jl[e][n]),!i&&r==="text"&&rte(n)&&(i=jl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function H6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var W6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Y6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},jn={math:{},text:{}};function K(t,e,r,n,i,a){jn[t][i]={font:e,group:r,replace:n},a&&n&&(jn[t][n]=jn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Qn="accent-token",er="bin",bs="close",Wm="inner",mr="mathord",Hi="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Hi,"∐","\\coprod");K(J,ce,Hi,"⋁","\\bigvee");K(J,ce,Hi,"⋀","\\bigwedge");K(J,ce,Hi,"⨄","\\biguplus");K(J,ce,Hi,"⋂","\\bigcap");K(J,ce,Hi,"⋃","\\bigcup");K(J,ce,Hi,"∫","\\int");K(J,ce,Hi,"∫","\\intop");K(J,ce,Hi,"∬","\\iint");K(J,ce,Hi,"∭","\\iiint");K(J,ce,Hi,"∏","\\prod");K(J,ce,Hi,"∑","\\sum");K(J,ce,Hi,"⨂","\\bigotimes");K(J,ce,Hi,"⨁","\\bigoplus");K(J,ce,Hi,"⨀","\\bigodot");K(J,ce,Hi,"∮","\\oint");K(J,ce,Hi,"∯","\\oiint");K(J,ce,Hi,"∰","\\oiiint");K(J,ce,Hi,"⨆","\\bigsqcup");K(J,ce,Hi,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Qn,"ˊ","\\acute");K(J,ce,Qn,"ˋ","\\grave");K(J,ce,Qn,"¨","\\ddot");K(J,ce,Qn,"~","\\tilde");K(J,ce,Qn,"ˉ","\\bar");K(J,ce,Qn,"˘","\\breve");K(J,ce,Qn,"ˇ","\\check");K(J,ce,Qn,"^","\\hat");K(J,ce,Qn,"⃗","\\vec");K(J,ce,Qn,"˙","\\dot");K(J,ce,Qn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Qn,"ˊ","\\'");K(Ot,ce,Qn,"ˋ","\\`");K(Ot,ce,Qn,"ˆ","\\^");K(Ot,ce,Qn,"˜","\\~");K(Ot,ce,Qn,"ˉ","\\=");K(Ot,ce,Qn,"˘","\\u");K(Ot,ce,Qn,"˙","\\.");K(Ot,ce,Qn,"¸","\\c");K(Ot,ce,Qn,"˚","\\r");K(Ot,ce,Qn,"ˇ","\\v");K(Ot,ce,Qn,"¨",'\\"');K(Ot,ce,Qn,"˝","\\H");K(Ot,ce,Qn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=X6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},Z6e=function(e,r,n,i){var a=new XC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},Q6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ni(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ri={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},J6e={mord:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mop:{mord:ri,mop:ri,mrel:Vc,minner:ri},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mpunct:{mord:ri,mop:ri,mrel:Vc,mopen:ri,mclose:ri,mpunct:ri,minner:ri},minner:{mord:ri,mop:ri,mbin:rf,mrel:Vc,mopen:ri,mpunct:ri,minner:ri}},e_e={mord:{mop:ri},mop:{mord:ri,mop:ri},mbin:{},mrel:{},mopen:{},mclose:{mop:ri},mpunct:{},minner:{mop:ri}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&r_e.has(x)?v.classes[0]="mord":x==="mbin"&&t_e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=e_e[C])==null?void 0:b[T]:(x=J6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof XC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return i_e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ta(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ta(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ua(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class qi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ua(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var a_e=new Set(["\\imath","\\jmath"]),s_e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return jn[r][e]&&jn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=jn[r][e].replace),new qi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(a_e.has(a))return null;if(jn[i][a]){var s=jn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof qi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof qi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Dn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof qi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof qi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Dn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&s_e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new qi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var o_e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:o_e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=H6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},l_e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},c_e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},u_e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new qi(u_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},h_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},d_e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(d_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=h_e[l],[T,E,_]=C,A=_/1e3,k=T.length,R,O;if(k===1){var F=C[3];R=["hide-tail"],O=[F]}else if(k===2)R=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)R=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},f_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||Y6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(U6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=G6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=V6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Dn(t.base,e),r]);return n.setAttribute("accent","true"),n},p_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!p_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Dn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Dn(t.body,e));if(t.below){var a=hT(Dn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Dn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ta(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:zi(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:zi(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:zi(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:zi(e[0])}},htmlBuilder(t,e){var r=ta(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var g_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",m_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function y_e(t,e,r){var n=g_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function v_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=y_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Dn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Dn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ta(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:zi(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ni(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ni(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},b_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=b_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=jn.math[e]&&jn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},x_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},T_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=T_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=jl["Size4-Regular"][e.charCodeAt(0)]?jl["Size4-Regular"][e.charCodeAt(0)][4]:jl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",B6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},w_e=new Set(["|","\\lvert","\\rvert","\\vert"]),C_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):w_e.has(e)?(u="∣",d="vert",f=333):C_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var A=i2(l,p,a);E=A.height+A.depth,_=2}var k=v+T+E,R=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+R*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=P6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var j=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],j),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=I6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},S_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),E_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(E_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},k_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],__e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],A_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=k_e:Rte.has(e)?o=Mte:o=__e;var l=Ote(e,r,o,i);return l.type==="small"?x_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},L_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&L_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ta(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ni({number:.6,unit:"pt"},e),u=ni({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=M6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=f_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Dn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},R_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var A={type:"ordgroup",mode:t.mode,body:_};r&&(A={type:"styling",mode:t.mode,style:r,body:[A]}),m.push(A);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&A.type==="styling"&&A.body.length===1&&A.body[0].type==="ordgroup"&&A.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=j)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),je=Pt(["tag"],[Ye],r);return Uu([We,je])},D_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){R_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),v_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Dn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var N_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Dn(t.numer,e),Dn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ni(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new qi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new qi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:N_e,mathmlBuilder:M_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},O_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Dn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:O_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:zi(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ta(t.body,e,!1);return Z6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ta(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:zi(e[0]),mathml:zi(e[1])}},htmlBuilder:(t,e)=>{var r=ta(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ni(t.height,e),n=0;t.totalheight.number>0&&(n=ni(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ni(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new z6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ni(t.height,e),i=0;if(t.totalheight.number>0&&(i=ni(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ni(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ni(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Dn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:zi(e[0]),text:zi(e[1]),script:zi(e[2]),scriptscript:zi(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ta(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ta(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new qi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},I_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=I_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:zi(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var B_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=B_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ta(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new qi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:zi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:P_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ta(t.body,e,!1)):Pt(["mord"],ta(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Dn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:zi(n)}},htmlBuilder:(t,e)=>{var r=ta(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo(zi(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ni(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ni(t.width,e),i=ni(t.height,e),a=t.shift?ni(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ni(t.width,e),n=ni(t.height,e),i=t.shift?ni(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ta(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:F_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Dn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Dn(r,e),Dn(n,e)]):new Vt("msqrt",[Dn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var $_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=$_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,A=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var R=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:R})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Dn(t.base,e)];t.sub&&a.push(Dn(t.sub,e)),t.sup&&a.push(Dn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new qi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},z_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(z_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:zi(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ta(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Dn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r + ]`,q_e="\\\\[a-zA-Z@]+",V_e="\\\\[^\uD800-\uDFFF]",G_e="("+q_e+")"+Yte+"*",U_e=`\\\\( |[ \r ]+ -?)[ \r ]*`,lL="[̀-ͯ]",q_e=new RegExp(lL+"+$"),V_e="("+Yte+"+)|"+(z_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+$_e)+("|"+F_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(V_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class G_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var U_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],Xn.math[r],Xn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},H_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in Xn.math&&H_e.has(Xn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Xte=Gt(Xl["Main-Regular"][84][1]-.7*Xl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var jte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",jte(!1));ye("\\bra@set",jte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class W_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new G_e(U_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||Xn.math.hasOwnProperty(e)||Xn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new W_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var d7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f7e=/^\w*$/;function zN(t,e){if(Vi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:f7e.test(t)||!d7e.test(t)||e!=null&&t in Object(e)}var p7e=500;function g7e(t){var e=$m(t,function(n){return r.size===p7e&&r.clear(),n}),r=e.cache;return e}var m7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,y7e=/\\(\\)?/g,v7e=g7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(m7e,function(r,n,i,a){e.push(i?a.replace(y7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return Vi(t)?t:zN(t,e)?[t]:v7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&HAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var D8e=Math.max;function N8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:s7e(r);return i<0&&(i=D8e(n+i,0)),ore(t,Hu(e),i)}var YN=R8e(N8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=Vi(t)?Bg:Sre;return r(t,Hu(e))}function M8e(t,e){return uS(Tn(t,e))}function O8e(t,e){return t==null?t:WD(t,WN(e),O0)}function I8e(t,e){return t&&HN(t,WN(e))}function B8e(t,e){return t>e}var P8e=Object.prototype,F8e=P8e.hasOwnProperty;function $8e(t,e){return t!=null&&F8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,$8e)}function z8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:z8e(t,so(t))}function Li(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function W8e(t,e,r){e.length?e=Bg(e,function(a){return Vi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return G8e(i,function(a,s){return H8e(a,s,r)})}function Y8e(t,e){return V8e(t,e,function(r,n){return wre(t,n)})}var uw=T7e(function(t,e){return t==null?{}:Y8e(t,e)}),X8e=Math.ceil,j8e=Math.max;function K8e(t,e,r,n){for(var i=-1,a=j8e(X8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function Z8e(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),W8e(t,uS(e),[])}),J8e=1/0,eLe=Og&&1/GN(new Og([,-0]))[1]==J8e?function(t){return new Og(t)}:o7e,tLe=200;function _re(t,e,r){var n=-1,i=h7e,a=t.length,s=!0,o=[],l=o;if(a>=tLe){var u=e?null:eLe(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Li(r))r=nf;else{r+="";for(var n=r;!Li(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Li(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return rLe(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Li(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Li(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=lLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?jl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Li(n)?oLe:n)}function lLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class cLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,uLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function uLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var hLe=Tg(1);function dLe(t,e){if(t.nodeCount()<=1)return[];var r=pLe(t,e||hLe),n=fLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function fLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function pLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new cLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function gLe(t){var e=t.graph().acyclicer==="greedy"?dLe(t,r(t)):mLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function mLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function yLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Xm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function vLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Xq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Li(i)||(e[i][n.order]=r)}),e}function bLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function xLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Li(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function jq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Xm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Li(r))return r}))}function TLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function wLe(t,e){return e()}function CLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=jl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return jN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),FLe(t,e)}function FLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=BLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function $Le(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function zLe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":VLe(t);break;case"longest-path":qLe(t);break;default:Jq(t)}}var qLe=ZN;function VLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function GLe(t){var e=Xm(t,"root",{},"_root"),r=ULe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=HLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=jq(t,"_bt"),u=jq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function ULe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function HLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function WLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function YLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function XLe(t,e,r){var n=jLe(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Li(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function jLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function KLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function QLe(t){var e={},r=jl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function JLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function eRe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Li(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Li(a)&&!Li(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=jl(r,function(i){return!i.indegree});return tRe(n)}function tRe(t){var e=[];function r(a){return function(s){s.merged||(Li(s.barycenter)||Li(a.barycenter)||s.barycenter>=a.barycenter)&&rRe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(jl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function rRe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function nRe(t,e){var r=TLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(iRe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function iRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=jl(i,function(m){return m!==s&&m!==o}));var u=JLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&sRe(m,v)}});var h=eRe(u,r);aRe(h,l);var d=nRe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function aRe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function sRe(t,e){Li(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function oRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=QLe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){lRe(o%2?r:n,o%4>=2),i=fS(t);var u=KLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function hRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function dRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=pRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function pRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function gRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function mRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>PRe(t));r(" runLayout",()=>_Re(n,r)),r(" updateInputGraph",()=>ARe(t,n))})}function _Re(t,e){e(" makeSpaceForEdgeLabels",()=>FRe(t)),e(" removeSelfEdges",()=>YRe(t)),e(" acyclic",()=>gLe(t)),e(" nestingGraph.run",()=>GLe(t)),e(" rank",()=>zLe(Are(t))),e(" injectEdgeLabelProxies",()=>$Re(t)),e(" removeEmptyRanks",()=>xLe(t)),e(" nestingGraph.cleanup",()=>WLe(t)),e(" normalizeRanks",()=>bLe(t)),e(" assignRankMinMax",()=>zRe(t)),e(" removeEdgeLabelProxies",()=>qRe(t)),e(" normalize.run",()=>ALe(t)),e(" parentDummyChains",()=>cRe(t)),e(" addBorderSegments",()=>CLe(t)),e(" order",()=>oRe(t)),e(" insertSelfEdges",()=>XRe(t)),e(" adjustCoordinateSystem",()=>SLe(t)),e(" position",()=>ERe(t)),e(" positionSelfEdges",()=>jRe(t)),e(" removeBorderNodes",()=>WRe(t)),e(" normalize.undo",()=>RLe(t)),e(" fixupEdgeLabelCoords",()=>URe(t)),e(" undoCoordinateSystem",()=>ELe(t)),e(" translateGraph",()=>VRe(t)),e(" assignNodeIntersects",()=>GRe(t)),e(" reversePoints",()=>HRe(t)),e(" acyclic.undo",()=>yLe(t))}function ARe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var LRe=["nodesep","edgesep","ranksep","marginx","marginy"],RRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},DRe=["acyclicer","ranker","rankdir","align"],NRe=["width","height"],MRe={width:0,height:0},ORe=["minlen","weight","width","height","labeloffset"],IRe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},BRe=["labelpos"];function PRe(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},RRe,T_(r,LRe),uw(r,DRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,A8e(T_(i,NRe),MRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},IRe,T_(i,ORe),uw(i,BRe)))}),e}function FRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function $Re(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Xm(t,"edge-proxy",a,"_ep")}})}function zRe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function qRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function VRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function GRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Xq(n,a)),r.points.push(Xq(i,s))})}function URe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function HRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function WRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function YRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function XRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Xm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function jRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:KRe(t),edges:ZRe(t)};return Li(t.graph())||(e.value=mre(t.graph())),e}function KRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Li(r)||(i.value=r),Li(n)||(i.parent=n),i})}function ZRe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Li(e.name)||(n.name=e.name),Li(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,QRe=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),JRe=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{JRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),e9e=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=e9e(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),t9e=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),r9e=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),Xre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX +?)[ \r ]*`,lL="[̀-ͯ]",H_e=new RegExp(lL+"+$"),W_e="("+Yte+"+)|"+(U_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+G_e)+("|"+V_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(W_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class Y_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var j_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],jn.math[r],jn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},X_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in jn.math&&X_e.has(jn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var jte=Gt(jl["Main-Regular"][84][1]-.7*jl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var Xte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",Xte(!1));ye("\\bra@set",Xte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class K_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new Y_e(j_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||jn.math.hasOwnProperty(e)||jn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new K_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var m7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y7e=/^\w*$/;function zN(t,e){if(Vi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:y7e.test(t)||!m7e.test(t)||e!=null&&t in Object(e)}var v7e=500;function b7e(t){var e=$m(t,function(n){return r.size===v7e&&r.clear(),n}),r=e.cache;return e}var x7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T7e=/\\(\\)?/g,w7e=b7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(x7e,function(r,n,i,a){e.push(i?a.replace(T7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return Vi(t)?t:zN(t,e)?[t]:w7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&XAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var I8e=Math.max;function B8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:u7e(r);return i<0&&(i=I8e(n+i,0)),ore(t,Hu(e),i)}var YN=O8e(B8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=Vi(t)?Bg:Sre;return r(t,Hu(e))}function P8e(t,e){return uS(Tn(t,e))}function F8e(t,e){return t==null?t:WD(t,WN(e),O0)}function $8e(t,e){return t&&HN(t,WN(e))}function z8e(t,e){return t>e}var q8e=Object.prototype,V8e=q8e.hasOwnProperty;function G8e(t,e){return t!=null&&V8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,G8e)}function U8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:U8e(t,so(t))}function Li(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function K8e(t,e,r){e.length?e=Bg(e,function(a){return Vi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return Y8e(i,function(a,s){return X8e(a,s,r)})}function Z8e(t,e){return W8e(t,e,function(r,n){return wre(t,n)})}var uw=E7e(function(t,e){return t==null?{}:Z8e(t,e)}),Q8e=Math.ceil,J8e=Math.max;function eLe(t,e,r,n){for(var i=-1,a=J8e(Q8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function tLe(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),K8e(t,uS(e),[])}),nLe=1/0,iLe=Og&&1/GN(new Og([,-0]))[1]==nLe?function(t){return new Og(t)}:h7e,aLe=200;function _re(t,e,r){var n=-1,i=g7e,a=t.length,s=!0,o=[],l=o;if(a>=aLe){var u=e?null:iLe(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Li(r))r=nf;else{r+="";for(var n=r;!Li(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Li(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return sLe(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Li(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Li(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=dLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Li(n)?hLe:n)}function dLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class fLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,pLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function pLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var gLe=Tg(1);function mLe(t,e){if(t.nodeCount()<=1)return[];var r=vLe(t,e||gLe),n=yLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function yLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function vLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new fLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function bLe(t){var e=t.graph().acyclicer==="greedy"?mLe(t,r(t)):xLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function xLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function TLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function jm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function wLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function jq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Li(i)||(e[i][n.order]=r)}),e}function CLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function SLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Li(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function Xq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),jm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Li(r))return r}))}function ELe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function kLe(t,e){return e()}function _Le(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=Xl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return XN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),VLe(t,e)}function VLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=zLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function GLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function ULe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":WLe(t);break;case"longest-path":HLe(t);break;default:Jq(t)}}var HLe=ZN;function WLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function YLe(t){var e=jm(t,"root",{},"_root"),r=jLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=XLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=Xq(t,"_bt"),u=Xq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function jLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function XLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function KLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function ZLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function QLe(t,e,r){var n=JLe(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Li(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function JLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function eRe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function rRe(t){var e={},r=Xl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function nRe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function iRe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Li(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Li(a)&&!Li(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Xl(r,function(i){return!i.indegree});return aRe(n)}function aRe(t){var e=[];function r(a){return function(s){s.merged||(Li(s.barycenter)||Li(a.barycenter)||s.barycenter>=a.barycenter)&&sRe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(Xl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function sRe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function oRe(t,e){var r=ELe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(lRe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function lRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=Xl(i,function(m){return m!==s&&m!==o}));var u=nRe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&uRe(m,v)}});var h=iRe(u,r);cRe(h,l);var d=oRe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function cRe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function uRe(t,e){Li(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function hRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=rRe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){dRe(o%2?r:n,o%4>=2),i=fS(t);var u=eRe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function gRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function mRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=vRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function vRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function xRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>qRe(t));r(" runLayout",()=>DRe(n,r)),r(" updateInputGraph",()=>NRe(t,n))})}function DRe(t,e){e(" makeSpaceForEdgeLabels",()=>VRe(t)),e(" removeSelfEdges",()=>ZRe(t)),e(" acyclic",()=>bLe(t)),e(" nestingGraph.run",()=>YLe(t)),e(" rank",()=>ULe(Are(t))),e(" injectEdgeLabelProxies",()=>GRe(t)),e(" removeEmptyRanks",()=>SLe(t)),e(" nestingGraph.cleanup",()=>KLe(t)),e(" normalizeRanks",()=>CLe(t)),e(" assignRankMinMax",()=>URe(t)),e(" removeEdgeLabelProxies",()=>HRe(t)),e(" normalize.run",()=>NLe(t)),e(" parentDummyChains",()=>fRe(t)),e(" addBorderSegments",()=>_Le(t)),e(" order",()=>hRe(t)),e(" insertSelfEdges",()=>QRe(t)),e(" adjustCoordinateSystem",()=>ALe(t)),e(" position",()=>LRe(t)),e(" positionSelfEdges",()=>JRe(t)),e(" removeBorderNodes",()=>KRe(t)),e(" normalize.undo",()=>OLe(t)),e(" fixupEdgeLabelCoords",()=>jRe(t)),e(" undoCoordinateSystem",()=>LLe(t)),e(" translateGraph",()=>WRe(t)),e(" assignNodeIntersects",()=>YRe(t)),e(" reversePoints",()=>XRe(t)),e(" acyclic.undo",()=>TLe(t))}function NRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var MRe=["nodesep","edgesep","ranksep","marginx","marginy"],ORe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},IRe=["acyclicer","ranker","rankdir","align"],BRe=["width","height"],PRe={width:0,height:0},FRe=["minlen","weight","width","height","labeloffset"],$Re={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},zRe=["labelpos"];function qRe(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},ORe,T_(r,MRe),uw(r,IRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,N8e(T_(i,BRe),PRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},$Re,T_(i,FRe),uw(i,zRe)))}),e}function VRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function GRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};jm(t,"edge-proxy",a,"_ep")}})}function URe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function HRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function WRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function YRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(jq(n,a)),r.points.push(jq(i,s))})}function jRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function XRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function KRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function ZRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function QRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){jm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function JRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:e9e(t),edges:t9e(t)};return Li(t.graph())||(e.value=mre(t.graph())),e}function e9e(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Li(r)||(i.value=r),Li(n)||(i.parent=n),i})}function t9e(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Li(e.name)||(n.name=e.name),Li(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,r9e=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),n9e=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{n9e(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),i9e=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=i9e(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),a9e=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),s9e=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),jre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX Node.id = `,v,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await Xre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),I5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(r9e(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);XJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),n9e=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),B5e(),q5e(),g5e(),QRe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function jre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function c9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function u9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function h9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bi(t,e){return a9e(t)||c9e(t,e)||eM(t,e)||u9e()}function dw(t){return s9e(t)||l9e(t)||eM(t)||h9e()}function d9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=d9e(t,"string");return typeof e=="symbol"?e:e+""}function ra(t){"@babel/helpers - typeof";return ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ra(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var Ki=typeof window>"u"?null:window,iV=Ki?Ki.navigator:null;Ki&&Ki.document;var f9e=ra(""),Zre=ra({}),p9e=ra(function(){}),g9e=typeof HTMLElement>"u"?"undefined":ra(HTMLElement),ox=function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ra(e)==f9e},oi=function(e){return e!=null&&ra(e)===p9e},Ln=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ra(e)===Zre&&!Ln(e)&&e.constructor===Object},m9e=function(e){return e!=null&&ra(e)===Zre},Yt=function(e){return e!=null&&ra(e)===ra(1)&&!isNaN(e)},y9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(g9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},v9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},b9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},x9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},T9e=function(e){return m9e(e)&&oi(e.then)},w9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},L9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+E9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},N9e=function(e){var r,n=new RegExp("^"+C9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},M9e=function(e){return O9e[e.toLowerCase()]},rne=function(e){return(Ln(e)?e:null)||M9e(e)||R9e(e)||N9e(e)||D9e(e)},O9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var U9e=G9e(),dx=cx(U9e),P_=Ki?Ki.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},H9e=(function(){if(Ki){if(Ki.requestAnimationFrame)return function(t){Ki.requestAnimationFrame(t)};if(Ki.mozRequestAnimationFrame)return function(t){Ki.mozRequestAnimationFrame(t)};if(Ki.webkitRequestAnimationFrame)return function(t){Ki.webkitRequestAnimationFrame(t)};if(Ki.msRequestAnimationFrame)return function(t){Ki.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return H9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},W9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},rDe=function(e,r){for(var n=0;n"u"?"undefined":ra(Set))!==iDe?Set:aDe,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Yn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Yn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new jm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ln(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),L=x.slice(C),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,C,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=C,R=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=R,v(x,L,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(sDe)})(T3)),T3.exports}var F_,EV;function lDe(){return EV||(EV=1,F_=oDe()),F_}var cDe=lDe(),fx=cx(cDe),uDe=Na({root:null,weight:function(e){return 1},directed:!1}),hDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=uDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=C.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},dDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,C[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=xDe(a,e,r),n--}return r},TDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/bDe);if(a<2){Yn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},_De=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},ADe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},RDe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},DDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},NDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Bi(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},MDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function ODe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=MDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Uh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=s2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},BDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},PDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},FDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},$De=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},zDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];$De(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},VDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,R=C[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},UDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},aNe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:lNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,cNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,uNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return oi(t)?s=t:s=wm[t]||wm.euclidean,e===0&&oi(t)?s(i,a):s(e,r,n,i,a)}var hNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return hNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},pNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=kNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},ONe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},INe={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,hDe,dDe,pDe,mDe,vDe,TDe,XDe,Fg,$g,pL,oNe,xNe,SNe,DNe,MNe,ONe,INe].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function eMe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function tMe(){if(dG)return f7;dG=1;var t=KNe(),e=ZNe(),r=QNe(),n=JNe(),i=eMe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ln(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return L9e(t.selector,e.selector)}),NMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},FMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function WMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,WMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var YMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var XMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,C),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-R,N=m+Math.max(C,E)+_+R,B=v-Math.max(C,E)-_-R,M=v+Math.max(C,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*j-Le*ee+Q,y:He*ee+Le*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},jMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},KMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&jMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?DDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:hOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ln(e)||(e=[e]),dOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===uOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&rDe(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ra(Symbol))!=e&&ra(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return jre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Yn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new jm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var COe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Nn=function(e,r,n,i){var a=wOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Nn(.25,.1,.25,1),"ease-in":Nn(.42,0,1,1),"ease-out":Nn(0,0,.58,1),"ease-in-out":Nn(.42,0,.58,1),"ease-in-sine":Nn(.47,0,.745,.715),"ease-out-sine":Nn(.39,.575,.565,1),"ease-in-out-sine":Nn(.445,.05,.55,.95),"ease-in-quad":Nn(.55,.085,.68,.53),"ease-out-quad":Nn(.25,.46,.45,.94),"ease-in-out-quad":Nn(.455,.03,.515,.955),"ease-in-cubic":Nn(.55,.055,.675,.19),"ease-out-cubic":Nn(.215,.61,.355,1),"ease-in-out-cubic":Nn(.645,.045,.355,1),"ease-in-quart":Nn(.895,.03,.685,.22),"ease-out-quart":Nn(.165,.84,.44,1),"ease-in-out-quart":Nn(.77,0,.175,1),"ease-in-quint":Nn(.755,.05,.855,.06),"ease-out-quint":Nn(.23,1,.32,1),"ease-in-out-quint":Nn(.86,0,.07,1),"ease-in-expo":Nn(.95,.05,.795,.035),"ease-out-expo":Nn(.19,1,.22,1),"ease-in-out-expo":Nn(1,0,0,1),"ease-in-circ":Nn(.6,.04,.98,.335),"ease-out-circ":Nn(.075,.82,.165,1),"ease-in-out-circ":Nn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=COe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Nn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Ln(s)&&Ln(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(R.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(R.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(L,O)&&(a.zoom=mb(a.minZoom,Bp(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function EOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||EOe(h,T,t),SOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var kOe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},_Oe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(_Oe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Yn("Layout options must be specified to make a layout");return}if(e.name==null){Yn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Yn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var AOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Ln(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var da={},M2="t",ROe="f";da.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};da.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};da.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};da.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};da.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Ln(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:_De(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Ki!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(T9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Ln(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,oi(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Ln(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(De+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Yn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return K9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var IOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},IOe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var BOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},BOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(GOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var FOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},WOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},YOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},jOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},QOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},QOe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=qDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=zDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ms(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):C(R)||E(R)||E(R,"source")||E(R,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,Xe=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},iIe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):nIe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(iIe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,aIe=Math.sqrt(2*wb),Xa={};Xa.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Bi(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Bi(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Xa.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||R))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Xa.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Xa.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=aIe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(L.p0,L.p1,L.p2,q),f=oIe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=LDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(su(r.rscratch,X,e,Z),Z):Ms(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` -`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),R="",k=0,L=Fs(_),O;try{for(L.s();!(O=L.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=R.length===0?q:R+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?R+=q+$:(R&&m.push(R),R=q+$)}}catch(H){L.e(H)}finally{L.f()}R.match(/^[\s\u200b]+$/)||m.push(R)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await jre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),$5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(s9e(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);jJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),o9e=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),z5e(),H5e(),b5e(),r9e(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function Xre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function d9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function f9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function p9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bi(t,e){return c9e(t)||f9e(t,e)||eM(t,e)||p9e()}function dw(t){return u9e(t)||d9e(t)||eM(t)||g9e()}function m9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=m9e(t,"string");return typeof e=="symbol"?e:e+""}function ra(t){"@babel/helpers - typeof";return ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ra(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var Ki=typeof window>"u"?null:window,iV=Ki?Ki.navigator:null;Ki&&Ki.document;var y9e=ra(""),Zre=ra({}),v9e=ra(function(){}),b9e=typeof HTMLElement>"u"?"undefined":ra(HTMLElement),ox=function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ra(e)==y9e},oi=function(e){return e!=null&&ra(e)===v9e},Rn=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ra(e)===Zre&&!Rn(e)&&e.constructor===Object},x9e=function(e){return e!=null&&ra(e)===Zre},Yt=function(e){return e!=null&&ra(e)===ra(1)&&!isNaN(e)},T9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(b9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},w9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},C9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},S9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},E9e=function(e){return x9e(e)&&oi(e.then)},k9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},M9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+L9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},B9e=function(e){var r,n=new RegExp("^"+_9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},P9e=function(e){return F9e[e.toLowerCase()]},rne=function(e){return(Rn(e)?e:null)||P9e(e)||O9e(e)||B9e(e)||I9e(e)},F9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function R(){var z=e();if(k(z))return O(z);m=setTimeout(R,A(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(R,l),E(v)}return m===void 0&&(m=setTimeout(R,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var j9e=Y9e(),dx=cx(j9e),P_=Ki?Ki.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},X9e=(function(){if(Ki){if(Ki.requestAnimationFrame)return function(t){Ki.requestAnimationFrame(t)};if(Ki.mozRequestAnimationFrame)return function(t){Ki.mozRequestAnimationFrame(t)};if(Ki.webkitRequestAnimationFrame)return function(t){Ki.webkitRequestAnimationFrame(t)};if(Ki.msRequestAnimationFrame)return function(t){Ki.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return X9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},K9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},sDe=function(e,r){for(var n=0;n"u"?"undefined":ra(Set))!==lDe?Set:cDe,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Yn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Yn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new Xm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Rn(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var A;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)R.push(O);return R}).apply(this).reverse(),k=[],E=0,_=A.length;E<_;E++)T=A[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,A,k,R;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),R=x.slice(C),A=0,k=R.length;A$;0<=$?++R:--R)q.push(s(x,T));return q},v=function(x,C,T,E){var _,A,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,A=x[k],E(_,A)<0){x[T]=A,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,A,k,R;for(T==null&&(T=n),_=x.length,R=C,A=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=A,v(x,R,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(uDe)})(T3)),T3.exports}var F_,EV;function dDe(){return EV||(EV=1,F_=hDe()),F_}var fDe=dDe(),fx=cx(fDe),pDe=Na({root:null,weight:function(e){return 1},directed:!1}),gDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=pDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var A=C.pop(),k=b(A),R=A.id();if(f[R]=k,k!==1/0)for(var O=A.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},mDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var R=[],O=a,F=h,$=x[F];R.unshift(O),$!=null&&R.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(R),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+R;!a&&m[q]>$&&(m[q]=$,C[q]=R,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},A=0;A=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=SDe(a,e,r),n--}return r},EDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/CDe);if(a<2){Yn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},DDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},NDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},ODe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},IDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},BDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Bi(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},PDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function FDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(R,O){return{x:R.x+O.x,y:R.y+O.y}},n=function(R,O){return{x:R.x-O.x,y:R.y-O.y}},i=function(R,O){return{x:R.x*O,y:R.y*O}},a=function(R,O){return R.x*O.y-R.y*O.x},s=function(R){var O=PDe(R.x,R.y);return O===0?{x:0,y:0}:{x:R.x/O,y:R.y/O}},o=function(R){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,A=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,A,!1),m.length>0)return m}if(f){var k=n-h+u-o,R=i+d+o,O=n+h-u+o,F=R;if(m=Uh(e,r,n,i,k,R,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,j=i+d-u;if(I=s2(e,r,n,i,H,j,u+o),I.length>0&&I[0]<=H&&I[1]>=j)return[I[0],I[1]]}return[]},zDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},qDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},VDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},GDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},UDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];GDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},WDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,A=C[1]*l[1]+r;return[T,E,_,A]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,A=0-_,k=1+_;return A<=T&&T<=k&&A<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},jDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,R.nodes.indexOf(z)<0?R.push(z):R.updateItem(z),A[z]=0,_[z]=[]),k[z]==k[$]+N&&(A[z]=A[z]+A[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var j=_[P][H];V[j]=V[j]+A[j]/A[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},cNe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:dNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,fNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,pNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return oi(t)?s=t:s=wm[t]||wm.euclidean,e===0&&oi(t)?s(i,a):s(e,r,n,i,a)}var gNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return gNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},vNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=RNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=j,P+=j}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,X=0;X1||A>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(R){R.isEdge()&&d[T].push(R.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],A,k,R;d[E].length;)A=d[E].shift(),k=f[A][0],R=f[A][1],E!=R?(d[R]=d[R].filter(function(O){return O!=A}),E=R):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=A}),E=k),_.unshift(A),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(A){return A.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},FNe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},$Ne={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,gDe,mDe,vDe,xDe,wDe,EDe,QDe,Fg,$g,pL,hNe,SNe,ANe,INe,PNe,FNe,$Ne].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function iMe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function aMe(){if(dG)return f7;dG=1;var t=eMe(),e=tMe(),r=rMe(),n=nMe(),i=iMe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Rn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return M9e(t.selector,e.selector)}),BMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},VMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var A=a(h.left,d),k=a(h.subject,d),R=a(h.right,d);return A+(A.length>0?" ":"")+k+R}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function KMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,KMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var ZMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var QMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,A=p(h.height.val-d.h,x,C),k=A.biasDiff,R=A.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+R)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,A=2,k=d,R=h,O=R/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-R,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+R;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-A,N=m+Math.max(C,E)+_+A,B=v-Math.max(C,E)-_-A,M=v+Math.max(C,E)+_+A;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",j=x.pfValue!=null&&x.pfValue!==0;if(H||j){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,X=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*X-Le*ee+Q,y:He*ee+Le*X+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},JMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},eOe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var A=0,k=0;i&&r.includeUnderlays&&(A=e.pstyle("underlay-opacity").value,A!==0&&(k=e.pstyle("underlay-padding").value));var R=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&JMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-R,f-R,d+R,p+R));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?IDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:gOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Rn(e)||(e=[e]),mOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===pOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&sDe(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ra(Symbol))!=e&&ra(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Xre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Yn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new Xm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var A=!1;function k(){A=!0,(t!==e||r!==n)&&T()}var R=function($){return A||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};R.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return R.toString=function(){return O},R}var _Oe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Mn=function(e,r,n,i){var a=kOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Mn(.25,.1,.25,1),"ease-in":Mn(.42,0,1,1),"ease-out":Mn(0,0,.58,1),"ease-in-out":Mn(.42,0,.58,1),"ease-in-sine":Mn(.47,0,.745,.715),"ease-out-sine":Mn(.39,.575,.565,1),"ease-in-out-sine":Mn(.445,.05,.55,.95),"ease-in-quad":Mn(.55,.085,.68,.53),"ease-out-quad":Mn(.25,.46,.45,.94),"ease-in-out-quad":Mn(.455,.03,.515,.955),"ease-in-cubic":Mn(.55,.055,.675,.19),"ease-out-cubic":Mn(.215,.61,.355,1),"ease-in-out-cubic":Mn(.645,.045,.355,1),"ease-in-quart":Mn(.895,.03,.685,.22),"ease-out-quart":Mn(.165,.84,.44,1),"ease-in-out-quart":Mn(.77,0,.175,1),"ease-in-quint":Mn(.755,.05,.855,.06),"ease-out-quint":Mn(.23,1,.32,1),"ease-in-out-quint":Mn(.86,0,.07,1),"ease-in-expo":Mn(.95,.05,.795,.035),"ease-out-expo":Mn(.19,1,.22,1),"ease-in-out-expo":Mn(1,0,0,1),"ease-in-circ":Mn(.6,.04,.98,.335),"ease-out-circ":Mn(.075,.82,.165,1),"ease-in-out-circ":Mn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=_Oe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Mn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Rn(s)&&Rn(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,A=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(A.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(A.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var R=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(R,O)&&(a.zoom=mb(a.minZoom,Bp(R,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function LOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(A){for(var k=A.length-1;k>=0;k--){var R=A[k];R()}A.splice(0,A.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||LOe(h,T,t),AOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var ROe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},DOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(DOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Yn("Layout options must be specified to make a layout");return}if(e.name==null){Yn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Yn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var NOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Rn(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var da={},M2="t",OOe="f";da.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var A=n.valueMin[0],k=n.valueMax[0],R=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(A+(k-A)*E),Math.round(R+(O-R)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};da.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};da.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};da.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};da.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var A=0;A=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Rn(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],A=[],k="",R=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&R?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:A,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:DDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Ki!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(E9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Rn(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,oi(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Rn(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var je=x[ot].length,at=Math.max(je===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:je)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:je)+1),N),xe={x:ne.x+(De+1-(je+1)/2)*at,y:ne.y+(ot+1-(X+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Yn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return eDe($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var $Oe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},$Oe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(A,k){var R=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(R),F=h*Math.sin(R),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var zOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},zOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var A=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,R=Math.min(s.w,s.h)/2-A,O=R/(x.length+k?1:0);A=Math.min(A,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(A*A/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=A}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(YOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var VOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(R);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},KOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},ZOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},JOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},rIe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},rIe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(j){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var X=Math.min(l,u);X==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var X=Math.max(l,u);X==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=HDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=UDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||R.source,V=V||R.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,R,O){return Ms(k,R,O)}function E(k,R){var O=k._private,F=f,$;R?$=R+"-":$="",k.boundingBox();var q=O.labelBounds[R||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",R),N=T(O.rscratch,"labelY",R),B=T(O.rscratch,"labelAngle",R),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,j=q.y2+F-V;if(B){var Z=Math.cos(B),X=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*X+I,y:me*X+pe*Z+N}},Q=ee(U,H),he=ee(U,j),te=ee(P,H),ae=ee(P,j),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var A=s[_];A.isNode()?x(A)||E(A):C(A)||E(A)||E(A,"source")||E(A,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,je=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,je),Ze(Ge,je)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:je},{x:Ge,y:je}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},lIe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):oIe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(lIe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,cIe=Math.sqrt(2*wb),ja={};ja.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,A,k,R){var O=R-A,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Bi(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Bi(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};ja.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,R),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||A))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var j=_<0?B:0;P=j+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},X=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=X||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var je=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[je,at,je,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};ja.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,A=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=A<_,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=R<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-A),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-A)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-R)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};ja.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),j=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),X=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=cIe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var je=z.vector={x:it,y:Ge},at=z.vectorNorm={x:je.x/Ye,y:je.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,X,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,j,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:X,tgtW:H,tgtH:j,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-je.x,y:-je.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:A};break}}if(b)break}var R=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(R.p0,R.p1,R.p2,q),f=hIe(R.p0,R.p1,R.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=MDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(j,Z){return Z?(su(r.rscratch,j,e,Z),Z):Ms(r.rscratch,j,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` +`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),A="",k=0,R=Fs(_),O;try{for(R.s();!(O=R.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=A.length===0?q:A+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?A+=q+$:(A&&m.push(A),A=q+$)}}catch(H){R.e(H)}finally{R.f()}A.match(/^[\s\u200b]+$/)||m.push(A)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` `)),s("labelWrapKey",l)}else if(o==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,B="",M="…",V=!1;if(this.calculateLabelDimensions(t,i).widthN)break;B+=i[U],U===i.length-1&&(V=!0)}return V||(B+=M),B}return i};pc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};pc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var p=0,m=0,v=e.split(` -`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},cIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Yn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new jm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,uIe=8,hIe=1024,dIe=1024,fIe=1024,pIe=.2,gIe=.8,mIe=10,yIe=.15,vIe=.1,bIe=.9,xIe=.9,TIe=100,wIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},CIe=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=CIe(r);yr(n,i),n.lookup=new cIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ia=l2.prototype;ia.reasons=Sg;ia.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ia.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ia.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};ia.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ia.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>fIe||d>dIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+uIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};ia.invalidateElements=function(t){for(var e=0;e=pIe*t.width&&this.retireTexture(t)};ia.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>gIe&&t.fullnessChecks>=mIe?cd(r,t):t.fullnessChecks++};ia.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};ia.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};ia.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};ia.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ia.onDequeue=function(t){this.onDequeues.push(t)};ia.offDequeue=function(t){cd(this.onDequeues,t)};ia.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:TIe,deqCost:yIe,deqAvgCost:vIe,deqNoDrawCost:bIe,deqFastCost:xIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=EIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>MIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/SIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,OIe),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function HIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,X,Z,j,z)):q?(t.beginPath(),HIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?wU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},WIe=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},WIe)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function YIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function XIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function jIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function KIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function ZIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function QIe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function JIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function eBe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function tBe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function rBe(t,e,r,n){var i=kie(t,e),a=Bi(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Bi(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!QIe(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Bi(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Bi(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),hBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),dBe=` +`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,j,Z,X,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,j=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,X=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=j&&j<=me&&0<=X&&X<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,j,Z,X),Q=$e(H,j,Z,X),he=[(H+Z)/2,(j+X)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},je=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var A=0;A<_.length;A++)m.push(_[A]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},fIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Yn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new Xm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,pIe=8,gIe=1024,mIe=1024,yIe=1024,vIe=.2,bIe=.8,xIe=10,TIe=.15,wIe=.1,CIe=.9,SIe=.9,EIe=100,kIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_Ie=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=_Ie(r);yr(n,i),n.lookup=new fIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ia=l2.prototype;ia.reasons=Sg;ia.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ia.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ia.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};ia.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ia.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>yIe||d>mIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,A.level-1),A;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+pIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};ia.invalidateElements=function(t){for(var e=0;e=vIe*t.width&&this.retireTexture(t)};ia.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>bIe&&t.fullnessChecks>=xIe?cd(r,t):t.fullnessChecks++};ia.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};ia.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};ia.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};ia.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ia.onDequeue=function(t){this.onDequeues.push(t)};ia.offDequeue=function(t){cd(this.onDequeues,t)};ia.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:EIe,deqCost:TIe,deqAvgCost:wIe,deqNoDrawCost:CIe,deqFastCost:SIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=LIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>PIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/AIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,FIe),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},A=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},R=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();A(),T(),k(),_(),R(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function XIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var A=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,R=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(A>0||R>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=A>0,P=R>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var j=u-v-O,Z=m+2*O,X=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(A*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=R,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=R/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,j,Z,X,z)):q?(t.beginPath(),XIe(t,H,j,Z,X)):(t.beginPath(),t.rect(H,j,Z,X)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=R/2;t.beginPath(),$?wU(t,H+ee,j+ee,Z-2*ee,X-2*ee,z):t.rect(H+ee,j+ee,Z-2*ee,X-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),A=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:X;s.colorStrokeStyle(t,j[0],j[1],j[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==A,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var A=2*Math.PI*E,k=_+A;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},KIe=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),A={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},R=e.prevViewport,O=R===void 0||k.zoom!==R.zoom||k.pan.x!==R.pan.x||k.pan.y!==R.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(A=o),E*=l,A.x*=l,A.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=A,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),j=f&&!H?"motionBlur":void 0;q(D,j),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],X=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,X,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},KIe)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function ZIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function QIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function JIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function eBe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function tBe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function rBe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function nBe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function iBe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function aBe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function sBe(t,e,r,n){var i=kie(t,e),a=Bi(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Bi(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,A=T.x,k=T.row,R=A,O=l*k;_.save(),_.translate(R,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,A=d-_,k=l;{var R=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,R,O,F,k),m[0]={x:R,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=A;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=A,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var A=n.collections.get(E.collection),k=E.getKey(v),R=Array.isArray(k)?k:[k];if(s)R.forEach(function(q){return A.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!rBe(R,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return A.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Bi(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Bi(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),gBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),mBe=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } -`,fBe=` +`,yBe=` float rectangleSD(vec2 p, vec2 b) { vec2 d = abs(p)-b; return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); } -`,pBe=` +`,vBe=` float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; cr.x = (p.y > 0.0) ? cr.x : cr.y; vec2 q = abs(p) - b + cr.x; return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; } -`,gBe=` +`,bBe=` float ellipseSD(vec2 p, vec2 ab) { p = abs( p ); // symmetry @@ -647,7 +647,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } -`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},X7=0,_U=1,AU=2,j7=3,zp=4,_T=5,Tv=6,wv=7,mBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=XIe,this.atlasManager=new uBe(e,n),this.batchManager=new hBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es +`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},j7=0,_U=1,AU=2,X7=3,zp=4,_T=5,Tv=6,wv=7,xBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=QIe,this.atlasManager=new pBe(e,n),this.batchManager=new gBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es precision highp float; uniform mat3 uPanZoomMatrix; @@ -694,7 +694,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho int vid = gl_VertexID; vec2 position = aPosition; // TODO make this a vec3, simplifies some code below - if(aVertType == `.concat(X7,`) { + if(aVertType == `.concat(j7,`) { float texX = aTex.x; // texture coordinates float texY = aTex.y; float texW = aTex.z; @@ -792,7 +792,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho vColor = aColor; } - else if(aVertType == `).concat(j7,` && vid < 3) { + else if(aVertType == `).concat(X7,` && vid < 3) { // massage the first triangle into an edge arrow if(vid == 0) position = vec2(-0.15, -0.3); @@ -837,10 +837,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho out vec4 outColor; - `).concat(dBe,` - `).concat(fBe,` - `).concat(pBe,` - `).concat(gBe,` + `).concat(mBe,` + `).concat(yBe,` + `).concat(vBe,` + `).concat(bBe,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha return vec4( @@ -856,12 +856,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho } void main(void) { - if(vVertType == `).concat(X7,`) { + if(vVertType == `).concat(j7,`) { // look up the texel from the texture unit `).concat(a.map(function(u){return"if(vAtlasId == ".concat(u,") outColor = texture(uTexture").concat(u,", vTexCoord);")}).join(` else `),` } - else if(vVertType == `).concat(j7,`) { + else if(vVertType == `).concat(X7,`) { // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out'; outColor = blend(vColor, uBGColor); outColor.a = 1.0; // make opaque, masks out line under arrow @@ -925,16 +925,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),o=YIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=j7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:ZIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),vBe(r)};function yBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function vBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(bBe(t),e.call(t,a)):(xBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return kBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function bBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function xBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function TBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();sBe(o,e,r);var l=Y7();return aBe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function wBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function CBe(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function SBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function kBe(t,e,r){var n=EBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&wBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=TBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function _Be(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ra(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var RBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:ABe}],DBe=[{type:"layout",extensions:rIe},{type:"renderer",extensions:RBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var qBe=zBe();const VBe=k0(qBe);ac.use(VBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var GBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=C.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),UBe=GBe;const HBe=Object.freeze(Object.defineProperty({__proto__:null,render:UBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),WBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Xie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: + `),o=ZIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var A=x/2;b[0]=A,b[1]=-A}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=X7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:tBe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),wBe(r)};function TBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function wBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(CBe(t),e.call(t,a)):(SBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return RBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function CBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function SBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function EBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();uBe(o,e,r);var l=Y7();return cBe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function kBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function _Be(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function ABe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function RBe(t,e,r){var n=LBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&kBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=EBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function DBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ra(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var OBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:NBe}],IBe=[{type:"layout",extensions:sIe},{type:"renderer",extensions:OBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(R){vn("Can not register `"+e+"` for `"+t+"` since `"+R+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(R){this.options=R,r.call(this,R),tn(this._private)||(this._private={}),this._private.cy=R.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&R>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(R,1);var A=T.source.owner.getEdges().indexOf(T);if(A==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(A,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),A=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,A,k,R,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),A=z.getRight(),k=z.getTop(),R=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=R,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=R,u[3]=k,I=!0):B===M&&(f>h?(u[2]=A,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,j=f+-z/M,u[2]=j,u[3]=Z;break;case 2:j=$,Z=p+q*M,u[2]=j,u[3]=Z;break;case 3:Z=F,j=f+z/M,u[2]=j,u[3]=Z;break;case 4:j=O,Z=p+-q*M,u[2]=j,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,A=void 0,k=void 0,R=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,A=C-b,R=v-x,F=x*b-v*C,$=_*R-A*k,$===0?null:(T=(k*F-R*O)/$,E=(A*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var R=_[0];_.splice(0,1),E.add(R);for(var O=R.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,A=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=A.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&R.push(D),C.set(D,N)}})}x=x.concat(R),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var A=0;Ad}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var R=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return R.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),R=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(R),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),R={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,R,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(R,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=j[0];j.splice(0,1);var X=M.indexOf(Z);X>=0&&M.splice(X,1),P--,V--}R!=null?H=(M.indexOf(j[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=R){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var R=x.MIN_VALUE,O=0;OR&&(R=$)}return R},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,R={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(R[D]=[]),R[D]=R[D].concat(q)}Object.keys(R).forEach(function(I){if(R[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=R[I];var B=R[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var R=this.compoundOrder[k],O=R.id,F=R.paddingLeft,$=R.paddingTop;this.adjustLocations(this.tiledMemberPack[O],R.rect.x,R.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,R=this.tiledZeroDegreePack;Object.keys(R).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(R[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var R=k.id;if(this.toBeTiled[R]!=null)return this.toBeTiled[R];var O=k.getChild();if(O==null)return this.toBeTiled[R]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[R]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[R]=!1,!1}return this.toBeTiled[R]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var R=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,R){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=R[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,R){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:R,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(R)},_.prototype.getShortestRowIndex=function(k){for(var R=-1,O=Number.MAX_VALUE,F=0;FO&&(R=F,O=k.rowWidth[F]);return R},_.prototype.canAddHorizontal=function(k,R,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+R<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=R+k.horizontalPadding?z=(k.height+q)/($+R+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&R!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[R]=k.rowWidth[R]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);R>0&&(z+=k.verticalPadding);var I=k.rowHeight[R]+k.rowHeight[O];k.rowHeight[R]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[R]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],R=!0,O;R;){var F=this.graphManager.getAllNodes(),$=[];R=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,j,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,R,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var HBe=UBe();const WBe=k0(HBe);ac.use(WBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var YBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),A=_.node().getBBox();E.width=A.width,E.height=A.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${A.width}x${A.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const A=C.edges.find(k=>k.id===T.id);if(A){o.debug("APA01 positionedEdge",A);const k={...T},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}}})),o.debug("Cose-bilkent rendering completed")},"render"),jBe=YBe;const XBe=Object.freeze(Object.defineProperty({__proto__:null,render:jBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),KBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),jie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],A=[1,38],k=[1,39],R=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],j=[1,56],Z=[1,57],X=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,je,at,xe,Ze){var se=xe.length-1;switch(at){case 3:je.setDirection("TB");break;case 4:je.setDirection("BT");break;case 5:je.setDirection("RL");break;case 6:je.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:je.setC4Type(xe[se-3]);break;case 19:je.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:je.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),je.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),je.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),je.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:je.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:je.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:je.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:je.popBoundaryParseStack();break;case 39:je.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:je.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:je.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:je.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:je.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:je.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:je.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:je.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:je.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:je.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:je.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:je.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:je.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:je.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:je.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:je.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:je.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:je.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:je.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:je.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:je.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:je.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:je.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:je.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:je.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:je.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:je.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),je.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:je.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:je.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:je.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],je=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=je.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(je=ue,ue=je.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: `+Ee.showPosition()+` -Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var Xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===Xe.length?this.yylloc.first_column:0)+Xe[Xe.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var je=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===je.length?this.yylloc.first_column:0)+je[je.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:S(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ge=this.pastInput(),it=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` -`+it+"^"},"showPosition"),test_match:S(function(Ge,it){var Ye,Xe,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),Xe=Ge[0].match(/(?:\r\n?|\n).*/g),Xe&&(this.yylineno+=Xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Xe?Xe[Xe.length-1].length-Xe[Xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,Xe;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,Xe=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[Xe]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var YBe=kw,Cl=[],Kh=[""],hs="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,jie,XBe=S(function(){return jie},"getC4Type"),jBe=S(function(t){jie=Jr(t,Pe())},"setC4Type"),KBe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),ZBe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=hs,o.wrap=kd()},"addPersonOrSystem"),QBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addContainer"),JBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addComponent"),ePe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addPersonOrSystemBoundary"),tPe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addContainerBoundary"),rPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=hs,l.wrap=kd(),vl=hs,hs=e,Kh.push(vl)},"addDeploymentNode"),nPe=S(function(){hs=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),iPe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),aPe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),sPe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),oPe=S(function(){return _w},"getC4ShapeInRow"),lPe=S(function(){return Aw},"getC4BoundaryInRow"),cPe=S(function(){return hs},"getCurrentBoundaryParse"),uPe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),hPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),dPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),fPe=Zie,pPe=S(function(){return Cb},"getRels"),gPe=S(function(){return AM},"getTitle"),mPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),yPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",hs="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),vPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},bPe={FILLED:0,OPEN:1},xPe={LEFTOF:0,RIGHTOF:1,OVER:2},TPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:ZBe,addPersonOrSystemBoundary:ePe,addContainer:QBe,addContainerBoundary:tPe,addComponent:JBe,addDeploymentNode:rPe,popBoundaryParseStack:nPe,addRel:KBe,updateElStyle:iPe,updateRelStyle:aPe,updateLayoutConfig:sPe,autoWrap:kd,setWrap:mPe,getC4ShapeArray:Kie,getC4Shape:hPe,getC4ShapeKeys:dPe,getBoundaries:Zie,getBoundarys:fPe,getCurrentBoundaryParse:cPe,getParentBoundaryParse:uPe,getRels:pPe,getTitle:gPe,getC4Type:XBe,getC4ShapeInRow:oPe,getC4BoundaryInRow:lPe,setAccTitle:jn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,getConfig:S(()=>Pe().c4,"getConfig"),clear:yPe,LINETYPE:vPe,ARROWTYPE:bPe,PLACEMENT:xPe,setTitle:TPe,setC4Type:jBe},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),wPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),CPe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),SPe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=NPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),EPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),kPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),_Pe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),APe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),LPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),RPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),DPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),NPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){_i(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),MPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(us(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=us(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=us("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),OPe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),IPe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=MPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=us(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=us(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=us(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=OPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var BPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),IPe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Ui(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:BPe},PPe=S(t=>`.person { +`+it+"^"},"showPosition"),test_match:S(function(Ge,it){var Ye,je,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),je=Ge[0].match(/(?:\r\n?|\n).*/g),je&&(this.yylineno+=je.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:je?je[je.length-1].length-je[je.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,je;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,je=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[je]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,je,at){switch(je){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var ZBe=kw,Cl=[],Kh=[""],hs="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,Xie,QBe=S(function(){return Xie},"getC4Type"),JBe=S(function(t){Xie=Jr(t,Pe())},"setC4Type"),ePe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),tPe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=hs,o.wrap=kd()},"addPersonOrSystem"),rPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addContainer"),nPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addComponent"),iPe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addPersonOrSystemBoundary"),aPe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addContainerBoundary"),sPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=hs,l.wrap=kd(),vl=hs,hs=e,Kh.push(vl)},"addDeploymentNode"),oPe=S(function(){hs=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),lPe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),cPe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),uPe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),hPe=S(function(){return _w},"getC4ShapeInRow"),dPe=S(function(){return Aw},"getC4BoundaryInRow"),fPe=S(function(){return hs},"getCurrentBoundaryParse"),pPe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),gPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),mPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),yPe=Zie,vPe=S(function(){return Cb},"getRels"),bPe=S(function(){return AM},"getTitle"),xPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),TPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",hs="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),wPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},CPe={FILLED:0,OPEN:1},SPe={LEFTOF:0,RIGHTOF:1,OVER:2},EPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:tPe,addPersonOrSystemBoundary:iPe,addContainer:rPe,addContainerBoundary:aPe,addComponent:nPe,addDeploymentNode:sPe,popBoundaryParseStack:oPe,addRel:ePe,updateElStyle:lPe,updateRelStyle:cPe,updateLayoutConfig:uPe,autoWrap:kd,setWrap:xPe,getC4ShapeArray:Kie,getC4Shape:gPe,getC4ShapeKeys:mPe,getBoundaries:Zie,getBoundarys:yPe,getCurrentBoundaryParse:fPe,getParentBoundaryParse:pPe,getRels:vPe,getTitle:bPe,getC4Type:QBe,getC4ShapeInRow:hPe,getC4BoundaryInRow:dPe,setAccTitle:Xn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,getConfig:S(()=>Pe().c4,"getConfig"),clear:TPe,LINETYPE:wPe,ARROWTYPE:CPe,PLACEMENT:SPe,setTitle:EPe,setC4Type:JBe},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),kPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),_Pe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),APe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=BPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),LPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),RPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),DPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),NPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),MPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),OPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),IPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),BPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){_i(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),PPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(us(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=us(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=us("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),FPe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),$Pe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=PPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=us(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=us(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=us(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=FPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var zPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),$Pe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Ui(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:zPe},qPe=S(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),FPe=PPe,$Pe={parser:YBe,db:DL,renderer:BU,styles:FPe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const zPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:$Pe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` +`,"getStyles"),VPe=qPe,GPe={parser:ZBe,db:DL,renderer:BU,styles:VPe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const UPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:GPe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; @@ -948,21 +948,21 @@ Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse erro stroke: revert; stroke-width: revert; } -`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=qPe(t,e);Ui(t,a,i,n);const l=VPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),qPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),VPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),GPe="flowchart-",l1,UPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=jn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` +`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=HPe(t,e);Ui(t,a,i,n);const l=WPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),HPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),WPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),YPe="flowchart-",l1,jPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Xn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` `)?p=l+` `:p=`{ `+l+` -}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:GPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. +}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:YPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Xie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),Kn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pX.flowchart}},S(l1,"FlowDB"),l1),HPe=S(function(t,e){return e.db.getClasses()},"getClasses"),WPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),YPe={getClasses:HPe,draw:WPe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Le=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Bn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Vn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1]};break;case 78:var Gn=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length};break;case 84:var Gn=Lt.destructLink(ke[Re]);this.$={type:Gn.type,stroke:Gn.stroke,length:Gn.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Le,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Le,[2,56]),t(Wt,[2,87]),t(Le,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,64]),t(Le,[2,59]),t(Le,[2,60]),t(Le,[2,61]),{109:[1,264]},t(Le,[2,63]),t(Le,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,67]),t(Le,[2,68]),t(Le,[2,70]),t(Le,[2,69]),t(Le,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Le,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Le,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Le,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Vn=this.table,Re="",Gn=0,Dd=0,X0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Xo={yy:{}};for(var j0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j0)&&(Xo.yy[j0]=this.yy[j0]);cn.setInput(Ht,Xo.yy),Xo.yy.lexer=cn,Xo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof Xo.yy.parseError=="function"?this.parseError=Xo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(pa){Xt.length=Xt.length-2*pa,Ar.length=Ar.length-pa,ke.length=ke.length-pa}S(Mx,"popStack");function cy(){var pa;return pa=Lt.pop()||cn.lex()||Nd,typeof pa!="number"&&(pa instanceof Array&&(Lt=pa,pa=Lt.pop()),pa=Bt.symbols_[pa]||pa),pa}S(cy,"lex");for(var Ti,Cc,ja,K0,kl={},Z0,jo,Od,ws;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?ja=this.defaultActions[Cc]:((Ti===null||typeof Ti>"u")&&(Ti=cy()),ja=Vn[Cc]&&Vn[Cc][Ti]),typeof ja>"u"||!ja.length||!ja[0]){var Id="";ws=[];for(Z0 in Vn[Cc])this.terminals_[Z0]&&Z0>X0&&ws.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Gn+1)+`: +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=jie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),Kn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pj.flowchart}},S(l1,"FlowDB"),l1),XPe=S(function(t,e){return e.db.getClasses()},"getClasses"),KPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),ZPe={getClasses:XPe,draw:KPe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],A=[1,47],k=[1,43],R=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],j=[1,63],Z=[8,9,11,75,77,78],X=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Le=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],je=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Pn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Gn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Un=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,text:ke[Re-1]};break;case 78:var Un=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Un=Lt.destructLink(ke[Re]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length};break;case 84:var Un=Lt.destructLink(ke[Re]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:j,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:j,21:68},{8:P,9:H,11:j,21:69},{8:P,9:H,11:j,21:70},{8:P,9:H,11:j,21:71},{8:P,9:H,11:j,21:72},{8:P,9:H,10:[1,73],11:j,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:X}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Le,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:A,105:k,106:R,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:je,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:X}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:je,11:j,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Le,[2,56]),t(Wt,[2,87]),t(Le,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,64]),t(Le,[2,59]),t(Le,[2,60]),t(Le,[2,61]),{109:[1,264]},t(Le,[2,63]),t(Le,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,67]),t(Le,[2,68]),t(Le,[2,70]),t(Le,[2,69]),t(Le,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:j,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Le,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Le,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Le,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Gn=this.table,Re="",Un=0,Dd=0,j0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),jo={yy:{}};for(var X0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X0)&&(jo.yy[X0]=this.yy[X0]);cn.setInput(Ht,jo.yy),jo.yy.lexer=cn,jo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof jo.yy.parseError=="function"?this.parseError=jo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(pa){Xt.length=Xt.length-2*pa,Ar.length=Ar.length-pa,ke.length=ke.length-pa}S(Mx,"popStack");function cy(){var pa;return pa=Lt.pop()||cn.lex()||Nd,typeof pa!="number"&&(pa instanceof Array&&(Lt=pa,pa=Lt.pop()),pa=Bt.symbols_[pa]||pa),pa}S(cy,"lex");for(var Ti,Cc,Xa,K0,kl={},Z0,Xo,Od,ws;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?Xa=this.defaultActions[Cc]:((Ti===null||typeof Ti>"u")&&(Ti=cy()),Xa=Gn[Cc]&&Gn[Cc][Ti]),typeof Xa>"u"||!Xa.length||!Xa[0]){var Id="";ws=[];for(Z0 in Gn[Cc])this.terminals_[Z0]&&Z0>j0&&ws.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Un+1)+`: `+cn.showPosition()+` -Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse error on line "+(Gn+1)+": Unexpected "+(Ti==Nd?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[Ti]||Ti,line:cn.yylineno,loc:Md,expected:ws})}if(ja[0]instanceof Array&&ja.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+Ti);switch(ja[0]){case 1:Xt.push(Ti),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(ja[1]),Ti=null,Dd=cn.yyleng,Re=cn.yytext,Gn=cn.yylineno,Md=cn.yylloc;break;case 2:if(jo=this.productions_[ja[1]][1],kl.$=Ar[Ar.length-jo],kl._$={first_line:ke[ke.length-(jo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(jo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(jo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Gn,Xo.yy,ja[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;jo&&(Xt=Xt.slice(0,-1*jo*2),Ar=Ar.slice(0,-1*jo),ke=ke.slice(0,-1*jo)),Xt.push(this.productions_[ja[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Vn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},_n=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse error on line "+(Un+1)+": Unexpected "+(Ti==Nd?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[Ti]||Ti,line:cn.yylineno,loc:Md,expected:ws})}if(Xa[0]instanceof Array&&Xa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+Ti);switch(Xa[0]){case 1:Xt.push(Ti),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(Xa[1]),Ti=null,Dd=cn.yyleng,Re=cn.yytext,Un=cn.yylineno,Md=cn.yylloc;break;case 2:if(Xo=this.productions_[Xa[1]][1],kl.$=Ar[Ar.length-Xo],kl._$={first_line:ke[ke.length-(Xo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(Xo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(Xo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Un,jo.yy,Xa[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;Xo&&(Xt=Xt.slice(0,-1*Xo*2),Ar=Ar.slice(0,-1*Xo),ke=ke.slice(0,-1*Xo)),Xt.push(this.productions_[Xa[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Gn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},An=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ht){this.unput(this.match.slice(Ht))},"less"),pastInput:S(function(){var Ht=this.matched.substr(0,this.matched.length-this.match.length);return(Ht.length>20?"...":"")+Ht.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ht=this.match;return Ht.length<20&&(Ht+=this._input.substr(0,20-Ht.length)),(Ht.substr(0,20)+(Ht.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ht=this.pastInput(),Bt=new Array(Ht.length+1).join("-");return Ht+this.upcomingInput()+` `+Bt+"^"},"showPosition"),test_match:S(function(Ht,Bt){var Xt,Lt,Ar;if(this.options.backtrack_lexer&&(Ar={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ar.yylloc.range=this.yylloc.range.slice(0))),Lt=Ht[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ht[0].length},this.yytext+=Ht[0],this.match+=Ht[0],this.matches=Ht,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ht[0].length),this.matched+=Ht[0],Xt=this.performAction.call(this,this.yy,this,Bt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Xt)return Xt;if(this._backtrack){for(var ke in Ar)this[ke]=Ar[ke];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ht,Bt,Xt,Lt;this._more||(this.yytext="",this.match="");for(var Ar=this._currentRules(),ke=0;keBt[0].length)){if(Bt=Xt,Lt=ke,this.options.backtrack_lexer){if(Ht=this.test_match(Xt,Ar[ke]),Ht!==!1)return Ht;if(this._backtrack){Bt=!1;continue}else return!1}else if(!this.options.flex)break}return Bt?(Ht=this.test_match(Bt,Ar[Lt]),Ht!==!1?Ht:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Bn.lexer=_n;function ei(){this.yy={}}return S(ei,"Parser"),ei.prototype=Bn,Bn.Parser=ei,new ei})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} -`);return nae.parse(e)};var XPe=iae,jPe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),KPe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Pn.lexer=An;function ei(){this.yy={}}return S(ei,"Parser"),ei.prototype=Pn,Pn.Parser=ei,new ei})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} +`);return nae.parse(e)};var QPe=iae,JPe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),eFe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -1049,7 +1049,7 @@ Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse erro /* For html labels only */ .labelBkg { - background-color: ${jPe(t.edgeLabelBackground,.5)}; + background-color: ${JPe(t.edgeLabelBackground,.5)}; // background-color: } @@ -1109,12 +1109,12 @@ Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse erro text-align: center; } ${bx()} -`,"getStyles"),ZPe=KPe,QPe={parser:XPe,get db(){return new UPe},renderer:YPe,styles:ZPe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:QPe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Le){for(He=He||{},Le=Me.length;Le--;He[Me[Le]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Le,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Le=new Error($e);throw Le.hash=He,Le}},"parseError"),parse:S(function($e){var He=this,Le=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Le.length=Le.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Le[Le.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: +`,"getStyles"),tFe=eFe,rFe={parser:QPe,get db(){return new jPe},renderer:ZPe,styles:tFe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:rFe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Le){for(He=He||{},Le=Me.length;Le--;He[Me[Le]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],A=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],R=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],j=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],X=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Le,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:A}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:R,41:O},{16:47,40:R,41:O},{16:48,40:R,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:R,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:R,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:A}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:A},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(j,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:X,50:ee,72:Q},{16:93,40:R,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:R,41:O},t(j,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:X,50:ee,72:Q},{16:115,40:R,41:O},{14:116,40:X,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:X,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Le=new Error($e);throw Le.hash=He,Le}},"parseError"),parse:S(function($e){var He=this,Le=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,je=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Le.length=Le.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||je,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Le[Le.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: `+xe.showPosition()+` -Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==Xe?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Le.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Le.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Le=Le.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Le.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Le[Le.length-2]][Le[Le.length-1]],Le.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Le){if(this.yy.parser)this.yy.parser.parseError(He,Le);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Le=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Le.length-1&&(this.yylineno-=Le.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Le?(Le.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Le.length].length-Le[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==je?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Le.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Le.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Le=Le.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Le.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Le[Le.length-2]][Le[Le.length-1]],Le.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Le){if(this.yy.parser)this.yy.parser.parseError(He,Le);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Le=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Le.length-1&&(this.yylineno-=Le.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Le?(Le.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Le.length].length-Le[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function($e){this.unput(this.match.slice($e))},"less"),pastInput:S(function(){var $e=this.matched.substr(0,this.matched.length-this.match.length);return($e.length>20?"...":"")+$e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var $e=this.match;return $e.length<20&&($e+=this._input.substr(0,20-$e.length)),($e.substr(0,20)+($e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var $e=this.pastInput(),He=new Array($e.length+1).join("-");return $e+this.upcomingInput()+` `+He+"^"},"showPosition"),test_match:S(function($e,He){var Le,Oe,We;if(this.options.backtrack_lexer&&(We={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(We.yylloc.range=this.yylloc.range.slice(0))),Oe=$e[0].match(/(?:\r\n?|\n).*/g),Oe&&(this.yylineno+=Oe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Oe?Oe[Oe.length-1].length-Oe[Oe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+$e[0].length},this.yytext+=$e[0],this.match+=$e[0],this.matches=$e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice($e[0].length),this.matched+=$e[0],Le=this.performAction.call(this,this.yy,this,He,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Le)return Le;if(this._backtrack){for(var Te in We)this[Te]=We[Te];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var $e,He,Le,Oe;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),Te=0;TeHe[0].length)){if(He=Le,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Le,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var He=this.next();return He||this.lex()},"lex"),begin:S(function(He){this.conditionStack.push(He)},"begin"),popState:S(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Le,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Le.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Le.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var JPe=IL,c1,eFe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Kn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>tFe});var tFe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),rFe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Le,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Le.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Le.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var nFe=IL,c1,iFe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Xn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Kn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>aFe});var aFe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),sFe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` - ${rFe(t)} + `;return s},"genColor"),oFe=S(t=>{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` + ${sFe(t)} .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -1193,19 +1193,19 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro [data-look=neo].labelBkg { background-color: ${PU(t.tertiaryColor,.5)}; } -`},"getStyles"),iFe=nFe,aFe={parser:JPe,get db(){return new eFe},renderer:aae,styles:iFe};const sFe=Object.freeze(Object.defineProperty({__proto__:null,diagram:aFe},Symbol.toStringTag,{value:"Module"}));function Xu(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(Xu,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function qa(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function oFe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return qa(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Ea{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Ea(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=lFe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Ea(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Ea(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Ea(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Ea(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Ea(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Ea(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function lFe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Ea(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ii(...t){if(t.length===1){const e=t[0];if(e instanceof Ea)return e;if(Dw(e))return new Ea(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ea(()=>({index:0}),r=>r.index1?new Ea(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{qa(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):qa(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?DFe(r,e):!1}function Nw(t){return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function LFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function RFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const NFe=/^[\w\p{L}]$/u;function MFe(t,e){if(t){const r=OFe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function OFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function IFe(){throw Error("Internal Error - Should never get here!")}function XU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const jU=[Er(" "),Er("\f"),Er(` -`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],BFe=/[0-9a-fA-F]/,DT=/[0-9]/,PFe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return IFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` -`),Er("\r"),Er("\u2028"),Er("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Iw;break;case"D":e=Iw,r=!0;break;case"s":e=jU;break;case"S":e=jU,r=!0;break;case"w":e=Bw;break;case"W":e=Bw,r=!0;break}if(Gp(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Er("\f");break;case"n":e=Er(` +`},"getStyles"),lFe=oFe,cFe={parser:nFe,get db(){return new iFe},renderer:aae,styles:lFe};const uFe=Object.freeze(Object.defineProperty({__proto__:null,diagram:cFe},Symbol.toStringTag,{value:"Module"}));function ju(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(ju,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function qa(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function hFe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return qa(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Ea{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Ea(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=dFe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Ea(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Ea(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Ea(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Ea(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Ea(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Ea(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function dFe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Ea(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ii(...t){if(t.length===1){const e=t[0];if(e instanceof Ea)return e;if(Dw(e))return new Ea(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ea(()=>({index:0}),r=>r.index1?new Ea(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{qa(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):qa(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?IFe(r,e):!1}function Nw(t){return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function MFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function OFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const BFe=/^[\w\p{L}]$/u;function PFe(t,e){if(t){const r=FFe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function FFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function $Fe(){throw Error("Internal Error - Should never get here!")}function jU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const XU=[Er(" "),Er("\f"),Er(` +`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],zFe=/[0-9a-fA-F]/,DT=/[0-9]/,qFe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return $Fe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` +`),Er("\r"),Er("\u2028"),Er("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Iw;break;case"D":e=Iw,r=!0;break;case"s":e=XU;break;case"S":e=XU,r=!0;break;case"w":e=Bw;break;case"W":e=Bw,r=!0;break}if(Gp(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Er("\f");break;case"n":e=Er(` `);break;case"r":e=Er("\r");break;case"t":e=Er(" ");break;case"v":e=Er("\v");break}if(Gp(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Er("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:Er(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:Er(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,XU(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,XU(i)){if(i.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const FFe=/\r?\n/gm,$Fe=new mae;class zFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const VFe=/\r?\n/gm,GFe=new mae;class UFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=PS(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new zFe;function qFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit($Fe.pattern(t)),rA.multiline}catch{return!1}}const VFe=`\f -\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return VFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function GFe(t,e){const r=UFe(t),n=e.match(r);return!!n&&n[0].length>0}function UFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function HFe(t){return t.rules.find(e=>ju(e)&&e.entry)}function WFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=HFe(t);if(!n)return new Set(t.rules);const i=[n].concat(WFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function YFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function XFe(t){return t.hidden&&!yae(FM(t))}function jFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function KFe(t,e,r){if(!t)return;const n=ZFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ZFe(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function QFe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&ju(i.rule.ref))return n(i,i.rule.ref);if(wFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||ju(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return ju(t)&&Cae(t)?t.name:Eae(t)??t.name;if(mFe(t)||kFe(t)||TFe(t))return t.name;if(OS(t)){const e=JFe(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function JFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function e$e(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(CFe(t))return t$e(t);if(SFe(t))return r$e(t);if(dFe(t))return a$e(t);if(EFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(yFe(t))return i$e(t);if(_Fe(t))return n$e(t);if(xFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(AFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function t$e(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function r$e(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function n$e(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function i$e(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function a$e(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function s$e(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&XFe(n)&&qFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:NFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function o$e(t){return l$e(t)?t.LABEL:t.name}function l$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class yi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class qn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function c$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new qn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof yi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof qn){const r={type:"Terminal",name:t.terminalType.name,label:o$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case yi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case qn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function u$e(t){return t instanceof Vs||t instanceof Ra||t instanceof yi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof qn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof yi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function h$e(t){return t instanceof Ws}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof qn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof yi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new qn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof qn)return p$e(t);if(u$e(t))return d$e(t);if(h$e(t))return f$e(t);throw Error("non exhaustive match")}function d$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function f$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function p$e(t){return[t.terminalType]}const Lae="_~IN~_";class g$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=y$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function m$e(t){const e={};return t.forEach(r=>{const n=new g$e(r).startWalking();Object.assign(e,n)}),e}function y$e(t,e){return t.name+e+Lae}let H3={};const v$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=v$e.pattern(e);return H3[e]=r,r}}function b$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: -`;function x$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new UFe;function HFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(GFe.pattern(t)),rA.multiline}catch{return!1}}const WFe=`\f +\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return WFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function YFe(t,e){const r=jFe(t),n=e.match(r);return!!n&&n[0].length>0}function jFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function XFe(t){return t.rules.find(e=>Xu(e)&&e.entry)}function KFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=XFe(t);if(!n)return new Set(t.rules);const i=[n].concat(KFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function ZFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function QFe(t){return t.hidden&&!yae(FM(t))}function JFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function e$e(t,e,r){if(!t)return;const n=t$e(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function t$e(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function r$e(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&Xu(i.rule.ref))return n(i,i.rule.ref);if(kFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||Xu(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return Xu(t)&&Cae(t)?t.name:Eae(t)??t.name;if(xFe(t)||RFe(t)||EFe(t))return t.name;if(OS(t)){const e=n$e(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function n$e(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function i$e(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(_Fe(t))return a$e(t);if(AFe(t))return s$e(t);if(mFe(t))return c$e(t);if(LFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(TFe(t))return l$e(t);if(DFe(t))return o$e(t);if(SFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(NFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function a$e(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function s$e(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function o$e(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function l$e(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function c$e(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function u$e(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&QFe(n)&&HFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:BFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function h$e(t){return d$e(t)?t.LABEL:t.name}function d$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class yi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class Vn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function f$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof yi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Vn){const r={type:"Terminal",name:t.terminalType.name,label:h$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case yi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case Vn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function p$e(t){return t instanceof Vs||t instanceof Ra||t instanceof yi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof Vn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof yi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function g$e(t){return t instanceof Ws}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof Vn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof yi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new Vn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof Vn)return v$e(t);if(p$e(t))return m$e(t);if(g$e(t))return y$e(t);throw Error("non exhaustive match")}function m$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function y$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function v$e(t){return[t.terminalType]}const Lae="_~IN~_";class b$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=T$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function x$e(t){const e={};return t.forEach(r=>{const n=new b$e(r).startWalking();Object.assign(e,n)}),e}function T$e(t,e){return t.name+e+Lae}let H3={};const w$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=w$e.pattern(e);return H3[e]=r,r}}function C$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: +`;function S$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` @@ -1213,49 +1213,49 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),WL(`${Fw} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&XL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&T$e(t,e)}function T$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function XL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(XL):XL(t.value):!1}class w$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new w$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function C$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Y$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(U$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=pd(_);iA(C,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=pd(k);_!==L&&(_=L,iA(C,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&jL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&E$e(t,e)}function E$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function jL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(jL):jL(t.value):!1}class k$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new k$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function _$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Z$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(j$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),A=pd(_);iA(C,A,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(A=>{const k=typeof A=="string"?A.charCodeAt(0):A,R=pd(k);_!==R&&(_=R,iA(C,R,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=x$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{iA(C,R,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=S$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(A=>{iA(C,A,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function S$e(t,e){let r=[];const n=k$e(t);r=r.concat(n.errors);const i=_$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(E$e(a)),r=r.concat(I$e(a)),r=r.concat(B$e(a,e)),r=r.concat(P$e(a)),r}function E$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(L$e(r)),e=e.concat(N$e(r)),e=e.concat(M$e(r)),e=e.concat(O$e(r)),e=e.concat(R$e(r)),e}function k$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:vi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function _$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:vi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const A$e=/[^\\][$]/;function L$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return A$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function A$e(t,e){let r=[];const n=R$e(t);r=r.concat(n.errors);const i=D$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(L$e(a)),r=r.concat($$e(a)),r=r.concat(z$e(a,e)),r=r.concat(q$e(a)),r}function L$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(M$e(r)),e=e.concat(B$e(r)),e=e.concat(P$e(r)),e=e.concat(F$e(r)),e=e.concat(O$e(r)),e}function R$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:vi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function D$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:vi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const N$e=/[^\\][$]/;function M$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return N$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function R$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:vi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const D$e=/[^\\[][\^]|^\^/;function N$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return D$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function O$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:vi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const I$e=/[^\\[][\^]|^\^/;function B$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return I$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function M$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:vi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function O$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:vi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function I$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:vi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function B$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:vi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function P$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&$$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function P$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:vi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function F$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:vi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function $$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:vi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function z$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:vi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function q$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&G$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:vi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function F$e(t,e){if(e instanceof RegExp){if(z$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function $$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function z$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:vi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function V$e(t,e){if(e instanceof RegExp){if(U$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function G$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function U$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition `,type:vi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,MT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+MT+`> property in its definition `,type:vi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,MT)&&Object.hasOwn(t,f2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${f2}: <${t.defaultMode}>which does not exist `,type:vi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,MT)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> `,type:vi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(u=>{u!==void 0&&!a.includes(u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${i}> -`,type:vi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function V$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:W$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +`,type:vi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function W$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:K$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:vi.NO_LINE_BREAKS_FLAGS}),n}function G$e(t){const e={};return Object.keys(t).forEach(n=>{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function U$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const H$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function j$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const X$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===vi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=X$e(t);j$e(e),Z$e(e),K$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function X$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function j$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),Q$e(e)||(e.categoryMatches=[]),J$e(e)||(e.categoryMatchesMap={})})}function K$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function Z$e(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function Q$e(t){return Object.hasOwn(t??{},"categoryMatches")}function J$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function eze(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const jL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var vi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(vi||(vi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:jL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class $s{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=H$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(q$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(V$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(S$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=C$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=Q$e(t);J$e(e),tze(e),eze(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function Q$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function J$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),rze(e)||(e.categoryMatches=[]),nze(e)||(e.categoryMatchesMap={})})}function eze(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function tze(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function rze(t){return Object.hasOwn(t??{},"categoryMatches")}function nze(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function ize(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const XL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var vi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(vi||(vi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:XL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class $s{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=X$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(H$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(W$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(A$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=_$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+l)}this.lexerDefinitionWarning.forEach(o=>{kae(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Object.entries(this.canModeBeOptimized).reduce((l,[u,h])=>(h===!1&&l.push(u),l),[]);if(r.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{b$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{C$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const R=this.hasCustom?0:Math.floor(e.length/10),k=new Array(R),L=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=G$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const X=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);R.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:X})}else{B.pop();const X=B.at(-1);I=this.patternIdxToConfig[X],N=this.charCodeToPatternIdxToConfig[X],D=I.length;const ee=this.canModeBeOptimized[X]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const X=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&X?V=!0:V=!1}P.call(this,r);let H;const j=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=j===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` but found: '`+e[0].image+"'";if(n)return a+n+o;{const d=`one of these possible Token sequences: ${t.reduce((f,p)=>f.concat(p),[]).map(f=>`[${f.map(p=>qg(p)).join(", ")}]`).map((f,p)=>` ${p+1}. ${f}`).join(` `)}`;return a+d+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=` but found: '`+e[0].image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const nze={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof qn?h.terminalType.name:h instanceof gs?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Hl(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} + <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const oze={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof Vn?h.terminalType.name:h instanceof gs?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Hl(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,` @@ -1281,44 +1281,44 @@ rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function ize(t,e){const r=new aze(t,e);return r.resolveRefs(),r.errors}class aze extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class sze extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class oze extends sze{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class lze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class cze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof qn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof qn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function uze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof qn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(hze(x,m,v,b));else throw Error("non exhaustive match")}return h}function hze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ai;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ai||(ai={}));function VM(t){if(t instanceof Ra||t==="Option")return ai.OPTION;if(t instanceof yi||t==="Repetition")return ai.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ai.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ai.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ai.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ai.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ai.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function dze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function fze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function pze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ai.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new mze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function bze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function xze(t,e,r,n){const i=t.flatMap(l=>Tze(l,r)),a=Mze(t,e,r),s=t.flatMap(l=>Lze(l,r)),o=t.flatMap(l=>Sze(l,t,n,r));return i.concat(a,s,o)}function Tze(t,e){const r=new Cze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,wze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function wze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof qn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class Cze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Sze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Eze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof yi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof qn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function kze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>uze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function _ze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Dze(u,s,t,r),d=Nze(u,s,t,r);return h.concat(d)})}class Aze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Lze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Rze(t,e,r){const n=[];return t.forEach(i=>{const a=new Aze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Dze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Nze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Mze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Oze(t){const e=Object.assign({errMsgProvider:nze},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),ize(r,e.errMsgProvider)}function Ize(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return xze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",Xae="NotAllInputParsedException",jae=[Hae,Wae,Yae,Xae];Object.freeze(jae);function zw(t){return jae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class Bze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class Pze extends GS{constructor(e,r){super(e,r),this.name=Xae}}class Fze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class $ze extends Error{constructor(e){super(e),this.name=Zae}}class zze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new oze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new $ze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>kze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>_ze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Rze(e,r,Wf)}buildLookaheadForAlternation(e){return dze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,pze)}buildLookaheadForOptional(e){return fze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),gze)}}class Gze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Hze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,X3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class Uze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new Uze;function Hze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function lze(t,e){const r=new cze(t,e);return r.resolveRefs(),r.errors}class cze extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class uze extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class hze extends uze{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class dze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class fze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof Vn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function pze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof Vn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(gze(x,m,v,b));else throw Error("non exhaustive match")}return h}function gze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ai;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ai||(ai={}));function VM(t){if(t instanceof Ra||t==="Option")return ai.OPTION;if(t instanceof yi||t==="Repetition")return ai.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ai.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ai.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ai.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ai.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ai.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function mze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function yze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function vze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ai.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new xze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function Cze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Sze(t,e,r,n){const i=t.flatMap(l=>Eze(l,r)),a=Pze(t,e,r),s=t.flatMap(l=>Mze(l,r)),o=t.flatMap(l=>Aze(l,t,n,r));return i.concat(a,s,o)}function Eze(t,e){const r=new _ze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,kze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function kze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof Vn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class _ze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Aze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Lze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof yi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof Vn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Rze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>pze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function Dze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Ize(u,s,t,r),d=Bze(u,s,t,r);return h.concat(d)})}class Nze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Mze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Oze(t,e,r){const n=[];return t.forEach(i=>{const a=new Nze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Ize(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Bze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Pze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Fze(t){const e=Object.assign({errMsgProvider:oze},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),lze(r,e.errMsgProvider)}function $ze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return Sze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",jae="NotAllInputParsedException",Xae=[Hae,Wae,Yae,jae];Object.freeze(Xae);function zw(t){return Xae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class zze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class qze extends GS{constructor(e,r){super(e,r),this.name=jae}}class Vze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Gze extends Error{constructor(e){super(e),this.name=Zae}}class Uze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Hze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new hze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Gze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>Rze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Dze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Oze(e,r,Wf)}buildLookaheadForAlternation(e){return mze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,vze)}buildLookaheadForOptional(e){return yze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),bze)}}class Yze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Xze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,j3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class jze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new jze;function Xze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Zze(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=jze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function Qze(t,e){return Jze(t,e)}function Jze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class eqe{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Wze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Yze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Kze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Zze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class tqe{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class rqe{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ms.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=Eze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return c$e(Object.values(this.gastProductionsCache))}}class nqe{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function tqe(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=Jze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function rqe(t,e){return nqe(t,e)}function nqe(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class iqe{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Kze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Zze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=eqe(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=tqe(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class aqe{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class sqe{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ms.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=Lze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return f$e(Object.values(this.gastProductionsCache))}}class oqe{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(eze)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,cze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(X3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,X3,e,uH)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,lze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,X3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(ize)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,fze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(j3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,j3,e,uH)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,dze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,j3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,yi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return oqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?aqe:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new qn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function oqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class lqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function cqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Oze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=Ize({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=bze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=m$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,yi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return hqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?cqe:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new Vn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function hqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class dqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function fqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Fze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=$ze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=Cze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=x$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;cqe(kx,[zze,Gze,eqe,tqe,nqe,rqe,iqe,sqe,lqe]);class uqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,hqe=2,nse=4,ise=5,_x=7,dqe=8,fqe=9,pqe=10,gqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function mqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};yqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function Cqe(t,e,r){const n=ua(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return Sqe(t,e,r,i)}function G0(t,e,r){const n=jl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:kqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:gqe});Ad(t,o);const l=ua(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Fi(s,o),i===void 0?(Fi(o,a),Fi(o,l)):(Fi(o,l),Fi(o,i.left),Fi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:pqe});Ad(t,o);const l=ua(t,e,r,{type:ase}),u=ua(t,e,r,{type:fqe});return o.loopback=u,l.loopback=u,Fi(o,a),Fi(o,l),Fi(s,u),i!==void 0?(Fi(u,l),Fi(u,i.left),Fi(i.right,a)):Fi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Sqe(t,e,r,n){const i=n.left,a=n.right;return Fi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ua(t,e,n,{type:dqe,start:r});r.end=a;for(const o of i)o!==void 0?(Fi(r,o.left),Fi(o.right,a)):Fi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,Eqe(n),n.idx)]=r,s}function Eqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof yi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function kqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Rqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=mqe(e.rules),this.dfas=Nqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Nqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Pqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;fqe(kx,[Uze,Yze,iqe,aqe,oqe,sqe,lqe,uqe,dqe]);class pqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,gqe=2,nse=4,ise=5,_x=7,mqe=8,yqe=9,vqe=10,bqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function xqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Tqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function _qe(t,e,r){const n=ua(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return Aqe(t,e,r,i)}function G0(t,e,r){const n=Xl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Rqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:bqe});Ad(t,o);const l=ua(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Fi(s,o),i===void 0?(Fi(o,a),Fi(o,l)):(Fi(o,l),Fi(o,i.left),Fi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:vqe});Ad(t,o);const l=ua(t,e,r,{type:ase}),u=ua(t,e,r,{type:yqe});return o.loopback=u,l.loopback=u,Fi(o,a),Fi(o,l),Fi(s,u),i!==void 0?(Fi(u,l),Fi(u,i.left),Fi(i.right,a)):Fi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Aqe(t,e,r,n){const i=n.left,a=n.right;return Fi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ua(t,e,n,{type:mqe,start:r});r.end=a;for(const o of i)o!==void 0?(Fi(r,o.left),Fi(o.right,a)):Fi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,Lqe(n),n.idx)]=r,s}function Lqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof yi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Rqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Oqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=xqe(e.rules),this.dfas=Bqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Bqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${qqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function Pqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof qn)return"CONSUME";throw Error("non exhaustive match")}function Fqe(t,e,r){const n=M8e(e.configs.elements,a=>a.state.transitions),i=nLe(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function $qe(t,e){return t.edges[e.tokenTypeIdx]}function zqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Hqe(a))for(const s of i)a.add(s);return a}function qqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Vqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Gqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Kqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var Xw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(Xw||(Xw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class Zqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var jw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(jw||(jw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&jw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Xw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var XR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(XR||(XR={}));var jR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(jR||(jR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const Qqe=[` +For Further details.`,n}function qqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}function Vqe(t,e,r){const n=P8e(e.configs.elements,a=>a.state.transitions),i=oLe(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Gqe(t,e){return t.edges[e.tokenTypeIdx]}function Uqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Xqe(a))for(const s of i)a.add(s);return a}function Hqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Wqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Yqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function eVe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var jw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(jw||(jw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class tVe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var Xw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Xw||(Xw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&Xw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||jw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var jR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(jR||(jR={}));var XR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(XR||(XR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const rVe=[` `,`\r -`,"\r"];var r9;(function(t){function e(a,s,o,l){return new Jqe(a,s,o,l)}t.create=e;function r(a){let s=a;return!!(ht.defined(s)&&ht.string(s.uri)&&(ht.undefined(s.languageId)||ht.string(s.languageId))&&ht.uinteger(s.lineCount)&&ht.func(s.getText)&&ht.func(s.positionAt)&&ht.func(s.offsetAt))}t.is=r;function n(a,s){let o=a.getText(),l=i(s,(h,d)=>{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const eVe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:Qqe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return XR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return jw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return jR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:Zqe,get WorkspaceEdit(){return Xw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class tVe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new sVe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class rVe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new tVe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),ju(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(cFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class nVe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends nVe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class iVe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const aVe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends uqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...aVe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Dqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class sVe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return oVe({parser:e,tokens:r,ruleNames:new Map},t),e}function oVe(t,e){const r=vae(e,!1),n=ii(e.rules).filter(ju).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ii(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,lVe(t,a))}function lVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=gVe(t,e);else if(OS(e))n=cVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=uVe(t,e);else if(hae(e))n=dVe(t,e);else if(fae(e))n=fVe(t,e);else if(BM(e))n=pVe(t,e);else if(gFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function cVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function uVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=ju(r)&&r.fragment,a=e.arguments.length>0?hVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function hVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(fFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(vFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(bFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(hFe(t)){const e=!!t.true;return()=>e}wx()}function dVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function fVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function pVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&ju(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function gVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=mVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function mVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ju(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function yVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new iVe(t);return xse(e,n,r.definition),n.finalize(),n}function vVe(t){const e=bVe(t);return e.finalize(),e}function bVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new rVe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ii(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&GFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=YFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(e$e(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return ba.stringArray=s,ba}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var si=HS();function xVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let j3=0,TVe=10;function wVe(){return j3=performance.now(),new si.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function ss(t){if(t===si.CancellationToken.None)return;const e=performance.now();if(e-j3>=TVe&&(j3=e,await xVe(),j3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(CVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function CVe(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class EVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=si.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class kVe{constructor(e){this.documentTrie=new SVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ii(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class _Ve{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=si.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await ss(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await ss(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qa(this._ref))return this._ref;if(oFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=QFe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||LFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ii(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ii(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ii(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ii(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ii(this.map.keys())}values(){return ii(this.map.values()).flat()}entriesGroupedByKey(){return ii(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class DVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=si.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=si.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=si.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class NVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ii(n).concat(this.outerScope.getElements(e)):ii(n)}getAllElements(){let e=ii(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class MVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class OVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class IVe extends MVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class BVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new IVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ii(e),r,n)}createScopeForNodes(e,r,n){const i=ii(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new NVe(this.indexManager.allElements(e)))}}function PVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class FVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(qa(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=jFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ii(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const qVe=Object.freeze({validateNode:!0,validateChildren:!0});class VVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=si.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:UVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=si.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=si.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return qVe}async validateAstAfter(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:GVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function GVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=KFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function UVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class HVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class WVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=si.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await ss(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class YVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var XVe=sy();class jVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new XVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function KVe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function ZVe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function QVe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function JVe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r -`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function eGe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const iVe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:rVe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return jR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return Xw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return XR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:tVe,get WorkspaceEdit(){return jw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class aVe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new uVe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class sVe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new aVe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Xu(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(fFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class oVe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends oVe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class lVe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const cVe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends pqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...cVe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Iqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class uVe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return hVe({parser:e,tokens:r,ruleNames:new Map},t),e}function hVe(t,e){const r=vae(e,!1),n=ii(e.rules).filter(Xu).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ii(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,dVe(t,a))}function dVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=bVe(t,e);else if(OS(e))n=fVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=pVe(t,e);else if(hae(e))n=mVe(t,e);else if(fae(e))n=yVe(t,e);else if(BM(e))n=vVe(t,e);else if(bFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function fVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function pVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=Xu(r)&&r.fragment,a=e.arguments.length>0?gVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function gVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(yFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(wFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(CFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(gFe(t)){const e=!!t.true;return()=>e}wx()}function mVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function yVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function vVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&Xu(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function bVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=xVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function xVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Xu(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function TVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new lVe(t);return xse(e,n,r.definition),n.finalize(),n}function wVe(t){const e=CVe(t);return e.finalize(),e}function CVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new sVe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ii(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&YFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=ZFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(i$e(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return ba.stringArray=s,ba}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var si=HS();function SVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let X3=0,EVe=10;function kVe(){return X3=performance.now(),new si.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function ss(t){if(t===si.CancellationToken.None)return;const e=performance.now();if(e-X3>=EVe&&(X3=e,await SVe(),X3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(_Ve),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function _Ve(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var j=M.lastIndexOf("/");if(j!==M.length-1){j===-1?(M="",V=0):V=(M=M.slice(0,j)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?j=Z:Z===0&&(j=0));break}var X=I.charCodeAt(B+Z);if(X!==N.charCodeAt(U+Z))break;X===47&&(j=Z)}var ee="";for(Z=B+j+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+j):(U+=j,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var j=I.charCodeAt(B);if(j===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(j===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,j=!0,Z=I.length-1,X=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(j=!1,H=Z+1),M===46?U===-1?U=Z:X!==1&&(X=1):U!==-1&&(X=-1);else if(!j){P=Z+1;break}return U===-1||H===-1||X===0||X===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,A(D[4]||u),A(D[5]||u),A(D[7]||u),A(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function A($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const R=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:R.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=R.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=R.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return R.basename(q.path)},$.extname=function(q){return R.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class LVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=si.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class RVe{constructor(e){this.documentTrie=new AVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ii(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class DVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=si.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await ss(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await ss(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qa(this._ref))return this._ref;if(hFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=r$e(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||MFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ii(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ii(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ii(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ii(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ii(this.map.keys())}values(){return ii(this.map.values()).flat()}entriesGroupedByKey(){return ii(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class IVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=si.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=si.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=si.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class BVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ii(n).concat(this.outerScope.getElements(e)):ii(n)}getAllElements(){let e=ii(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class PVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class FVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class $Ve extends PVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class zVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new $Ve(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ii(e),r,n)}createScopeForNodes(e,r,n){const i=ii(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new BVe(this.indexManager.allElements(e)))}}function qVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class VVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(qa(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=JFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ii(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const HVe=Object.freeze({validateNode:!0,validateChildren:!0});class WVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=si.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:jVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=si.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=si.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return HVe}async validateAstAfter(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:YVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function YVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=e$e(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function jVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class XVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class KVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=si.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await ss(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class ZVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var QVe=sy();class JVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new QVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class A extends i{constructor(z){super(z,5)}}ur.NotificationType5=A;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class R extends i{constructor(z){super(z,7)}}ur.NotificationType7=R;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function eGe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function tGe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function rGe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function nGe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r +`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function iGe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r `;class n{constructor(a="utf-8"){this._encoding=a,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(a){const s=typeof a=="string"?this.fromString(a,this._encoding):a;this._chunks.push(s),this._totalLength+=s.byteLength}tryReadHeaders(a=!1){if(this._chunks.length===0)return;let s=0,o=0,l=0,u=0;e:for(;othis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function tGe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Le=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: -${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=j.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Le.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: +${m}`);const b=m.substr(0,v),x=m.substr(v+1).trim();d.set(a?b.toLowerCase():b,x)}return d}tryReadBody(a){if(!(this._totalLengththis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function aGe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var A;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(A||(t.CancellationReceiverStrategy=A={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var R;(function(z){z.Message=Object.freeze({receiver:A.Message,sender:k.Message});function D(I){const N=I;return N&&A.is(N.receiver)&&k.is(N.sender)}z.is=D})(R||(t.CancellationStrategy=R={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(R.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const j=new Map;let Z;const X=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Le=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:R.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function je(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=j.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: +${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=X.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Le.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){const st=nt.id,It=te.get(st);It&&It.reject(new Error("The received response has neither a result nor an error property."))}}function ze(Ce){if(Ce!=null)switch(ne){case f.Verbose:return JSON.stringify(Ce,null,4);case f.Compact:return JSON.stringify(Ce);default:return}}function et(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&Ce.params&&(nt=`Params: ${ze(Ce.params)} `),pe.log(`Sending request '${Ce.method} - (${Ce.id})'.`,nt)}else Nt("send-request",Ce)}function qe(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&(Ce.params?nt=`Params: ${ze(Ce.params)} @@ -1343,18 +1343,18 @@ ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){ `:Ce.error===void 0&&(st=`No result returned. -`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=KVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=ZVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=QVe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=JVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=eGe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=tGe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function rGe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,rGe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(eVe);var Ja={},WH;function di(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Si={},YH;function tO(){if(YH)return Si;YH=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.objectLiteral=Si.typedArray=Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function t(u){return u===!0||u===!1}Si.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Si.string=e;function r(u){return typeof u=="number"||u instanceof Number}Si.number=r;function n(u){return u instanceof Error}Si.error=n;function i(u){return typeof u=="function"}Si.func=i;function a(u){return Array.isArray(u)}Si.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Si.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Si.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Si.objectLiteral=l,Si}var Ov={},XH;function nGe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},jH;function iGe(){if(jH)return Iv;jH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function aGe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=di();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function sGe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=di();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function oGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function lGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function cGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function uGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function hGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=di();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var Xc={},nW;function dGe(){if(nW)return Xc;nW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.CallHierarchyOutgoingCallsRequest=Xc.CallHierarchyIncomingCallsRequest=Xc.CallHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Xc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Xc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.CallHierarchyOutgoingCallsRequest=n={})),Xc}var es={},iW;function fGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=di();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function pGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=di();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function gGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var xa={},oW;function mGe(){if(oW)return xa;oW=1,Object.defineProperty(xa,"__esModule",{value:!0}),xa.WillDeleteFilesRequest=xa.DidDeleteFilesNotification=xa.DidRenameFilesNotification=xa.WillRenameFilesRequest=xa.DidCreateFilesNotification=xa.WillCreateFilesRequest=xa.FileOperationPatternKind=void 0;const t=di();var e;(function(l){l.file="file",l.folder="folder"})(e||(xa.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(xa.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(xa.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(xa.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(xa.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(xa.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(xa.WillDeleteFilesRequest=o={})),xa}var jc={},lW;function yGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.MonikerRequest=jc.MonikerKind=jc.UniquenessLevel=void 0;const t=di();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(jc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(jc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.MonikerRequest=n={})),jc}var Kc={},cW;function vGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function bGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function xGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function TGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=di();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ti={},fW;function wGe(){if(fW)return ti;fW=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.DidCloseNotebookDocumentNotification=ti.DidSaveNotebookDocumentNotification=ti.DidChangeNotebookDocumentNotification=ti.NotebookCellArrayChange=ti.DidOpenNotebookDocumentNotification=ti.NotebookDocumentSyncRegistrationType=ti.NotebookDocument=ti.NotebookCell=ti.ExecutionSummary=ti.NotebookCellKind=void 0;const t=eO,e=tO(),r=di();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ti.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ti.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function EGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function kGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(di(),t),r(SGe(),t);var n=EGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function _Ge(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(kGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=_Ge(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class AGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=si.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=si.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ii(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ii(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=si.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ii(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class LGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new OVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ii(i)}allElements(e,r){let n=ii(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class RGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=si.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ii(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class DGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return jL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return jL.buildUnableToPopLexerModeMessage(e)}}const NGe={mode:"full"};class MGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=NGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function OGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!OGe(t)&&!Nse(t)}function IGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=FGe({lines:a,position:i,options:s});return GGe({index:0,tokens:o,position:i})}function BGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(FFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,PGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function FGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function $Ge(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const zGe=/\S/,qGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(zGe);return r?e+r.index:t.length}function VGe(t){const e=t.match(qGe);if(e&&typeof e.index=="number")return e.index}function GGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=YGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}}function YGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??XGe(e,i)}}function XGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(je())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!je())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,X.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?X.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,j.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?j.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=eGe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=tGe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=rGe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=nGe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=iGe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=aGe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function sGe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,sGe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(iVe);var Ja={},WH;function di(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Si={},YH;function tO(){if(YH)return Si;YH=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.objectLiteral=Si.typedArray=Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function t(u){return u===!0||u===!1}Si.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Si.string=e;function r(u){return typeof u=="number"||u instanceof Number}Si.number=r;function n(u){return u instanceof Error}Si.error=n;function i(u){return typeof u=="function"}Si.func=i;function a(u){return Array.isArray(u)}Si.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Si.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Si.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Si.objectLiteral=l,Si}var Ov={},jH;function oGe(){if(jH)return Ov;jH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},XH;function lGe(){if(XH)return Iv;XH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function cGe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=di();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function uGe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=di();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function hGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function dGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function fGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function pGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function gGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=di();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var jc={},nW;function mGe(){if(nW)return jc;nW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.CallHierarchyOutgoingCallsRequest=jc.CallHierarchyIncomingCallsRequest=jc.CallHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(jc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(jc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.CallHierarchyOutgoingCallsRequest=n={})),jc}var es={},iW;function yGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=di();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function vGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=di();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function bGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var xa={},oW;function xGe(){if(oW)return xa;oW=1,Object.defineProperty(xa,"__esModule",{value:!0}),xa.WillDeleteFilesRequest=xa.DidDeleteFilesNotification=xa.DidRenameFilesNotification=xa.WillRenameFilesRequest=xa.DidCreateFilesNotification=xa.WillCreateFilesRequest=xa.FileOperationPatternKind=void 0;const t=di();var e;(function(l){l.file="file",l.folder="folder"})(e||(xa.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(xa.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(xa.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(xa.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(xa.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(xa.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(xa.WillDeleteFilesRequest=o={})),xa}var Xc={},lW;function TGe(){if(lW)return Xc;lW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.MonikerRequest=Xc.MonikerKind=Xc.UniquenessLevel=void 0;const t=di();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Xc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(Xc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.MonikerRequest=n={})),Xc}var Kc={},cW;function wGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function CGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function SGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function EGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=di();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ti={},fW;function kGe(){if(fW)return ti;fW=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.DidCloseNotebookDocumentNotification=ti.DidSaveNotebookDocumentNotification=ti.DidChangeNotebookDocumentNotification=ti.NotebookCellArrayChange=ti.DidOpenNotebookDocumentNotification=ti.NotebookDocumentSyncRegistrationType=ti.NotebookDocument=ti.NotebookCell=ti.ExecutionSummary=ti.NotebookCellKind=void 0;const t=eO,e=tO(),r=di();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ti.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ti.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let A=0;A0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var j;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(j||(t.InitializedNotification=j={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var X;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(X||(t.ExitNotification=X={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var je;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(je||(t.CompletionRequest=je={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function LGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function RGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(di(),t),r(AGe(),t);var n=LGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function DGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(RGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=DGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class NGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=si.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=si.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ii(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ii(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=si.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ii(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class MGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new FVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ii(i)}allElements(e,r){let n=ii(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class OGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=si.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ii(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class IGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return XL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return XL.buildUnableToPopLexerModeMessage(e)}}const BGe={mode:"full"};class PGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=BGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function FGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!FGe(t)&&!Nse(t)}function $Ge(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=VGe({lines:a,position:i,options:s});return YGe({index:0,tokens:o,position:i})}function zGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(VFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,qGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function VGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function GGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const UGe=/\S/,HGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(UGe);return r?e+r.index:t.length}function WGe(t){const e=t.match(HGe);if(e&&typeof e.index=="number")return e.index}function YGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=ZGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??QGe(e,i)}}function QGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` `)}return r}}class Pse{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function wW(t){return t.endsWith(` `)?` `:` -`}class jGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&BGe(r))return IGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class KGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return PVe(e)?e.$comment:MFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class ZGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class QGe{constructor(){this.previousTokenSource=new si.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=wVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=si.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class JGe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else qa(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else qa(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))uFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new KGe(e),DocumentationProvider:e=>new jGe(e)},parser:{AsyncParser:e=>new ZGe(e),GrammarConfig:e=>s$e(e),LangiumParser:e=>vVe(e),CompletionParser:e=>yVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new MGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new DGe},workspace:{AstNodeLocator:()=>new YVe,AstNodeDescriptionProvider:e=>new HVe(e),ReferenceDescriptionProvider:e=>new WVe(e)},references:{Linker:e=>new _Ve(e),NameProvider:()=>new LVe,ScopeProvider:e=>new BVe(e),ScopeComputation:e=>new DVe(e),References:e=>new RVe(e)},serializer:{Hydrator:e=>new JGe(e),JsonSerializer:e=>new FVe(e)},validation:{DocumentValidator:e=>new VVe(e),ValidationRegistry:e=>new zVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new $Ve(e),workspace:{LangiumDocuments:e=>new kVe(e),LangiumDocumentFactory:e=>new EVe(e),DocumentBuilder:e=>new AGe(e),IndexManager:e=>new LGe(e),WorkspaceManager:e=>new RGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new QGe,ConfigurationProvider:e=>new jVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Gi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const eUe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===eUe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class tUe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new tUe},rUe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},nUe={AstReflection:()=>new pae};function iUe(){const t=Gi(bc(xc),nUe),e=Gi(vc({shared:t}),rUe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=iUe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var aUe=Object.defineProperty,Ft=(t,e)=>aUe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function sUe(t){return Yo.isInstance(t,nu.$type)}Ft(sUe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function oUe(t){return Yo.isInstance(t,K3.$type)}Ft(oUe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function lUe(t){return Yo.isInstance(t,ug.$type)}Ft(lUe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function cUe(t){return Yo.isInstance(t,Df.$type)}Ft(cUe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function uUe(t){return Yo.isInstance(t,y2.$type)}Ft(uUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function hUe(t){return Yo.isInstance(t,hg.$type)}Ft(hUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function dUe(t){return Yo.isInstance(t,dg.$type)}Ft(dUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function fUe(t){return Yo.isInstance(t,fg.$type)}Ft(fUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function pUe(t){return Yo.isInstance(t,Nf.$type)}Ft(pUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function gUe(t){return Yo.isInstance(t,Z3.$type)}Ft(gUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},XT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function mUe(t){return Yo.isInstance(t,pg.$type)}Ft(mUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},wa={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function yUe(t){return Yo.isInstance(t,wa.$type)}Ft(yUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:XT.$type,properties:{evolution:{name:XT.evolution},label:{name:XT.label},name:{name:XT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:wa.$type,properties:{accDescr:{name:wa.accDescr},accelerators:{name:wa.accelerators,defaultValue:[]},accTitle:{name:wa.accTitle},anchors:{name:wa.anchors,defaultValue:[]},annotation:{name:wa.annotation,defaultValue:[]},annotations:{name:wa.annotations,defaultValue:[]},components:{name:wa.components,defaultValue:[]},deaccelerators:{name:wa.deaccelerators,defaultValue:[]},evolution:{name:wa.evolution},evolves:{name:wa.evolves,defaultValue:[]},links:{name:wa.links,defaultValue:[]},notes:{name:wa.notes,defaultValue:[]},pipelines:{name:wa.pipelines,defaultValue:[]},size:{name:wa.size},title:{name:wa.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,vUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,bUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,xUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,TUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,wUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,CUe=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,SUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,EUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,kUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),_Ue={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},LUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},DUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},NUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},OUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},IUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},BUe={Grammar:Ft(()=>vUe(),"Grammar"),LanguageMetaData:Ft(()=>_Ue,"LanguageMetaData"),parser:{}},PUe={Grammar:Ft(()=>bUe(),"Grammar"),LanguageMetaData:Ft(()=>AUe,"LanguageMetaData"),parser:{}},FUe={Grammar:Ft(()=>xUe(),"Grammar"),LanguageMetaData:Ft(()=>LUe,"LanguageMetaData"),parser:{}},$Ue={Grammar:Ft(()=>TUe(),"Grammar"),LanguageMetaData:Ft(()=>RUe,"LanguageMetaData"),parser:{}},zUe={Grammar:Ft(()=>wUe(),"Grammar"),LanguageMetaData:Ft(()=>DUe,"LanguageMetaData"),parser:{}},qUe={Grammar:Ft(()=>CUe(),"Grammar"),LanguageMetaData:Ft(()=>NUe,"LanguageMetaData"),parser:{}},VUe={Grammar:Ft(()=>SUe(),"Grammar"),LanguageMetaData:Ft(()=>MUe,"LanguageMetaData"),parser:{}},GUe={Grammar:Ft(()=>EUe(),"Grammar"),LanguageMetaData:Ft(()=>OUe,"LanguageMetaData"),parser:{}},UUe={Grammar:Ft(()=>kUe(),"Grammar"),LanguageMetaData:Ft(()=>IUe,"LanguageMetaData"),parser:{}},HUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,WUe=/accTitle[\t ]*:([^\n\r]*)/,YUe=/title([\t ][^\n\r]*|)/,XUe={ACC_DESCR:HUe,ACC_TITLE:WUe,TITLE:YUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=XUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,jUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),KUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,ZUe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=KUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,QUe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new jUe,"TokenBuilder"),ValueConverter:Ft(()=>new ZUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new QUe,"TreemapValidator")}};function Vse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),VUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,JUe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new JUe,"ValueConverter")}};function Use(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),UUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,eHe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new eHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),PUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,tHe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new tHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Xse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),FUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Xse,"createInfoServices");var w1,rHe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),jse={parser:{TokenBuilder:Ft(()=>new rHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),$Ue,jse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,nHe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,iHe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new nHe,"TokenBuilder"),ValueConverter:Ft(()=>new iHe,"ValueConverter")}};function Qse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),zUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,aHe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,sHe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new sHe,"TokenBuilder"),ValueConverter:Ft(()=>new aHe,"ValueConverter")}};function eoe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),GUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,oHe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,lHe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new oHe,"TokenBuilder"),ValueConverter:Ft(()=>new lHe,"ValueConverter")}};function roe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),BUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,cHe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new cHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),qUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},uHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>ont);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>lnt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>cnt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>unt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>hnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>dnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>fnt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>pnt);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>gnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=uHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new hHe(i);return i.value}Ft(Tc,"parse");var R1,hHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` +`}class JGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&zGe(r))return $Ge(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class eUe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return qVe(e)?e.$comment:PFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class tUe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class rUe{constructor(){this.previousTokenSource=new si.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=kVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=si.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class nUe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else qa(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else qa(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))pFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new eUe(e),DocumentationProvider:e=>new JGe(e)},parser:{AsyncParser:e=>new tUe(e),GrammarConfig:e=>u$e(e),LangiumParser:e=>wVe(e),CompletionParser:e=>TVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new PGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new IGe},workspace:{AstNodeLocator:()=>new ZVe,AstNodeDescriptionProvider:e=>new XVe(e),ReferenceDescriptionProvider:e=>new KVe(e)},references:{Linker:e=>new DVe(e),NameProvider:()=>new MVe,ScopeProvider:e=>new zVe(e),ScopeComputation:e=>new IVe(e),References:e=>new OVe(e)},serializer:{Hydrator:e=>new nUe(e),JsonSerializer:e=>new VVe(e)},validation:{DocumentValidator:e=>new WVe(e),ValidationRegistry:e=>new UVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new GVe(e),workspace:{LangiumDocuments:e=>new RVe(e),LangiumDocumentFactory:e=>new LVe(e),DocumentBuilder:e=>new NGe(e),IndexManager:e=>new MGe(e),WorkspaceManager:e=>new OGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new rUe,ConfigurationProvider:e=>new JVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Gi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const iUe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===iUe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class aUe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new aUe},sUe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},oUe={AstReflection:()=>new pae};function lUe(){const t=Gi(bc(xc),oUe),e=Gi(vc({shared:t}),sUe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=lUe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var cUe=Object.defineProperty,Ft=(t,e)=>cUe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function uUe(t){return Yo.isInstance(t,nu.$type)}Ft(uUe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function hUe(t){return Yo.isInstance(t,K3.$type)}Ft(hUe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function dUe(t){return Yo.isInstance(t,ug.$type)}Ft(dUe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function fUe(t){return Yo.isInstance(t,Df.$type)}Ft(fUe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function pUe(t){return Yo.isInstance(t,y2.$type)}Ft(pUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function gUe(t){return Yo.isInstance(t,hg.$type)}Ft(gUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function mUe(t){return Yo.isInstance(t,dg.$type)}Ft(mUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function yUe(t){return Yo.isInstance(t,fg.$type)}Ft(yUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function vUe(t){return Yo.isInstance(t,Nf.$type)}Ft(vUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function bUe(t){return Yo.isInstance(t,Z3.$type)}Ft(bUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},jT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function xUe(t){return Yo.isInstance(t,pg.$type)}Ft(xUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},wa={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function TUe(t){return Yo.isInstance(t,wa.$type)}Ft(TUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:jT.$type,properties:{evolution:{name:jT.evolution},label:{name:jT.label},name:{name:jT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:wa.$type,properties:{accDescr:{name:wa.accDescr},accelerators:{name:wa.accelerators,defaultValue:[]},accTitle:{name:wa.accTitle},anchors:{name:wa.anchors,defaultValue:[]},annotation:{name:wa.annotation,defaultValue:[]},annotations:{name:wa.annotations,defaultValue:[]},components:{name:wa.components,defaultValue:[]},deaccelerators:{name:wa.deaccelerators,defaultValue:[]},evolution:{name:wa.evolution},evolves:{name:wa.evolves,defaultValue:[]},links:{name:wa.links,defaultValue:[]},notes:{name:wa.notes,defaultValue:[]},pipelines:{name:wa.pipelines,defaultValue:[]},size:{name:wa.size},title:{name:wa.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,wUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,CUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,SUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,EUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,kUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,_Ue=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,AUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,LUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,RUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),DUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},NUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},OUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},IUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},BUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},FUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$Ue={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},zUe={Grammar:Ft(()=>wUe(),"Grammar"),LanguageMetaData:Ft(()=>DUe,"LanguageMetaData"),parser:{}},qUe={Grammar:Ft(()=>CUe(),"Grammar"),LanguageMetaData:Ft(()=>NUe,"LanguageMetaData"),parser:{}},VUe={Grammar:Ft(()=>SUe(),"Grammar"),LanguageMetaData:Ft(()=>MUe,"LanguageMetaData"),parser:{}},GUe={Grammar:Ft(()=>EUe(),"Grammar"),LanguageMetaData:Ft(()=>OUe,"LanguageMetaData"),parser:{}},UUe={Grammar:Ft(()=>kUe(),"Grammar"),LanguageMetaData:Ft(()=>IUe,"LanguageMetaData"),parser:{}},HUe={Grammar:Ft(()=>_Ue(),"Grammar"),LanguageMetaData:Ft(()=>BUe,"LanguageMetaData"),parser:{}},WUe={Grammar:Ft(()=>AUe(),"Grammar"),LanguageMetaData:Ft(()=>PUe,"LanguageMetaData"),parser:{}},YUe={Grammar:Ft(()=>LUe(),"Grammar"),LanguageMetaData:Ft(()=>FUe,"LanguageMetaData"),parser:{}},jUe={Grammar:Ft(()=>RUe(),"Grammar"),LanguageMetaData:Ft(()=>$Ue,"LanguageMetaData"),parser:{}},XUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,KUe=/accTitle[\t ]*:([^\n\r]*)/,ZUe=/title([\t ][^\n\r]*|)/,QUe={ACC_DESCR:XUe,ACC_TITLE:KUe,TITLE:ZUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=QUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,JUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),eHe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,tHe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=eHe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,rHe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new tHe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new rHe,"TreemapValidator")}};function Vse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),WUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,nHe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new nHe,"ValueConverter")}};function Use(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),jUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,iHe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new iHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),qUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,aHe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new aHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function jse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),VUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(jse,"createInfoServices");var w1,sHe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),Xse={parser:{TokenBuilder:Ft(()=>new sHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),GUe,Xse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,oHe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,lHe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new oHe,"TokenBuilder"),ValueConverter:Ft(()=>new lHe,"ValueConverter")}};function Qse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),UUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,cHe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,uHe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new uHe,"TokenBuilder"),ValueConverter:Ft(()=>new cHe,"ValueConverter")}};function eoe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),YUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,hHe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,dHe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new hHe,"TokenBuilder"),ValueConverter:Ft(()=>new dHe,"ValueConverter")}};function roe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),zUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,fHe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new fHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),HUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},pHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>hnt);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>dnt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>fnt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>pnt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>gnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>mnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>ynt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>vnt);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>bnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=pHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new gHe(i);return i.value}Ft(Tc,"parse");var R1,gHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(` -`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),kn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},dHe=Vr.gitGraph,H0=S(()=>ea({...dHe,...gr().gitGraph}),"getConfig"),jt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function XS(){return qZ({length:7})}S(XS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var fHe=S(function(t){jt.records.direction=t},"setDirection"),pHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),gHe=S(function(){return jt.records.options},"getOptions"),mHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+XS(),message:e,seq:jt.records.seq++,type:n??kn.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),yHe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),vHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${XS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:kn.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),bHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===kn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+XS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:kn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===kn.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var xHe=S(function(){oe.debug(jt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),THe=S(function(){jt.reset(),Kn()},"clear"),wHe=S(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),CHe=S(function(){return jt.records.branches},"getBranches"),SHe=S(function(){return jt.records.commits},"getCommits"),ooe=S(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),EHe=S(function(){return jt.records.currBranch},"getCurrentBranch"),kHe=S(function(){return jt.records.direction},"getDirection"),_He=S(function(){return jt.records.head},"getHead"),loe={commitType:kn,getConfig:H0,setDirection:fHe,setOptions:pHe,getOptions:gHe,commit:mHe,branch:yHe,merge:vHe,cherryPick:bHe,checkout:soe,prettyPrint:xHe,clear:THe,getBranchesAsObjArray:wHe,getBranches:CHe,getCommits:SHe,getCommitsArray:ooe,getCurrentBranch:EHe,getDirection:kHe,getHead:_He,setAccTitle:jn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,setDiagramTitle:li,getDiagramTitle:Zn},AHe=S((t,e)=>{Xu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)LHe(r,e)},"populate"),LHe=S((t,e)=>{const n={Commit:S(i=>e.commit(RHe(i)),"Commit"),Branch:S(i=>e.branch(DHe(i)),"Branch"),Merge:S(i=>e.merge(NHe(i)),"Merge"),Checkout:S(i=>e.checkout(MHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(OHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),RHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?kn[t.type]:kn.NORMAL,tags:t.tags??void 0}),"parseCommit"),DHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),NHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?kn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),MHe=S(t=>t.branch,"parseCheckout"),OHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),IHe={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),AHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,jS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),BHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",PHe=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),FHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),$He=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=qHe(o),i=Math.max(n,i)):a.push(o),VHe(o,n)}),n=i,a.forEach(s=>{GHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=FHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),zHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),qHe=S(t=>zHe(t)+Wh,"calculateCommitPosition"),VHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),GHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),UHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=jS.has(s??""),l=iO.has(s??""),u=BHe.has(s??"");if(a===kn.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===kn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===kn.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===kn.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),HHe=S((t,e,r,n,i)=>{if(e.type!==kn.CHERRY_PICK&&(e.customId&&e.type===kn.MERGE||e.type!==kn.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),WHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` +`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),_n={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},mHe=Vr.gitGraph,H0=S(()=>ea({...mHe,...gr().gitGraph}),"getConfig"),Kt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function jS(){return qZ({length:7})}S(jS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var yHe=S(function(t){Kt.records.direction=t},"setDirection"),vHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{Kt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),bHe=S(function(){return Kt.records.options},"getOptions"),xHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||Kt.records.seq+"-"+jS(),message:e,seq:Kt.records.seq++,type:n??_n.NORMAL,tags:i??[],parents:Kt.records.head==null?[]:[Kt.records.head.id],branch:Kt.records.currBranch};Kt.records.head=s,oe.info("main branch",a.mainBranchName),Kt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),Kt.records.commits.set(s.id,s),Kt.records.branches.set(Kt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),THe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),Kt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Kt.records.branches.set(e,Kt.records.head!=null?Kt.records.head.id:null),Kt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),wHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=Kt.records.branches.get(Kt.records.currBranch),o=Kt.records.branches.get(e),l=s?Kt.records.commits.get(s):void 0,u=o?Kt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Kt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${Kt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!Kt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&Kt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${Kt.records.seq}-${jS()}`,message:`merged branch ${e} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,h],branch:Kt.records.currBranch,type:_n.MERGE,customType:n,customId:!!r,tags:i??[]};Kt.records.head=d,Kt.records.commits.set(d.id,d),Kt.records.branches.set(Kt.records.currBranch,d.id),oe.debug(Kt.records.branches),oe.debug("in mergeBranch")},"merge"),CHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!Kt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=Kt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===_n.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Kt.records.commits.has(r)){if(o===Kt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=Kt.records.branches.get(Kt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=Kt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:Kt.records.seq+"-"+jS(),message:`cherry-picked ${s?.message} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,s.id],branch:Kt.records.currBranch,type:_n.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===_n.MERGE?`|parent:${i}`:""}`]};Kt.records.head=h,Kt.records.commits.set(h.id,h),Kt.records.branches.set(Kt.records.currBranch,h.id),oe.debug(Kt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),Kt.records.branches.has(t)){Kt.records.currBranch=t;const e=Kt.records.branches.get(Kt.records.currBranch);e===void 0||!e?Kt.records.head=null:Kt.records.head=Kt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in Kt.records.branches)Kt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(Kt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var SHe=S(function(){oe.debug(Kt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),EHe=S(function(){Kt.reset(),Kn()},"clear"),kHe=S(function(){return[...Kt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),_He=S(function(){return Kt.records.branches},"getBranches"),AHe=S(function(){return Kt.records.commits},"getCommits"),ooe=S(function(){const t=[...Kt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),LHe=S(function(){return Kt.records.currBranch},"getCurrentBranch"),RHe=S(function(){return Kt.records.direction},"getDirection"),DHe=S(function(){return Kt.records.head},"getHead"),loe={commitType:_n,getConfig:H0,setDirection:yHe,setOptions:vHe,getOptions:bHe,commit:xHe,branch:THe,merge:wHe,cherryPick:CHe,checkout:soe,prettyPrint:SHe,clear:EHe,getBranchesAsObjArray:kHe,getBranches:_He,getCommits:AHe,getCommitsArray:ooe,getCurrentBranch:LHe,getDirection:RHe,getHead:DHe,setAccTitle:Xn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,setDiagramTitle:li,getDiagramTitle:Zn},NHe=S((t,e)=>{ju(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)MHe(r,e)},"populate"),MHe=S((t,e)=>{const n={Commit:S(i=>e.commit(OHe(i)),"Commit"),Branch:S(i=>e.branch(IHe(i)),"Branch"),Merge:S(i=>e.merge(BHe(i)),"Merge"),Checkout:S(i=>e.checkout(PHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(FHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),OHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?_n[t.type]:_n.NORMAL,tags:t.tags??void 0}),"parseCommit"),IHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),BHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?_n[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),PHe=S(t=>t.branch,"parseCheckout"),FHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),$He={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),NHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,XS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),zHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",qHe=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),VHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),GHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=HHe(o),i=Math.max(n,i)):a.push(o),WHe(o,n)}),n=i,a.forEach(s=>{YHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=VHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),UHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),HHe=S(t=>UHe(t)+Wh,"calculateCommitPosition"),WHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),YHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),jHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=XS.has(s??""),l=iO.has(s??""),u=zHe.has(s??"");if(a===_n.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===_n.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===_n.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===_n.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),XHe=S((t,e,r,n,i)=>{if(e.type!==_n.CHERRY_PICK&&(e.customId&&e.type===_n.MERGE||e.type!==_n.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),KHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` ${n-a/2-zl/2},${p+cu} ${n-a/2-zl/2},${p-cu} ${r.posWithOffset-a/2-zl},${p-f-cu} @@ -1366,22 +1366,22 @@ ${r}`),this.inline?`{${i}}`:i}}function YGe(t,e,r){if(t==="linkplain"||t==="link ${r.x+Hh},${m-f-2} ${r.x+Hh+a+4},${m-f-2} ${r.x+Hh+a+4},${m+f+2} - ${r.x+Hh},${m+f+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("cx",r.x+zl/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),l.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),YHe=S(t=>{switch(t.customType??t.type){case kn.NORMAL:return"commit-normal";case kn.REVERSE:return"commit-reverse";case kn.HIGHLIGHT:return"commit-highlight";case kn.MERGE:return"commit-merge";case kn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),XHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),jHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=jS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&$He(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=XHe(f,Gr,s,zs));const p=jHe(f,s,l);if(r){const m=YHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;UHe(i,f,p,m,b,v),HHe(a,f,p,s,n),WHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),KHe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),ZHe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=KHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===kn.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===kn.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),QHe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{ZHe(r,e.get(a),i,e)})})},"drawArrows"),JHe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=jS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),R.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),eWe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),tWe=S(function(t,e,r,n){PHe(),oe.debug("in gitgraph renderer",t+` -`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&jS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=eWe(x.name,b,C,k,s),R.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&JHe(l,o,a,e),QHe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),rWe={draw:tWe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),nWe=new Set(["redux-color","redux-dark-color"]),iWe=new Set(["neo","neo-dark"]),aWe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),sWe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),oWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{switch(t.customType??t.type){case _n.NORMAL:return"commit-normal";case _n.REVERSE:return"commit-reverse";case _n.HIGHLIGHT:return"commit-highlight";case _n.MERGE:return"commit-merge";case _n.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),QHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),JHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=XS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&GHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=QHe(f,Gr,s,zs));const p=JHe(f,s,l);if(r){const m=ZHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;jHe(i,f,p,m,b,v),XHe(a,f,p,s,n),KHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),eWe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),tWe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=eWe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===_n.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),rWe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{tWe(r,e.get(a),i,e)})})},"drawArrows"),nWe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=XS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),A=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);A.node().appendChild(T);const k=T.getBBox(),R=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",R).attr("ry",R).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),A.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),A.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),A.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),iWe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),aWe=S(function(t,e,r,n){qHe(),oe.debug("in gitgraph renderer",t+` +`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&XS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),A=_.insert("g").attr("class","label branch-label");A.node()?.appendChild(T);const k=T.getBBox();b=iWe(x.name,b,C,k,s),A.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&nWe(l,o,a,e),rWe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gj(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),sWe={draw:aWe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),oWe=new Set(["redux-color","redux-dark-color"]),lWe=new Set(["neo","neo-dark"]),cWe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),uWe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),hWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(iWe.has(r)){let s="";for(let o=0;o{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(lWe.has(r)){let s="";for(let o=0;o`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` + `;return s}},"genColor"),fWe=S(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } .label${e} { fill: ${t["git"+r]}; } .arrow${e} { stroke: ${t["git"+r]}; } `}).join(` -`)}`,"normalTheme"),uWe=S(t=>{const e=gr(),{theme:r}=e,n=sWe.has(r);return` +`)}`,"normalTheme"),pWe=S(t=>{const e=gr(),{theme:r}=e,n=uWe.has(r);return` .commit-id, .commit-msg, .branch-label { @@ -1419,7 +1419,7 @@ ${r}`),this.inline?`{${i}}`:i}}function YGe(t,e,r){if(t==="linkplain"||t==="link font-family: var(--mermaid-font-family); } - ${n?lWe(t):cWe(t)} + ${n?dWe(t):fWe(t)} .branch { stroke-width: ${t.strokeWidth}; @@ -1459,12 +1459,12 @@ ${r}`),this.inline?`{${i}}`:i}}function YGe(t,e,r){if(t==="linkplain"||t==="link font-size: 18px; fill: ${t.textColor}; } -`},"getStyles"),hWe=uWe,dWe={parser:IHe,db:loe,renderer:rWe,styles:hWe};const fWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:dWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},pWe=Q3.exports,$W;function gWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(pWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var mWe=gWe();const yWe=k0(mWe);var J3={exports:{}},vWe=J3.exports,zW;function bWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(vWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Le=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe)):(Me=new Date(me,pe,ne,$e,He,Le,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=C.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var xWe=bWe();const TWe=k0(xWe);var e5={exports:{}},wWe=e5.exports,qW;function CWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(wWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var SWe=CWe();const EWe=k0(SWe);var t5={exports:{}},kWe=t5.exports,VW;function _We(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(kWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},C=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+C(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var AWe=_We();const LWe=k0(AWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Le={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: +`},"getStyles"),gWe=pWe,mWe={parser:$He,db:loe,renderer:sWe,styles:gWe};const yWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:mWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},vWe=Q3.exports,$W;function bWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(vWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var xWe=bWe();const TWe=k0(xWe);var J3={exports:{}},wWe=J3.exports,zW;function CWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(wWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,j=P.month,Z=P.day,X=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||j?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!j||(pe=j>0?j-1:ie.getMonth());var Me,$e=X||0,He=ee||0,Le=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe)):(Me=new Date(me,pe,ne,$e,He,Le,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(A,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&A!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){R[1]=O[I-1];var N=C.apply(this,R);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var SWe=CWe();const EWe=k0(SWe);var e5={exports:{}},kWe=e5.exports,qW;function _We(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(kWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var AWe=_We();const LWe=k0(AWe);var t5={exports:{}},RWe=t5.exports,VW;function DWe(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(RWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(A){return A instanceof E},m=function(A,k,R){return new E(A,R,k.$l)},v=function(A){return n.p(A)+"s"},b=function(A){return A<0},x=function(A){return b(A)?Math.ceil(A):Math.floor(A)},C=function(A){return Math.abs(A)},T=function(A,k){return A?b(A)?{negative:!0,format:""+C(A)+k}:{negative:!1,format:""+A+k}:{negative:!1,format:""}},E=(function(){function A(R,O,F){var $=this;if(this.$d={},this.$l=F,R===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(R*f[v(O)],this);if(typeof R=="number")return this.$ms=R,this.parseFromMilliseconds(),this;if(typeof R=="object")return Object.keys(R).forEach((function(D){$.$d[v(D)]=R[D]})),this.calMilliseconds(),this;if(typeof R=="string"){var q=R.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=A.prototype;return k.calMilliseconds=function(){var R=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(R.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var R=this.$ms;this.$d.years=x(R/u),R%=u,this.$d.months=x(R/h),R%=h,this.$d.days=x(R/o),R%=o,this.$d.hours=x(R/s),R%=s,this.$d.minutes=x(R/a),R%=a,this.$d.seconds=x(R/i),R%=i,this.$d.milliseconds=R},k.toISOString=function(){var R=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=R.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+R.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(R){var O=R||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(R){return this.$ms/f[v(R)]},k.get=function(R){var O=this.$ms,F=v(R);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(R,O,F){var $;return $=O?R*f[v(O)]:p(R)?R.$ms:m(R,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(R,O){return this.add(R,O,!0)},k.locale=function(R){var O=this.clone();return O.$l=R,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(R){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!R)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},A})(),_=function(A,k,R){return A.add(k.years()*R,"y").add(k.months()*R,"M").add(k.days()*R,"d").add(k.hours()*R,"h").add(k.minutes()*R,"m").add(k.seconds()*R,"s").add(k.milliseconds()*R,"ms")};return function(A,k,R){r=R,n=R().$utils(),R.duration=function($,q){var z=R.locale();return m($,{$l:z},q)},R.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var NWe=DWe();const MWe=k0(NWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],A=[1,22],k=[1,23],R=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:A,36:k,37:24,38:R,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:A,36:k,37:24,38:R,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,j=0,Z=2,X=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||X,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Le={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: `+Q.showPosition()+` -Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==j?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,X=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Le.$=M[M.length-We],Le._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Le._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Le,[P,X,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Le.$),V.push(Le._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==X?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,j=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Le.$=M[M.length-We],Le._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Le._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Le,[P,j,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Le.$),V.push(Le._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(D){this.unput(this.match.slice(D))},"less"),pastInput:S(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var D=this.pastInput(),I=new Array(D.length+1).join("-");return D+this.upcomingInput()+` `+I+"^"},"showPosition"),test_match:S(function(D,I){var N,B,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],N=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var V in M)this[V]=M[V];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,I,N,B;this._more||(this.yytext="",this.match="");for(var M=this._currentRules(),V=0;VI[0].length)){if(I=N,B=V,this.options.backtrack_lexer){if(D=this.test_match(N,M[V]),D!==!1)return D;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(D=this.test_match(I,M[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var RWe=C9;oa.extend(yWe);oa.extend(TWe);oa.extend(EWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,DWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,Xi=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",Kn(),fO="sunday",rC="saturday"},"clear"),NWe=S(function(t){_g=t},"setDiagramId"),MWe=S(function(t){aO=t},"setAxisFormat"),OWe=S(function(){return aO},"getAxisFormat"),IWe=S(function(t){sO=t},"setTickInterval"),BWe=S(function(){return sO},"getTickInterval"),PWe=S(function(t){oO=t},"setTodayMarker"),FWe=S(function(){return oO},"getTodayMarker"),$We=S(function(t){Ql=t},"setDateFormat"),zWe=S(function(){Dx=!0},"enableInclusiveEndDates"),qWe=S(function(){return Dx},"endDatesAreInclusive"),VWe=S(function(){dO=!0},"enableTopAxis"),GWe=S(function(){return dO},"topAxisEnabled"),UWe=S(function(t){uO=t},"setDisplayMode"),HWe=S(function(){return uO},"getDisplayMode"),WWe=S(function(){return Ql},"getDateFormat"),YWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),XWe=S(function(){return Lx},"getIncludes"),jWe=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),KWe=S(function(){return Rx},"getExcludes"),ZWe=S(function(){return lO},"getLinks"),QWe=S(function(t){Rm=t,cO.push(t)},"addSection"),JWe=S(function(){return cO},"getSections"),eYe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=oa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),uYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),hYe=S(function(t,e,r){t.split(",").forEach(function(n){uYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),dYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),fYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:DWe,setDateFormat:$We,getDateFormat:WWe,enableInclusiveEndDates:zWe,endDatesAreInclusive:qWe,enableTopAxis:VWe,topAxisEnabled:GWe,setAxisFormat:MWe,getAxisFormat:OWe,setTickInterval:IWe,getTickInterval:BWe,setTodayMarker:PWe,getTodayMarker:FWe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,setDiagramId:NWe,setDisplayMode:UWe,getDisplayMode:HWe,setAccDescription:ui,getAccDescription:hi,addSection:QWe,getSections:JWe,getTasks:eYe,addTask:oYe,findTaskById:W0,addTaskOrg:lYe,setIncludes:YWe,getIncludes:XWe,setExcludes:jWe,getExcludes:KWe,setClickEvent:hYe,setLink:cYe,getLinks:ZWe,bindFunctions:dYe,parseDuration:moe,isInvalidDate:poe,setWeekday:tYe,getWeekday:rYe,setWeekend:nYe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");oa.extend(LWe);var pYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:ej,wednesday:tj,thursday:i0,friday:rj,saturday:nj,sunday:jb},gYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,mYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=gYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=P2e().domain([Upe(h,function(O){return O.startTime}),Gpe(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(oa(M).diff(oa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=oa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=oa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=Jpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>AA)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=Qpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var OWe=C9;oa.extend(TWe);oa.extend(EWe);oa.extend(LWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,IWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,ji=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",Kn(),fO="sunday",rC="saturday"},"clear"),BWe=S(function(t){_g=t},"setDiagramId"),PWe=S(function(t){aO=t},"setAxisFormat"),FWe=S(function(){return aO},"getAxisFormat"),$We=S(function(t){sO=t},"setTickInterval"),zWe=S(function(){return sO},"getTickInterval"),qWe=S(function(t){oO=t},"setTodayMarker"),VWe=S(function(){return oO},"getTodayMarker"),GWe=S(function(t){Ql=t},"setDateFormat"),UWe=S(function(){Dx=!0},"enableInclusiveEndDates"),HWe=S(function(){return Dx},"endDatesAreInclusive"),WWe=S(function(){dO=!0},"enableTopAxis"),YWe=S(function(){return dO},"topAxisEnabled"),jWe=S(function(t){uO=t},"setDisplayMode"),XWe=S(function(){return uO},"getDisplayMode"),KWe=S(function(){return Ql},"getDateFormat"),ZWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),QWe=S(function(){return Lx},"getIncludes"),JWe=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),eYe=S(function(){return Rx},"getExcludes"),tYe=S(function(){return lO},"getLinks"),rYe=S(function(t){Rm=t,cO.push(t)},"addSection"),nYe=S(function(){return cO},"getSections"),iYe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=oa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),pYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),gYe=S(function(t,e,r){t.split(",").forEach(function(n){pYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),mYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),yYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:IWe,setDateFormat:GWe,getDateFormat:KWe,enableInclusiveEndDates:UWe,endDatesAreInclusive:HWe,enableTopAxis:WWe,topAxisEnabled:YWe,setAxisFormat:PWe,getAxisFormat:FWe,setTickInterval:$We,getTickInterval:zWe,setTodayMarker:qWe,getTodayMarker:VWe,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,setDiagramId:BWe,setDisplayMode:jWe,getDisplayMode:XWe,setAccDescription:ui,getAccDescription:hi,addSection:rYe,getSections:nYe,getTasks:iYe,addTask:hYe,findTaskById:W0,addTaskOrg:dYe,setIncludes:ZWe,getIncludes:QWe,setExcludes:JWe,getExcludes:eYe,setClickEvent:gYe,setLink:fYe,getLinks:tYe,bindFunctions:mYe,parseDuration:moe,isInvalidDate:poe,setWeekday:aYe,getWeekday:sYe,setWeekend:oYe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");oa.extend(MWe);var vYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:eX,wednesday:tX,thursday:i0,friday:rX,saturday:nX,sunday:Xb},bYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,xYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=R(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=bYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=q2e().domain([jpe(h,function(O){return O.startTime}),Ype(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,j]of d.entries())if(P.type===j)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let j="";P.classes.length>0&&(j=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let X="";return P.active?P.crit?X+=" activeCrit":X=" active":P.done?P.crit?X=" doneCrit":X=" done":P.crit&&(X+=" crit"),X.length===0&&(X=" task"),P.milestone&&(X=" milestone "+X),P.vert&&(X=" vert "+X),X+=Z,X+=" "+j,H+X}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),j=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,j=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>j-H?j+Z+1.5*i.leftPadding>I?H+q-5:j+q+5:(j-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let j=v(P.endTime);P.milestone&&(j=H+z);const Z=this.getBBox().width;let X="";P.classes.length>0&&(X=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>j-H?j+Z+1.5*i.leftPadding>I?X+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:X+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:X+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(j){return V.has(j.id)}).each(function(j){var Z=H.querySelector("#"+CSS.escape(e+"-"+j.id)),X=H.querySelector("#"+CSS.escape(e+"-"+j.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(j.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(X)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:X}of D)(B===void 0||ZM)&&(M=X);if(!B||!M)return;if(oa(M).diff(oa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=oa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,X){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(X*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=oa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=nge(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),j=H[0],Z=H[1],X=E(j,Z,V,U);if(X>AA)oe.warn(`The tick interval "${V}${U}" would generate ${X} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=rge(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,j=v.domain(),Z=j[0],X=j[1];if(E(Z,X,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function A(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` .mermaid-main-font { font-family: ${t.fontFamily}; } @@ -1750,8 +1750,8 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro fill: ${t.titleColor||t.textColor}; font-family: ${t.fontFamily}; } -`,"getStyles"),bYe=vYe,xYe={parser:RWe,db:fYe,renderer:yYe,styles:bYe};const TYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:xYe},Symbol.toStringTag,{value:"Module"}));var wYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},CYe={version:"11.14.0"},SYe=S(()=>CYe.version,"getVersion"),EYe={getVersion:SYe},kYe=S((t,e,r)=>{oe.debug(`rendering info diagram -`+t);const n=Gs(e);Ui(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),_Ye={draw:kYe},AYe={parser:wYe,db:EYe,renderer:_Ye};const LYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:AYe},Symbol.toStringTag,{value:"Module"}));var RYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,DYe=structuredClone(RYe),NYe=S(()=>structuredClone(DYe),"getConfig"),MYe=S(()=>{nC=new Map,mO=gO.showData,Kn()},"clear"),OYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),IYe=S(()=>nC,"getSections"),BYe=S(t=>{mO=t},"setShowData"),PYe=S(()=>mO,"getShowData"),Toe={getConfig:NYe,clear:MYe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:jn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:OYe,getSections:IYe,setShowData:BYe,getShowData:PYe},FYe=S((t,e)=>{Xu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),$Ye={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),FYe(e,Toe)},"parse")},zYe=S(t=>` +`,"getStyles"),CYe=wYe,SYe={parser:OWe,db:yYe,renderer:TYe,styles:CYe};const EYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:SYe},Symbol.toStringTag,{value:"Module"}));var kYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},_Ye={version:"11.14.0"},AYe=S(()=>_Ye.version,"getVersion"),LYe={getVersion:AYe},RYe=S((t,e,r)=>{oe.debug(`rendering info diagram +`+t);const n=Gs(e);Ui(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),DYe={draw:RYe},NYe={parser:kYe,db:LYe,renderer:DYe};const MYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NYe},Symbol.toStringTag,{value:"Module"}));var OYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,IYe=structuredClone(OYe),BYe=S(()=>structuredClone(IYe),"getConfig"),PYe=S(()=>{nC=new Map,mO=gO.showData,Kn()},"clear"),FYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),$Ye=S(()=>nC,"getSections"),zYe=S(t=>{mO=t},"setShowData"),qYe=S(()=>mO,"getShowData"),Toe={getConfig:BYe,clear:PYe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:Xn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:FYe,getSections:$Ye,setShowData:zYe,getShowData:qYe},VYe=S((t,e)=>{ju(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),GYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),VYe(e,Toe)},"parse")},UYe=S(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1779,25 +1779,25 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),qYe=zYe,VYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return Q2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),GYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart -`+t);const i=n.db,a=Pe(),s=ea(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=VYe(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=jf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Ui(f,h,U,s.useMaxWidth)},"draw"),UYe={draw:GYe},HYe={parser:$Ye,db:Toe,renderer:UYe,styles:qYe};const WYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:HYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: +`,"getStyles"),HYe=UYe,WYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return rbe().value(i=>i.value).sort(null)(r)},"createPieArcs"),YYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart +`+t);const i=n.db,a=Pe(),s=ea(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=WYe(E),A=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const R=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=Xf(A).domain([...E.keys()]);p.selectAll("mySlices").data(R).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(R).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const j=l+u,Z=j*$.length/2,X=12*l,ee=H*j-Z;return"translate("+X+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Ui(f,h,U,s.useMaxWidth)},"draw"),jYe={draw:YYe},XYe={parser:GYe,db:Toe,renderer:jYe,styles:HYe};const KYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:XYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],A=[1,22],k=[1,24],R=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],j=[1,65],Z=[1,66],X=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],je=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(je,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(je,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: `+Qe.showPosition()+` Expecting `+It.join(", ")+", got '"+(this.terminals_[gt]||gt)+"'":Wt="Parse error on line "+(ze+1)+": Unexpected "+(gt==lt?"end of input":"'"+(this.terminals_[gt]||gt)+"'"),this.parseError(Wt,{text:Qe.match,token:this.terminals_[gt]||gt,line:Qe.yylineno,loc:At,expected:It})}if(Mt[0]instanceof Array&&Mt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+gt);switch(Mt[0]){case 1:fe.push(gt),Ee.push(Qe.yytext),Ie.push(Qe.yylloc),fe.push(Mt[1]),gt=null,et=Qe.yyleng,_e=Qe.yytext,ze=Qe.yylineno,At=Qe.yylloc;break;case 2:if(nt=this.productions_[Mt[1]][1],bt.$=Ee[Ee.length-nt],bt._$={first_line:Ie[Ie.length-(nt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(nt||1)].first_column,last_column:Ie[Ie.length-1].last_column},Et&&(bt._$.range=[Ie[Ie.length-(nt||1)].range[0],Ie[Ie.length-1].range[1]]),xt=this.performAction.apply(bt,[_e,et,ze,Se.yy,Mt[1],Ee,Ie].concat(ve)),typeof xt<"u")return xt;nt&&(fe=fe.slice(0,-1*nt*2),Ee=Ee.slice(0,-1*nt),Ie=Ie.slice(0,-1*nt)),fe.push(this.productions_[Mt[1]][0]),Ee.push(bt.$),Ie.push(bt._$),st=Ue[fe[fe.length-2]][fe[fe.length-1]],fe.push(st);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var be={EOF:1,parseError:S(function(de,fe){if(this.yy.parser)this.yy.parser.parseError(de,fe);else throw new Error(de)},"parseError"),setInput:S(function(Y,de){return this.yy=de||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var de=Y.match(/(?:\r\n?|\n).*/g);return de?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:S(function(Y){var de=Y.length,fe=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-de),this.offset-=de;var we=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var Ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===we.length?this.yylloc.first_column:0)+we[we.length-fe.length].length-fe[0].length:this.yylloc.first_column-de},this.options.ranges&&(this.yylloc.range=[Ee[0],Ee[0]+this.yyleng-de]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:S(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Y=this.pastInput(),de=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+` `+de+"^"},"showPosition"),test_match:S(function(Y,de){var fe,we,Ee;if(this.options.backtrack_lexer&&(Ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ee.yylloc.range=this.yylloc.range.slice(0))),we=Y[0].match(/(?:\r\n?|\n).*/g),we&&(this.yylineno+=we.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:we?we[we.length-1].length-we[we.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Y[0].length),this.matched+=Y[0],fe=this.performAction.call(this,this.yy,this,de,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var Ie in Ee)this[Ie]=Ee[Ie];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,de,fe,we;this._more||(this.yytext="",this.match="");for(var Ee=this._currentRules(),Ie=0;Iede[0].length)){if(de=fe,we=Ie,this.options.backtrack_lexer){if(Y=this.test_match(fe,Ee[Ie]),Y!==!1)return Y;if(this._backtrack){de=!1;continue}else return!1}else if(!this.options.flex)break}return de?(Y=this.test_match(de,Ee[we]),Y!==!1?Y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var YYe=_9,ts=Hb(),D1,XYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ts.quadrant1Fill,quadrant2Fill:ts.quadrant2Fill,quadrant3Fill:ts.quadrant3Fill,quadrant4Fill:ts.quadrant4Fill,quadrant1TextFill:ts.quadrant1TextFill,quadrant2TextFill:ts.quadrant2TextFill,quadrant3TextFill:ts.quadrant3TextFill,quadrant4TextFill:ts.quadrant4TextFill,quadrantPointFill:ts.quadrantPointFill,quadrantPointTextFill:ts.quadrantPointTextFill,quadrantXAxisTextFill:ts.quadrantXAxisTextFill,quadrantYAxisTextFill:ts.quadrantYAxisTextFill,quadrantTitleFill:ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,jT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var jYe=Pe();function wc(t){return Jr(t.trim(),jYe)}S(wc,"textSanitizer");var _a=new XYe;function Soe(t){_a.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){_a.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){_a.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){_a.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){_a.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){_a.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){_a.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){_a.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new jT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new jT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new jT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new jT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);_a.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){_a.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){_a.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){_a.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&_a.setConfig(r),_a.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),_a.setData({titleText:Zn()}),_a.build()}S(Boe,"getQuadrantData");var KYe=S(function(){_a.clear(),Kn()},"clear"),ZYe={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:KYe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},QYe=S((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}S(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart -`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Ui(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),JYe={draw:QYe},eXe={parser:YYe,db:ZYe,renderer:JYe,styles:S(()=>"","styles")};const tXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:eXe},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Le,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Le=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Le=H[He]&&H[He][$e]),typeof Le>"u"||!Le.length||!Le[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var ZYe=_9,ts=Hb(),D1,QYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ts.quadrant1Fill,quadrant2Fill:ts.quadrant2Fill,quadrant3Fill:ts.quadrant3Fill,quadrant4Fill:ts.quadrant4Fill,quadrant1TextFill:ts.quadrant1TextFill,quadrant2TextFill:ts.quadrant2TextFill,quadrant3TextFill:ts.quadrant3TextFill,quadrant4TextFill:ts.quadrant4TextFill,quadrantPointFill:ts.quadrantPointFill,quadrantPointTextFill:ts.quadrantPointTextFill,quadrantXAxisTextFill:ts.quadrantXAxisTextFill,quadrantYAxisTextFill:ts.quadrantYAxisTextFill,quadrantTitleFill:ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,XT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var JYe=Pe();function wc(t){return Jr(t.trim(),JYe)}S(wc,"textSanitizer");var _a=new QYe;function Soe(t){_a.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){_a.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){_a.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){_a.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){_a.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){_a.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){_a.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){_a.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new XT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new XT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new XT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new XT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);_a.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){_a.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){_a.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){_a.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&_a.setConfig(r),_a.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),_a.setData({titleText:Zn()}),_a.build()}S(Boe,"getQuadrantData");var eje=S(function(){_a.clear(),Kn()},"clear"),tje={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:eje,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},rje=S((t,e,r,n)=>{function i(R){return R==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(R){return R==="left"?"start":"middle"}S(a,"getTextAnchor");function s(R){return`translate(${R.x}, ${R.y}) rotate(${R.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart +`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Ui(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",R=>R.x1).attr("y1",R=>R.y1).attr("x2",R=>R.x2).attr("y2",R=>R.y2).style("stroke",R=>R.strokeFill).style("stroke-width",R=>R.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",R=>R.x).attr("y",R=>R.y).attr("width",R=>R.width).attr("height",R=>R.height).attr("fill",R=>R.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",R=>R.text.fill).attr("font-size",R=>R.text.fontSize).attr("dominant-baseline",R=>i(R.text.horizontalPos)).attr("text-anchor",R=>a(R.text.verticalPos)).attr("transform",R=>s(R.text)).text(R=>R.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(R=>R.text).attr("fill",R=>R.fill).attr("font-size",R=>R.fontSize).attr("dominant-baseline",R=>i(R.horizontalPos)).attr("text-anchor",R=>a(R.verticalPos)).attr("transform",R=>s(R));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",R=>R.x).attr("cy",R=>R.y).attr("r",R=>R.radius).attr("fill",R=>R.fill).attr("stroke",R=>R.strokeColor).attr("stroke-width",R=>R.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(R=>R.text.text).attr("fill",R=>R.text.fill).attr("font-size",R=>R.text.fontSize).attr("dominant-baseline",R=>i(R.text.horizontalPos)).attr("text-anchor",R=>a(R.text.verticalPos)).attr("transform",R=>s(R.text))},"draw"),nje={draw:rje},ije={parser:ZYe,db:tje,renderer:nje,styles:S(()=>"","styles")};const aje=Object.freeze(Object.defineProperty({__proto__:null,diagram:ije},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],A=[1,47],k=[1,50],R=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var j=P.length-1;switch(U){case 5:V.setOrientation(P[j]);break;case 9:V.setDiagramTitle(P[j].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[j]);break;case 13:V.setLineData(P[j-1],P[j]);break;case 14:V.setBarData({text:"",type:"text"},P[j]);break;case 15:V.setBarData(P[j-1],P[j]);break;case 16:this.$=P[j].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[j].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[j-1];break;case 20:this.$=[Number(P[j-2]),...P[j]];break;case 21:this.$=[Number(P[j])];break;case 22:V.setXAxisTitle(P[j]);break;case 23:V.setXAxisTitle(P[j-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[j]);break;case 26:V.setXAxisRangeData(Number(P[j-2]),Number(P[j]));break;case 27:this.$=P[j-1];break;case 28:this.$=[P[j-2],...P[j]];break;case 29:this.$=[P[j]];break;case 30:V.setYAxisTitle(P[j]);break;case 31:V.setYAxisTitle(P[j-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[j-2]),Number(P[j]));break;case 37:this.$={text:P[j],type:"text"};break;case 38:this.$={text:P[j],type:"text"};break;case 39:this.$={text:P[j],type:"markdown"};break;case 40:this.$=P[j];break;case 41:this.$=P[j-1]+""+P[j];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:A,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(R,[2,18]),{1:[2,2]},t(R,[2,8]),t(R,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(R,[2,10]),t(R,[2,22],{30:41,29:56,24:E,27:_}),t(R,[2,24]),t(R,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(R,[2,11]),t(R,[2,30],{33:60,27:A}),t(R,[2,32]),{31:[1,61]},t(R,[2,12]),{17:62,24:k},{25:63,27:$},t(R,[2,14]),{17:65,24:k},t(R,[2,16]),t(R,[2,17]),t(F,[2,41]),t(R,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(R,[2,31]),{27:[1,69]},t(R,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(R,[2,15]),t(R,[2,26]),t(R,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(R,[2,33]),t(R,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,j="",Z=0,X=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Le,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Le=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Le=H[He]&&H[He][$e]),typeof Le>"u"||!Le.length||!Le[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: `+te.showPosition()+` -Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Le[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Le[1]),$e=null,j=te.yyleng,X=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Le[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[X,j,Z,ae.yy,Le[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Le[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Le[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Le[1]),$e=null,X=te.yyleng,j=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Le[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[j,X,Z,ae.yy,Le[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Le[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(N){this.unput(this.match.slice(N))},"less"),pastInput:S(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var N=this.pastInput(),B=new Array(N.length+1).join("-");return N+this.upcomingInput()+` `+B+"^"},"showPosition"),test_match:S(function(N,B){var M,V,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),V=N[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],M=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var P in U)this[P]=U[P];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,B,M,V;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),P=0;PB[0].length)){if(B=M,V=P,this.options.backtrack_lexer){if(N=this.test_match(M,U[P]),N!==!1)return N;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(N=this.test_match(B,U[V]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var rXe=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,nXe=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,iXe=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new nXe(e,r,t.categories,t.title,i):new iXe(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,aXe=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new aXe(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,sXe=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,oXe=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,lXe=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new sXe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new oXe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new lXe(t,e,r)}S(zoe,"getPlotComponent");var q1,cXe=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,uXe=(V1=class{static build(e,r,n,i){return new cXe(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return ea(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return ea(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function Xoe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(Xoe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||Xoe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function joe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(joe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Zn(),uXe.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var hXe=S(function(){Kn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),dXe={getDrawableElem:Zoe,clear:hXe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:joe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},fXe=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart -`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Ui(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};S(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=S($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),pXe={draw:fXe},gXe={parser:rXe,db:dXe,renderer:pXe};const mXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:gXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var sje=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,oje=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,lje=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new oje(e,r,t.categories,t.title,i):new lje(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,cje=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new cje(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,uje=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,hje=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,dje=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new uje(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new hje(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new dje(t,e,r)}S(zoe,"getPlotComponent");var q1,fje=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,pje=(V1=class{static build(e,r,n,i){return new fje(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return ea(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return ea(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function joe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(joe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||joe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function Xoe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(Xoe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Zn(),pje.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var gje=S(function(){Kn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),mje={getDrawableElem:Zoe,clear:gje,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:Xoe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},yje=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart +`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Ui(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-A};S(E,"fitsHorizontally");const _=.7,A=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),R=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...R)),F=S($=>T?$.data.x+$.data.width+A:$.data.x+$.data.width-A,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,A=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=A.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),R=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(A).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${R}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),vje={draw:yje},bje={parser:sje,db:mje,renderer:vje};const xje=Object.freeze(Object.defineProperty({__proto__:null,diagram:bje},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],A=[1,39],k=[1,40],R=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],j=[1,85],Z=[1,86],X=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),{30:60,33:62,75:O,89:A,90:k},{30:63,33:62,75:O,89:A,90:k},{30:64,33:62,75:O,89:A,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:A,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:A,90:k},{5:[1,95]},{30:96,33:62,75:O,89:A,90:k},{5:[1,97]},{30:98,33:62,75:O,89:A,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(R,[2,59],{76:P}),t(R,[2,64],{76:me}),{33:103,75:[1,102],89:A,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(R,[2,57],{76:me}),t(R,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:A,90:k},{33:120,89:A,90:k},{75:U,78:121,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(R,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(R,[2,28]),{5:[1,127]},t(R,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(R,[2,47]),{5:[1,131]},t(R,[2,48]),t(R,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:A,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(R,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(R,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(R,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(R,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),t(R,[2,44]),t(R,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: `+qe.showPosition()+` -Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},Xe=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},je=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ze){this.unput(this.match.slice(Ze))},"less"),pastInput:S(function(){var Ze=this.matched.substr(0,this.matched.length-this.match.length);return(Ze.length>20?"...":"")+Ze.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ze=this.match;return Ze.length<20&&(Ze+=this._input.substr(0,20-Ze.length)),(Ze.substr(0,20)+(Ze.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ze=this.pastInput(),se=new Array(Ze.length+1).join("-");return Ze+this.upcomingInput()+` `+se+"^"},"showPosition"),test_match:S(function(Ze,se){var be,Y,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),Y=Ze[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ze[0].length},this.yytext+=Ze[0],this.match+=Ze[0],this.matches=Ze,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ze[0].length),this.matched+=Ze[0],be=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),be)return be;if(this._backtrack){for(var fe in de)this[fe]=de[fe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ze,se,be,Y;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),fe=0;fese[0].length)){if(se=be,Y=fe,this.options.backtrack_lexer){if(Ze=this.test_match(be,de[fe]),Ze!==!1)return Ze;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(Ze=this.test_match(se,de[Y]),Ze!==!1?Ze:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var se=this.next();return se||this.lex()},"lex"),begin:S(function(se){this.conditionStack.push(se)},"begin"),popState:S(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var yXe=M9,G1,vXe=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Kn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),bXe=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=je;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var Tje=M9,G1,wje=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=Xn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Kn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),Cje=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` - ${bXe(t)} + `;return s},"genColor"),Sje=S(t=>{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` + ${Cje(t)} marker { fill: ${t.relationColor}; stroke: ${t.relationColor}; @@ -1875,16 +1875,16 @@ Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse erro background-color: ${i??t.edgeLabelBackground}; } -`},"getStyles"),TXe=xXe,tle={};fC(tle,{draw:()=>wXe});var wXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),CXe={parser:yXe,get db(){return new vXe},renderer:tle,styles:TXe};const SXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:CXe},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Le=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: +`},"getStyles"),Eje=Sje,tle={};fC(tle,{draw:()=>kje});var kje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),_je={parser:Tje,get db(){return new wje},renderer:tle,styles:Eje};const Aje=Object.freeze(Object.defineProperty({__proto__:null,diagram:_je},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],A=[1,34],k=[1,35],R=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],j=[1,82],Z=[1,83],X=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Le=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],je=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:j,81:Z,82:X,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],je),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,je,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:j,81:Z,82:X,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: `+gt.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse error on line "+(Nt+1)+": Unexpected "+(st==zt?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(Rt,{text:gt.match,token:this.terminals_[st]||st,line:gt.yylineno,loc:xt,expected:ft})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+It+", token: "+st);switch(Wt[0]){case 1:et.push(st),lt.push(gt.yytext),ve.push(gt.yylloc),et.push(Wt[1]),st=null,At=gt.yyleng,Se=gt.yytext,Nt=gt.yylineno,xt=gt.yylloc;break;case 2:if(vt=this.productions_[Wt[1]][1],rr.$=lt[lt.length-vt],rr._$={first_line:ve[ve.length-(vt||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(vt||1)].first_column,last_column:ve[ve.length-1].last_column},bt&&(rr._$.range=[ve[ve.length-(vt||1)].range[0],ve[ve.length-1].range[1]]),Ut=this.performAction.apply(rr,[Se,At,Nt,ue.yy,Wt[1],lt,ve].concat(St)),typeof Ut<"u")return Ut;vt&&(et=et.slice(0,-1*vt*2),lt=lt.slice(0,-1*vt),ve=ve.slice(0,-1*vt)),et.push(this.productions_[Wt[1]][0]),lt.push(rr.$),ve.push(rr._$),Ne=Qe[et[et.length-2]][et[et.length-1]],et.push(Ne);break;case 3:return!0}}return!0},"parse")},Ee=(function(){var Ue={EOF:1,parseError:S(function(ze,et){if(this.yy.parser)this.yy.parser.parseError(ze,et);else throw new Error(ze)},"parseError"),setInput:S(function(_e,ze){return this.yy=ze||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var ze=_e.match(/(?:\r\n?|\n).*/g);return ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:S(function(_e){var ze=_e.length,et=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ze),this.offset-=ze;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),et.length-1&&(this.yylineno-=et.length-1);var lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:et?(et.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-et.length].length-et[0].length:this.yylloc.first_column-ze},this.options.ranges&&(this.yylloc.range=[lt[0],lt[0]+this.yyleng-ze]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:S(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _e=this.pastInput(),ze=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` `+ze+"^"},"showPosition"),test_match:S(function(_e,ze){var et,qe,lt;if(this.options.backtrack_lexer&&(lt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(lt.yylloc.range=this.yylloc.range.slice(0))),qe=_e[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],et=this.performAction.call(this,this.yy,this,ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),et)return et;if(this._backtrack){for(var ve in lt)this[ve]=lt[ve];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,ze,et,qe;this._more||(this.yytext="",this.match="");for(var lt=this._currentRules(),ve=0;veze[0].length)){if(ze=et,qe=ve,this.options.backtrack_lexer){if(_e=this.test_match(et,lt[ve]),_e!==!1)return _e;if(this._backtrack){ze=!1;continue}else return!1}else if(!this.options.flex)break}return ze?(_e=this.test_match(ze,lt[qe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var EXe=O9,kXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},_Xe={FILLED:0,OPEN:1},AXe={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,LXe=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=jn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=kXe,this.ARROWTYPE=_Xe,this.PLACEMENT=AXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var Lje=O9,Rje={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},Dje={FILLED:0,OPEN:1},Nje={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,Mje=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=Xn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=Rje,this.ARROWTYPE=Dje,this.PLACEMENT=Nje}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` `)?u=a+` `:u=`{ `+a+` -}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),Kn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":jn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),RXe=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { +}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),Kn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Xn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),Oje=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; stroke-width: ${t.strokeWidth??1}; @@ -2018,25 +2018,25 @@ Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse erro filter: ${e}; stroke: ${t.nodeBorder}; } -`},"getStyles"),DXe=RXe,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),NXe=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),tje(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),MXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),OXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Ri(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),IXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} +`},"getStyles"),Ije=Oje,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),Bje=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),aXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),Pje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),Fje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Ri(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let A=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,A=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),A},"drawActorTypeCollections"),$je=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} a ${C},${x} 0 0 0 0,${v.height} h ${v.width-2*C} a ${C},${x} 0 0 0 0,-${v.height} Z `;T.append("path").attr("d",_),E.append("path").attr("d",`M ${v.x},${v.y+x} - a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),BXe=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Ri(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),PXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Ri(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),FXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),R=v.append("g");R.attr("class",x);const k=` + a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const A=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[A%f.length]),T.style("fill",d[A%f.length]),E.style("stroke",f[A%f.length]),E.style("fill",d[A%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const R=T.select("path:last-child");if(R.node()){const O=R.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),zje=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,A=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",A).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-A})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const R=x.node().getBBox();return e.height=R.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Ri(e.description))(e.description,x,T.x,T.y+A+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),qje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Ri(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),Vje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),A=v.append("g");A.attr("class",x);const k=` M ${b.x},${b.y+_} a ${E},${_} 0 0 0 ${C},0 a ${E},${_} 0 0 0 -${C},0 l 0,${T-2*_} a ${E},${_} 0 0 0 ${C},0 l 0,-${T-2*_} -`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;eh.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Ri(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),$Xe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Ri(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),zXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),th(r,Ri(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),qXe=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await zXe(t,e,r,n,o);case"participant":return await MXe(t,e,r,n,o);case"boundary":return await $Xe(t,e,r,n,o);case"control":return await BXe(t,e,r,n,i,o);case"entity":return await PXe(t,e,r,n,o);case"database":return await FXe(t,e,r,n,o);case"collections":return await OXe(t,e,r,n,o);case"queue":return await IXe(t,e,r,n,o)}},"drawActor"),VXe=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),GXe=S(function(t){return t.append("g")},"anchorElement"),UXe=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),HXe=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Ri(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Ri(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),WXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),YXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),XXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),jXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),KXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ZXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),QXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),JXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),eje=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:On.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},sje=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=On.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Ri(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),XW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),C=S(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Ri(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var oje=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Ri(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=pje(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&XW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&XW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let R=s,k=o;C?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),lje=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await On.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await On.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=uje(o),u=On.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){_i(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),jW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));lje(h,d,f,v,0,b,!1);const R=await mje(b,d,E,n);On.insertArrowHead(h,e),On.insertArrowCrossHead(h,e),On.insertArrowFilledHead(h,e),On.insertSequenceNumber(h,e),On.insertSolidTopArrowHead(h,e),On.insertSolidBottomArrowHead(h,e),On.insertStickTopArrowHead(h,e),On.insertStickBottomArrowHead(h,e),s==="neo"&&On.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),On.drawActivation(h,X,H,Je,tE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}S(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await sje(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await On.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await On.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await On.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await On.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await On.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await sle(h,Z);cle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await oje(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>On.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",On.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var hje=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Ri(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),mje=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await hje(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=gje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),yje={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:cje},vje={parser:EXe,get db(){return new LXe},renderer:yje,styles:DXe,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const bje=Object.freeze(Object.defineProperty({__proto__:null,diagram:vje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Le=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Le,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Le,[2,65]),t(Le,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Le,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:S(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: +`;A.append("path").attr("d",k),h==="neo"&&A.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;eh.has(l)?(A.style("stroke",f[R%f.length]),A.style("fill",d[R%f.length])):A.style("stroke",p),A.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Ri(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=A.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),Gje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Ri(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),Uje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const A=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[A%f.length]),v.style("fill",d[A%f.length])):v.style("stroke",p),th(r,Ri(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),Hje=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await Uje(t,e,r,n,o);case"participant":return await Pje(t,e,r,n,o);case"boundary":return await Gje(t,e,r,n,o);case"control":return await zje(t,e,r,n,i,o);case"entity":return await qje(t,e,r,n,o);case"database":return await Vje(t,e,r,n,o);case"collections":return await Fje(t,e,r,n,o);case"queue":return await $je(t,e,r,n,o)}},"drawActor"),Wje=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),Yje=S(function(t){return t.append("g")},"anchorElement"),jje=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),Xje=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Ri(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Ri(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Kje=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),Zje=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Qje=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),Jje=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),eXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),tXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),rXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),nXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),iXe=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:In.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},uXe=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=In.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Ri(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),jW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((A,k)=>{const R=A?b:-b;return k?-R:R},"getCircleOffset"),C=S(A=>{v.append("circle").attr("cx",A).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Ri(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var hXe=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Ri(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=vXe(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&jW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&jW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let A=s,k=o;C?(ss?k=o-2*E:(k=o-E,A+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",A)):b.attr("x1",s+E);let R=0;const O=s===o,F=s<=o;O?R=e.fromBounds+1:T?R=F?e.toBounds-1:e.fromBounds+1:R=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",R).attr("y1",r).attr("x2",R).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",R).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),dXe=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await In.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await In.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=pXe(o),u=In.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){_i(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),XW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));dXe(h,d,f,v,0,b,!1);const A=await xXe(b,d,E,n);In.insertArrowHead(h,e),In.insertArrowCrossHead(h,e),In.insertArrowFilledHead(h,e),In.insertSequenceNumber(h,e),In.insertSolidTopArrowHead(h,e),In.insertSolidBottomArrowHead(h,e),In.insertStickTopArrowHead(h,e),In.insertStickBottomArrowHead(h,e),s==="neo"&&In.insertDropShadow(h,Je);function k(P,H){const j=Dt.endActivation(P);j.starty+18>H&&(j.starty=H-6,H+=12),In.drawActivation(h,j,H,Je,tE(P.from).length,n,_),Dt.insert(j.startx,H-10,j.stopx,H)}S(k,"activeEnd");let R=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,j,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),j=P.noteModel,await uXe(h,j,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await In.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(A,P,Je.boxMargin,Je.boxMargin,X=>Dt.newLoop(void 0,X.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await In.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.ALT_ELSE:el(A,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,X=>Dt.addSectionToLoop(X));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await In.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(A,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,X=>Dt.addSectionToLoop(X));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await In.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:R=P.message.start||R,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.CRITICAL_OPTION:el(A,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,X=>Dt.addSectionToLoop(X));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await In.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await In.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=R,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const X=await sle(h,Z);cle(P,Z,X,q,d,f,p),F.push({messageModel:Z,lineStartY:X,msg:P}),Dt.models.addMessage(Z)}catch(X){oe.error("error while drawing message",X)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(R=R+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await hXe(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>In.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",In.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var gXe=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Ri(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),xXe=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await gXe(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=bXe(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),TXe={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:fXe},wXe={parser:Lje,get db(){return new Mje},renderer:TXe,styles:Ije,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const CXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:wXe},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,je,at){for(je=je||{},at=it.length;at--;je[it[at]]=Ye);return je},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],A=[1,44],k=[1,46],R=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],j=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],X=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Le=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,je,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:A,100:k,102:R,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:A,100:k,102:R},{16:39,17:40,19:70,60:f,86:A,100:k,102:R,103:O},{16:39,17:40,19:71,60:f,86:A,100:k,102:R,103:O},{16:39,17:40,19:72,60:f,86:A,100:k,102:R,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:A,100:k,102:R,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:A,100:k,102:R,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:A,100:k,102:R,103:O},{16:39,17:40,19:87,60:f,86:A,100:k,102:R,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:A,100:k,102:R,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:A,100:k,102:R,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:A,100:k,102:R,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(j,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(X,[2,85]),t(X,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:A,100:k,102:R},{41:[1,101],45:100,51:ee},{16:103,60:f,86:A,100:k,102:R},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:A,100:k,102:R,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:A,100:k,102:R,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Le,[2,63]),{16:39,17:40,19:131,60:f,86:A,100:k,102:R,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:A,100:k,102:R,103:O},t(j,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(j,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:A,100:k,102:R,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:A,100:k,102:R,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Le,[2,65]),t(Le,[2,64]),{16:39,17:40,19:155,60:f,86:A,100:k,102:R,103:O},t(j,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Le,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,je){if(je.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=je,at}},"parseError"),parse:S(function(Ye){var je=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=je.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: `+Ue.showPosition()+` -Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},De=(function(){var it={EOF:1,parseError:S(function(Xe,at){if(this.yy.parser)this.yy.parser.parseError(Xe,at);else throw new Error(Xe)},"parseError"),setInput:S(function(Ye,Xe){return this.yy=Xe||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var Xe=Ye.match(/(?:\r\n?|\n).*/g);return Xe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:S(function(Ye){var Xe=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xe),this.offset-=Xe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-Xe},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-Xe]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:S(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ye=this.pastInput(),Xe=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` -`+Xe+"^"},"showPosition"),test_match:S(function(Ye,Xe){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,Xe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,Xe,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seXe[0].length)){if(Xe=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){Xe=!1;continue}else return!1}else if(!this.options.flex)break}return Xe?(Ye=this.test_match(Xe,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:S(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:S(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:S(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=Xie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",Kn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),xje=S(t=>`g.classGroup text { +Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},De=(function(){var it={EOF:1,parseError:S(function(je,at){if(this.yy.parser)this.yy.parser.parseError(je,at);else throw new Error(je)},"parseError"),setInput:S(function(Ye,je){return this.yy=je||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var je=Ye.match(/(?:\r\n?|\n).*/g);return je?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:S(function(Ye){var je=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-je),this.offset-=je;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-je},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-je]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:S(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ye=this.pastInput(),je=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` +`+je+"^"},"showPosition"),test_match:S(function(Ye,je){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,je,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,je,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seje[0].length)){if(je=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){je=!1;continue}else return!1}else if(!this.options.flex)break}return je?(Ye=this.test_match(je,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var je=this.next();return je||this.lex()},"lex"),begin:S(function(je){this.conditionStack.push(je)},"begin"),popState:S(function(){var je=this.conditionStack.length-1;return je>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(je){return je=this.conditionStack.length-1-Math.abs(je||0),je>=0?this.conditionStack[je]:"INITIAL"},"topState"),pushState:S(function(je){this.begin(je)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(je,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=jie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=Xn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",Kn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),SXe=S(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -2236,12 +2236,12 @@ g.classGroup line { text-align: center; } ${bx()} -`,"getStyles"),gle=xje,Tje=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),wje=S(function(t,e){return e.db.getClasses()},"getClasses"),Cje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:wje,draw:Cje,getDir:Tje},Sje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const Eje=Object.freeze(Object.defineProperty({__proto__:null,diagram:Sje},Symbol.toStringTag,{value:"Module"}));var kje={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const _je=Object.freeze(Object.defineProperty({__proto__:null,diagram:kje},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}S(Le,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: +`,"getStyles"),gle=SXe,EXe=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),kXe=S(function(t,e){return e.db.getClasses()},"getClasses"),_Xe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:kXe,draw:_Xe,getDir:EXe},AXe={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const LXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:AXe},Symbol.toStringTag,{value:"Module"}));var RXe={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const DXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:RXe},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],A=[1,31],k=[1,32],R=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,j,Z,X,ee){var Q=X.length-1;switch(Z){case 3:return j.setRootDoc(X[Q]),X[Q];case 4:this.$=[];break;case 5:X[Q]!="nl"&&(X[Q-1].push(X[Q]),this.$=X[Q-1]);break;case 6:case 7:this.$=X[Q];break;case 8:this.$="nl";break;case 12:this.$=X[Q];break;case 13:const ie=X[Q-1];ie.description=j.trimColon(X[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:X[Q-2],state2:X[Q]};break;case 15:const ne=j.trimColon(X[Q]);this.$={stmt:"relation",state1:X[Q-3],state2:X[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:X[Q-3],type:"default",description:"",doc:X[Q-1]};break;case 20:var he=X[Q],te=X[Q-2].trim();if(X[Q].match(":")){var ae=X[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:X[Q-3],type:"default",description:X[Q-5],doc:X[Q-1]};break;case 22:this.$={stmt:"state",id:X[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:X[Q],type:"join"};break;case 24:this.$={stmt:"state",id:X[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:j.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:X[Q-1].trim(),note:{position:X[Q-2].trim(),text:X[Q].trim()}};break;case 29:this.$=X[Q].trim(),j.setAccTitle(this.$);break;case 30:case 31:this.$=X[Q].trim(),j.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:X[Q-3],url:X[Q-2],tooltip:X[Q-1]};break;case 33:this.$={stmt:"click",id:X[Q-3],url:X[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:X[Q-1].trim(),classes:X[Q].trim()};break;case 36:this.$={stmt:"style",id:X[Q-1].trim(),styleClass:X[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:X[Q-1].trim(),styleClass:X[Q].trim()};break;case 38:j.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:j.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:j.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:j.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:X[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:X[Q-2].trim(),classes:[X[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:X[Q-2].trim(),classes:[X[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],j=[],Z=[null],X=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=X.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;X.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,X.length=X.length-Ze}S(Le,"popStack");function Oe(){var Ze;return Ze=j.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(j=Ze,Ze=j.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,je,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: `+me.showPosition()+` -Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),j.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},He&&(Ge._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),De=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,j].concat(ne)),typeof De<"u")return De;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),j.push(Ge._$),Xe=ee[H[H.length-2]][H[H.length-1]],H.push(Xe);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:S(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:S(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:S(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===X.length?this.yylloc.first_column:0)+X[X.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),X.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:X[X.length-(Ye||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(Ye||1)].first_column,last_column:X[X.length-1].last_column},He&&(Ge._$.range=[X[X.length-(Ye||1)].range[0],X[X.length-1].range[1]]),De=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,X].concat(ne)),typeof De<"u")return De;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),X=X.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),X.push(Ge._$),je=ee[H[H.length-2]][H[H.length-1]],H.push(je);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:S(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:S(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:S(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var j=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===j.length?this.yylloc.first_column:0)+j[j.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(U){this.unput(this.match.slice(U))},"less"),pastInput:S(function(){var U=this.matched.substr(0,this.matched.length-this.match.length);return(U.length>20?"...":"")+U.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var U=this.match;return U.length<20&&(U+=this._input.substr(0,20-U.length)),(U.substr(0,20)+(U.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var U=this.pastInput(),P=new Array(U.length+1).join("-");return U+this.upcomingInput()+` -`+P+"^"},"showPosition"),test_match:S(function(U,P){var H,X,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),X=U[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var j in Z)this[j]=Z[j];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,X;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),j=0;jP[0].length)){if(P=H,X=j,this.options.backtrack_lexer){if(U=this.test_match(H,Z[j]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[X]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,Aje="TB",vle="TB",JW="dir",mg="state",Xp="root",$9="relation",Lje="classDef",Rje="style",Dje="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",Nje="stateStart",Mje="stateEnd",eY="divider",tY="roundedWithTitle",Oje="note",Ije="noteGroup",Nx="statediagram",Bje="state",Pje=`${Nx}-${Bje}`,Ele="transition",Fje="note",$je="note-edge",zje=`${Ele} ${$je}`,qje=`${Nx}-${Fje}`,Vje="cluster",Gje=`${Nx}-${Vje}`,Uje="cluster-alt",Hje=`${Nx}-${Uje}`,kle="parent",_le="note",Wje="state",EO="----",Yje=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Xje=S(function(t,e){return e.db.getClasses()},"getClasses"),jje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in
    tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),Kje={getClasses:Xje,draw:jje,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${Wje}-${t}${i}-${e}`}S(a5,"stateDomId");var Zje=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=Nje:e.start===!1&&(p=Mje),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${Pje}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${Gje} ${a?Hje:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:Oje,label:e.note.text,labelType:"markdown",cssClasses:qje,cssStyles:[],cssCompiledStyles:[],id:l+Yje+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:Ije,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:zje,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),Zje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),Qje=S(()=>{i5.clear(),Ph=0},"reset"),rs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=ci,this.setAccTitle=jn,this.getAccDescription=hi,this.setAccDescription=ui,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case Lje:this.addStyleClass(i.id.trim(),i.classes);break;case Rje:this.handleStyleDef(i);break;case Dje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();Qje(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===rs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Xp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Xp,stmt:Xp},{id:Xp,stmt:Xp,doc:this.rootDoc},!0),{id:Xp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,Kn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===rs.START_NODE?(this.startEndCount++,`${rs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===rs.START_NODE?rs.START_TYPE:r}endIdIfNeeded(e=""){return e===rs.END_NODE?(this.startEndCount++,`${rs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===rs.END_NODE?rs.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(rs.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(rs.COLOR_KEYWORD).exec(i)){const o=a.replace(rs.FILL_KEYWORD,rs.BG_FILL).replace(rs.COLOR_KEYWORD,rs.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??Aje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),Jje=S(t=>` +`+P+"^"},"showPosition"),test_match:S(function(U,P){var H,j,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),j=U[0].match(/(?:\r\n?|\n).*/g),j&&(this.yylineno+=j.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:j?j[j.length-1].length-j[j.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var X in Z)this[X]=Z[X];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,j;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),X=0;XP[0].length)){if(P=H,j=X,this.options.backtrack_lexer){if(U=this.test_match(H,Z[X]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[j]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,j,Z){switch(j){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,NXe="TB",vle="TB",JW="dir",mg="state",jp="root",$9="relation",MXe="classDef",OXe="style",IXe="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",BXe="stateStart",PXe="stateEnd",eY="divider",tY="roundedWithTitle",FXe="note",$Xe="noteGroup",Nx="statediagram",zXe="state",qXe=`${Nx}-${zXe}`,Ele="transition",VXe="note",GXe="note-edge",UXe=`${Ele} ${GXe}`,HXe=`${Nx}-${VXe}`,WXe="cluster",YXe=`${Nx}-${WXe}`,jXe="cluster-alt",XXe=`${Nx}-${jXe}`,kle="parent",_le="note",KXe="state",EO="----",ZXe=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),QXe=S(function(t,e){return e.db.getClasses()},"getClasses"),JXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),eKe={getClasses:QXe,draw:JXe,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${KXe}-${t}${i}-${e}`}S(a5,"stateDomId");var tKe=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=BXe:e.start===!1&&(p=PXe),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${qXe}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${YXe} ${a?XXe:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:FXe,label:e.note.text,labelType:"markdown",cssClasses:HXe,cssStyles:[],cssCompiledStyles:[],id:l+ZXe+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:$Xe,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:UXe,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),tKe(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),rKe=S(()=>{i5.clear(),Ph=0},"reset"),rs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=ci,this.setAccTitle=Xn,this.getAccDescription=hi,this.setAccDescription=ui,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case MXe:this.addStyleClass(i.id.trim(),i.classes);break;case OXe:this.handleStyleDef(i);break;case IXe:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();rKe(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===rs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==jp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:jp,stmt:jp},{id:jp,stmt:jp,doc:this.rootDoc},!0),{id:jp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,Kn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===rs.START_NODE?(this.startEndCount++,`${rs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===rs.START_NODE?rs.START_TYPE:r}endIdIfNeeded(e=""){return e===rs.END_NODE?(this.startEndCount++,`${rs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===rs.END_NODE?rs.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(rs.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(rs.COLOR_KEYWORD).exec(i)){const o=a.replace(rs.FILL_KEYWORD,rs.BG_FILL).replace(rs.COLOR_KEYWORD,rs.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??NXe}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),nKe=S(t=>` defs [id$="-barbEnd"] { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -2466,12 +2466,12 @@ g.stateGroup line { ry: ${t.radius}px; filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} } -`,"getStyles"),Dle=Jje,eKe=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),tKe=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),rKe=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),nKe=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),iKe=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),aKe=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),sKe=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),oKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),lKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=oKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&eKe(i),e.type==="end"&&aKe(i),(e.type==="fork"||e.type==="join")&&sKe(i,e),e.type==="note"&&lKe(e.note.text,i),e.type==="divider"&&tKe(i),e.type==="default"&&e.descriptions.length===0&&rKe(i,e),e.type==="default"&&e.descriptions.length>0&&nKe(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,cKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(X2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},uKe=S(function(){},"setConf"),hKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),dKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);hKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Ui(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),fKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),cKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),pKe={setConf:uKe,draw:dKe},gKe={parser:yle,get db(){return new $f(1)},renderer:pKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const mKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:gKe},Symbol.toStringTag,{value:"Module"}));var yKe={parser:yle,get db(){return new $f(2)},renderer:Kje,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const vKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:yKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in C[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: +`,"getStyles"),Dle=nKe,iKe=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),aKe=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),sKe=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),oKe=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),lKe=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),cKe=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),uKe=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),hKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),dKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=hKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&iKe(i),e.type==="end"&&cKe(i),(e.type==="fork"||e.type==="join")&&uKe(i,e),e.type==="note"&&dKe(e.note.text,i),e.type==="divider"&&aKe(i),e.type==="default"&&e.descriptions.length===0&&sKe(i,e),e.type==="default"&&e.descriptions.length>0&&oKe(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,fKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(j2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},pKe=S(function(){},"setConf"),gKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),mKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);gKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Ui(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),yKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,A=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),A=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(A)&&(A=0)),T.setAttribute("x1",0-A+8),T.setAttribute("x2",_-A-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),fKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),vKe={setConf:pKe,draw:mKe},bKe={parser:yle,get db(){return new $f(1)},renderer:vKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const xKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:bKe},Symbol.toStringTag,{value:"Module"}));var TKe={parser:yle,get db(){return new $f(2)},renderer:eKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const wKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:TKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,A=2,k=1,R=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,j,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var X="";Z=[];for(P in C[B])this.terminals_[P]&&P>A&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?X="Parse error on line "+(E+1)+`: `+O.showPosition()+` -Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(j,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(L)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),X=C[m[m.length-2]][m[m.length-1]],m.push(X);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":X="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(X,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(R)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),j=C[m[m.length-2]][m[m.length-1]],m.push(j);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(f){this.unput(this.match.slice(f))},"less"),pastInput:S(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+` `+p+"^"},"showPosition"),test_match:S(function(f,p){var m,v,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),v=f[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(f[0].length),this.matched+=f[0],m=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var x in b)this[x]=b[x];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var f,p,m,v;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),x=0;xp[0].length)){if(p=m,v=x,this.options.backtrack_lexer){if(f=this.test_match(m,b[x]),f!==!1)return f;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(f=this.test_match(p,b[v]),f!==!1?f:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var bKe=z9,Nm="",kO=[],zb=[],qb=[],xKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,Kn()},"clear"),TKe=S(function(t){Nm=t,kO.push(t)},"addSection"),wKe=S(function(){return kO},"getSections"),CKe=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),EKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),kKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),_Ke=S(function(){return SKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:xKe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:jn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:TKe,getSections:wKe,getTasks:CKe,addTask:EKe,addTaskOrg:kKe,getActors:_Ke},AKe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var CKe=z9,Nm="",kO=[],zb=[],qb=[],SKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,Kn()},"clear"),EKe=S(function(t){Nm=t,kO.push(t)},"addSection"),kKe=S(function(){return kO},"getSections"),_Ke=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),LKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),RKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),DKe=S(function(){return AKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:SKe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:Xn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:EKe,getSections:kKe,getTasks:_Ke,addTask:LKe,addTaskOrg:RKe,getActors:DKe},NKe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.textColor}; } @@ -2604,12 +2604,12 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on ${t.actor5?`fill: ${t.actor5}`:""}; } ${bx()} -`,"getStyles"),LKe=AKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),RKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return WBe(t,e)},"drawText"),DKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),NKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,MKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),RKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),OKe=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,PKe=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),FKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Ui(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,FKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:BKe,draw:PKe},$Ke={parser:bKe,db:cY,renderer:hY,styles:LKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const zKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:$Ke},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: +`,"getStyles"),MKe=NKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),OKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return KBe(t,e)},"drawText"),IKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),BKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,PKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),OKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),FKe=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,qKe=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),VKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Ui(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,VKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:zKe,draw:qKe},GKe={parser:CKe,db:cY,renderer:hY,styles:MKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const UKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:GKe},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,A=0,k=2,R=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||R,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,j,Z,X;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";X=[];for(H in T[M])this.terminals_[H]&&H>k&&X.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: `+F.showPosition()+` -Expecting `+j.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:j})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,R=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(X=this.productions_[V[1]][1],P.$=x[x.length-X],P._$={first_line:C[C.length-(X||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(X||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(X||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,R,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;X&&(v=v.slice(0,-1*X*2),x=x.slice(0,-1*X),C=C.slice(0,-1*X)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+X.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==R?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:X})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,A=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(j=this.productions_[V[1]][1],P.$=x[x.length-j],P._$={first_line:C[C.length-(j||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(j||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(j||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,A,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;j&&(v=v.slice(0,-1*j*2),x=x.slice(0,-1*j),C=C.slice(0,-1*j)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(p){this.unput(this.match.slice(p))},"less"),pastInput:S(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:S(function(p,m){var v,b,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),b=p[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var C in x)this[C]=x[C];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,v,b;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),C=0;Cm[0].length)){if(m=v,b=C,this.options.backtrack_lexer){if(p=this.test_match(v,x[C]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,x[b]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var m=this.next();return m||this.lex()},"lex"),begin:S(function(m){this.conditionStack.push(m)},"begin"),popState:S(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var qKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>Xle,clear:()=>zle,default:()=>VKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",Kn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),Xle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),VKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:Xle,addEvent:Yle},jle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),GKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),UKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),HKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),WKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,YKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),GKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),XKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),jKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var ZKe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),JKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),QKe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),JKe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+jle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:UKe,drawSection:WKe,drawText:Kle,drawLabel:HKe,drawTask:YKe,drawBackgroundRect:XKe,getTextObj:jKe,getNoteRect:RO,initGraphics:KKe,drawNode:ZKe,getVirtualNodeHeight:QKe},eZe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&fY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,fY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+tZe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),tZe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),rZe={setConf:S(()=>{},"setConf"),draw:eZe},nE=200,hu=5,nZe=nE+hu*2,NO=nE+100,iZe=NO+hu*2,Qle=10,aZe=0,pY=20,Jle=20,gY=30,ece=50,sZe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=nZe+Jle,x=iZe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,R=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+aZe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=X,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;oZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),oZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),lZe={setConf:S(()=>{},"setConf"),draw:sZe},cZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var HKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>jle,clear:()=>zle,default:()=>WKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",Kn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),jle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),WKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:jle,addEvent:Yle},Xle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),YKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),jKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),XKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),KKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,ZKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),YKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),QKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),JKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var tZe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),nZe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const A=T.select("defs");(A.empty()?T.append("defs"):A).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),rZe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),nZe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+Xle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:jKe,drawSection:KKe,drawText:Kle,drawLabel:XKe,drawTask:ZKe,drawBackgroundRect:QKe,getTextObj:JKe,getNoteRect:RO,initGraphics:eZe,drawNode:tZe,getVirtualNodeHeight:rZe},iZe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,A=0,k=50+d,R=50;A=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${A})`),R+=T+50,N.length>0&&fY(v,N,O,k,R,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),R=A,O++}):(F=!1,fY(v,b,O,k,R,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+aZe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),aZe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),sZe={setConf:S(()=>{},"setConf"),draw:iZe},nE=200,hu=5,oZe=nE+hu*2,NO=nE+100,lZe=NO+hu*2,Qle=10,cZe=0,pY=20,Jle=20,gY=30,ece=50,uZe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=oZe+Jle,x=lZe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,A=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+cZe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,j=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=j,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;hZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),hZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),dZe={setConf:S(()=>{},"setConf"),draw:uZe},fZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o{let e="";for(let r=0;r{let e="";for(let r=0;r{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?lZe.draw(t,e,r,n):rZe.draw(t,e,r,n),"draw")},pZe={db:Ple,renderer:fZe,parser:qKe,styles:dZe};const gZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:pZe},Symbol.toStringTag,{value:"Module"})),Ca=[];for(let t=0;t<256;++t)Ca.push((t+256).toString(16).slice(1));function mZe(t,e=0){return(Ca[t[e+0]]+Ca[t[e+1]]+Ca[t[e+2]]+Ca[t[e+3]]+"-"+Ca[t[e+4]]+Ca[t[e+5]]+"-"+Ca[t[e+6]]+Ca[t[e+7]]+"-"+Ca[t[e+8]]+Ca[t[e+9]]+"-"+Ca[t[e+10]]+Ca[t[e+11]]+Ca[t[e+12]]+Ca[t[e+13]]+Ca[t[e+14]]+Ca[t[e+15]]).toLowerCase()}let OA;const yZe=new Uint8Array(16);function vZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(yZe)}const bZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:bZe};function xZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??vZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,mZe(n)}var U9=(function(){var t=S(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:S(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}S(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: +`},"getStyles"),mZe=gZe,yZe={setConf:S(()=>{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?dZe.draw(t,e,r,n):sZe.draw(t,e,r,n),"draw")},vZe={db:Ple,renderer:yZe,parser:HKe,styles:mZe};const bZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:vZe},Symbol.toStringTag,{value:"Module"})),Ca=[];for(let t=0;t<256;++t)Ca.push((t+256).toString(16).slice(1));function xZe(t,e=0){return(Ca[t[e+0]]+Ca[t[e+1]]+Ca[t[e+2]]+Ca[t[e+3]]+"-"+Ca[t[e+4]]+Ca[t[e+5]]+"-"+Ca[t[e+6]]+Ca[t[e+7]]+"-"+Ca[t[e+8]]+Ca[t[e+9]]+"-"+Ca[t[e+10]]+Ca[t[e+11]]+Ca[t[e+12]]+Ca[t[e+13]]+Ca[t[e+14]]+Ca[t[e+15]]).toLowerCase()}let OA;const TZe=new Uint8Array(16);function wZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(TZe)}const CZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:CZe};function SZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??wZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,xZe(n)}var U9=(function(){var t=S(function(E,_,A,k){for(A=A||{},k=E.length;k--;A[E[k]]=_);return A},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,A,k,R,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return R;case 8:R.getLogger().trace("Stop NL ");break;case 9:R.getLogger().trace("Stop EOF ");break;case 11:R.getLogger().trace("Stop NL2 ");break;case 12:R.getLogger().trace("Stop EOF2 ");break;case 15:R.getLogger().info("Node: ",F[q].id),R.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:R.getLogger().trace("Icon: ",F[q]),R.decorateNode({icon:F[q]});break;case 17:case 21:R.decorateNode({class:F[q]});break;case 18:R.getLogger().trace("SPACELIST");break;case 19:R.getLogger().trace("Node: ",F[q].id),R.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:R.decorateNode({icon:F[q]});break;case 25:R.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:R.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:R.nodeType.DEFAULT};break;case 27:R.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:R.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,A){if(A.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=A,k}},"parseError"),parse:S(function(_){var A=this,k=[0],R=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(j,"popStack");function Z(){var Me;return Me=R.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(R=Me,Me=R.pop()),Me=A.symbols_[Me]||Me),Me}S(Z,"lex");for(var X,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((X===null||typeof X>"u")&&(X=Z()),Q=$[ee]&&$[ee][X]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: `+M.showPosition()+` -Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error on line "+(z+1)+": Unexpected "+(j==N?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(pe,{text:M.match,token:this.terminals_[j]||j,line:M.yylineno,loc:P,expected:me})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+j);switch(Q[0]){case 1:k.push(j),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),j=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:S(function(R,k){if(this.yy.parser)this.yy.parser.parseError(R,k);else throw new Error(R)},"parseError"),setInput:S(function(_,R){return this.yy=R||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var R=_.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:S(function(_){var R=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===L.length?this.yylloc.first_column:0)+L[L.length-k.length].length-k[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_){this.unput(this.match.slice(_))},"less"),pastInput:S(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _=this.pastInput(),R=new Array(_.length+1).join("-");return _+this.upcomingInput()+` -`+R+"^"},"showPosition"),test_match:S(function(_,R){var k,L,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),L=_[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,R,k,L;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FR[0].length)){if(R=k,L=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(_=this.test_match(R,O[L]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var R=this.next();return R||this.lex()},"lex"),begin:S(function(R){this.conditionStack.push(R)},"begin"),popState:S(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:S(function(R){this.begin(R)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var TZe=U9,wZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,CZe=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(wZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=hpe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+xZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),SZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram -`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),EZe={draw:SZe},kZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+X);switch(Q[0]){case 1:k.push(X),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),X=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:S(function(A,k){if(this.yy.parser)this.yy.parser.parseError(A,k);else throw new Error(A)},"parseError"),setInput:S(function(_,A){return this.yy=A||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var A=_.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:S(function(_){var A=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===R.length?this.yylloc.first_column:0)+R[R.length-k.length].length-k[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_){this.unput(this.match.slice(_))},"less"),pastInput:S(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _=this.pastInput(),A=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+A+"^"},"showPosition"),test_match:S(function(_,A){var k,R,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),R=_[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,A,k,R;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FA[0].length)){if(A=k,R=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(_=this.test_match(A,O[R]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var A=this.next();return A||this.lex()},"lex"),begin:S(function(A){this.conditionStack.push(A)},"begin"),popState:S(function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:"INITIAL"},"topState"),pushState:S(function(A){this.begin(A)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(A,k,R,O){switch(R){case 0:return A.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:A.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return A.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:A.getLogger().trace("end icon"),this.popState();break;case 10:return A.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return A.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return A.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return A.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:A.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return A.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),A.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),A.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),A.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),A.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),A.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";case 35:return A.getLogger().trace("Long description:",k.yytext),20;case 36:return A.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var EZe=U9,kZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,_Ze=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(kZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=gpe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+SZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),AZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram +`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),LZe={draw:AZe},RZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i{let n="";for(let i=0;i{let n="";for(let i=0;i{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` + }`;return n},"genGradient"),NZe=S(t=>{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` .edge { stroke-width: 3; } - ${kZe(t)} + ${RZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2817,18 +2817,18 @@ Expecting `+me.join(", ")+", got '"+(this.terminals_[j]||j)+"'":pe="Parse error [data-look="neo"].mindmap-node.section-root .text-inner-tspan { fill: ${e?.includes("redux")?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:0)]}; } - ${t.useGradient&&r&&t.mainBkg?_Ze(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} -`},"getStyles"),LZe=AZe,RZe={get db(){return new CZe},renderer:EZe,parser:TZe,styles:LZe};const DZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:RZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:S(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Le){F.length=F.length-2*Le,q.length=q.length-Le,z.length=z.length-Le}S(ee,"popStack");function Q(){var Le;return Le=$.pop()||P.lex()||V,typeof Le!="number"&&(Le instanceof Array&&($=Le,Le=$.pop()),Le=O.symbols_[Le]||Le),Le}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: + ${t.useGradient&&r&&t.mainBkg?DZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} +`},"getStyles"),MZe=NZe,OZe={get db(){return new _Ze},renderer:LZe,parser:EZe,styles:MZe};const IZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:OZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,R,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=R);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(R,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(R,O){if(O.recoverable)this.trace(R);else{var F=new Error(R);throw F.hash=O,F}},"parseError"),parse:S(function(R){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(H.yy[j]=this.yy[j]);P.setInput(R,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var X=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Le){F.length=F.length-2*Le,q.length=q.length-Le,z.length=z.length-Le}S(ee,"popStack");function Q(){var Le;return Le=$.pop()||P.lex()||V,typeof Le!="number"&&(Le instanceof Array&&($=Le,Le=$.pop()),Le=O.symbols_[Le]||Le),Le}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: `+P.showPosition()+` -Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},j&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:S(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:S(function(L,O){return this.yy=O||this.yy||{},this._input=L,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var L=this._input[0];this.yytext+=L,this.yyleng++,this.offset++,this.match+=L,this.matched+=L;var O=L.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),L},"input"),unput:S(function(L){var O=L.length,F=L.split(/(?:\r\n?|\n)/g);this._input=L+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(L){this.unput(this.match.slice(L))},"less"),pastInput:S(function(){var L=this.matched.substr(0,this.matched.length-this.match.length);return(L.length>20?"...":"")+L.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var L=this.match;return L.length<20&&(L+=this._input.substr(0,20-L.length)),(L.substr(0,20)+(L.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var L=this.pastInput(),O=new Array(L.length+1).join("-");return L+this.upcomingInput()+` -`+O+"^"},"showPosition"),test_match:S(function(L,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=L[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+L[0].length},this.yytext+=L[0],this.match+=L[0],this.matches=L,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(L[0].length),this.matched+=L[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var L,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(L=this.test_match(F,q[z]),L!==!1)return L;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(L=this.test_match(O,q[$]),L!==!1?L:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return S(R,"Parser"),R.prototype=E,E.Parser=R,new R})();H9.parser=H9;var NZe=H9,Bo=[],MO=[],W9=0,OO={},MZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),OZe=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),BZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Zi.ROUNDED_RECT:case Zi.RECT:case Zi.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` +Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},X&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:S(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:S(function(R,O){return this.yy=O||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var O=R.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},"input"),unput:S(function(R){var O=R.length,F=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(R){this.unput(this.match.slice(R))},"less"),pastInput:S(function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var R=this.pastInput(),O=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+O+"^"},"showPosition"),test_match:S(function(R,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=R[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(R=this.test_match(F,q[z]),R!==!1)return R;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(R=this.test_match(O,q[$]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function A(){this.yy={}}return S(A,"Parser"),A.prototype=E,E.Parser=A,new A})();H9.parser=H9;var BZe=H9,Bo=[],MO=[],W9=0,OO={},PZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),FZe=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),zZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Zi.ROUNDED_RECT:case Zi.RECT:case Zi.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` `)?u=i+` `:u=`{ `+i+` -}`;const h=LC(u,{schema:AC});if(h.shape&&(h.shape!==h.shape.toLowerCase()||h.shape.includes("_")))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);h?.shape&&h.shape==="kanbanItem"&&(o.shape=h?.shape),h?.label&&(o.label=h?.label),h?.icon&&(o.icon=h?.icon.toString()),h?.assigned&&(o.assigned=h?.assigned.toString()),h?.ticket&&(o.ticket=h?.ticket.toString()),h?.priority&&(o.priority=h?.priority)}const l=OZe(t);l?o.parentId=l.id||"kbn"+W9++:MO.push(o),Bo.push(o)},"addNode"),Zi={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},PZe=S((t,e)=>{switch(oe.debug("In get type",t,e),t){case"[":return Zi.RECT;case"(":return e===")"?Zi.ROUNDED_RECT:Zi.CLOUD;case"((":return Zi.CIRCLE;case")":return Zi.CLOUD;case"))":return Zi.BANG;case"{{":return Zi.HEXAGON;default:return Zi.DEFAULT}},"getType"),FZe=S((t,e)=>{OO[t]=e},"setElementForId"),$Ze=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),zZe=S(t=>{switch(t){case Zi.DEFAULT:return"no-border";case Zi.RECT:return"rect";case Zi.ROUNDED_RECT:return"rounded-rect";case Zi.CIRCLE:return"circle";case Zi.CLOUD:return"cloud";case Zi.BANG:return"bang";case Zi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),qZe=S(()=>oe,"getLogger"),VZe=S(t=>OO[t],"getElementById"),GZe={clear:MZe,addNode:BZe,getSections:tce,getData:IZe,nodeType:Zi,getType:PZe,setElementForId:FZe,decorateNode:$Ze,type2Str:zZe,getLogger:qZe,getElementById:VZe},UZe=GZe,HZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram -`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=C-1.5*f;const F=(await HC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await $8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),WZe={draw:HZe},YZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n{switch(oe.debug("In get type",t,e),t){case"[":return Zi.RECT;case"(":return e===")"?Zi.ROUNDED_RECT:Zi.CLOUD;case"((":return Zi.CIRCLE;case")":return Zi.CLOUD;case"))":return Zi.BANG;case"{{":return Zi.HEXAGON;default:return Zi.DEFAULT}},"getType"),VZe=S((t,e)=>{OO[t]=e},"setElementForId"),GZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),UZe=S(t=>{switch(t){case Zi.DEFAULT:return"no-border";case Zi.RECT:return"rect";case Zi.ROUNDED_RECT:return"rounded-rect";case Zi.CIRCLE:return"circle";case Zi.CLOUD:return"cloud";case Zi.BANG:return"bang";case Zi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),HZe=S(()=>oe,"getLogger"),WZe=S(t=>OO[t],"getElementById"),YZe={clear:PZe,addNode:zZe,getSections:tce,getData:$Ze,nodeType:Zi,getType:qZe,setElementForId:VZe,decorateNode:GZe,type2Str:UZe,getLogger:HZe,getElementById:WZe},jZe=YZe,XZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram +`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(R=>R.parentId===b.id);for(const R of _){if(R.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");R.x=b.x,R.width=C-1.5*f;const F=(await HC(u,R,{config:s})).node().getBBox();R.y=E+F.height/2,await $8(R),E=R.y+F.height/2+f/2}const A=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);A.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),KZe={draw:XZe},ZZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n` + `}return e},"genSections"),QZe=S(t=>` .edge { stroke-width: 3; } - ${YZe(t)} + ${ZZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2906,16 +2906,16 @@ Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse erro text-align: center; } ${bx()} -`,"getStyles"),jZe=XZe,KZe={db:UZe,renderer:WZe,parser:NZe,styles:jZe};const ZZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:KZe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function QZe(t){return t.target.depth}function JZe(t){return t.depth}function eQe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function tQe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,QZe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function rQe(t){return t.index}function nQe(t){return t.nodes}function iQe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function aQe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=rQe,l=nce,u,h,d=nQe,f=iQe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,X9=2*Y9,Mf=1e-6,sQe=X9-Mf;function j9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new j9}j9.prototype=ice.prototype={constructor:j9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%X9+X9),d>sQe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function oQe(t){return t[0]}function lQe(t){return t[1]}var cQe=Array.prototype.slice;function uQe(t){return t.source}function hQe(t){return t.target}function dQe(t){var e=uQe,r=hQe,n=oQe,i=lQe,a=null;function s(){var o,l=cQe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function fQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function pQe(){return dQe(fQe)}function gQe(t){return[t.source.x1,t.y0]}function mQe(t){return[t.target.x0,t.y1]}function yQe(){return pQe().source(gQe).target(mQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: +`,"getStyles"),JZe=QZe,eQe={db:jZe,renderer:KZe,parser:BZe,styles:JZe};const tQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:eQe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function rQe(t){return t.target.depth}function nQe(t){return t.depth}function iQe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function aQe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,rQe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function sQe(t){return t.index}function oQe(t){return t.nodes}function lQe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function cQe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=sQe,l=nce,u,h,d=oQe,f=lQe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/j-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),R(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,j=0;for(const{target:X,value:ee}of P.sourceLinks){let Q=ee*(X.layer-P.layer);H+=D(P,X)*Q,j+=Q}if(!(j>0))continue;let Z=(H/j-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),R(U,B)}}function R(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,j9=2*Y9,Mf=1e-6,uQe=j9-Mf;function X9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new X9}X9.prototype=ice.prototype={constructor:X9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%j9+j9),d>uQe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function hQe(t){return t[0]}function dQe(t){return t[1]}var fQe=Array.prototype.slice;function pQe(t){return t.source}function gQe(t){return t.target}function mQe(t){var e=pQe,r=gQe,n=hQe,i=dQe,a=null;function s(){var o,l=fQe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function yQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function vQe(){return mQe(yQe)}function bQe(t){return[t.source.x1,t.y0]}function xQe(t){return[t.target.x0,t.y1]}function TQe(){return vQe().source(bQe).target(xQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),A={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(A.yy[k]=this.yy[k]);_.setInput(l,A.yy),A.yy.lexer=_,A.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var R=_.yylloc;p.push(R);var O=_.options&&_.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: `+_.showPosition()+` -Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:L,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,L=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,R.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:S(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:R,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,R=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,A.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:S(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` `+u+"^"},"showPosition"),test_match:S(function(l,u){var h,d,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),d=l[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],h=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var p in f)this[p]=f[p];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,u,h,d;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),p=0;pu[0].length)){if(u=h,d=p,this.options.backtrack_lexer){if(l=this.test_match(h,f[p]),l!==!1)return l;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(l=this.test_match(u,f[d]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,vQe=S(()=>{iE=[],aE=[],lC=new Map,Kn()},"clear"),X1,bQe=(X1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(X1,"SankeyLink"),X1),xQe=S((t,e,r)=>{iE.push(new bQe(t,e,r))},"addLink"),j1,TQe=(j1=class{constructor(e){this.ID=e}},S(j1,"SankeyNode"),j1),wQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new TQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),CQe=S(()=>aE,"getNodes"),SQe=S(()=>iE,"getLinks"),EQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),kQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:CQe,getLinks:SQe,getGraph:EQe,addLink:xQe,findOrCreateNode:wQe,getAccTitle:ci,setAccTitle:jn,getAccDescription:hi,setAccDescription:ui,getDiagramTitle:Zn,setDiagramTitle:li,clear:vQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),_Qe={left:JZe,right:eQe,center:tQe,justify:nce},AQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=_Qe[p];aQe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=jf($2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=S(({id:F,value:$})=>b?`${F} -${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",yQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),LQe={draw:AQe},RQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing"),DQe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,wQe=S(()=>{iE=[],aE=[],lC=new Map,Kn()},"clear"),j1,CQe=(j1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(j1,"SankeyLink"),j1),SQe=S((t,e,r)=>{iE.push(new CQe(t,e,r))},"addLink"),X1,EQe=(X1=class{constructor(e){this.ID=e}},S(X1,"SankeyNode"),X1),kQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new EQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),_Qe=S(()=>aE,"getNodes"),AQe=S(()=>iE,"getLinks"),LQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),RQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:_Qe,getLinks:AQe,getGraph:LQe,addLink:SQe,findOrCreateNode:kQe,getAccTitle:ci,setAccTitle:Xn,getAccDescription:hi,setAccDescription:ui,getDiagramTitle:Zn,setDiagramTitle:li,clear:wQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),DQe={left:nQe,right:iQe,center:aQe,justify:nce},NQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pj.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=DQe[p];cQe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=Xf(G2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const A=S(({id:F,value:$})=>b?`${F} +${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(R){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=R}k.append("path").attr("d",TQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),MQe={draw:NQe},OQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing"),IQe=S(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),NQe=DQe,MQe=oC.parse.bind(oC);oC.parse=t=>MQe(RQe(t));var OQe={styles:NQe,parser:oC,db:kQe,renderer:LQe};const IQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:OQe},Symbol.toStringTag,{value:"Module"}));var BQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getConfig(){const e=ea({...BQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Kn(),this.packet=[]}},S(K1,"PacketDB"),K1),PQe=1e4,FQe=S((t,e)=>{Xu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),FQe(e,r)},"parse")},zQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Ui(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())qQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),qQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),VQe={draw:zQe},GQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},UQe=S(({packet:t}={})=>{const e=ea(GQe,t);return` + }`,"getStyles"),BQe=IQe,PQe=oC.parse.bind(oC);oC.parse=t=>PQe(OQe(t));var FQe={styles:BQe,parser:oC,db:RQe,renderer:MQe};const $Qe=Object.freeze(Object.defineProperty({__proto__:null,diagram:FQe},Symbol.toStringTag,{value:"Module"}));var zQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getConfig(){const e=ea({...zQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Kn(),this.packet=[]}},S(K1,"PacketDB"),K1),qQe=1e4,VQe=S((t,e)=>{ju(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),VQe(e,r)},"parse")},UQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Ui(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())HQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),HQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),WQe={draw:UQe},YQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},jQe=S(({packet:t}={})=>{const e=ea(YQe,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2938,7 +2938,7 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles"),HQe={parser:sce,get db(){return new ace},renderer:VQe,styles:UQe};const WQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:HQe},Symbol.toStringTag,{value:"Module"}));var yg={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},oce={axes:[],curves:[],options:yg},Y0=structuredClone(oce),YQe=Vr.radar,XQe=S(()=>ea({...YQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),jQe=S(()=>Y0.curves,"getCurves"),KQe=S(()=>Y0.options,"getOptions"),ZQe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),QQe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:JQe(e.entries)}))},"setCurves"),JQe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),eJe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),tJe=S(()=>{Kn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:jQe,getOptions:KQe,setAxes:ZQe,setCurves:QQe,setOptions:eJe,getConfig:XQe,clear:tJe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},rJe=S(t=>{Xu(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),nJe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),rJe(e)},"parse")},iJe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=aJe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;sJe(d,a,m,o.ticks,o.graticule),oJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),aJe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Ui(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),sJe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),oJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var lJe={draw:iJe},cJe=S((t,e)=>{let r="";for(let n=0;nea({...ZQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),JQe=S(()=>Y0.curves,"getCurves"),eJe=S(()=>Y0.options,"getOptions"),tJe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),rJe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:nJe(e.entries)}))},"setCurves"),nJe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),iJe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),aJe=S(()=>{Kn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:JQe,getOptions:eJe,setAxes:tJe,setCurves:rJe,setOptions:iJe,getConfig:QQe,clear:aJe,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},sJe=S(t=>{ju(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),oJe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),sJe(e)},"parse")},lJe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=cJe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;uJe(d,a,m,o.ticks,o.graticule),hJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),cJe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Ui(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),uJe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),hJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var dJe={draw:lJe},fJe=S((t,e)=>{let r="";for(let n=0;n{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),hJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=uJe(t);return` + `}return r},"genIndexStyles"),pJe=S(t=>{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),gJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=pJe(t);return` .radarTitle { font-size: ${e.fontSize}; color: ${e.titleColor}; @@ -2979,13 +2979,13 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- font-size: ${r.legendFontSize}px; dominant-baseline: hanging; } - ${cJe(e,r)} - `},"styles"),dJe={parser:nJe,db:w2,renderer:lJe,styles:hJe};const fJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:dJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:S(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}S(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: + ${fJe(e,r)} + `},"styles"),mJe={parser:oJe,db:w2,renderer:dJe,styles:gJe};const yJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:mJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,A){for(_=_||{},A=T.length;A--;_[T[A]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,A,k,R,O,F){var $=O.length-1;switch(R){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var A=new Error(E);throw A.hash=_,A}},"parseError"),parse:S(function(E){var _=this,A=[0],k=[],R=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){A.length=A.length-2*pe,R.length=R.length-pe,O.length=O.length-pe}S(H,"popStack");function j(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(j,"lex");for(var Z,X,ee,Q,he={},te,ae,ie,ne;;){if(X=A[A.length-1],this.defaultActions[X]?ee=this.defaultActions[X]:((Z===null||typeof Z>"u")&&(Z=j()),ee=F[X]&&F[X][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[X])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: `+B.showPosition()+` -Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+Z);switch(ee[0]){case 1:R.push(Z),L.push(B.yytext),O.push(B.yylloc),R.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=L[L.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],L,O].concat(N)),typeof Q<"u")return Q;ae&&(R=R.slice(0,-1*ae*2),L=L.slice(0,-1*ae),O=O.slice(0,-1*ae)),R.push(this.productions_[ee[1]][0]),L.push(he.$),O.push(he._$),ie=F[R[R.length-2]][R[R.length-1]],R.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:S(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw new Error(_)},"parseError"),setInput:S(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:S(function(E){var _=E.length,R=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1&&(this.yylineno-=R.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===k.length?this.yylloc.first_column:0)+k[k.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+Z);switch(ee[0]){case 1:A.push(Z),R.push(B.yytext),O.push(B.yylloc),A.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=R[R.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],R,O].concat(N)),typeof Q<"u")return Q;ae&&(A=A.slice(0,-1*ae*2),R=R.slice(0,-1*ae),O=O.slice(0,-1*ae)),A.push(this.productions_[ee[1]][0]),R.push(he.$),O.push(he._$),ie=F[A[A.length-2]][A[A.length-1]],A.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:S(function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},"parseError"),setInput:S(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:S(function(E){var _=E.length,A=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===k.length?this.yylloc.first_column:0)+k[k.length-A.length].length-A[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(E){this.unput(this.match.slice(E))},"less"),pastInput:S(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` -`+_+"^"},"showPosition"),test_match:S(function(E,_){var R,k,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],R=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var O in L)this[O]=L[O];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,R,k;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),O=0;O_[0].length)){if(_=R,k=O,this.options.backtrack_lexer){if(E=this.test_match(R,L[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,L[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var pJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",gJe="bgFill",fce=",",mJe=Pe(),cC=new Map,BO="",yJe=S(t=>$t.sanitizeText(t,mJe),"sanitizeText"),vJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,gJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),bJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),xJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=yJe(s.label)),s.type==="classDef"){vJe(s.id,s.css);continue}if(s.type==="applyClass"){xJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&bJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),Kn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,wJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),CJe=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),SJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),EJe=S(()=>[...xl.values()],"getBlocksFlat"),kJe=S(()=>PO||[],"getBlocks"),_Je=S(()=>IO,"getEdges"),AJe=S(t=>xl.get(t),"getBlock"),LJe=S(t=>{xl.set(t.id,t)},"setBlock"),RJe=S(t=>{BO=t},"setDiagramId"),DJe=S(()=>BO,"getDiagramId"),NJe=S(()=>oe,"getLogger"),MJe=S(function(){return cC},"getClasses"),OJe={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:NJe,getBlocksFlat:EJe,getBlocks:kJe,getEdges:_Je,setHierarchy:CJe,getBlock:AJe,setBlock:LJe,getColumns:SJe,getClasses:MJe,clear:TJe,generateId:wJe,setDiagramId:RJe,getDiagramId:DJe},IJe=OJe,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),BJe=S(t=>`.label { +`+_+"^"},"showPosition"),test_match:S(function(E,_){var A,k,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],A=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var O in R)this[O]=R[O];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,A,k;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),O=0;O_[0].length)){if(_=A,k=O,this.options.backtrack_lexer){if(E=this.test_match(A,R[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,R[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,A,k,R){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",A.yytext);break;case 4:_.getLogger().debug("_",A.yytext);break;case 5:return 5;case 6:return A.yytext=-1,28;case 7:return A.yytext=A.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",A.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",A.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",A.yytext),"STR";case 14:return A.yytext=A.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",A.yytext),21;case 15:return A.yytext="1",_.getLogger().debug("COLUMNS (LEX)",A.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",A.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",A.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",A.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",A.yytext),"DIR";case 86:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",A.yytext),"DIR";case 87:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",A.yytext),"DIR";case 88:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",A.yytext),"DIR";case 89:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",A.yytext),"DIR";case 90:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",A.yytext),"DIR";case 91:return A.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",A.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+A.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",A.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",A.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",A.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",A.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",A.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",A.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+A.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",A.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",A.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",A.yytext),A.yytext=A.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var vJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",bJe="bgFill",fce=",",xJe=Pe(),cC=new Map,BO="",TJe=S(t=>$t.sanitizeText(t,xJe),"sanitizeText"),wJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,bJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),CJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),SJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=TJe(s.label)),s.type==="classDef"){wJe(s.id,s.css);continue}if(s.type==="applyClass"){SJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&CJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),Kn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,kJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),_Je=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),AJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),LJe=S(()=>[...xl.values()],"getBlocksFlat"),RJe=S(()=>PO||[],"getBlocks"),DJe=S(()=>IO,"getEdges"),NJe=S(t=>xl.get(t),"getBlock"),MJe=S(t=>{xl.set(t.id,t)},"setBlock"),OJe=S(t=>{BO=t},"setDiagramId"),IJe=S(()=>BO,"getDiagramId"),BJe=S(()=>oe,"getLogger"),PJe=S(function(){return cC},"getClasses"),FJe={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:BJe,getBlocksFlat:LJe,getBlocks:RJe,getEdges:DJe,setHierarchy:_Je,getBlock:NJe,setBlock:MJe,getColumns:AJe,getClasses:PJe,clear:EJe,generateId:kJe,setDiagramId:OJe,getDiagramId:IJe},$Je=FJe,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),zJe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -3108,11 +3108,11 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error fill: ${t.textColor}; } ${bx()} -`,"getStyles"),PJe=BJe,FJe=S((t,e,r,n)=>{e.forEach(i=>{XJe[i](t,r,n)})},"insertMarkers"),$Je=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),zJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),qJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),VJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),GJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),UJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),HJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),WJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),YJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),XJe={extension:$Je,composition:zJe,aggregation:qJe,dependency:VJe,lollipop:GJe,point:UJe,circle:HJe,cross:WJe,barb:YJe},jJe=FJe,Ei=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var KJe=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=KJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Ei*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Ei-Ei)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Ei;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Ei}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Ei}`),d.size){const x=f/2;h.size.x=l+Ei+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Ei} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Ei,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Ei}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var ZJe=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=ZJe,QJe=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),JJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=JJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},za={},eet=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var tet=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=za[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=za[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=za[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=za[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),ret=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),net=S((t,e,r)=>{oe.debug(`intersection calc abc89: +`,"getStyles"),qJe=zJe,VJe=S((t,e,r,n)=>{e.forEach(i=>{QJe[i](t,r,n)})},"insertMarkers"),GJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),UJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),HJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),WJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),YJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),jJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),XJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),KJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),ZJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),QJe={extension:GJe,composition:UJe,aggregation:HJe,dependency:WJe,lollipop:YJe,point:jJe,circle:XJe,cross:KJe,barb:ZJe},JJe=VJe,Ei=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var eet=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=eet(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Ei*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Ei-Ei)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Ei;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Ei}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Ei}`),d.size){const x=f/2;h.size.x=l+Ei+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Ei} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Ei,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Ei}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var tet=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=tet,ret=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),net={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=net[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},za={},iet=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var aet=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=za[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=za[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=za[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=za[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),set=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),oet=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!ret(e,a)&&!i){const s=net(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),iet=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=X2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),QJe(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),aet=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),set=S((t,e,r)=>{const n=aet(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var oet=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var uet=Cce,het=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var det=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),fet=det,Jn={node:oet,circle:cet,ellipse:Tce,polygon:het,rect:fet},fa=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),xi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var pet=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await fa(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},n},"note"),get=pet,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),xi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Jn.polygon(e,o,u)},r},"question"),met=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Jn.circle(e,14,s)},r},"choice"),yet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"hexagon"),vet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=set(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"block_arrow"),bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_left_inv_arrow"),xet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_right"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_left"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"trapezoid"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"inv_trapezoid"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_right_inv_arrow"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return xi(e,u),e.intersect=function(h){const d=Jn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"rect"),Aet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"composite"),Let=S(async(t,e)=>{const{shapeSvg:r}=await fa(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return xi(e,n),e.intersect=function(s){return Jn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var Ret=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},r},"stadium"),Net=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),xi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Jn.circle(e,n.width/2+i,s)},r},"circle"),Met=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),xi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Jn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Oet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"subroutine"),Iet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xi(e,n),e.intersect=function(i){return Jn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return xi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Jn.rect(e,o)},n},"forkJoin"),Bet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xi(e,i),e.intersect=function(a){return Jn.circle(e,7,a)},r},"end"),Pet=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),xi(e,o),e.intersect=function(L){return Jn.rect(e,L)},s},"class_box"),MY={rhombus:DY,composite:Aet,question:DY,rect:_et,labelRect:Let,rectWithTitle:Ret,choice:met,circle:Net,doublecircle:Met,stadium:Det,hexagon:yet,block_arrow:vet,rect_left_inv_arrow:bet,lean_right:xet,lean_left:Tet,trapezoid:wet,inv_trapezoid:Cet,rect_right_inv_arrow:Eet,cylinder:ket,start:Iet,end:Bet,note:get,subroutine:Oet,fork:NY,join:NY,class_box:Pet},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Fet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Fet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;iet(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await eet(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),tet({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var $et=S(function(t,e){return e.db.getClasses()},"getClasses"),zet=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);jJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Ui(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),qet={draw:zet,getClasses:$et},Vet={parser:pJe,db:IJe,renderer:qet,styles:PJe};const Get=Object.freeze(Object.defineProperty({__proto__:null,diagram:Vet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Uet=S(()=>{Gl.reset(),Kn()},"clear"),Het=S(()=>Gl.records.stack[0],"getRoot"),Wet=S(()=>Gl.records.cnt,"getCount"),Yet=Vr.treeView,Xet=S(()=>ea(Yet,gr().treeView),"getConfig"),jet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),Ket={clear:Uet,addNode:jet,getRoot:Het,getCount:Wet,getConfig:Xet,getAccTitle:ci,getAccDescription:hi,getDiagramTitle:Zn,setAccDescription:ui,setAccTitle:jn,setDiagramTitle:li},rD=Ket,Zet=S(t=>{Xu(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),Qet={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),Zet(e)},"parse")},Jet=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),ett=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);Jet(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),ttt=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram -`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=ett(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Ui(o,u,h,s.useMaxWidth)},"draw"),rtt={draw:ttt},ntt=rtt,itt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},att=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=ea(itt,t);return` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!set(e,a)&&!i){const s=oet(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),cet=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=j2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),ret(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),uet=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),het=S((t,e,r)=>{const n=uet(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var det=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var pet=Cce,get=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var met=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),yet=met,Jn={node:det,circle:fet,ellipse:Tce,polygon:get,rect:yet},fa=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),xi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var vet=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await fa(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},n},"note"),bet=vet,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),xi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Jn.polygon(e,o,u)},r},"question"),xet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Jn.circle(e,14,s)},r},"choice"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"hexagon"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=het(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"block_arrow"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_left_inv_arrow"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_right"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_left"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"trapezoid"),Aet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"inv_trapezoid"),Let=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_right_inv_arrow"),Ret=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return xi(e,u),e.intersect=function(h){const d=Jn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),Det=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"rect"),Net=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"composite"),Met=S(async(t,e)=>{const{shapeSvg:r}=await fa(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return xi(e,n),e.intersect=function(s){return Jn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var Oet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},r},"stadium"),Bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),xi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Jn.circle(e,n.width/2+i,s)},r},"circle"),Pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),xi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Jn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"subroutine"),$et=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xi(e,n),e.intersect=function(i){return Jn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return xi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Jn.rect(e,o)},n},"forkJoin"),zet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xi(e,i),e.intersect=function(a){return Jn.circle(e,7,a)},r},"end"),qet=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const R=b.children[0],O=kt(b);x=R.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const R=T.children[0],O=kt(T);E=R.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const A=[];if(e.classData.methods.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,A.push($)}),d+=i,m){let R=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+R)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,A.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),xi(e,o),e.intersect=function(R){return Jn.rect(e,R)},s},"class_box"),MY={rhombus:DY,composite:Net,question:DY,rect:Det,labelRect:Met,rectWithTitle:Oet,choice:xet,circle:Bet,doublecircle:Pet,stadium:Iet,hexagon:Tet,block_arrow:wet,rect_left_inv_arrow:Cet,lean_right:Eet,lean_left:ket,trapezoid:_et,inv_trapezoid:Aet,rect_right_inv_arrow:Let,cylinder:Ret,start:$et,end:zet,note:bet,subroutine:Fet,fork:NY,join:NY,class_box:qet},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Vet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Vet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;cet(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await iet(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),aet({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Get=S(function(t,e){return e.db.getClasses()},"getClasses"),Uet=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);JJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Ui(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Het={draw:Uet,getClasses:Get},Wet={parser:vJe,db:$Je,renderer:Het,styles:qJe};const Yet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Wet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),jet=S(()=>{Gl.reset(),Kn()},"clear"),Xet=S(()=>Gl.records.stack[0],"getRoot"),Ket=S(()=>Gl.records.cnt,"getCount"),Zet=Vr.treeView,Qet=S(()=>ea(Zet,gr().treeView),"getConfig"),Jet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),ett={clear:jet,addNode:Jet,getRoot:Xet,getCount:Ket,getConfig:Qet,getAccTitle:ci,getAccDescription:hi,getDiagramTitle:Zn,setAccDescription:ui,setAccTitle:Xn,setDiagramTitle:li},rD=ett,ttt=S(t=>{ju(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),rtt={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),ttt(e)},"parse")},ntt=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),itt=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);ntt(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),att=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram +`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=itt(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Ui(o,u,h,s.useMaxWidth)},"draw"),stt={draw:att},ott=stt,ltt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},ctt=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=ea(ltt,t);return` .treeView-node-label { font-size: ${e}; fill: ${r}; @@ -3120,7 +3120,7 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error .treeView-node-line { stroke: ${n}; } - `},"styles"),stt=att,ott={db:rD,renderer:ntt,parser:Qet,styles:stt};const ltt=Object.freeze(Object.defineProperty({__proto__:null,diagram:ott},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},ctt=u5.exports,IY;function utt(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(ctt,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Le=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Le),Te=this.s[Oe]/We,ot=Le/We;this.s[Oe]=We,Oe!==pe&&(Le=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Le){if(!Me.has(Le)){ne[$e]=[],me[$e]=!1;var Oe=Le;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var ftt=l5.exports,PY;function ptt(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(dtt())})(ftt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){C=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Le=He.boundingBox();z.push({x:Le.x1+Le.w/2,y:Le.y1+Le.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Le){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Le))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Le){k.eles=He,$.push(x(k,F[Le])),p.relocateComponent(z[Le],$[Le],k)})}else q.forEach(function(He,Le){p.relocateComponent(z[Le],F[Le],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Le){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Le].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Le].xCoords[Te]-ot.boundingbox().w/2,y:F[Le].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Le].xCoords,F[Le].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Le][ot.id()]&&We.nodes.push({x:$[Le][ot.id()].getLeft(),y:$[Le][ot.id()].getTop(),width:$[Le][ot.id()].getWidth(),height:$[Le][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Le].xCoords,F[Le].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Le].xCoords[it]),Xe.push(F[Le].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Le].xCoords,F[Le].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Le].xCoords[Ye]),at.push(F[Le].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Le][De.id()]&&$[Le][Ge.id()]&&We.edges.push({startX:$[Le][De.id()].getCenterX(),startY:$[Le][De.id()].getCenterY(),endX:$[Le][Ge.id()].getCenterX(),endY:$[Le][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Le))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Le){var Oe=He.xCoords.map(function(Te){return Te+ne[Le].dx}),We=He.yCoords.map(function(Te){return Te+ne[Le].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Le){var Oe=$[He][Le];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Le,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Le=="number"&&(Le=Oe);var We=void 0,Te=void 0,ot=Le.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Le.position("x"),y:Le.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Le.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Le.position("x"),y:Le.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Le=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Le=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Le)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var gtt=ptt();const mtt=k0(gtt);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},ytt=S(function(t){return as(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),as=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=as(t)&&yd(e),n=yd(t)&&as(e);return r||n},"isArchitectureDirectionXY"),vtt=S(function(t){const e=t[0],r=t[1],n=as(e)&&yd(r),i=yd(e)&&as(r);return n||i},"isArchitecturePairXY"),btt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return btt(r)?r:void 0},"getArchitectureDirectionPair"),xtt=S(function([t,e],r){const n=r[0],i=r[1];return as(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:as(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ttt=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),wtt=S(function(t,e){return qO(t,e)?"bend":as(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Ctt=S(function(t){return t.type==="service"},"isArchitectureService"),Stt=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),Ett=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",Kn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(Ctt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(Stt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=wtt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=xtt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return ea({...Ett,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),ktt=S((t,e)=>{Xu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ktt(e,r)},"parse")},_tt=S(t=>` + `},"styles"),utt=ctt,htt={db:rD,renderer:ott,parser:rtt,styles:utt};const dtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:htt},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},ftt=u5.exports,IY;function ptt(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(ftt,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&R>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(R,1);var A=T.source.owner.getEdges().indexOf(T);if(A==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(A,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),A=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,A,k,R,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),A=z.getRight(),k=z.getTop(),R=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=R,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=R,u[3]=k,I=!0):B===M&&(f>h?(u[2]=A,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,j=f+-z/M,u[2]=j,u[3]=Z;break;case 2:j=$,Z=p+q*M,u[2]=j,u[3]=Z;break;case 3:Z=F,j=f+z/M,u[2]=j,u[3]=Z;break;case 4:j=O,Z=p+-q*M,u[2]=j,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,A=void 0,k=void 0,R=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,A=C-b,R=v-x,F=x*b-v*C,$=_*R-A*k,$===0?null:(T=(k*F-R*O)/$,E=(A*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var R=_[0];_.splice(0,1),E.add(R);for(var O=R.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,A=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=A.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&R.push(D),C.set(D,N)}})}x=x.concat(R),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var A=0;Ad}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;X--){if((function(St,gt){return St&>})(X0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Le=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Le),Te=this.s[Oe]/We,ot=Le/We;this.s[Oe]=We,Oe!==pe&&(Le=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,A=u(551).Layout,k=u(551).Integer,R=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,X=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;X.has(ne)?X.get(ne).push(me):X.set(ne,[me]),X.has(me)?X.get(me).push(ne):X.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Le){if(!Me.has(Le)){ne[$e]=[],me[$e]=!1;var Oe=Le;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(X,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=X.indexOf(ie);ne>=0&&X.splice(ne,1),he--,ee--}I!=null?te=(X.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=X[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var j="DummyCompound_"+H;D.memberGroups[j]=I[H];var Z=I[H][0].getParent(),X=new p(D.graphManager);X.id=j,X.paddingLeft=Z.paddingLeft||0,X.paddingRight=Z.paddingRight||0,X.paddingBottom=Z.paddingBottom||0,X.paddingTop=Z.paddingTop||0,D.idToDummyNode[j]=X;var ee=D.getGraphManager().add(D.newGraph(),X),Q=Z.getChild();Q.add(X);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,j=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(j+N)*M,X=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(X),ee==X&&ee++):ee=Math.floor(X);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var j=0,Z=0,X=0;X0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var j;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;IeX&&(X=Z[Q].length,ee=Q);if(X0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var ytt=l5.exports,PY;function vtt(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(mtt())})(ytt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(A){C=!0,T=A}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(j)});for(var U=0;U1){_=T[0],A=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,A=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),R;!(E=(R=k.next()).done);E=!0){var O=R.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(j){_=!0,A=j}finally{try{!E&&k.return&&k.return()}finally{if(_)throw A}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(j){return j+V}),m.yCoords=m.yCoords.map(function(j){return j+U})}else{Object.keys(m).forEach(function(j){var Z=m[j],X=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;Xx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(j){var Z=m[j];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,A=void 0,k=void 0,R=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var A=E.cy,k=E.eles,R=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(j){return typeof j=="function"},I=function(j,Z){return D(j)?j(Z):j},N=h.calcParentsWithoutChildren(A,k),B=function H(j,Z,X,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=X.getGraphManager().add(X.newGraph(),ie),H(pe,ae,X,ee)}}},M=function(j,Z,X){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(j,Z){Z.fixedNodeConstraint&&(j.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(j.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(j.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(R),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,A){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(R,k.eles,V),q.forEach(function(He){var Le=He.boundingBox();z.push({x:Le.x1+Le.w/2,y:Le.y1+Le.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=R.collection();if(k.tile){var P=new Map,H=[],j=[],Z=0,X={nodeIndexes:P,xCoords:H,yCoords:j},ee=[];if(q.forEach(function(He,Le){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(X.nodeIndexes.set(He.nodes()[We].id(),Z++),X.xCoords.push(He.nodes()[0].position().x),X.yCoords.push(He.nodes()[0].position().y))}),ee.push(Le))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(X);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Le){k.eles=He,$.push(x(k,F[Le])),p.relocateComponent(z[Le],$[Le],k)})}else q.forEach(function(He,Le){p.relocateComponent(z[Le],F[Le],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Le){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Le].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Le].xCoords[Te]-ot.boundingbox().w/2,y:F[Le].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Le].xCoords,F[Le].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Le][ot.id()]&&We.nodes.push({x:$[Le][ot.id()].getLeft(),y:$[Le][ot.id()].getTop(),width:$[Le][ot.id()].getWidth(),height:$[Le][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),je=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Le].xCoords,F[Le].yCoords,Oe);je.push(xe.topLeftX+xe.width/2),je.push(xe.topLeftY+xe.height/2)}else je.push(F[Le].xCoords[it]),je.push(F[Le].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Le].xCoords,F[Le].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Le].xCoords[Ye]),at.push(F[Le].yCoords[Ye]);We.edges.push({startX:je[0],startY:je[1],endX:at[0],endY:at[1]})}else $[Le][De.id()]&&$[Le][Ge.id()]&&We.edges.push({startX:$[Le][De.id()].getCenterX(),startY:$[Le][De.id()].getCenterY(),endX:$[Le][Ge.id()].getCenterX(),endY:$[Le][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Le))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Le){var Oe=He.xCoords.map(function(Te){return Te+ne[Le].dx}),We=He.yCoords.map(function(Te){return Te+ne[Le].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Le){var Oe=$[He][Le];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Le,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Le=="number"&&(Le=Oe);var We=void 0,Te=void 0,ot=Le.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Le.position("x"),y:Le.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Le.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Le.position("x"),y:Le.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(R,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(A,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,A=new Map,k=[],R=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(A.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=A.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Le=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Le=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Le)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var btt=vtt();const xtt=k0(btt);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},Ttt=S(function(t){return as(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),as=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=as(t)&&yd(e),n=yd(t)&&as(e);return r||n},"isArchitectureDirectionXY"),wtt=S(function(t){const e=t[0],r=t[1],n=as(e)&&yd(r),i=yd(e)&&as(r);return n||i},"isArchitecturePairXY"),Ctt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return Ctt(r)?r:void 0},"getArchitectureDirectionPair"),Stt=S(function([t,e],r){const n=r[0],i=r[1];return as(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:as(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ett=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),ktt=S(function(t,e){return qO(t,e)?"bend":as(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),_tt=S(function(t){return t.type==="service"},"isArchitectureService"),Att=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),Ltt=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",Kn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(_tt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(Att)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=ktt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=Stt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return ea({...Ltt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),Rtt=S((t,e)=>{ju(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Rtt(e,r)},"parse")},Dtt=S(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; @@ -3151,17 +3151,17 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error display: -webkit-box; -webkit-box-orient: vertical; } -`,"getStyles"),Att=_tt,jp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:jp('')},server:{body:jp('')},disk:{body:jp('')},internet:{body:jp('')},cloud:{body:jp('')},unknown:nQ,blank:{body:jp("")}}},Ltt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(as(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(as(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(as(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(as(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=as(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=as(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](L,o):L-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":as(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await vs(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&&vtt(D)){const I=z.node().getBoundingClientRect(),[N,B]=Ttt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` - translate(${_}, ${R-I.height/2}) +`,"getStyles"),Ntt=Dtt,Xp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Xp('')},server:{body:Xp('')},disk:{body:Xp('')},internet:{body:Xp('')},cloud:{body:Xp('')},unknown:nQ,blank:{body:Xp("")}}},Mtt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:A}=u[0].midpoint();let{x:k,y:R}=u[0].targetEndpoint();const O=i+4;if(p&&(as(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(as(v)?k+=v==="L"?-O:O:R+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(as(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(as(v)?k+=v==="L"?s:-s:R+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${A} L${k},${R} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=as(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=as(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](R,o):R-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":as(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-R)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await vs(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+A+")");else if($==="Y")z.attr("transform","translate("+_+", "+A+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&&wtt(D)){const I=z.node().getBoundingClientRect(),[N,B]=Ett(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` + translate(${_}, ${A-I.height/2}) translate(${N*M.width/2}, ${B*M.height/2}) rotate(${-1*N*B*45}, 0, ${I.height/2}) - `)}}}}}))},"drawEdges"),Rtt=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Dtt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Ntt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(mtt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[ytt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));C=C/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[R,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Mtt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Dtt(i,f,a,e),Ntt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await Ltt(d,m,i,e),await Rtt(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Ott={draw:Mtt},Itt={parser:Mce,get db(){return new Nce},renderer:Ott,styles:Att};const Btt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Itt},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: + `)}}}}}))},"drawEdges"),Ott=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Itt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Btt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(xtt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[Ttt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:A,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-A))/Math.sqrt(1+Math.pow((_-k)/(E-A),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const R=Math.sqrt(Math.pow(A-E,2)+Math.pow(k-_,2));C=C/R;let O=(A-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(A-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[A,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:R,distances:O}=p(T,E,A,k);m.style("segment-distances",O),m.style("segment-weights",R)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Ptt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Itt(i,f,a,e),Btt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await Mtt(d,m,i,e),await Ott(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Ftt={draw:Ptt},$tt={parser:Mce,get db(){return new Nce},renderer:Ftt,styles:Ntt};const ztt=Object.freeze(Object.defineProperty({__proto__:null,diagram:$tt},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,A,k,R){var O=k.length-1;switch(A){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],A=[null],k=[],R=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,A.length=A.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,j,Z,X,ee={},Q,he,te,ae;;){if(j=E[E.length-1],this.defaultActions[j]?Z=this.defaultActions[j]:((H===null||typeof H>"u")&&(H=P()),Z=R[j]&&R[j][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in R[j])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: `+I.showPosition()+` -Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+H);switch(Z[0]){case 1:E.push(H),R.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=R[R.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),j=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],R,k].concat(D)),typeof j<"u")return j;he&&(E=E.slice(0,-1*he*2),R=R.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),R.push(ee.$),k.push(ee._$),te=L[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+H);switch(Z[0]){case 1:E.push(H),A.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=A[A.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),X=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],A,k].concat(D)),typeof X<"u")return X;he&&(E=E.slice(0,-1*he*2),A=A.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),A.push(ee.$),k.push(ee._$),te=R[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(C){this.unput(this.match.slice(C))},"less"),pastInput:S(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var C=this.pastInput(),T=new Array(C.length+1).join("-");return C+this.upcomingInput()+` -`+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in R)this[k]=R[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,R[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,R[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var Ptt=iD,Q1,Ftt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Kn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],li(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ci()}setAccTitle(e){jn(e)}getAccDescription(){return hi()}setAccDescription(e){ui(e)}getDiagramTitle(){return Zn()}setDiagramTitle(e){li(e)}},S(Q1,"IshikawaDB"),Q1),$tt=14,Kp=250,ztt=30,qtt=60,Vtt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Ui(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Gtt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??$tt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const R=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(Utt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(L),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),Utt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Htt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Wtt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ytt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Wtt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Htt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?qtt+k.childCount*Vtt:ztt),Ug(F,$,L,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,L,1,0,o),hC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Ug(F,$,q,z,L,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-L,o),hC(F,k.text,z,L,_,"end",s)}k.childCount>0&&C.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Xtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` -`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=Xtt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),jtt={draw:Gtt},Ktt=S(t=>` +`+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in A)this[k]=A[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,A[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,A[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,A){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var qtt=iD,Q1,Vtt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Kn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],li(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ci()}setAccTitle(e){Xn(e)}getAccDescription(){return hi()}setAccDescription(e){ui(e)}getDiagramTitle(){return Zn()}setDiagramTitle(e){li(e)}},S(Q1,"IshikawaDB"),Q1),Gtt=14,Kp=250,Utt=30,Htt=60,Wtt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Ui(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Ytt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Gtt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const A=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(jtt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),R=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(R),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),A&&A.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{A.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),jtt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Xtt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Ktt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ztt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Ktt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Xtt(l,i),b=m.length,x=new Array(b);for(const[A,k]of v.entries())x[k]=n+d*((A+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[A,k]of m.entries()){const R=x[A],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(R-O.y0)/D:.5),q=R,z=$-(k.childCount>0?Htt+k.childCount*Wtt:Utt),Ug(F,$,R,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,R,1,0,o),hC(F,k.text,z,R,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((R-q)/E),Ug(F,$,q,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-R,o),hC(F,k.text,z,R,_,"end",s)}k.childCount>0&&C.set(A,{x0:$,y0:q,x1:z,y1:R,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Qtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=Qtt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),Jtt={draw:Ytt},ert=S(t=>` .ishikawa .ishikawa-spine, .ishikawa .ishikawa-branch, .ishikawa .ishikawa-sub-branch { @@ -3224,18 +3224,18 @@ Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .ishikawa .ishikawa-label.down { dominant-baseline: hanging; } -`,"getStyles"),Ztt=Ktt,Qtt={parser:Ptt,get db(){return new Ftt},renderer:jtt,styles:Ztt};const Jtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qtt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=trt(t),n=r.filter(o=>ert(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function ert(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function rrt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>R.fx?(du(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function irt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function art(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function ort(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function lrt(t,e={}){let r=urt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=crt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>ort(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+jce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function hrt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function drt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=drt(n);for(const u of i){hrt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function frt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[C];return C+=1,C>=x.length&&(C=0),L},E=Xce,_=Im;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=mrt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,R):_},R}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function prt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function grt(t,e,r){const n=[];return n.push(` +`,"getStyles"),trt=ert,rrt={parser:qtt,get db(){return new Vtt},renderer:Jtt,styles:trt};const nrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:rrt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=art(t),n=r.filter(o=>irt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function irt(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function srt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-A.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=R.slice();return O.fx=R.fx,O.id=R.id,O});k.sort((R,O)=>R.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>A.fx?(du(T,1+h,x,-h,A),T.fx=t(T),T.fx=1)break;for(let R=1;Ro+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function lrt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function crt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function hrt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function drt(t,e={}){let r=prt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=frt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>hrt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+Xce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function grt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function mrt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=mrt(n);for(const u of i){grt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function yrt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var R=b[k]=x[C];return C+=1,C>=x.length&&(C=0),R},E=jce,_=Im;function A(k){let R=k.datum();const O=new Set;R.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),R=R.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(R.length>0){let Q=E(R,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,R,v)}const q={};R.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=xrt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(R,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let j=k;N&&typeof j.transition=="function"?(j=H(k),j.selectAll("path").attrTween("d",B)):j.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=j.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const X=H(M.exit()).remove();typeof M.transition=="function"&&X.selectAll("path").attrTween("d",B);const ee=X.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:j,exit:X}}return A.wrap=function(k){return arguments.length?(u=k,A):u},A.useViewBox=function(){return e=!0,A},A.width=function(k){return arguments.length?(r=k,A):r},A.height=function(k){return arguments.length?(n=k,A):n},A.padding=function(k){return arguments.length?(i=k,A):i},A.distinct=function(k){return arguments.length?(p=k,A):p},A.colours=function(k){return arguments.length?(T=k,A):T},A.colors=function(k){return arguments.length?(T=k,A):T},A.fontSize=function(k){return arguments.length?(d=k,A):d},A.round=function(k){return arguments.length?(m=k,A):m},A.duration=function(k){return arguments.length?(a=k,A):a},A.layoutFunction=function(k){return arguments.length?(E=k,A):E},A.normalize=function(k){return arguments.length?(o=k,A):o},A.scaleToFit=function(k){return arguments.length?(l=k,A):l},A.styled=function(k){return arguments.length?(h=k,A):h},A.orientation=function(k){return arguments.length?(s=k,A):s},A.orientationOrder=function(k){return arguments.length?(f=k,A):f},A.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,A):_},A}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function vrt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function brt(t,e,r){const n=[];return n.push(` M`,t,e),n.push(` m`,-r,0),n.push(` a`,r,r,0,1,0,r*2,0),n.push(` -a`,r,r,0,1,0,-r*2,0),n.join(" ")}function mrt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return grt(n(a.x),n(a.y),n(a.radius))}const i=[` +a`,r,r,0,1,0,-r*2,0),n.join(" ")}function xrt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return brt(n(a.x),n(a.y),n(a.radius))}const i=[` M`,n(t[0].p2.x),n(t[0].p2.y)];for(const a of t){const s=n(a.circle.radius);i.push(` -A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function yrt(t,e={}){const{lossFunction:r,layoutFunction:n=Xce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=nue(_),k=iue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of C)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return C.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}S(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: +A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function Trt(t,e={}){const{lossFunction:r,layoutFunction:n=jce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(R=>x.get(R)),A=nue(_),k=iue(A,p);return{circles:_,arcs:A,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const A of C)A.has.size>E.length&&E.every(k=>A.has.has(k))&&(_+=" "+A.path);return _}return C.map(({circles:E,arcs:_,path:A,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:A,distinctPath:A+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,A,k,R,O){var F=R.length-1;switch(k){case 1:return R[F-1];case 2:case 3:case 4:this.$=[];break;case 5:R[F-1].push(R[F]),this.$=R[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=R[F];break;case 8:A.setDiagramTitle(R[F].substr(6)),this.$=R[F].substr(6);break;case 9:A.addSubsetData([R[F]],void 0,void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 10:A.addSubsetData([R[F-1]],R[F],void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 11:A.addSubsetData([R[F-2]],void 0,parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 12:A.addSubsetData([R[F-3]],R[F-2],parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 13:if(R[F].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F]),A.addSubsetData(R[F],void 0,void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 14:if(R[F-1].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F-1]),A.addSubsetData(R[F-1],R[F],void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 15:if(R[F-2].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F-2]),A.addSubsetData(R[F-2],void 0,parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 16:if(R[F-3].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F-3]),A.addSubsetData(R[F-3],R[F-2],parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 17:case 18:case 19:A.addTextData(R[F-1],R[F],void 0);break;case 20:case 21:A.addTextData(R[F-2],R[F-1],R[F]);break;case 23:A.addStyleData(R[F-1],R[F]);break;case 24:case 25:case 26:var $=A.getCurrentSets();if(!$)throw new Error("text requires set");A.addTextData($,R[F],void 0);break;case 27:case 28:var $=A.getCurrentSets();if(!$)throw new Error("text requires set");A.addTextData($,R[F-1],R[F]);break;case 29:case 41:this.$=[R[F]];break;case 30:case 42:this.$=[...R[F-2],R[F]];break;case 31:this.$=[R[F-2],R[F]];break;case 33:this.$=R[F].join(" ");break;case 34:this.$=[R[F]];break;case 35:R[F-1].push(R[F]),this.$=R[F-1];break;case 43:case 44:this.$=R[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],A=[],k=[null],R=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=R.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;R.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,R.length=R.length-me}S(P,"popStack");function H(){var me;return me=A.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(A=me,me=A.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var j,Z,X,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?X=this.defaultActions[Z]:((j===null||typeof j>"u")&&(j=H()),X=O[Z]&&O[Z][j]),typeof X>"u"||!X.length||!X[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: `+N.showPosition()+` -Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[X]||X,line:N.yylineno,loc:V,expected:ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+X);switch(j[0]){case 1:_.push(X),k.push(N.yytext),L.push(N.yylloc),_.push(j[1]),X=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[j[1]][1],Q.$=k[k.length-te],Q._$={first_line:L[L.length-(te||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(te||1)].first_column,last_column:L[L.length-1].last_column},U&&(Q._$.range=[L[L.length-(te||1)].range[0],L[L.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,j[1],k,L].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),L=L.slice(0,-1*te)),_.push(this.productions_[j[1]][0]),k.push(Q.$),L.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var C={EOF:1,parseError:S(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:S(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:S(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===R.length?this.yylloc.first_column:0)+R[R.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ie.join(", ")+", got '"+(this.terminals_[j]||j)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(j==D?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[j]||j,line:N.yylineno,loc:V,expected:ie})}if(X[0]instanceof Array&&X.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+j);switch(X[0]){case 1:_.push(j),k.push(N.yytext),R.push(N.yylloc),_.push(X[1]),j=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[X[1]][1],Q.$=k[k.length-te],Q._$={first_line:R[R.length-(te||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(te||1)].first_column,last_column:R[R.length-1].last_column},U&&(Q._$.range=[R[R.length-(te||1)].range[0],R[R.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,X[1],k,R].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),R=R.slice(0,-1*te)),_.push(this.productions_[X[1]][0]),k.push(Q.$),R.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var C={EOF:1,parseError:S(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:S(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:S(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===A.length?this.yylloc.first_column:0)+A[A.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(T){this.unput(this.match.slice(T))},"less"),pastInput:S(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` -`+E+"^"},"showPosition"),test_match:S(function(T,E){var _,R,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),R=T[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var L in k)this[L]=k[L];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,R;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),L=0;LE[0].length)){if(E=_,R=L,this.options.backtrack_lexer){if(T=this.test_match(_,k[L]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[R]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var vrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,XO=!1,brt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),xrt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),Trt=S(t=>t&&Ub(t),"normalizeStyleValue"),wrt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),Crt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=Trt(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),Srt=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),Ert=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),krt=S(()=>UO,"getTextData"),_rt=S(()=>YO,"getCurrentSets"),Art=S(()=>XO,"getIndentMode"),Lrt=S(t=>{XO=t},"setIndentMode"),Rrt=Vr.venn;function aue(){return ea(Rrt,gr().venn)}S(aue,"getConfig");var Drt=S(()=>{Kn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,XO=!1},"customClear"),Nrt={getConfig:aue,clear:Drt,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,addSubsetData:brt,getSubsetData:xrt,addTextData:wrt,addStyleData:Crt,validateUnionIdentifiers:Ert,getTextData:krt,getStyleData:Srt,getCurrentSets:_rt,getIndentMode:Art,setIndentMode:Lrt},Mrt=S(t=>` +`+E+"^"},"showPosition"),test_match:S(function(T,E){var _,A,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),A=T[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var R in k)this[R]=k[R];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,A;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),R=0;RE[0].length)){if(E=_,A=R,this.options.backtrack_lexer){if(T=this.test_match(_,k[R]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[A]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,A,k){switch(A){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var wrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,jO=!1,Crt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),Srt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),Ert=S(t=>t&&Ub(t),"normalizeStyleValue"),krt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),_rt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=Ert(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),Art=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),Lrt=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),Rrt=S(()=>UO,"getTextData"),Drt=S(()=>YO,"getCurrentSets"),Nrt=S(()=>jO,"getIndentMode"),Mrt=S(t=>{jO=t},"setIndentMode"),Ort=Vr.venn;function aue(){return ea(Ort,gr().venn)}S(aue,"getConfig");var Irt=S(()=>{Kn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,jO=!1},"customClear"),Brt={getConfig:aue,clear:Irt,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,addSubsetData:Crt,getSubsetData:Srt,addTextData:krt,addStyleData:_rt,validateUnionIdentifiers:Lrt,getTextData:Rrt,getStyleData:Art,getCurrentSets:Drt,getIndentMode:Nrt,setIndentMode:Mrt},Prt=S(t=>` .venn-title { font-size: 32px; fill: ${t.vennTitleTextColor}; @@ -3257,7 +3257,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error font-family: ${t.fontFamily}; color: ${t.vennSetTextColor}; } -`,"getStyles"),Ort=Mrt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var Irt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=frt().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=yrt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,R,p,C,m);const $=ys(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*C}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Ui(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}S(oue,"renderTextNodes");var Brt={draw:Irt},Prt={parser:vrt,db:Nrt,renderer:Brt,styles:Ort};const Frt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Prt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return ea({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Kn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var $rt=S((t,e)=>{Xu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=zrt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),zrt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");$rt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},qrt=10,Zp=10,Xv=25,Vrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??qrt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Ui(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=jf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=jf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=jf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=fve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Xv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Xv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Xv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Xv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Xv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(Hrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` +`,"getStyles"),Frt=Prt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var $rt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const A=kt(document.createElement("div")),k=yrt().width(v).height(b-T);A.datum(f).call(k);const R=u?ar.svg(A.select("svg").node()):void 0,O=Trt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,A,p,C,m);const $=ys(s.background||"#f4f4f4");A.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,j=V?.["stroke-width"]||`${5*C}`;if(u&&R){const X=F.get(M);if(X&&X.circles.length>0){const ee=X.circles[0],Q=R.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(j))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",j).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&R?A.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=R.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),j=U.node();j?.parentNode?.insertBefore(H,j),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(A.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),A.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=A.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Ui(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),R=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=R+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",R+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),j=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);j&&Z.style("color",j)}}}S(oue,"renderTextNodes");var zrt={draw:$rt},qrt={parser:wrt,db:Brt,renderer:zrt,styles:Frt};const Vrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:qrt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return ea({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Kn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Grt=S((t,e)=>{ju(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Urt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Urt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Grt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Hrt=10,Zp=10,jv=25,Wrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Hrt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Ui(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=Xf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=Xf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=Xf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=yve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?jv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),R=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(R).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",jv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",jv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",jv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let X=N;for(;X.length>0;){if(X=N.substring(0,X.length-1),X.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(X+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",jv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const j=8,Z=28,X=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>j;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*X))),te=H+Q+he;for(;te>P&&H>j&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*X))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,j=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+j;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(Xrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` .treemapNode.section { stroke: ${i.sectionStrokeColor}; stroke-width: ${i.sectionStrokeWidth}; @@ -3280,23 +3280,23 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error fill: ${a}; font-size: ${i.titleFontSize}; } - `},"getStyles"),Yrt=Wrt,Xrt={parser:uue,get db(){return new lue},renderer:Urt,styles:Yrt};const jrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Xrt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),XY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),Krt=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Zrt=S((t,e)=>{if(Xu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=XY(r.fromPort)??XY(r.toPort);const{flow:a,label:s}=Krt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Zrt(e,r)},"parse")},em,Qrt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),Ts=new Qrt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){Ts.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){Ts.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){Ts.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){Ts.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){Ts.setSize(t,e)}S(Tue,"setSize");function wue(t){Ts.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){Ts.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return Ts.getNode(t)}S(Eue,"getNode");function kue(){return Ts.build()}S(kue,"getWardleyData");function _ue(){Ts.clear(),Kn()}S(_ue,"clear");var Jrt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},ent=["Genesis","Custom Built","Product","Commodity"],tnt=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),rnt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),nnt=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map -`+t);const i=rnt(),a=tnt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Ui(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:ent;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` - M ${U} ${P-X/2} - L ${U+H-Z} ${P-X/2} - L ${U+H-Z} ${P-X/2-8} + `},"getStyles"),Zrt=Krt,Qrt={parser:uue,get db(){return new lue},renderer:jrt,styles:Zrt};const Jrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qrt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),jY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),ent=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),tnt=S((t,e)=>{if(ju(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=jY(r.fromPort)??jY(r.toPort);const{flow:a,label:s}=ent(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");tnt(e,r)},"parse")},em,rnt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),Ts=new rnt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){Ts.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){Ts.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){Ts.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){Ts.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){Ts.setSize(t,e)}S(Tue,"setSize");function wue(t){Ts.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){Ts.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return Ts.getNode(t)}S(Eue,"getNode");function kue(){return Ts.build()}S(kue,"getWardleyData");function _ue(){Ts.clear(),Kn()}S(_ue,"clear");var nnt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},int=["Genesis","Custom Built","Product","Commodity"],ant=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),snt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),ont=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map +`+t);const i=snt(),a=ant(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Ui(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const A=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:int;if(A.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===A.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/A.length;A.forEach((H,j)=>{U.push({start:j*P,end:(j+1)*P})})}A.forEach((P,H)=>{const j=U[H],Z=i.padding+j.start*v,X=i.padding+j.end*v,ee=(Z+X)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(X=>({id:X,pos:k.get(X),node:l.nodes.find(ee=>ee.id===X)})).filter(X=>X.pos&&X.node).sort((X,ee)=>X.node.x-ee.node.x);for(let X=0;X{const ee=k.get(X);ee&&(H=Math.min(H,ee.x),j=Math.max(j,ee.x),Z=ee.y)}),H!==1/0&&j!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+j)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",j-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const R=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));R.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.x+j/X*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.y+Z/X*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.x+j/X*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.y+Z/X*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),R.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,j=U.x-V.x,Z=Math.sqrt(j*j+H*H),X=8,ee=H/Z;return P+ee*X}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,j=U.y-V.y,Z=Math.sqrt(H*H+j*j),X=8,ee=-H/Z;return P+ee*X}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z),ee=8,Q=Z/X,he=-j/X,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,j)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,j=P-V.y,Z=Math.sqrt(H*H+j*j),X=i.nodeRadius+2,ee=Z>X?U-H/Z*X:U,Q=Z>X?P-j/Z*X:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,j=11,Z=M.append("g").attr("class","wardley-annotations-box"),X=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(X.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",j).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=X.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,j=30,Z=20,X=` + M ${U} ${P-j/2} + L ${U+H-Z} ${P-j/2} + L ${U+H-Z} ${P-j/2-8} L ${U+H} ${P} - L ${U+H-Z} ${P+X/2+8} - L ${U+H-Z} ${P+X/2} - L ${U} ${P+X/2} + L ${U+H-Z} ${P+j/2+8} + L ${U+H-Z} ${P+j/2} + L ${U} ${P+j/2} Z - `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}if(l.deaccelerators.length>0){const M=p.append("g").attr("class","wardley-deaccelerators");l.deaccelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` - M ${U+H} ${P-X/2} - L ${U+Z} ${P-X/2} - L ${U+Z} ${P-X/2-8} + `;M.append("path").attr("d",X).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+j/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}if(l.deaccelerators.length>0){const M=p.append("g").attr("class","wardley-deaccelerators");l.deaccelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,j=30,Z=20,X=` + M ${U+H} ${P-j/2} + L ${U+Z} ${P-j/2} + L ${U+Z} ${P-j/2-8} L ${U} ${P} - L ${U+Z} ${P+X/2+8} - L ${U+Z} ${P+X/2} - L ${U+H} ${P+X/2} + L ${U+Z} ${P+j/2+8} + L ${U+Z} ${P+j/2} + L ${U+H} ${P+j/2} Z - `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),int={draw:nnt},ant={parser:hue,db:Jrt,renderer:int,styles:S(()=>"","styles")};const snt=Object.freeze(Object.defineProperty({__proto__:null,diagram:ant},Symbol.toStringTag,{value:"Module"})),ont=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:Xse},Symbol.toStringTag,{value:"Module"})),lnt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:jse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),cnt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),unt=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),hnt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),dnt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),fnt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),pnt=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),gnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default mnt(); + `;M.append("path").attr("d",X).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+j/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),lnt={draw:ont},cnt={parser:hue,db:nnt,renderer:lnt,styles:S(()=>"","styles")};const unt=Object.freeze(Object.defineProperty({__proto__:null,diagram:cnt},Symbol.toStringTag,{value:"Module"})),hnt=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:jse},Symbol.toStringTag,{value:"Module"})),dnt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Xse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),fnt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),pnt=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),gnt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),mnt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),ynt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),vnt=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),bnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default xnt(); diff --git a/extension/src/webview_template/webview_new/assets/index-CrpNiEcx.css b/extension/src/webview_template/webview_new/assets/index-CrpNiEcx.css new file mode 100644 index 0000000..31339fb --- /dev/null +++ b/extension/src/webview_template/webview_new/assets/index-CrpNiEcx.css @@ -0,0 +1 @@ +*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_jdoxw_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_jdoxw_12,._flowsheet_steps_container_jdoxw_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_jdoxw_24{margin-bottom:20px}._section_label_jdoxw_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_jdoxw_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_jdoxw_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_jdoxw_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._package_warnings_container_jdoxw_55{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}._package_warning_item_jdoxw_62{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-left:3px solid var(--vscode-editorWarning-foreground, #cca700);background-color:var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, .08));border-radius:0 3px 3px 0}._package_warning_title_jdoxw_72{font-size:12px;font-weight:600;color:var(--vscode-editorWarning-foreground, #cca700)}._package_warning_cmd_jdoxw_78{font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);word-break:break-all}._init_error_box_jdoxw_85{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_jdoxw_91{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_jdoxw_97{display:flex;flex-direction:row;gap:10px}._python_env_container_jdoxw_103{margin-bottom:20px}._python_env_label_jdoxw_107{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_jdoxw_114{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_jdoxw_122{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_jdoxw_134{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_jdoxw_134:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_jdoxw_134:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_jdoxw_159{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_jdoxw_169{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_jdoxw_204{width:100%}._open_results_view_btn_jdoxw_208{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_jdoxw_208:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_jdoxw_228{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_jdoxw_228 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_jdoxw_228 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_jdoxw_228 li._active_jdoxw_256{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-DtSILhwC.css b/extension/src/webview_template/webview_new/assets/index-DtSILhwC.css deleted file mode 100644 index b7e00a5..0000000 --- a/extension/src/webview_template/webview_new/assets/index-DtSILhwC.css +++ /dev/null @@ -1 +0,0 @@ -*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_boe10_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_boe10_12,._flowsheet_steps_container_boe10_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_boe10_24{margin-bottom:20px}._section_label_boe10_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_boe10_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_boe10_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_boe10_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._init_error_box_boe10_55{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_boe10_61{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_boe10_67{display:flex;flex-direction:row;gap:10px}._python_env_container_boe10_73{margin-bottom:20px}._python_env_label_boe10_77{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_boe10_84{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_boe10_92{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_boe10_104{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_boe10_104:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_boe10_104:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_boe10_129{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_boe10_139{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_boe10_146{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_boe10_146:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_boe10_146:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_boe10_174{width:100%}._open_results_view_btn_boe10_178{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_boe10_178:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_boe10_198{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_boe10_198 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_boe10_198 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_boe10_198 li._active_boe10_226{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index aea1204..c2c28e8 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,8 +5,8 @@ webview_ui - - + +
    diff --git a/webview_ui/src/App.tsx b/webview_ui/src/App.tsx index e1125d9..49fa595 100644 --- a/webview_ui/src/App.tsx +++ b/webview_ui/src/App.tsx @@ -21,6 +21,7 @@ export default function App() { setTerminalLogs, setIsLoading, setInitError, + setPackageWarnings, setOpenPythonFiles, setIdaesHistoryList, setMermaidDiagram, @@ -118,6 +119,11 @@ export default function App() { } else if (message.initError === null || message.isLoading) { setInitError(null); } + if (message.isLoading) { + setPackageWarnings(null); + } else if (message.packageWarnings !== undefined) { + setPackageWarnings(message.packageWarnings); + } if (message.open_python_files !== undefined) { setOpenPythonFiles(message.open_python_files); } diff --git a/webview_ui/src/context.tsx b/webview_ui/src/context.tsx index 71bcaf5..3902eee 100644 --- a/webview_ui/src/context.tsx +++ b/webview_ui/src/context.tsx @@ -24,7 +24,8 @@ import { type SetOpenPythonFiles, type IdaesHistoryItem, type PythonEnvInfo, - type SetPythonEnvInfo + type SetPythonEnvInfo, + type IPackageWarning } from "./interface/interface"; export type ActiveLogTab = 'error' | 'terminal'; @@ -57,6 +58,8 @@ interface AppContextType { setActiveLogTab: SetActiveLogTab; initError: string | null; setInitError: React.Dispatch>; + packageWarnings: IPackageWarning[] | null; + setPackageWarnings: React.Dispatch>; openPythonFiles: OpenPythonFilesType; setOpenPythonFiles: SetOpenPythonFiles; idaesHistoryList: IdaesHistoryItem[] | null; diff --git a/webview_ui/src/contextProvider.tsx b/webview_ui/src/contextProvider.tsx index aa71558..68c9421 100644 --- a/webview_ui/src/contextProvider.tsx +++ b/webview_ui/src/contextProvider.tsx @@ -12,7 +12,8 @@ import { type OpenPythonFilesType, type MermaidDiagram, type IdaesHistoryItem, - type PythonEnvInfo + type PythonEnvInfo, + type IPackageWarning } from "./interface/interface"; @@ -33,6 +34,7 @@ export function AppProvider({ children }: { children: ReactNode }) { const [terminalLogs, setTerminalLogs] = useState([]); const [activeLogTab, setActiveLogTab] = useState('error'); const [initError, setInitError] = useState(null); + const [packageWarnings, setPackageWarnings] = useState(null); const [openPythonFiles, setOpenPythonFiles] = useState([]); const [idaesHistoryList, setIdaesHistoryList] = useState(null); const [osPlatform, setOsPlatform] = useState(''); @@ -66,6 +68,8 @@ export function AppProvider({ children }: { children: ReactNode }) { setActiveLogTab, initError, setInitError, + packageWarnings, + setPackageWarnings, openPythonFiles, setOpenPythonFiles, idaesHistoryList, diff --git a/webview_ui/src/css/tree_app.module.css b/webview_ui/src/css/tree_app.module.css index 9887464..6601531 100644 --- a/webview_ui/src/css/tree_app.module.css +++ b/webview_ui/src/css/tree_app.module.css @@ -52,6 +52,36 @@ gap: 15px; } +.package_warnings_container { + display: flex; + flex-direction: column; + gap: 6px; + margin-bottom: 12px; +} + +.package_warning_item { + display: flex; + flex-direction: column; + gap: 3px; + padding: 7px 10px; + border-left: 3px solid var(--vscode-editorWarning-foreground, #cca700); + background-color: var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, 0.08)); + border-radius: 0 3px 3px 0; +} + +.package_warning_title { + font-size: 12px; + font-weight: 600; + color: var(--vscode-editorWarning-foreground, #cca700); +} + +.package_warning_cmd { + font-size: 11px; + font-family: var(--vscode-editor-font-family, monospace); + color: var(--vscode-descriptionForeground, #9d9d9d); + word-break: break-all; +} + .init_error_box { padding: 8px; border: 1px solid var(--vscode-errorForeground, #f44747); diff --git a/webview_ui/src/interface/interface.tsx b/webview_ui/src/interface/interface.tsx index afc9f8a..590798f 100644 --- a/webview_ui/src/interface/interface.tsx +++ b/webview_ui/src/interface/interface.tsx @@ -36,6 +36,8 @@ export type PythonEnvItem = { id: string, path: string, label: string }; export type PythonEnvInfo = { current: PythonEnvItem | null, envs: PythonEnvItem[] }; export type SetPythonEnvInfo = Dispatch>; +export type IPackageWarning = { name: string; install_command: string }; + export type IdaesHistoryItem = { id: number; created: number; diff --git a/webview_ui/src/treeview/flowsheet_steps.tsx b/webview_ui/src/treeview/flowsheet_steps.tsx index 51f4916..b4acf1a 100644 --- a/webview_ui/src/treeview/flowsheet_steps.tsx +++ b/webview_ui/src/treeview/flowsheet_steps.tsx @@ -6,7 +6,7 @@ import TreeNavBar from "./treeviewNav"; import css from "../css/tree_app.module.css"; export default function FlowsheetSteps({ idaesRunInfo, setShowConfig }: { idaesRunInfo: idaesRunInfo, setShowConfig: React.Dispatch> }) { - const { setSelectedSteps, isLoading, initError, openPythonFiles, activateFileName, pythonEnvInfo } = useContext(AppContext); + const { setSelectedSteps, isLoading, initError, packageWarnings, openPythonFiles, activateFileName, pythonEnvInfo } = useContext(AppContext); const [selectedIndices, setSelectedIndices] = useState([]); // const focuseView = useRef(null) @@ -156,6 +156,20 @@ export default function FlowsheetSteps({ idaesRunInfo, setShowConfig }: { idaesR return (
    + {packageWarnings && packageWarnings.length > 0 && ( +
    + {packageWarnings.map((w) => ( +
    + + Missing package: {w.name} + + + {w.install_command} + +
    + ))} +
    + )}
    - {packageWarnings && packageWarnings.length > 0 && ( -
    - {packageWarnings.map((w) => ( -
    - - Missing package: {w.name} - - - {w.install_command} - -
    - ))} -
    - )}

    From f063d31849ba00a0bbe515e9a06bb7c3da7a0d29 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 12:25:16 -0700 Subject: [PATCH 16/36] build --- .../webview_new/assets/{index-CUmau13o.js => index-Eg6s8lcU.js} | 2 +- extension/src/webview_template/webview_new/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename extension/src/webview_template/webview_new/assets/{index-CUmau13o.js => index-Eg6s8lcU.js} (99%) diff --git a/extension/src/webview_template/webview_new/assets/index-CUmau13o.js b/extension/src/webview_template/webview_new/assets/index-Eg6s8lcU.js similarity index 99% rename from extension/src/webview_template/webview_new/assets/index-CUmau13o.js rename to extension/src/webview_template/webview_new/assets/index-Eg6s8lcU.js index f9bbffe..20f8ce5 100644 --- a/extension/src/webview_template/webview_new/assets/index-CUmau13o.js +++ b/extension/src/webview_template/webview_new/assets/index-Eg6s8lcU.js @@ -10,7 +10,7 @@ Error generating stack: `+L.message+` ${r?Ro.cancel_flowsheet_run_btn:Ro.cancel_flowsheet_run_btn_hidden} `,children:"Cancel"}),Ae.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Ae.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Ae.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Ae.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:Ae.jsxs("div",{className:` ${r?Ro.running_time_container:Ro.running_timer_container_hidden} - `,children:[Ae.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Ae.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Ae.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const Mfe="_navContainer_1o0u5_1",Ofe={navContainer:Mfe};function Ife({setShowConfig:t}){return Ae.jsx("nav",{className:Ofe.navContainer,children:Ae.jsx(Nfe,{setShowConfig:t})})}function Bfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,packageWarnings:a,openPythonFiles:s,activateFileName:o,pythonEnvInfo:l}=jt.useContext(Da),[u,h]=jt.useState([]),d=x=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:x})},f=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:C})},p=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:C})},m=()=>{const x=l?.current?.path;x&&navigator.clipboard.writeText(x)},v=(x,C)=>{let T=[];x.target.checked?T=Array.from({length:C+1},(_,A)=>A):(T=Array.from({length:C},(_,A)=>A),T=T.sort((_,A)=>_-A)),h(T);const E=T.map(_=>t.steps[_]).filter(Boolean);r(E)},b=()=>{if(n)return console.log("loading idaes-extension-steps"),Ae.jsx("div",{children:Ae.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Ae.jsx("div",{className:kn.init_error_box,children:Ae.jsx("p",{className:kn.init_error_text,children:i})});if(!t)return Ae.jsx("div",{children:Ae.jsx("p",{children:"Loading config data..."})});const x=Object.keys(t);if(!x.includes("steps"))return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Steps Display"}),Ae.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(x.includes("steps")&&x.length===0)return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Step Display"}),Ae.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(x.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((T,E)=>Ae.jsxs("div",{className:`${kn.step_selector_container}`,children:[Ae.jsx("input",{type:"checkbox",id:`step_${E}`,className:`${kn.step_selector_checkbox}`,checked:u.includes(E),onChange:_=>v(_,E)}),Ae.jsx("label",{htmlFor:`${E}`,children:T})]},T+E))};return jt.useEffect(()=>{console.log("Selected steps:",u)},[u]),Ae.jsxs("div",{className:kn.flowsheet_steps_main_container,children:[a&&a.length>0&&Ae.jsx("div",{className:kn.package_warnings_container,children:a.map(x=>Ae.jsxs("div",{className:kn.package_warning_item,children:[Ae.jsxs("span",{className:kn.package_warning_title,children:["Missing package: ",x.name]}),Ae.jsx("span",{className:kn.package_warning_cmd,children:x.install_command})]},x.name))}),Ae.jsxs("div",{className:kn.flowsheet_file_section,children:[Ae.jsx("label",{className:kn.section_label,children:"Flowsheet to inspect:"}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:f,value:s?.find(x=>x.name===o)?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),s?.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.name},C))]}),Ae.jsx("p",{className:kn.section_hint,children:"Open the flowsheet in editor to select"})]}),Ae.jsxs("div",{className:kn.python_env_container,children:[Ae.jsx("label",{className:kn.python_env_label,children:"Current Python:"}),Ae.jsxs("div",{className:kn.python_env_actions,children:[Ae.jsx("span",{className:kn.python_env_path_text,children:l?.current?.path||"No interpreter selected"}),Ae.jsx("button",{className:kn.python_env_icon_btn,onClick:m,title:"Copy interpreter path",disabled:!l?.current?.path,children:Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:p,value:l?.current?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),l?.envs.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.label},C))]})]}),Ae.jsx("p",{className:kn.section_label,children:"Select Steps to Run:"}),Ae.jsx("div",{className:kn.steps_container,children:b()}),Ae.jsxs("div",{className:kn.steps_actions_footer,children:[Ae.jsx(Ife,{setShowConfig:e}),Ae.jsx("div",{className:kn.open_results_view_container,children:Ae.jsx("button",{className:kn.open_results_view_btn,onClick:()=>d("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Pfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=jt.useContext(Da),[n,i]=jt.useState(!1);return jt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Ae.jsxs(Ae.Fragment,{children:[Ae.jsxs("h2",{children:["Current Files is: ",e]}),Ae.jsx("div",{style:{display:n?"block":"none"},children:Ae.jsx(xfe,{setShowConfig:i})}),Ae.jsx("div",{style:{display:n?"none":"block"},children:Ae.jsx(Bfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Ffe="_container_1qs3w_1",$fe="_controlBar_1qs3w_10",zfe="_searchBox_1qs3w_18",qfe="_actionGroup_1qs3w_42",Vfe="_runCount_1qs3w_50",Gfe="_tableContainer_1qs3w_70",Ufe="_headerRow_1qs3w_76",Hfe="_dataRowContainer_1qs3w_89",Wfe="_dataRow_1qs3w_89",Yfe="_colStatus_1qs3w_119",jfe="_colTime_1qs3w_124",Xfe="_colTags_1qs3w_128",Kfe="_tagBadge_1qs3w_134",Zfe="_emptyMessage_1qs3w_143",Qfe="_cssTooltip_1qs3w_175",Jfe="_colFlowsheet_1qs3w_211",e0e="_flowsheetText_1qs3w_216",t0e="_pathTooltip_1qs3w_225",Nn={container:Ffe,controlBar:$fe,searchBox:zfe,actionGroup:qfe,runCount:Vfe,tableContainer:Gfe,headerRow:Ufe,dataRowContainer:Hfe,dataRow:Wfe,colStatus:Yfe,colTime:jfe,colTags:Xfe,tagBadge:Kfe,emptyMessage:Zfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Qfe,colFlowsheet:Jfe,flowsheetText:e0e,pathTooltip:t0e};function r0e(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function n0e(){const{idaesHistoryList:t}=jt.useContext(Da),[e,r]=jt.useState(""),n=jt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Ae.jsxs("div",{className:Nn.container,children:[Ae.jsxs("div",{className:Nn.controlBar,children:[Ae.jsx("input",{type:"text",className:Nn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Ae.jsx("div",{className:Nn.actionGroup,children:Ae.jsxs("span",{className:Nn.runCount,children:["Runs: ",n.length]})})]}),Ae.jsxs("div",{className:Nn.tableContainer,children:[Ae.jsxs("div",{className:Nn.headerRow,children:[Ae.jsx("div",{className:Nn.colStatus,children:"Status"}),Ae.jsx("div",{className:Nn.colTime,children:"Since"}),Ae.jsx("div",{children:"Flowsheet"}),Ae.jsx("div",{className:Nn.colTags,children:"Tags"})]}),Ae.jsxs("div",{className:Nn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Ae.jsxs("div",{className:Nn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Ae.jsx("div",{className:Nn.colStatus,children:a.status?Ae.jsx("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--success"]}`,children:"✓"}):Ae.jsxs("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Ae.jsx("span",{className:Nn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Ae.jsx("div",{className:Nn.colTime,children:r0e(a.created)}),Ae.jsxs("div",{className:Nn.colFlowsheet,children:[Ae.jsx("span",{className:Nn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Ae.jsx("div",{className:Nn.pathTooltip,children:l})]}),Ae.jsx("div",{className:Nn.colTags,children:Ae.jsx("span",{className:Nn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Ae.jsx("div",{className:Nn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Ae.jsxs("div",{className:Nn.emptyMessage,children:[Ae.jsx("div",{children:"No historical runs found across any flowsheet."}),Ae.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Ae.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function i0e(){const[t,e]=jt.useState("runFlowsheet"),r=n=>{e(n)};return Ae.jsxs("div",{className:`${kn.tree_app_container}`,children:[Ae.jsxs("ul",{className:kn.view_switch_container,children:[Ae.jsx("li",{className:t==="runFlowsheet"?kn.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Ae.jsx("li",{className:t==="loadFlowsheet"?kn.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Ae.jsx(Pfe,{}),t==="loadFlowsheet"&&Ae.jsx(n0e,{})]})}function a0e(){const[t,e]=jt.useState(!1),{editorContent:r,activateFileName:n}=jt.useContext(Da),i=()=>{e(!t)};return Ae.jsxs("div",{children:[Ae.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Ae.jsxs("div",{style:{display:t?"block":"none"},children:[Ae.jsx("h1",{children:"Editor Page "}),Ae.jsxs("h2",{children:["File: ",n]}),Ae.jsx("pre",{children:r})]})]})}const s0e="modulepreload",o0e=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=o0e(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":s0e,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},l0e=t3.exports,FF;function c0e(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(l0e,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;A[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(R(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=R,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)XY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)XY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${oa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},d0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:h0e,unit:d0e},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Pa={ALL:0,RGB:1,HSL:2};let f0e=class{constructor(){this.type=Pa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Pa.ALL}is(e){return this.type===e}};class p0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new f0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Pa.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Pa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Pa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Pa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Pa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Pa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Pa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new p0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},Xv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(Xv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:Xv,rgba:Xv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||Xv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Pa.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Xv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),g0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},m0e=t=>g0e(t)>=.5,ys=t=>!m0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},y0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,y0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:v0e,getPrototypeOf:b0e,getOwnPropertyDescriptor:x0e}=Object;let{freeze:ds,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(v0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function k0e(t){for(let e=0;e/gm),D0e=Go(/\$\{[\w\W]*/gm),N0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),M0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),O0e=Go(/^(?:\w+script|data):/i),I0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),B0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:M0e,ATTR_WHITESPACE:I0e,CUSTOM_ELEMENT:B0e,DATA_ATTR:N0e,DOCTYPE_NAME:JY,ERB_EXPR:R0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:O0e,MUSTACHE_EXPR:L0e,TMPLIT_EXPR:D0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},P0e=function(){return typeof window>"u"?null:window},F0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ej(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P0e();const e=vt=>ej(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:A,createNodeIterator:k,createDocumentFragment:R,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&A&&A.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let j=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let X=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Le=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},je=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,j=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,je=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Le=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,X=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(X.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(X.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(X.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Le=!0),Ye&&(P=Fr({},GF),j=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(j,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(j,C6),Fr(j,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(j,C6),Fr(j,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(j,HF),Fr(j,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(j===Z&&(j=Il(j)),Fr(j,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=F0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,..._0e]),St=Fr({},[...w6,...A0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Le||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=A.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt)))return!1;if(Ge&&!je[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Pn=v(_r[Qr],!0);Pn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Pn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!j[ft]||Q[ft]){if(!(Ut(Ne)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Ne)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Ne))&&(X.attributeNameCheck instanceof RegExp&&Za(X.attributeNameCheck,ft)||X.attributeNameCheck instanceof Function&&X.attributeNameCheck(ft,Ne))||ft==="is"&&X.allowCustomizedBuiltInElements&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&C0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Pn}=_r,An=Qe(Cr),ei=Pn;let Ur=Cr==="value"?ei:S0e(ei);if(Rt.attrName=An,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(An==="id"||An==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(An==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,An,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,An)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==ei)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Pn=Qe(vt.nodeName);if(!P[Pn]||ee[Pn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Le&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Le?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Le){if(me){ft.normalize();let Pn=ft.innerHTML;Jy([q,z,D],An=>{Pn=Lp(Pn,An," ")}),ft.innerHTML=Pn}if(Oe)for(_r=R.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(j.shadowroot||j.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(JY,ft.ownerDocument.doctype.name)&&(Qr=" + `,children:[Ae.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Ae.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Ae.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const Mfe="_navContainer_1o0u5_1",Ofe={navContainer:Mfe};function Ife({setShowConfig:t}){return Ae.jsx("nav",{className:Ofe.navContainer,children:Ae.jsx(Nfe,{setShowConfig:t})})}function Bfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,packageWarnings:a,openPythonFiles:s,activateFileName:o,pythonEnvInfo:l}=jt.useContext(Da),[u,h]=jt.useState([]),d=x=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:x})},f=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:C})},p=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:C})},m=()=>{const x=l?.current?.path;x&&navigator.clipboard.writeText(x)},v=(x,C)=>{let T=[];x.target.checked?T=Array.from({length:C+1},(_,A)=>A):(T=Array.from({length:C},(_,A)=>A),T=T.sort((_,A)=>_-A)),h(T);const E=T.map(_=>t.steps[_]).filter(Boolean);r(E)},b=()=>{if(n)return console.log("loading idaes-extension-steps"),Ae.jsx("div",{children:Ae.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Ae.jsx("div",{className:kn.init_error_box,children:Ae.jsx("p",{className:kn.init_error_text,children:i})});if(!t)return Ae.jsx("div",{children:Ae.jsx("p",{children:"Loading config data..."})});const x=Object.keys(t);if(!x.includes("steps"))return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Steps Display"}),Ae.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(x.includes("steps")&&x.length===0)return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Step Display"}),Ae.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(x.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((T,E)=>Ae.jsxs("div",{className:`${kn.step_selector_container}`,children:[Ae.jsx("input",{type:"checkbox",id:`step_${E}`,className:`${kn.step_selector_checkbox}`,checked:u.includes(E),onChange:_=>v(_,E)}),Ae.jsx("label",{htmlFor:`${E}`,children:T})]},T+E))};return jt.useEffect(()=>{console.log("Selected steps:",u)},[u]),Ae.jsxs("div",{className:kn.flowsheet_steps_main_container,children:[Ae.jsxs("div",{className:kn.flowsheet_file_section,children:[Ae.jsx("label",{className:kn.section_label,children:"Flowsheet to inspect:"}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:f,value:s?.find(x=>x.name===o)?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),s?.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.name},C))]}),Ae.jsx("p",{className:kn.section_hint,children:"Open the flowsheet in editor to select"})]}),Ae.jsxs("div",{className:kn.python_env_container,children:[Ae.jsx("label",{className:kn.python_env_label,children:"Current Python:"}),Ae.jsxs("div",{className:kn.python_env_actions,children:[Ae.jsx("span",{className:kn.python_env_path_text,children:l?.current?.path||"No interpreter selected"}),Ae.jsx("button",{className:kn.python_env_icon_btn,onClick:m,title:"Copy interpreter path",disabled:!l?.current?.path,children:Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:p,value:l?.current?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),l?.envs.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.label},C))]}),a&&a.length>0&&Ae.jsx("div",{className:kn.package_warnings_container,children:a.map(x=>Ae.jsxs("div",{className:kn.package_warning_item,children:[Ae.jsxs("span",{className:kn.package_warning_title,children:["Missing package: ",x.name]}),Ae.jsx("span",{className:kn.package_warning_cmd,children:x.install_command})]},x.name))})]}),Ae.jsx("p",{className:kn.section_label,children:"Select Steps to Run:"}),Ae.jsx("div",{className:kn.steps_container,children:b()}),Ae.jsxs("div",{className:kn.steps_actions_footer,children:[Ae.jsx(Ife,{setShowConfig:e}),Ae.jsx("div",{className:kn.open_results_view_container,children:Ae.jsx("button",{className:kn.open_results_view_btn,onClick:()=>d("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Pfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=jt.useContext(Da),[n,i]=jt.useState(!1);return jt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Ae.jsxs(Ae.Fragment,{children:[Ae.jsxs("h2",{children:["Current Files is: ",e]}),Ae.jsx("div",{style:{display:n?"block":"none"},children:Ae.jsx(xfe,{setShowConfig:i})}),Ae.jsx("div",{style:{display:n?"none":"block"},children:Ae.jsx(Bfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Ffe="_container_1qs3w_1",$fe="_controlBar_1qs3w_10",zfe="_searchBox_1qs3w_18",qfe="_actionGroup_1qs3w_42",Vfe="_runCount_1qs3w_50",Gfe="_tableContainer_1qs3w_70",Ufe="_headerRow_1qs3w_76",Hfe="_dataRowContainer_1qs3w_89",Wfe="_dataRow_1qs3w_89",Yfe="_colStatus_1qs3w_119",jfe="_colTime_1qs3w_124",Xfe="_colTags_1qs3w_128",Kfe="_tagBadge_1qs3w_134",Zfe="_emptyMessage_1qs3w_143",Qfe="_cssTooltip_1qs3w_175",Jfe="_colFlowsheet_1qs3w_211",e0e="_flowsheetText_1qs3w_216",t0e="_pathTooltip_1qs3w_225",Nn={container:Ffe,controlBar:$fe,searchBox:zfe,actionGroup:qfe,runCount:Vfe,tableContainer:Gfe,headerRow:Ufe,dataRowContainer:Hfe,dataRow:Wfe,colStatus:Yfe,colTime:jfe,colTags:Xfe,tagBadge:Kfe,emptyMessage:Zfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Qfe,colFlowsheet:Jfe,flowsheetText:e0e,pathTooltip:t0e};function r0e(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function n0e(){const{idaesHistoryList:t}=jt.useContext(Da),[e,r]=jt.useState(""),n=jt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Ae.jsxs("div",{className:Nn.container,children:[Ae.jsxs("div",{className:Nn.controlBar,children:[Ae.jsx("input",{type:"text",className:Nn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Ae.jsx("div",{className:Nn.actionGroup,children:Ae.jsxs("span",{className:Nn.runCount,children:["Runs: ",n.length]})})]}),Ae.jsxs("div",{className:Nn.tableContainer,children:[Ae.jsxs("div",{className:Nn.headerRow,children:[Ae.jsx("div",{className:Nn.colStatus,children:"Status"}),Ae.jsx("div",{className:Nn.colTime,children:"Since"}),Ae.jsx("div",{children:"Flowsheet"}),Ae.jsx("div",{className:Nn.colTags,children:"Tags"})]}),Ae.jsxs("div",{className:Nn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Ae.jsxs("div",{className:Nn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Ae.jsx("div",{className:Nn.colStatus,children:a.status?Ae.jsx("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--success"]}`,children:"✓"}):Ae.jsxs("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Ae.jsx("span",{className:Nn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Ae.jsx("div",{className:Nn.colTime,children:r0e(a.created)}),Ae.jsxs("div",{className:Nn.colFlowsheet,children:[Ae.jsx("span",{className:Nn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Ae.jsx("div",{className:Nn.pathTooltip,children:l})]}),Ae.jsx("div",{className:Nn.colTags,children:Ae.jsx("span",{className:Nn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Ae.jsx("div",{className:Nn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Ae.jsxs("div",{className:Nn.emptyMessage,children:[Ae.jsx("div",{children:"No historical runs found across any flowsheet."}),Ae.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Ae.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function i0e(){const[t,e]=jt.useState("runFlowsheet"),r=n=>{e(n)};return Ae.jsxs("div",{className:`${kn.tree_app_container}`,children:[Ae.jsxs("ul",{className:kn.view_switch_container,children:[Ae.jsx("li",{className:t==="runFlowsheet"?kn.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Ae.jsx("li",{className:t==="loadFlowsheet"?kn.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Ae.jsx(Pfe,{}),t==="loadFlowsheet"&&Ae.jsx(n0e,{})]})}function a0e(){const[t,e]=jt.useState(!1),{editorContent:r,activateFileName:n}=jt.useContext(Da),i=()=>{e(!t)};return Ae.jsxs("div",{children:[Ae.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Ae.jsxs("div",{style:{display:t?"block":"none"},children:[Ae.jsx("h1",{children:"Editor Page "}),Ae.jsxs("h2",{children:["File: ",n]}),Ae.jsx("pre",{children:r})]})]})}const s0e="modulepreload",o0e=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=o0e(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":s0e,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},l0e=t3.exports,FF;function c0e(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(l0e,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;A[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(R(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=R,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)XY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)XY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${oa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},d0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:h0e,unit:d0e},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Pa={ALL:0,RGB:1,HSL:2};let f0e=class{constructor(){this.type=Pa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Pa.ALL}is(e){return this.type===e}};class p0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new f0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Pa.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Pa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Pa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Pa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Pa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Pa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Pa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new p0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},Xv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(Xv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:Xv,rgba:Xv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||Xv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Pa.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Xv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),g0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},m0e=t=>g0e(t)>=.5,ys=t=>!m0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},y0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,y0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:v0e,getPrototypeOf:b0e,getOwnPropertyDescriptor:x0e}=Object;let{freeze:ds,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(v0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function k0e(t){for(let e=0;e/gm),D0e=Go(/\$\{[\w\W]*/gm),N0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),M0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),O0e=Go(/^(?:\w+script|data):/i),I0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),B0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:M0e,ATTR_WHITESPACE:I0e,CUSTOM_ELEMENT:B0e,DATA_ATTR:N0e,DOCTYPE_NAME:JY,ERB_EXPR:R0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:O0e,MUSTACHE_EXPR:L0e,TMPLIT_EXPR:D0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},P0e=function(){return typeof window>"u"?null:window},F0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ej(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P0e();const e=vt=>ej(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:A,createNodeIterator:k,createDocumentFragment:R,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&A&&A.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let j=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let X=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Le=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},je=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,j=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,je=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Le=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,X=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(X.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(X.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(X.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Le=!0),Ye&&(P=Fr({},GF),j=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(j,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(j,C6),Fr(j,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(j,C6),Fr(j,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(j,HF),Fr(j,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(j===Z&&(j=Il(j)),Fr(j,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=F0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,..._0e]),St=Fr({},[...w6,...A0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Le||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=A.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt)))return!1;if(Ge&&!je[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Pn=v(_r[Qr],!0);Pn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Pn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!j[ft]||Q[ft]){if(!(Ut(Ne)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Ne)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Ne))&&(X.attributeNameCheck instanceof RegExp&&Za(X.attributeNameCheck,ft)||X.attributeNameCheck instanceof Function&&X.attributeNameCheck(ft,Ne))||ft==="is"&&X.allowCustomizedBuiltInElements&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&C0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Pn}=_r,An=Qe(Cr),ei=Pn;let Ur=Cr==="value"?ei:S0e(ei);if(Rt.attrName=An,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(An==="id"||An==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(An==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,An,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,An)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==ei)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Pn=Qe(vt.nodeName);if(!P[Pn]||ee[Pn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Le&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Le?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Le){if(me){ft.normalize();let Pn=ft.innerHTML;Jy([q,z,D],An=>{Pn=Lp(Pn,An," ")}),ft.innerHTML=Pn}if(Oe)for(_r=R.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(j.shadowroot||j.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(JY,ft.ownerDocument.doctype.name)&&(Qr=" `+Qr),me&&Jy([q,z,D],Pn=>{Qr=Lp(Qr,Pn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=T0e($[vt],Ne);return ft===-1?void 0:w0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=ej(),tj=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,$0e=/\s*%%.*\n/gm,Wg,rj=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tj,"").replace(E2,"").replace($0e,` `);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rj(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nj(e,r,n)},"registerLazyLoadedDiagrams"),nj=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),z0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),_i=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,q0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),V0e=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),jg,G0e=(jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),U0e=S(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),Xg,H0e=(Xg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),Hb=S(t=>{const e=new H0e;return e.calculate(t),e},"getThemeVariables"),Kg,W0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),Y0e=S(t=>{const e=new W0e;return e.calculate(t),e},"getThemeVariables"),Zg,j0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),X0e=S(t=>{const e=new j0e;return e.calculate(t),e},"getThemeVariables"),Qg,K0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),Z0e=S(t=>{const e=new K0e;return e.calculate(t),e},"getThemeVariables"),Jg,Q0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),J0e=S(t=>{const e=new Q0e;return e.calculate(t),e},"getThemeVariables"),e1,epe=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),tpe=S(t=>{const e=new epe;return e.calculate(t),e},"getThemeVariables"),t1,rpe=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),npe=S(t=>{const e=new rpe;return e.calculate(t),e},"getThemeVariables"),r1,ipe=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),ape=S(t=>{const e=new ipe;return e.calculate(t),e},"getThemeVariables"),n1,spe=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),ope=S(t=>{const e=new spe;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:V0e},dark:{getThemeVariables:U0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:Y0e},neutral:{getThemeVariables:X0e},neo:{getThemeVariables:Z0e},"neo-dark":{getThemeVariables:J0e},redux:{getThemeVariables:tpe},"redux-dark":{getThemeVariables:npe},"redux-color":{getThemeVariables:ape},"redux-dark-color":{getThemeVariables:ope}},eo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},ij={...eo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...eo.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...eo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...eo.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...eo.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...eo.pie,useWidth:984},xyChart:{...eo.xyChart,useWidth:void 0},requirement:{...eo.requirement,useWidth:void 0},packet:{...eo.packet},treeView:{...eo.treeView,useWidth:void 0},radar:{...eo.radar},ishikawa:{...eo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...eo.venn}},aj=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aj(t[n],"")]:[...r,e+n],[]),"keyify"),lpe=new Set(aj(ij,"")),Vr=ij,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!lpe.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=cpe(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),cpe=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ns=_i({},tm),d5,e0=[],k2=_i({},tm),gC=S((t,e)=>{let r=_i({},t),n={};for(const i of e)lj(i),n=_i(n,i);if(r=_i(r,n),n.theme&&n.theme in xu){const i=_i({},d5),a=_i(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uj(k2),k2},"updateCurrentConfig"),upe=S(t=>(Ns=_i({},tm),Ns=_i(Ns,t),t.theme&&xu[t.theme]&&(Ns.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ns,e0),Ns),"setSiteConfig"),hpe=S(t=>{d5=_i({},t)},"saveConfigFromInitialize"),dpe=S(t=>(Ns=_i(Ns,t),gC(Ns,e0),Ns),"updateSiteConfig"),sj=S(()=>_i({},Ns),"getSiteConfig"),oj=S(t=>(uj(t),_i(k2,t),gr()),"setConfig"),gr=S(()=>_i({},k2),"getConfig"),lj=S(t=>{t&&(["secure",...Ns.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lj(t[e])}))},"sanitize"),fpe=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ns,e0)},"addDirective"),f5=S((t=Ns)=>{e0=[],gC(t,e0)},"reset"),ppe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},jF={},cj=S(t=>{jF[t]||(oe.warn(ppe[t]),jF[t]=!0)},"issueWarning"),uj=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cj("LAZY_LOAD_DEPRECATED")},"checkConfig"),gpe=S(()=>{let t={};d5&&(t=_i(t,d5));for(const e of e0)t=_i(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cj("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,mpe=S(t=>t?fj(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),ype=(()=>{let t=!1;return()=>{t||(hj(),t=!0)}})();function hj(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hj,"setupDompurifyHooks");var dj=S(t=>(ype(),Qh.sanitize(t)),"removeScript"),XF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dj(t):r!=="loose"&&(t=fj(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Tpe(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(XF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(XF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),vpe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),bpe=S(t=>Bm.test(t),"hasBreaks"),xpe=S(t=>t.split(Bm),"splitBreaks"),Tpe=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fj=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),wpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),Cpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),Spe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),Epe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Ri=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),kpe=S(async(t,e)=>{if(!Ri(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>Q_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Ri(i)?`

    ${i}
    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await kpe(t,e),e),"renderKatexSanitized"),$t={getRows:mpe,sanitizeText:Jr,sanitizeTextOrArray:vpe,hasBreaks:bpe,splitBreaks:xpe,lineBreakRegex:Bm,removeScript:dj,getUrl:mC,evaluate:Pu,getMax:wpe,getMin:Cpe},_pe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Ape=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Ui=S(function(t,e,r,n){const i=Ape(e,r,n);_pe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Ui(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},Lpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index c2c28e8..329a4d8 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,7 +5,7 @@ webview_ui - + From 3d0d752092e95e7f591e9d8945cf98b65df0f097 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 12:29:42 -0700 Subject: [PATCH 17/36] revert warning and caution color --- webview_ui/src/css/diagnostic.module.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webview_ui/src/css/diagnostic.module.css b/webview_ui/src/css/diagnostic.module.css index bd76bed..779f58b 100644 --- a/webview_ui/src/css/diagnostic.module.css +++ b/webview_ui/src/css/diagnostic.module.css @@ -74,7 +74,7 @@ min-width: 22px; height: 22px; border-radius: 11px; - background: #e6a817; + background: #d32f2f; color: #000; font-size: 0.75rem; font-weight: 700; @@ -88,7 +88,7 @@ min-width: 22px; height: 22px; border-radius: 11px; - background: #d32f2f; + background: #e6a817; color: #fff; font-size: 0.75rem; font-weight: 700; From ce3d8772878afad19d51e2750180be59783dd6bc Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 12:30:13 -0700 Subject: [PATCH 18/36] remove the blue dot from webview nav on the right side of ipopt --- webview_ui/src/web_view/main_display.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/webview_ui/src/web_view/main_display.tsx b/webview_ui/src/web_view/main_display.tsx index bcd42b4..8b4a424 100644 --- a/webview_ui/src/web_view/main_display.tsx +++ b/webview_ui/src/web_view/main_display.tsx @@ -12,7 +12,7 @@ export default function WebView() { const [flashLogs, setFlashLogs] = useState(false); const prevLogsLength = useRef(extensionErrorLogs.length); const { flowsheetRunnerResult } = useContext(AppContext); - + // total model dof const totalDof = flowsheetRunnerResult?.actions?.degrees_of_freedom?.model; @@ -85,7 +85,8 @@ export default function WebView() {
  • changeActivateTabHandler('ipopt')}> - IPOPT + IPOPT + {/* */}
  • Date: Thu, 11 Jun 2026 12:48:51 -0700 Subject: [PATCH 19/36] Migrate fi-run to use VS Code Python interpreter directly (no shell) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the shell-based runner (source ~/.zshrc && conda activate && fi-run) with direct subprocess spawning via the interpreter resolved from the VS Code Python extension API — matching how fi-steps already works. - run_terminal_command: new signature (executable, args, childEnv); spawns the process directly instead of wrapping in a shell - run_flowsheet: drop extensionConfig/shell/conda dependency; resolve env via getActivePythonEnv, locate fi-run with pythonToolPath, inject PATH via activatedProcessEnv — works on Windows without any extra user config - extension_initial_check: remove dead checkExtensionConfigEnv, shellExists, and execPromise (old shell-based env check, no longer called anywhere) --- extension/src/util/extension_initial_check.ts | 94 ----------- extension/src/util/run_flowsheet.ts | 150 ++++++++---------- extension/src/util/run_terminal_command.ts | 93 +++++------ 3 files changed, 117 insertions(+), 220 deletions(-) diff --git a/extension/src/util/extension_initial_check.ts b/extension/src/util/extension_initial_check.ts index ad1ff08..08fb9e3 100644 --- a/extension/src/util/extension_initial_check.ts +++ b/extension/src/util/extension_initial_check.ts @@ -1,13 +1,6 @@ -import * as cp from 'child_process'; -import * as fs from 'fs'; import * as vscode from 'vscode'; -import { IExtensionConfig } from '../interface'; -import { isWindows, buildCommandChain, getDefaultShellConfig } from './platform_config'; import { getActivePythonEnv } from './python_env'; -let lastCheckedConfigStr = ""; -let lastCheckResult: { success: boolean; errorMsg?: string } | null = null; - /** * Verifies that VS Code has a Python interpreter selected for the given * resource. This is the only hard gate before fi-steps: if no interpreter is @@ -33,90 +26,3 @@ export async function checkActivePythonEnv(resource?: vscode.Uri): Promise<{ suc } return { success: true }; } - -/** - * Check if a shell executable exists on the system. - * - Unix: uses fs.existsSync (absolute path like /bin/zsh) - * - Windows: uses `where` command to check if it's in PATH (e.g. powershell.exe) - */ -function shellExists(shell: string): Promise { - if (!isWindows()) { - return Promise.resolve(fs.existsSync(shell)); - } - // On Windows, shell is typically just a name like 'powershell.exe' that lives in PATH - return new Promise((resolve) => { - cp.exec(`where ${shell}`, { windowsHide: true }, (error) => { - resolve(!error); - }); - }); -} - -/** - * Perform a 4-step sanity check on the user's environment configuration. - * Caches the result based on the config object to prevent freezing the UI on rapid tab switches. - * @param config The extension configuration containing shell, source_cmd, activate_command - * @param force If true, bypasses the cache and forces a re-check - * @returns An object with success state and an error message if failed - */ -export async function checkExtensionConfigEnv(config: IExtensionConfig, force = false): Promise<{ success: boolean; errorMsg?: string }> { - const configStr = JSON.stringify(config); - if (!force && lastCheckedConfigStr === configStr && lastCheckResult) { - return lastCheckResult; - } - - const defaultConfig = getDefaultShellConfig(); - const shell = config.shell || defaultConfig.shell; - const sourceCmd = config.sorce_treminal; - const activateCmd = config.activate_command; - - // 1. Check Shell - const shellFound = await shellExists(shell); - if (!shellFound) { - lastCheckResult = { success: false, errorMsg: `[Step 1/4 Failed] Shell not found: ${shell}. Please check your extension config.` }; - lastCheckedConfigStr = configStr; - return lastCheckResult; - } - - const execPromise = (cmd: string): Promise<{ stdout: string; stderr: string }> => { - return new Promise((resolve, reject) => { - cp.exec(cmd, { shell, windowsHide: true }, (error, stdout, stderr) => { - if (error) { - reject(new Error(stderr || error.message)); - } else { - resolve({ stdout, stderr }); - } - }); - }); - }; - - // 2. Check Environment Activation - try { - await execPromise(buildCommandChain([sourceCmd, activateCmd])); - } catch (e: any) { - lastCheckResult = { success: false, errorMsg: `[Step 2/4 Failed] Could not activate environment.\nCommand: ${activateCmd}\nError: ${e.message.trim()}` }; - lastCheckedConfigStr = configStr; - return lastCheckResult; - } - - // 3. Check IDAES - try { - await execPromise(buildCommandChain([sourceCmd, activateCmd, 'python -c "import idaes"'])); - } catch (e: any) { - lastCheckResult = { success: false, errorMsg: `[Step 3/4 Failed] IDAES is not installed in the target environment.\nPlease install IDAES via your terminal.` }; - lastCheckedConfigStr = configStr; - return lastCheckResult; - } - - // 4. Check idaes-fi - try { - await execPromise(buildCommandChain([sourceCmd, activateCmd, 'python -c "import idaes_fi"'])); - } catch (e: any) { - lastCheckResult = { success: false, errorMsg: `[Step 4/4 Failed] 'idaes-fi' package is missing.\nPlease run 'pip install idaes-fi' in your environment.` }; - lastCheckedConfigStr = configStr; - return lastCheckResult; - } - - lastCheckResult = { success: true }; - lastCheckedConfigStr = configStr; - return lastCheckResult; -} diff --git a/extension/src/util/run_flowsheet.ts b/extension/src/util/run_flowsheet.ts index 95880f7..140fe25 100644 --- a/extension/src/util/run_flowsheet.ts +++ b/extension/src/util/run_flowsheet.ts @@ -1,67 +1,83 @@ +/** + * Orchestrates a fi-run execution for the currently active flowsheet file. + * + * Uses the Python interpreter VS Code has selected (via the Python extension + * API) to locate and spawn fi-run directly — no shell, no conda activate, no + * dependency on the user's PATH or shell init files. This mirrors how fi-steps + * is invoked and makes the runner work on Windows without any extra config. + */ import * as vscode from 'vscode'; -import { activateWebviews, brodcastMessage } from "./webview_handler"; -import { IExtensionConfig } from '../interface'; -import runTerminalCommand from "./run_terminal_command"; +import { activateWebviews, brodcastMessage } from './webview_handler'; import openWebView from '../web_view/web_view_panel'; -import { buildCommandChain } from './platform_config'; import { queryLatestReport } from './sqlite_reader'; +import runTerminalCommand from './run_terminal_command'; +import { getActivePythonEnv, pythonToolPath, activatedProcessEnv } from './python_env'; + +const NO_INTERPRETER_MSG = + 'No Python interpreter selected. Pick the environment with Flowsheet Inspector ' + + 'installed via the Python: Select Interpreter command (bottom-right status bar).'; + +/** + * Runs fi-run for the flowsheet file currently stored in VS Code global state. + * + * Resolves the active interpreter from the VS Code Python extension, locates + * the fi-run entry point inside that environment, and spawns it directly with + * an activated PATH — identical to the fi-steps approach. stdout/stderr are + * streamed to the terminal log panel in real time. + * + * @param context Extension context; used to read the active file name. + * @param webview The webview that triggered the run (used to post errors). + * @param selectedStep Optional step name to pass as `--last ` to fi-run. + */ +export default async function runFlowsheet( + context: vscode.ExtensionContext, + webview: vscode.Webview, + selectedStep: string | undefined, +): Promise { + const postError = (message: string) => { + webview.postMessage({ type: 'error', message }); + activateWebviews.get('treeView')?.webview.postMessage({ type: 'run_flowsheet_done' }); + }; -export default async function runFlowsheet(context: vscode.ExtensionContext, webview: vscode.Webview, selectedStep: string | undefined) { try { - const activateFileName = context.globalState.get("activatedFileName"); - const extensionConfig = context.globalState.get("extensionConfig"); - - // read run_flowsheet necessary params - let activateCommand = undefined; - let sourceTerminal = undefined; - let shell = undefined; - - if (extensionConfig) { - sourceTerminal = extensionConfig.sorce_treminal; - activateCommand = extensionConfig.activate_command; - shell = extensionConfig.shell; + const activateFileName = context.globalState.get('activatedFileName'); + if (!activateFileName) { + postError('No flowsheet file is currently active. Open a flowsheet file first.'); + return; } - // error handler if missing param - if (!activateCommand || !shell) { - webview.postMessage({ - type: 'error', - message: `run_flowsheet raise an error, looks like you are trying to run a flowsheet, but missing one of following params: [ - activateCommand: ${activateCommand}, - shell: ${shell}, - From file webview_receive_message_handler.ts` - }); + // Resolve the interpreter the user has selected in VS Code + const env = await getActivePythonEnv(vscode.Uri.file(activateFileName)); + if (!env) { + postError(NO_INTERPRETER_MSG); return; } - // if webview is closed then open it to prevent extension cant find webview - if (!activateWebviews.get('webView')) { - await openWebView(context); + const fiRun = pythonToolPath(env, 'fi-run'); + const args: string[] = [activateFileName]; + if (selectedStep) { + args.push('--last', selectedStep); } - // Build the command chain using platform-appropriate separators - // On Unix: `source ~/.zshrc && conda activate ... && fi-run ...` - // On Windows: `conda activate ... ; fi-run ...` (empty sourceTerminal is filtered out) - let runCmd = `fi-run "${activateFileName}"`; - if (selectedStep) { - runCmd += ` --last ${selectedStep}`; + const childEnv: NodeJS.ProcessEnv = { + ...activatedProcessEnv(env), + PYTHONUNBUFFERED: '1', + FORCE_COLOR: '1', + }; + + // Ensure the results panel is open before streaming starts + if (!activateWebviews.get('webView')) { + await openWebView(context); } - let command = buildCommandChain([sourceTerminal, activateCommand, runCmd]); - console.log(`Run command: ${command}`); - // Broadcast a signal to clear previous run results (diagram, IPOPT, diagnostic, etc.) from the UI + // Clear stale run state from the UI before starting brodcastMessage({ type: 'start_new_run' }); - - // Broadcast a signal to clear logs across ALL active webviews BEFORE starting new command brodcastMessage({ type: 'clear_terminal_logs' }); - await runTerminalCommand(context, command, shell); + await runTerminalCommand(fiRun, args, childEnv); console.log('fi-run completed. Reading latest report from SQLite...'); - // Read the latest report from the SQLite database - // This is non-fatal — if the DB/table doesn't exist yet, the history - // polling mechanism will pick up the results later. try { const reportData = queryLatestReport(); if (!reportData) { @@ -71,61 +87,33 @@ export default async function runFlowsheet(context: vscode.ExtensionContext, web brodcastMessage({ type: 'flowsheet_runner_result', data: reportData }); } catch (dbErr: any) { console.warn(`Could not load report from SQLite (non-fatal): ${dbErr.message}`); - console.warn('The history polling mechanism will pick up results when available.'); brodcastMessage({ type: 'terminal_log', - data: `\n[SYSTEM] fi-run completed but could not read report from database: ${dbErr.message}\nResults may appear in the history panel shortly.\n` + data: `\n[SYSTEM] fi-run completed but could not read report from database: ${dbErr.message}\nResults may appear in the history panel shortly.\n`, }); } - // Always notify tree panel that the run is complete so it stops spinners - let treePanel = activateWebviews.get('treeView'); - if (treePanel) { - treePanel.webview.postMessage({ - type: 'run_flowsheet_done', - }); - } - console.log('Done'); + activateWebviews.get('treeView')?.webview.postMessage({ type: 'run_flowsheet_done' }); } catch (e) { const errorMessage = e instanceof Error ? e.message : String(e); if (errorMessage.startsWith('CANCELED_BY_USER')) { - // Silently swallow the rejection and log to console - console.log(`runFlowsheet was canceled by the user: ${errorMessage}`); - const pidChunk = errorMessage.split(':')[1] || ''; + const pidChunk = errorMessage.split(':')[1] ?? ''; + console.log(`runFlowsheet was canceled by the user. PID: ${pidChunk}`); vscode.window.showInformationMessage(`Run flowsheet stopped manually. PID: ${pidChunk}`); + activateWebviews.get('treeView')?.webview.postMessage({ type: 'run_flowsheet_done' }); return; } - console.error(` - runFlowsheet from webview_receive_message_handler.ts raise an error: - ${e} - `); + console.error(`runFlowsheet error: ${e}`); let webViewPanel = activateWebviews.get('webView'); - - // if not web view panel, try to open it if (!webViewPanel) { await openWebView(context); webViewPanel = activateWebviews.get('webView'); } - - if (webViewPanel) { - webViewPanel.webview.postMessage({ - type: 'error', - message: errorMessage - }); - } else { - console.error('web view panel not found to report error'); - } - - // Inform the tree panel that the run failed so it stops the timer/spinner - let treePanel = activateWebviews.get('treeView'); - if (treePanel) { - treePanel.webview.postMessage({ - type: 'run_flowsheet_done' // This sets `isRunningFlowsheet = false` in the frontend (though they cancel flowsheet currently resets it too) - }); - } + webViewPanel?.webview.postMessage({ type: 'error', message: errorMessage }); + activateWebviews.get('treeView')?.webview.postMessage({ type: 'run_flowsheet_done' }); } -} \ No newline at end of file +} diff --git a/extension/src/util/run_terminal_command.ts b/extension/src/util/run_terminal_command.ts index 5d8c980..679d0d0 100644 --- a/extension/src/util/run_terminal_command.ts +++ b/extension/src/util/run_terminal_command.ts @@ -1,75 +1,81 @@ -import * as vscode from 'vscode'; +/** + * Spawns a subprocess directly by absolute executable path and streams its + * stdout/stderr to all webviews as terminal_log messages. + * + * Unlike the old shell-based runner, this never goes through /bin/zsh, + * /bin/bash, or powershell.exe, so there is no dependency on the user's + * shell PATH, conda init hooks, or ExecutionPolicy settings. + */ import * as cp from 'child_process'; import { brodcastMessage } from './webview_handler'; -import { getSpawnArgs, getSpawnOptions } from './platform_config'; +import { getSpawnOptions } from './platform_config'; + /** - * A helper function to execute a terminal command asynchronously. - * Runs the given command in the specified shell. Once the command completes, - * it resolves the Promise. With fi-run, results are written directly to - * the SQLite database and picked up by the history polling mechanism. + * Spawns `executable` with `args` in `childEnv` and streams output to the + * terminal log panel in all webviews. + * + * Process-group kill on Unix (negative-PID SIGKILL) still works because + * getSpawnOptions() sets `detached: true` on non-Windows. On Windows, + * `windowsHide: true` suppresses the console window, and taskkill is used + * for tree-kill by the kill_process handler. * - * @param context - The vscode context - * @param command - The terminal command to execute (e.g., "source .zshrc && conda activate env && fi-run ...") - * @param shell - The shell executable path (e.g., "/bin/zsh", "/bin/bash", or "C:\\Windows\\System32\\powershell.exe") - * @returns A Promise that resolves when the command completes successfully + * @param executable Absolute path to the executable (e.g. fi-run in env/bin). + * @param args Command-line arguments to pass. + * @param childEnv Environment variables for the child process — typically + * the result of activatedProcessEnv() with PYTHONUNBUFFERED + * and FORCE_COLOR added. + * @returns Promise that resolves on exit code 0, rejects on non-zero exit, + * spawn error, or user cancellation (CANCELED_BY_USER:). */ -import * as os from 'os'; - -export default function runTerminalCommand(context: vscode.ExtensionContext, command: string, shell: string): Promise { +export default function runTerminalCommand( + executable: string, + args: string[], + childEnv: NodeJS.ProcessEnv, +): Promise { return new Promise((resolve, reject) => { - if (!context) { reject(new Error(`runTerminalCommand requires context as param!`)); return; } - if (!command) { reject(new Error(`runTerminalCommand requires command as param!`)); return; } - if (!shell) { reject(new Error(`runTerminalCommand requires shell as param!`)); return; } - - console.log(` - Starting execute terminal command: - ${command} - Terminal environment is: - ${shell} - ... - `); - // Start execute terminal command - brodcastMessage({ type: 'terminal_log', data: `\n[SYSTEM] Executing background process via SPAWN...\nCommand: ${command}\nShell: ${shell}\n` }); + brodcastMessage({ + type: 'terminal_log', + data: `\n[SYSTEM] Spawning process directly (no shell):\n ${executable} ${args.join(' ')}\n`, + }); - const { shell: resolvedShell, args: shellArgs } = getSpawnArgs(shell, command); - const spawnOptions = { + const child = cp.spawn(executable, args, { ...getSpawnOptions(), - stdio: 'pipe' as const, - env: Object.assign({}, process.env, { PYTHONUNBUFFERED: "1", FORCE_COLOR: "1" }) - }; - const child = cp.spawn(resolvedShell, shellArgs, spawnOptions); + stdio: 'pipe', + env: childEnv, + }); brodcastMessage({ type: 'process_started', pid: child.pid }); - let fullStdout = ""; - let fullStderr = ""; + let fullStdout = ''; + let fullStderr = ''; - child.stdout.on('data', (data) => { + child.stdout!.on('data', (data) => { fullStdout += data.toString(); brodcastMessage({ type: 'terminal_log', data: data.toString() }); }); - child.stderr.on('data', (data) => { + child.stderr!.on('data', (data) => { fullStderr += data.toString(); brodcastMessage({ type: 'terminal_log', data: data.toString() }); }); child.on('error', (error) => { - console.error(`runTerminalCommand error: ${error}`); + console.error(`runTerminalCommand spawn error: ${error}`); brodcastMessage({ type: 'terminal_log', data: `\n[SYSTEM ERROR] Process failed to spawn: ${error}\n` }); reject(error); }); child.on('close', (code, signal) => { - console.log(`Finished run shell command with code ${code} and signal ${signal}.`); - if (signal === 'SIGKILL' || signal === 'SIGTERM' || signal === 'SIGINT') { - brodcastMessage({ type: 'terminal_log', data: `\n[SYSTEM] Run flowsheet stopped manually. PID: ${child.pid}\n` }); + brodcastMessage({ type: 'terminal_log', data: `\n[SYSTEM] Process stopped manually. PID: ${child.pid}\n` }); reject(new Error(`CANCELED_BY_USER:${child.pid}`)); return; } - brodcastMessage({ type: 'terminal_log', data: `\n[SYSTEM] Process exited with code ${code}.\nCollected stdout bytes: ${fullStdout.length}\nCollected stderr bytes: ${fullStderr.length}\n` }); + brodcastMessage({ + type: 'terminal_log', + data: `\n[SYSTEM] Process exited with code ${code}.\nCollected stdout bytes: ${fullStdout.length}\nCollected stderr bytes: ${fullStderr.length}\n`, + }); if (code !== 0) { let errMsg = `Process failed (exit code ${code}).\n`; @@ -83,11 +89,8 @@ export default function runTerminalCommand(context: vscode.ExtensionContext, com return; } - // fi-run writes results directly to the SQLite database. - // The history polling mechanism will pick up the new entry. brodcastMessage({ type: 'terminal_log', data: `\n[SYSTEM] fi-run completed successfully. Results saved to SQLite database.\n` }); - console.log(`fi-run completed successfully.`); resolve(); }); }); -} \ No newline at end of file +} From 785ffba2a35a0e71cbfb1f0485634b6a964fa6c2 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 12:56:00 -0700 Subject: [PATCH 20/36] Switch fi-steps and fi-run to python -m module invocation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace pythonToolPath console-script spawning with direct interpreter + -m: fi-steps: python -m idaes_fi.structfs.common --fs -t json fi-run: python -m idaes_fi.structfs.fsrunner [--last ] This is simpler and more robust — no reliance on console scripts being present in bin/Scripts, works correctly with any environment manager. --- extension/src/util/run_fi_steps.ts | 18 ++++++++++-------- extension/src/util/run_flowsheet.ts | 7 +++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/extension/src/util/run_fi_steps.ts b/extension/src/util/run_fi_steps.ts index 724bde7..8a04ed4 100644 --- a/extension/src/util/run_fi_steps.ts +++ b/extension/src/util/run_fi_steps.ts @@ -7,7 +7,7 @@ */ import * as vscode from 'vscode'; import * as cp from 'child_process'; -import { getActivePythonEnv, pythonToolPath, activatedProcessEnv } from './python_env'; +import { getActivePythonEnv, activatedProcessEnv } from './python_env'; export interface IFiStepsResult { classname: string; @@ -41,14 +41,16 @@ export async function runFiSteps(fileName: string): Promise { throw new Error(NO_INTERPRETER_MSG); } - const fiSteps = pythonToolPath(env, 'fi-steps'); - return new Promise((resolve, reject) => { - const child = cp.spawn(fiSteps, ['--fs', fileName, '-t', 'json'], { - stdio: 'pipe', - windowsHide: true, - env: activatedProcessEnv(env), - }); + const child = cp.spawn( + env.interpreterPath, + ['-m', 'idaes_fi.structfs.common', '--fs', fileName, '-t', 'json'], + { + stdio: 'pipe', + windowsHide: true, + env: activatedProcessEnv(env), + }, + ); let stdout = ''; let stderr = ''; diff --git a/extension/src/util/run_flowsheet.ts b/extension/src/util/run_flowsheet.ts index 140fe25..c7e04cb 100644 --- a/extension/src/util/run_flowsheet.ts +++ b/extension/src/util/run_flowsheet.ts @@ -11,7 +11,7 @@ import { activateWebviews, brodcastMessage } from './webview_handler'; import openWebView from '../web_view/web_view_panel'; import { queryLatestReport } from './sqlite_reader'; import runTerminalCommand from './run_terminal_command'; -import { getActivePythonEnv, pythonToolPath, activatedProcessEnv } from './python_env'; +import { getActivePythonEnv, activatedProcessEnv } from './python_env'; const NO_INTERPRETER_MSG = 'No Python interpreter selected. Pick the environment with Flowsheet Inspector ' + @@ -53,8 +53,7 @@ export default async function runFlowsheet( return; } - const fiRun = pythonToolPath(env, 'fi-run'); - const args: string[] = [activateFileName]; + const args: string[] = ['-m', 'idaes_fi.structfs.fsrunner', activateFileName]; if (selectedStep) { args.push('--last', selectedStep); } @@ -74,7 +73,7 @@ export default async function runFlowsheet( brodcastMessage({ type: 'start_new_run' }); brodcastMessage({ type: 'clear_terminal_logs' }); - await runTerminalCommand(fiRun, args, childEnv); + await runTerminalCommand(env.interpreterPath, args, childEnv); console.log('fi-run completed. Reading latest report from SQLite...'); From 49dfb252cc0305bd29fc1fbbd9fbfc38ecc773ba Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 12:58:48 -0700 Subject: [PATCH 21/36] update version number --- .vscode/launch.json | 2 +- extension/package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index bdeb510..79b309f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,7 +1,7 @@ // This file is the vscode debug configuration used for debugging the extension in VS Code. // docs: https://code.visualstudio.com/docs/debugtest/debugging-configuration { - "version": "0.0.5", + "version": "0.0.6", "configurations": [ { "name": "Run Extension", diff --git a/extension/package.json b/extension/package.json index 4a6323d..8560379 100644 --- a/extension/package.json +++ b/extension/package.json @@ -3,7 +3,7 @@ "publisher": "idaes-team", "displayName": "Flowsheet-inspector", "description": "", - "version": "0.0.5", + "version": "0.0.6", "engines": { "vscode": "^1.106.0" }, @@ -108,4 +108,4 @@ "dependencies": { "node-sqlite3-wasm": "^0.8.58" } -} +} \ No newline at end of file From 21b5259aef309c1ac4e8998f9cae5cdb602c0572 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:01:09 -0700 Subject: [PATCH 22/36] build 0.0.6vsix --- flowsheet-inspector-0.0.6.vsix | Bin 0 -> 1848484 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 flowsheet-inspector-0.0.6.vsix diff --git a/flowsheet-inspector-0.0.6.vsix b/flowsheet-inspector-0.0.6.vsix new file mode 100644 index 0000000000000000000000000000000000000000..93d6541570cf25a1b129f1229a30abf8108b2dc4 GIT binary patch literal 1848484 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

    eJ>`323{1*peO$)%;ChnUXn8$PaX4xidu2p? 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%0A+ed+UC)wX$6HH`tz_ zEDyaU(6wB-RNk*_Xhwt;ipr2ohGHd)mX>R`+Y+s0bq9K>3hPb!Um;vw#_*lVSie6M zJf@`#HCcmyTD%R!f_wv*or6P@WfQ=i$v^?XnI4!XoIqkGSp>kPmTPV{o6QCbQ9&w` z@*T**s47x{ z6`aeLULz`mpQINdcGz6mEH%sfDfqfE3@(kGMs0sngX0~RizIwcm5UhGE{cfu-58io zI8zekq7f|)q>GJI8xmi7zGSpfdbogQN@tQ_Q*+Xi;YBe7ks7BLD_&Isfy&4@Emte< z7Wa2GzMgYZ2k8W=ZVrps6X&4hv|OWB-Y9Q~!BNhnuq0SZQD-tpPRs4@RyV4Vu8xR_ zgNod3Hk;{isl~8SGA3KP(N}zf$vgaXCOW??a5RS+Y;4=v*tTuk{PW%aR^6(5tGZ`;rsm94ojRE5?x#CSxTF)Zi~=Fs z!X#Ol@f$Cz7MYxfL!F*^5UmC*K$vRR1I8yW#)yIU$%{_W5_Ub zpC%I3c_>=>jRI-_s|!mLPs2c7a9t+PHOz^pazRONOi0SGQ@{{B|5;Gek@)FC$#B;1 znb4b}u&O*wP!4~ikke3zBFi(O65yVht>xS=w2tywCCn@P);fM}iK9kfAQZpKi~WHk}dW^J3BFSc>wib|1Ip$qeervemNj8~Jy`2Ie`pNF*I+ zJubENh4g|Ct}g)7l#X2Gi2yux*e;a}C?tZ7@x;KfB)v|=>#aB#Pr)snDhn9XshXup zpZS!E&|Gvpux(VUl$LX_uS+R+mfbLtHH!QZ-?+}pX)~7s+^qpHXxgTkiYqW8u`D`f zWT>yv%g8x!*QU^E(BU7p^}Jt0MiAYiREe>#IQrKK<%Y_ZV^R%#BOq z6v&|#EZ>kt&7CAAhpRmqEXj2GGrmD8&0Cls|GA?=>z7N-m{xHm><4uOnyW)##_ z0hxuDE(c6KcCdMo*qztIA4+QPP^VI+yMlwPu6v#RTW*&I6(ztpmjT zvaSAJciYnrtMd~h%2?7chrtT50d9Xf)l2*k@6W(o4xGm7kmN0XP8@lNqT{=x=c;kN z-mWPg--IERI+F7whxy0F7n&*iMWV!lXxGZve>_CkqMZ} zjzleX0*u<26h{O-Dq050aeCMkN2^p(u(siWPLl>FrFPO1u_ny*b|GmD;ZW!g28ZCI zhr2z-9?8#o?8|+-rCK!u@XXkVkM>B1MmlGf^gPAki;A^ z;_XgM+@kOdNr5Rh%ylq3%Pxf1Z+pq->oVK46~*h>Oa6?$-{UmAu;0gvfHx=SBc508 zq9X!GQ}>6ZTwvLwt4J8z7Wj`x8(&bi@nub;!G0q0SAobH&8CpZ#P_b4|@}nw}M6l>9)? zwNxCwu0moX+=6i(&xgo{9M8_qq>)Gw9b8qw2K#p;!TxZ#Wwh_Y+=C#U)AbmQOyc!L z32d9nBM$0-U^k&$%Ic(+Cs$zi@(Pr+5!TQCg`!qgmH;B54xB5*rkphj^Wrv#j)ZUraCcU9nhg5lYH|n)@|p%D~u+< zzhuhU%tshhi+ySAwF)@>_mTeW|-e(WlE zWIq2|U$d+D&e7~8o>XpKm4Uw(G;ba}!@n-H7@zy1{~L@tTdp!$}xu zY~--JKT0f!`?&{BJ8TP}R<9E1VCH5(x7I|LksH&7pp5}|{qz^dE#`wz)a|IqrHDaD zd*e2)BD=i;AOA4>Aqojofrg&m$MO7h2O<)JK$Vjtvb+>1>~t{uYT8O(_dbT21N+y^ zdf%I$Od;WGa(hy*uqj}y3FR>gaM+34{BlNm#Jc3m(rrM?sf6@AgVUTnqnxc>f)~1) znZ>O=uz{Zfk)6Jk*YG7Q!%Rbjm64!$t#=Q0{t9N_2$2&tMwgG(#JhLJF*Wd zJq6&t(uw+gh#glqOg1s^$_B!JF!yVA{g&QMCjxy-u(yZ}@R1IT_4o1NI4-A^W`ucF zi4cUlr-(4kVfub-g!O5AlITB2bC|Sg!F^0}suAv!13Fo!HKAT#vjaLml`p53u>|gX zQg&8Y`E^6h#;&cwvTW?Slvg15b)0c72R%d0-lT7=;TA;1|3;o01Dg=$2K8Cx*0usI#`HK%4LBiL z!0QVm%?vm(Il$|Ez=0QL134e02GgI%xW}2ZL%VB|LDQR0(~=;$|FXeFqJB=0{So%s zhswHuPDxo~-pR)E8$5EGj4AV$iQBQs<5W2O#wb<3V)D~U2=|th!%+8gjgz7V;|Ms(C2 z|Hy?wc(oPg;^-4ifBE{29X`69jSSu#SKar*+>+fpvBMR(gXLuPTu-{|TSL`%FGb|) z{5+9`z}B#yXWn{Moog_~dgd0eL+ z@dF8G-f;r%JrTIe++)n{V4jn*wy}}Sy-Om@&|F(f>d?RAYlK)5;G<*f=cm6L{^Pkp z4?;~t^dZ5apT%ROj=aZhq=Qn~wV_`KL=cNSz%o{>R6G^3XZN`!7tcu3PYi>G`riPH z-CQZ-QFinptyo5|_}{&2dGp3#F&a|k1PWjI<#o6I(GMLEo{%S=hZr&zwiJ2M5$*Io zye+andw<0vRMQjod7d&lGKV5xoj~659{ju!Q8o09@KIFeomnqIve50oddg-)Lpo- zoY@x8B)73E_i_pq9krLjMWX2=HQ_EG4*G84 zBJ3OwtmMu?#R56!H#njKJ0EYpLkD#|TzQcOJs)=U#R5AY*7#4!Z@fhXyPRgXA_;PC zY#)0C{$ws*0>2@iYVr1${O9hQNuR-rT^CjKx7r#sHDtR zF(8Cub@RJhr{fCuSdn6JcQ3ydtJ?Dz`MXDFc_+5y6HC;vVdP6otH6ONg1>hlB!~Jd zN5(TvUsPPOgCgk`lrg3U#rdo;817$=>af}|T_BcG!3C0={>($FyD}EMr&cL41TDpQ z0B8bUc1j-u%mHtig{9ZwGpE|d4@)mf9iuNM5CUh}2-k?lT_Ig6wbB-#Sbs^0G$AP% zcj??D0rWTw>PQ0*ytpAM6_;`XyBUQR_z%+s9_~VnSLat7kfQlG>fP#o&O%5rRG~kf zDs6h5T%qF`HJ517GpglYBU@nD4lJHC7J6bZ17!%;k3@023G6r=< zEtHTpG4?1^7i4_q(zU>U{jT8=J>s*}0H#tp5y6uPrqXeT=!WBufJT6xE`w+Gp8Ai{ zUdni)GN{H#-M{HZzxbu15x!0jS4!dX@E)cxS6AtDrO5?i`8pBR<7 z1QgtJ#7&}IK8sWulxb?lzHKTcv-YvX2;~bC=%Z&2W#ojk&;uNYkRp+;sWS0`5^AzV zr&DxbhgcjbEpi!76@^M2sZvg23)hYJIcoaU;ywAw1eYly+4U2uq`R|V5MwAEqPV)= zQF#Y=UeW(dMMZ0JtgSgYGsF>FbMAu*)km<-`(NQEv@jibU9=4oYudkWAusk!vBH2V zYiiPZ;Yrd-#9)9oEt%Z8(~b}AZqO0D!-jf1nyFokXCveN#Qy0O0!n!-e)146PFIYs+?k8^& zbgu~BYJVWME$D=^o8ay(^aWYdJaQCuLzWxVa}@ay@6+%?%3_FMU;j`B*^|7q(VC*j z>cVz3%=xD}-|cHTG91!9c(bHLm&F;u^faL7$mw3Vpm6F7&Quf5XHt2(EcmJ@{4^ij z`&0I|<8DR&dlifYMgF<$H%0$6`;HZN+u(myy%Jh@FX}iXnBP_MbrG4x{u1?XiUbMY z=x=zf`M#zDjK;S4ci$loQj@(@3W23K3F3%P3Vy=gW*u|Sfy`z8?q+QVx$HW2N``TS z*S}tP&(_{3&&FN0)u7)M!AY`cX1!L)z^3u^YZZzDMl-gcAKI3VP?9RJMaB-w)oMa4 z!7yWgoJd8V&qzg{Ge~}N2Z5NN9LTCn&yys$60FJ^+CzJ#xba^4ukVDFJLWorY8fc z4n_-aeN9B!$i(M|on(Sh_Ew)a0)ChE)p8o@tU(kKiov(~M@W3@ zvp8jZ+^B`4a2<@B^SfyIF37mK8n?k(xC*y-xw#vkMOs>tIJF_Dim@_-GVbV|#$@|s zJYfAZia}aD;MUilA~gCZ1ZX7!D zh066*LTd`cqZpBKcer=B9O4XT8)KSJTY!_d-vMDe>4mcu3d(g34gkZ{_C%oo)_J?5Z~$kWh$K*pDv622FegV&z^VH@ zJbXZ0xT%_P;aEgTO{x3GlLe}EO05?(K=OHmDa#B60 z_Fv|QCf~qC#1S8tdxU0IXbKum{g*_-ollPR$*ACT0SPQ{&>n6J63BT2<@xQXge$^` zi>yC8`QT0IPuZa7RNuO?9vyP+cyW1kd2tbuDQu3wu(ZCiMyKH?4e~c!DZEjC2^T^c zH_fY^cvmr+A_H_=Mf5Whq{TG9wN+Cirdk>eW>{1;G$7IO4Y|MDYz#=stUbO&oL#tF3M8|Ob{$S zqWE}|THyp0(OTw(V;^rei(gcFFs3!_2(C|0eV3h+kZQ+#5zRl3PdJ^}Qohrbum3Tz z9c1MKq-A`=MYN!4upI~ZMAbCCv*lU zaUbZ9^L%Ckk{S}*OG&cz0#JR47U`ct;Jp`1ff>?q?MC@6s+Qi+!@uyVge7Wfi{6wO z*R}3(!x=dCw_uID8nC%M?ni{JRcyZkNSemu*QR3i5)Ef>v1tt&jDFHesau~-lPVlH5>sU7Vea_0{nug8SrZw_Et@iP#Ur>${ z!c|)^j`Fx>Y)r1WQk>u;rX(u}W z<+S+7DF%(!m>J8(boNb=>YJi1x{br%)(ahDMn+8FD;1TQ-JvT){z`;n7pd`!76W2QNIu_d#rz-mrNuWO12Tk9=a?zW3ofL`N+v zZ!*>ZI<%D={pWi zHqEV~&zATD(PSP*BUY_CwM|PEsGW|0e|ojuEyHe2IHZ>vK2||1$1Tu%~hId z`gDjLs5V-86=uWs9H>zf%vH%nMFdwDeII>7f*>eHT|G@7C+vpi?2J$)bCp2ggnu0q z65RCf1yyZWS($;6*7mbn$Hd0y4iP|~Jxet>dawI9Ky+>M;8QdY_%_C7kX;No?6r{k z5_TF){PSneS`+ZS$)h{H3~$&2ytRu0oRW1)197Z8c#MzX-duw{HI@l53JGb`hp* zwX74^aP9}g-HO<(OxIVb(m~0~cjx*gq|fZA+UT(U zZs~i-6cd3UpPj(}qVE~DE-D`0O?T?A=KhNkdxf%mvNgs8-vkBT1e1$CW3PQ)1(A!o zE}7M_9-m$a`~1R$)bgH1DVhS-Rs5*G+COqd@C&z*F$KE-&xC@YQ&%|uk=|o=?)XB# zFt2bvi{D<8c{eIOY#k648D)KZt!`FME?+7K%!=EOnz05zKAt>Q1-cra&wHQFdo?M0 zRG|0tZx@Zw#LIAOTk_r4hk{$KhYdYikiA!+= z|0#52l+a!sAaY9WyGMyGK^YcnZH~+&78-c&a(*S(a9&hzT&lX z_in#?Kbx zoVU#oKt6=h3NjTlA*XecLjGA|AYx;IaFP_|#d0No0G}i8m#o*fPnP3uXsL$t`nZf^ z(Rl+symYk?th}#Tx4B5@-AvN-D8lxy_a`JBw!!IyOE+M=lA!R0jgn$ILG)v$L1Pv6sz)xX)FHtC;B;YG?;53Uy$78cU

    ErCQgN&mm-Lwm|?wwW10qV7%HPMA_fyMxubTXN|@ zPO|eiA7651MON2x_axAEt|DZo2I<{ROBjTF0vo)L{lyAjBl@EC6tdx&FvyMyg9 zD>h7VYH@@qSxd__3YToVcZK`ji?eO!;SeU}qt1mZ>yycf9;-IeI=>Y*OzmV}-1dxdO6L^_ zA^a?AL{y@nAb;KP z{W!Y#qWUm^zxf5mBBm#J)onIH+!`>*9!xAHlR&o%dPH(14MqiDY}1p;q6(-Sr!mk! z`dj$UyczJtKFB;N>5YC6pQuH13GJIzcQMVHW|5IjYK0Ic8qadqcXxJHObrM8{(zxqRl9~61{f6}rU1Hi zmy22d%(kwo%2v;*%d><7P*x2TS!y=~CJ~Yx)$M`?BXXl35iAZ)l(p+3mBZt&L@bDoRQz1`s&0oGHgy*MK9Ithp0*ylRmf*QynY)^CTD#0{ccma%>-g4j<8 zwlI=e%+LGpE^pVhI>demkzK6+(61A&i~MXRROXbv8Ms-LG(I1Cnr!aeYGO}(OlMY$7Gu>uT7$~#Fp?_y;Tp&10!VqK~yEq7z>R!mCMYgUpe=L@%4LaSoWL*E`O~)A6 zPfkwC;HoF>Es~l%i|pJ~kbAp+b+QdEZ!M-mi_9@Ev+-DbLXzF<#zp_p^0 zIOA)3PqOG}Itd$nPwuQ14=tCeFj0pUg33guT8W-NZN%FEXBeZ|)U33<%W>*(q*n!X z_Po}YjwdVF6nsy$Ie-IMySzt=x&3SO@6hn+d0It*3t25>9NLP_Q2<1EKebP5vm29{ z@7#|z*#-$;UaA6XSe1 zI_smIus(2d=zR$cG05Dx_4i`4a4me@KXngFX9j1A2`Ic*k=S0p;_ufrFoY8Ok%-w) z8tT4TZ{@Ll?l(y~%Iyl(l8Jl=oWODXzam!jOy9q+`D1Yfr2r-rvF|qtcgCZR)+_0s zrS>qfIO*DuSDAGaI35jCdJlBC1KN_4W}_+H9+;4s9LOC@WMBPDKku`jD&`(-m<4d19oU(cZ6IQqjgml`+bF8Z|iSjetGUrqNxc%B?-%~DEsVdPl zIl`&zh8S-aZhMCBIBA1y+KQX$WS!UWE=+UN{D&l#5%q2ih9-EGZHZhV0+u&uPB7u7b1=WxU& z^?ff)`1tMF){J;#k>_RWaeFue+qBox@xHM%HT}!8XbZyJk%C5aM zxuI3B4ROkgJt9pMI~ycy&g@X7#A933Lyg$q|2-KdmXtA2wSTui0A?XWw(JZyRz|g> z%D$r`BGLGy(^FvH4QW1%F)>^@loi~cpuUQR1^J^1lRf2p9we4tnvHcW-enN4*E1@X z_RZk+N0EG|BRG%lVX2bcjUA)vQL;qkfu1E^H;mTm0SkXrTQblq$(}Qs|jBlZ=mC4z3bAsH2QvZQsue-KjXRx_)U1#7{T>-)L z=p1{#T+ydbus1{(2d)1@FnwPOIopo{6d!MB26&?s6-U~HbPfy#7(K_l$bI!TU*r^I z3sj<_OHp^B0%Pi2hs{J2<&P&NPw6UEh4VmvbHabA!TfL|^?%XI{D@~`k2#2PKl(P@ z#qN|j!7PX1@?NN1io~F6<^wPZd*Nm&;6Q~N;wn@=-fF$2Olo5`WA{GdB=Ut%4zj+3 zU3A9IB3I6{nhbh+ey7qq_^VR(ML~H-eoj0;!XNN{)+#SOB!hvm#e;;*w9bK-0xgkm zT$^H?5<8-A{8RB_9N?K>j4&zMQPPnOi8+Q2Z6=;t&q^=bmXiRgt$co+tCSEGbp20D zu)tGC@pTVuslTChtI99@`4Wzgx(3;9K3k@06*eedQlTI70KI9YRi)NKxT}+ywe+Atz`m$s zQV*P%J8+Zs(#xUO2}E9CPo)~OLwZ6L-Ntkp$r~0L{}XHz<@YbC41#@JpUK(U8Pdh^ z!WFQOrryUh>u0P&uu=Myr$DTJ*_Xz_=UCkgRV<2<6z>6diy(HLgwpYGSW za=ka_GE&PN#1lIOC%?NluhCj|py;a#G2&i~Y3DA)mHZkn3#*$mj3UE(58X_Q3VD`t z|E0Z*M5-@$sa|goMZa*r@$A{XX10RM#k(HcwV|nREddCMg)#Lm!X!KGF+;!DV6>7)DNn9tfAs znbN?pp|s|Qs=Q1xN5O%$q-Z)mwHd)hMYbv%ge7I@?9FtEhGrOE98RGHMPxubix|#s zKG5D7VUePqdWe$$o z5-PiK^_PiP`R#6Bm>com(PH~!C|ho_-v`(G1$B+Tw9P+I02Lb+;40-j=T9Q#8i_hK zqyR!|gTDwwA$v-Y7kwDL#M5aA8_WtYFNw$5=-~gd?-Z<$F#sKgTU*(d04}MY5#Xvi zqUnX12TnV|fsByL=<@Grwm^1I!e5E|)AA9vI8d`N_JXNk5iu&>muGJ9VrEdctKnML z-6tlZ(wPKsSmrPyl&o{Yq@B9d5Dx)4{Vg|5uWCo64{{*z{7FUp zoAVOlyTUwe0tjG7B?n}YlNa`)E|2N?O3$It$pA zM_6c~qLw-7>L^EhrP<=kUqN6Fg&9h@ODfg4)m0<5vCj_5AVv z(EgEsmydlV)WN;}^}IVAAk3AFn&EyIe8FQRDo+>icEmuv6yeq%TWK+X_)i9sb^Uqu=%RaDDI@ z7JI}b)al{#>G`!iaFz(xmS#CQ?lVE>+g3Fpje@w5lb4bl%`iQ{(y5yhuV;-tRD6H_ zNwhfLm=Wwrkf`cuN|F-8h4b@+Ju^{%gFIN;GN-joskBw5_RY&uP>MNUhw#_2&dPFk zqcncc_aTPBTISTTI)Q`F?RoW=Y(mo7zxXV zZj{-hjv|CQLt={3XSy5{BdMMa)_})<&=Q9F1Q6ZHw_RDk zO{`i6c0;29)5K?qD2zTU;{HHLwgO+U=Qh#@Riy3DtU?%Fs+WV%P3E>4C=4%V)l6e> z07H0QQcWgO{Yw;e(F?(52(BKYxxOmpBa!U4dw(svDenH-I-*L}3ybN8E;Zfn$2a+; z?#&z3gr}rB@ z*Cr*aUTqptRJm4m@LvwTRQ4EeZoV=&?@2ZM%Y5Ler=dJf0D&GaAqvmH@LGuLU%iZv zB&~@Rdj_T|2`V|AoGx=g!7ZuuYPy5E5O3T-Q0C{fX0b$^hd1Z4Bp`iBO z0>hpB1*f*G#!8=FlOHJU8qz?T^osLu$|_Lqs>Xh0uHjE|-|&u=(0!g2TeyTZGFRHW z0R|+8jhAjY!;wOMQWg0iV`k{(p9 zs+gvrB*dpSgt%)^GS?^Ck5Jm-mA);qJrccU4&XaT$9*D_I*oXj+6$Ii z_4TuLkl3S(7i>wrvFSdGLJ<*{c^Fz{u^Z{34LXs%I*1ge1OvPkzkOl6QPDT1u$_#4 zi}{vVod=_|OUw8|_#Ve@o6rK&nV#-U662Rd>caX_N)~LugP-r>I`N~I7wjPZ?uh+z z#Xa+CtyV4gAZE@9+6w+ixrY)o(<~=psR>w+%lFtOl&B{a+atq>^Q=XaU$DiZ6GxAz8B8CFP9izuL)r8tRF8(>K>WF{n1ZHd|Cs*4 zbv0PQ>gZq&WhM>E+9-f1fLKJ1G7NEO z2$vh-ep166Da}r1;n^E=CPW;inxz%FPVgY!-M@~H15d|0q3AI=!XJ|#jHbvoUH#_% zHg=dQzp>7`ef0?8b6x*~5L@-5%?_a-0SAE|Fl97;WtNJj<dRl$3ICzY6`s%+IsQ3lu?J6>>WK_q{-EphxcMN^K z9LM<}5F70An;vY%U;@*%$Ac)^s6rcWl=+pDYUBbI76!<9y2^ZO%KbEk`na2gE5!B9Cba%j zbkEYSsjjjbo*)j?>Z#H{;Er?EE!%<0Pc&(T3L!(7Cz`=*5`& z$;@C!ot;h19!E^B%>rMRSLJ=HDyo011IqLB--bD^iN^oNWy1A?4vV`vr;9CJiI{Rt z1}W`>LUGY!Ojz(2E3_z8^PU%}DkDd<+u}&@W5u>MzM1fS84pQvbFj^TG)ykO7b|5Y z_y?>LG0M+nqh-cEn#lFTPE*edDO=j9cvCTIPSR6K3Hb2{QIzcSALZ@ zFnZY}$$HShn^jO1FXGB5T(E7={6?=Lt4Vp%1jz{|h7l=h@!T844Z}IM56){FY>5hG zU#t6^To#f&kTkq^IozD*`7#vwMnQjJZsMU7a$_5LR*Qn=JqnRuh)z0?z0H4LuW$l#y%4O0FE~ljxR1 z9H3)HaH6j$_@!lNd4}d523^7v%^fg&G|%eNZ<8Q;tJx%!IbCyOv5exx8Ny^ zi&3hj@1;WzvbM7itnwr0gswp zfYaG~%iB?KqV4bC#7oV}A?1*R(_^FDGPD_P7;VpuDwXRWl`5rb!cAJlPSOCAJ4WS@ z=#LJFsJ!HZzU48!@PPr=y5eUnzjC$hudla+^%!(FiCH)?k&5ZVxASKaOov0rP|8Ri_uV_pov*T z3%}MRYvUob31b7o7{fIgy6)ojg55BH&^-+eNI*wCJ|89)?!PXqk=l$|Km3H~uHgMg zjRTYpF)5t@>IdcF!)1g#i2=}3ca^yI#t*I;ishcu?M5m|p$x&0rCn@VTrEQ2uLGAl z;ZJzXy+%kZKh+Z1!a2iCz7y<|jM`t^zf4Jyp~3N6u4lOq;+CsbgymsGn$?(~24v9| z=cup$HTGFm+D#&_X!DR1%IlocBId`@gC|^w0{V5Ad{s4c%P^D;^3E(d)I6tvR9mAc z-#Yo^KfhV*a(h`MrIU(6QpV0|WKI_L^?NTtLS!1z;0@M6=S#Kx%EODcctG>3ER6g$m9g#1 z>|fB>>{h2EC=>EVHSV$KPk(9Fcw88r9s1~q>B2j_A!Ra*dINS0^mks${l($}>LNS4@z-XJpAeCQ1@T<8)Lvqq&cTtAWqfr~Bm&I(XHInvEPA>D_5Dpr zj={%JYQvxj?0eY{WvF^~{q9a)BS4<d3wH1i(l^0VGR5oQ%I5>VGh`m(BdF0uE(k}-D zLWwKbHbId@`0ig^C>g}?w&K0IV@tyWzP3SQw&f1GGGy9sK9nP6{?z+~bE1rDI(_QP z5?8`EmutY6Y|ZX@!TVXbL?4G*5mvK0J)`x)J0Llaw84mGZ}{z7)k|{M>i(J(I>n~M zJx(1C^J02lqg#gF_7A4Db?3*=EEunY=1bkM%Y>gBuE#{U-CaNg`lHG>*LYA53Nb@u z5z=;yoHzkqe?OLAp^h;1Nmlp5SkuKK)Lj7%fE@I5PUXM{7)Yp1@P>zBVbE{|aXj*Q z@V*&Xs59y2k@K{hav(y96AF5gL8ORW^5&Zo=0t5s5%(yD+NW0b)oqs;vXX)SsCdkA z!KtfrW$ENO+{wBMx|A6Ii_ADLTs1hU%FkXlY>xu>U0w zgIIoN%W|OREi3E;u);lj zgp-qsXmSMVq7?-MZj|V7thIBOY9ww93V&xbGUP6re|78L%dRtC0yf4MSG!AwCX=Bcu!7h+lHS1>;-$qLGi{)TCR5dx znKt-L5Pk{Bdn?g^N990(%+n7(?&~)|`B=}Q7<%8WHtKw08uGq+WBy{$H?S64S*FCH z_ey|eQ;|C80iH)pgl!q0TJ2mh#z%{U&yvL&sHuu-|%uXsUj z%#%Rpl3VdA)`?zZH^$Z39AvVJ)CtGbi276$4%_~R_ZQ{Xo0TT39+nZvhPW{ea1_`m zNvsU5-4Iq|RxmBr*)FJ=s)a(!m$;=oCKt-Isks|{;R(JUlO1Q|MiQp0ffFUo_)#Oa z6C1@xJwS-DLkU;&t$se3tm0fMQ#Tygi>LDw+kE39e+J=A6Yw(NF~y%)*%81Ddm`4g zHp!|!`rM8Ma(DHU6PMKzIT@RA6CgMniF8*vlYFMz5I>mkYmBl|#q`=2LertbD_FhfGJ$J>IDasJmSHB4z{yv1#6Z=2+$7 zryB+q$O?rx@UTrEsL&io)3b^8GpF^-a7{ydTO{CT_om_a_KwJK<&2TvJKN;pihP^m zSMX-J$({c&iG#O6^=dKuDV7j;1Adf zq6<>7I{d7Jg}$%40x1T(#Jl+KJu>5D@l{$NB2F~xfw$GQfURP?H*8en}PIU+0yR%e>&SP2ZvF^SHKGgxielZk*j1D9r zKZ~-6Z)5a`x?*%VaG9XdamFO1g|f@n4RVLx)5G^*O>M)d8d~2E|AH6!0d6mfGUgGwyb;9VQ7e2;iI*c0yj~d-! z;{iEiCPvGO`JKh0U0Ti4H@9ly86ncpPHJ7O)2$6CMd)?xCTS=S%{NgxB?UML@`gwctbC<>jTRV6<%a|)plGs4s~jY)Bk3)h?!Z05OF zg+JDpM|!ux=R&_$b9d7|NC|Ww>lA|#zF`6q+dxJqsm zg;`_+YZ70rWKM)vE?Db8B$1&zx&$&2;Utjbvy2X4f$64-4R~HkfrL;Hu)D0!W@l*) zRwk3+P5pF%;B4$Dtevlqy9FYGz}fu~jJrVidYYVJa+;h;cG)jZWl+mN-J4L$-@y5psy9y*VhhHz5BJYnEi~BD$yZ}oYcQFTxLz$!Px^%ENjcqJ(bZFW#v8?M z=944ZhU+gEOe$BF1!BJoJr$y`e;z5mY;(kXY;ji*F|Bvqey!#+2a;996wa4QwvkiW z0`-mLdVW9I4g0lPB9;M+ufe8^BCD(Tyba}oyD58{BMX$H%ajAD9}q8tc*o-U_!GjM z4JDfi4Tw=Va;YxU!kTRuedf282}ZJ|#yyzs7&{?IstpXpWe>mXV{J-l>}+peUtgQo zO*2X++xE`R&h`x${cA!fmTcm?^lIXi6mD3SwVhr~G{kB+zwDzMcz2i@6U>c>Dsng?zX0k~fNOMuQO*<7Bh#2DOh&xB+XA{~J1Uf|G$qwGmhVK-i4BZ7lO*C9!cgi8$) zd^;njNpDZ|gax|EkPX%$t1!eOwkr_9 zCBz*OM42OFphCa8$VZ2bloYBGUUm>nh!agfAfasbBPJ)xzfX>e$~$&s9ZiU{2Hm2E zQlYzZ-d!a=Rkka!@n=otyhif-NfOQDlua$cAwq>MGewEj_jePx zVdmPF*Gvtr4aHV}x|{ZEwW*;8*gc(|!CpJZ)P!9Fl(pvhIS5nE&(RdQ5N`vbfAAE| z4=W%>oo8imUfe*@>GTZG3p>&{(nG|1#&5l;LjCE4l#n~SeB?2^22{N=sOM2n5%irZ z;`rf331shy0||nq!dQ+UnYyeaVgq2x$NV;?f{BY$0xMHuKrwH`p_t+Rq=|6~`_kzd zaQv(XPlRFaY@Fh>xy$L9qCV|8p*4aLpH z;|rWQD}p*&CCtatii(7|Pz`!FnGkXN%?_^S*bhBL?fA%;O(ul*mq)~$`hk~_u*kA* zmD$D7ANxrv`QjneQ8-X>HghF8lNrkScRL{tL#uQGIE)Ggzf28F`v-!LyoWa`cIx_2 zJERQH$44kKd;&$T*L9Mu8PU(132{C?-p|}*<`GuO=GDKORi2(@3nY~b#N`X5d||jo zwHnEV@noKNtxokETX}9%N}j00E8uddOx}EduTp_sJFhQ{we8-v`7v~Lm&J7HjIeS- zz{MkgXakBN@7HRnp+}gUrf0@LkMd!2Pt!9Lo~CCwGMohd!W3k)2(rYDIo%BkAmG~0>*Tnd z7jZ)=Kc;cpEn$F!ra6XQzBI?mdY&36W{pPRL%2Kb*J=^0QF0owcE_jD8IEyUvQ{HR z3=mMvnbAya416dXICEx+6Qe*d7Y^BDkTXco-{=fQ$Yn6}0MD7ZO>7tgJ!F8CwlFI^ zmv%U@0mO?6#EZ_12l~N*LuVjrPQVBXZ72lYFY@55?YzWmdFh0!@QS9oe8)ih6T;1p z6HEr@6XIM>2$EM|!BF6asc@bCT9(ZxZ_cy9aa0Uystl?No}Puzp!mrdvdb7Un>JG% zp3cvZhkf`n#-0Ql;}7f<#s+PQrq$|H<P%0 zK_}s%D>OtmC`KgjNct5RCQw{vLSiLf*YO)y9#YLP$!v3E+tRyzwaxkfPoGP@Ezw zW?t2*#t8u@db<92eYAcLy7B3EZb5G+nK6YTT@lJtF|&{m264r0f3*YoK|&8PGkOb| z05w#V$%f%TiqLO@a56J!WP(Kqyn=l8(=XOTi8#Z!nU>8-U?PUqsy_&Y>eSD)%#NS; z?+quqa!gT_-L#z2$9R4^JG;N1p3Ve&ot@!Wu>F7umjZ)9 zfi{+oKhfGb@QzKWToX_r0s+}^lFP7aHL{!Z4MiLWf)GEWN!%vsxVwsP5&wXq?}eoei(PF<#`N!KFEo%>!Q=eh;Um8=n0u+M4rkmH_d1YtUWg= zW{B`mh1PPYM}~B*M)NR_xykT~l@kxxpcwwHu%zP6$zqI0U@ryHvb4|i3^3VPvbs21xNzu$`ITRgB9tE>kqdDjO4rVh>khUIxz(_O$~pJb_f&mYVEA%rwk`u(4#ud~ z{q;NQu3}My_4|5Q;xJY&SnA82Y7Nz#vR))=%NPHSmP?4fib)Ag3Yh&SG2?h}dF~ob zqH>hrvp)~x#09@$!H@^!(xT}^;#VvI+F_jUif-C6L0=L>9W3 z5a;&^apd=}6XLuC88i!Is0cs`(#qm>99CCRDlQ@~K@1WIMeF4S*=L@sScpEjZg}`D zK9Gv8Oc{_r@}t{>Fj7Ku0EiSv^_Pc$@L^mx<3e@DtwGmWi$_?*#Z z34~tOAx@|&>H1z6;)=Nh#$UH=0Y`QUR=JtGuJn0X>2&>y)z>W6!R3W>eqodVi|oQS z4Ko+6+7H?Ma5fKQ$rm2n{n=G6$q57}X^@?4g!1jgl$p{<6QC@j_l8xnS(mQ-)FuuY z_%?A|dvyyAY$CTZ9t?|x3Iyl*Tv@!1(kr!8(d>L(Eh!@?=a4Hf3G6Eh+-U*sihW;B z4XKq0Y~qxwWac(;MvNyGIilLWqH@hCmB$8E=`?;BmvrEQYFF>BsCd)cc@Rj;_%YtF&3em>^JmuG~}+ zEncs$i)`v41mQX?rozW{CkW!49O>kH`cj~MQr;O9mZx(uaG|S*b}lwq8pJ-kF7R!o zbY7j5kLO`wJYOs~FbblO0DOJJHl%5y(yCO`50>W{T3!T(YQA*&Ks(mIu$^;zt!933 zX%pu~q4)bwU>dQ!T;!%Ph!*)miB_hZ$AMBd*SjN9)Ss&R?T2DNo??KU&3a8^qMm{Q zvRp0vOvc_p$V~qb$v!QnJmDt9gqsjUhyX=P@Cftf{fR>6`MGQfSvVRYx1TWCa$>k# z`lQ2~Jhw5qzjxVRj4_oa!mhMxC&DYbsGQBEhba@vros>ubgxFS%hjr1 z>~TTvRqV3QyX@y(_OmYY8RmN4BUP}QSHfUV!L3lST!@QBIUp*?&HeiM#1Uz1_6T!m zZZ-;mfO$Q~MWQh$S)gzr%#wVuu7H;K)K{;oZ|o(F5?dim-QyQ@Cl3jaB3xXye4a-6 zFa_8`^DM#$n)U;xI2Y#LJp2ggK&12+#!qM=KrzmWF^*t3IH|RT90{7Sz5s2>Ksi70_lSDc0v%-_&RSgU=Y{s*d~anznpiF9wpRyH6h&Z;yqYR zL>@_V#>Zg+PY&0Z71gJIw1guN-@*qv6Z z)$F#B`)%$zop!s)f6m;*4~f%j_ImA33%P&J6Aq$fciU)4{0Y>x?VU!)LPJ0O1}${D zU8~V*p0VKvY&iLOJ(wt9_L zquD~kc@o@SN0H~)t@ci*(X`RX^$2AkI*m@J-RL3qpkG4fDMz^3ZlKW=UZ8@P80==Z zx6|rcXcQ%G07$f2jcx-z!!hGT99DbB-s#yaIrW1}hHbmq>!DHN&(bJ#>{hGMgtyU0 zw{9p%<+;fvr*3nHeXzV{yW428&j~!C6()dw!`f-=h*A>>U2WU8y<^#3kwQr5G};}@ zlHW@uE~oCL@7Rr2v)O2KFf(^TLh3p@wzbn~@fM@Nzaku3yS>xh+2KVa78`^0zT0kC zB5gGFJ$UZDWm$HEr6t5;;M!J;eWz^f9J}4LdM%sRONq-H*lF22J2r2CMOk5_Xmy*d zW~-a0vfcvaT03nul@wFyJoz?{V2@}wc3M15PL9sbP8(=PNF0NAmEGyuogHX|kT|`( zhfxy2gz2_g9Scq1%`*wBX?HqZ z8^O$gN}W!(VIgInw3>|_8|q)Ei6*lb$JzlxGu*7t71vXGd5 z?QXBz=~yUmuh<(bj@`DK4VW1+Wf;uUDXZ6PcG@U#uS1S~&)%_ix*ZgdSrm?@{&)-% z3uxQxwNU_p1^H64n>)=$yTy~ls%>{WcDvaTX|TxbR=3q|@9glTjDV6bomQ*Y0JK;x zTW`%?uhDEYWfGskJH1A`lO-*el0<9wS{;F-ToIjayV315M50_04ZGFo?TBXO#O&=@ zR^3v(Xe4=i`00Y z!~t=3I-N$R*A$5vm6|)e}5Vn)zOsPpnR>wPQEX%nvCXp=PjyHSAv7LNh<5w@H-BO$@3=qmi5Xp-5@$ zpwPW?FQSYmbb6g$8xn6FyU{~Y;6XTH$L@4m&2}3S{42uNWV74hUtZ!4ovzjDb(=dV zXUXj*a2Ni~(C>5`JIz)LN!qrWb{mF1b_1fYigu^nwVM`CW@NH0tI_WDcv4O$+io{@ zb~+uFtdObI?AZ;giDEZ)Z{6#uAM=H4b-O5rV}Cp!k6B;4oo*AwB$)%h==64WY$Vr4 z$F`bn6bJJe?9q)@r`bhubnOWyYum81+7=R10%lpa*+B^zlF`T&sh!SFx7V|g=)P@t zdKOBe^j4e)8qIdMZSSBYx^?+_Xf=8r*d|gJ0-W$-J9eXM_qr%sqbowrvCr?7^ zSj|SS(?a=VwAxm)(S?L`N&7vvRu7Kq=I?V=fjl%kF z+9;pMot>^_bwmnZ?9Fatr`1BrI+rP-Sjg?2riBWVzTL9AC}#n!PQ%*iS%?DrYr

    Xo?T(*~Y;0`0FCSY4ot)TzzxHyZ{2iCODItdrc48s%RwEvPTf{#Q@vS7Y}7eikwr&cp;PLSgYmw?cajNcsJvE zdwYSrj~^?S#9cs6)a4PyR>fvxnm;$E2kMv4wA-Y;?XR|VxFZO7ic4$4sJ)K^64|R~ zqJ*HwxHsb-h+WM`7OyNYGB47V8+9Wx(F9s|LdM!3?*kI`!BZu>-}{J{OU&eL^R*i- zXL2F#RoRu2dd3g%AVP;N1D$p2l9Jt6SaACZvT|MfX1Rx}>)5jM`ayzr#{mJp9`J$? zgxt%Z=3Tj$|iM89r>W(P9m-9bXdF&Ra2b_nuz|_C{bF6JFPwDmyu0F=MoR78wUwPWF znq@M3hZ>!q?t_TEa`K%CGOwOO8Go;pSG^!2ZVbIL<&EdCJz`>>U{AKp+c7rM{NH~P zAsw!U^fe%A`-HFN^2$Tf_B*8^mS1neRQ?Kp2i&?NG2vG#tQ^R$0%!Q>1agZ!#Irl zJU^T?&lR&JlJ4(tx8m!`Emb&H@(%5HZBA+5i; z9aQz>U~0X;w>xP}%nUSisL2V5^Tct_Y`E!Qprxgyqr-~T$xle&j$LkcB4BkzWkOf? z%N39Kcy?=4Lxx1aom3&g2J^hm1oYU8j#DG%FlJ8d);Vu|_$6*NR|c}^BW!ptN7z<{ z?tR;U|9D=K%w{&WKUWYr?@?5n7)MhA*YBSynVOPfX=!z5T3$E$`&zdyKm!g6K&v+9 z+LrC!m6TgS&gD<=EaibhLqk{b?93v~u>gKuCPaHHlVFd7#Q>`uk$c^MIS^OG%#QFz zF%{GOw2^ML)n!P^wbo=k2wMQP=aj0L@sLj;8QgZb`Jk$5Pph zfpu@5uYS!~&7C#wW;iWQ(}F`WiwH&z=))aPRMlRPmD#cSXQ%O59;RL6j{WKXWHq{p>D?ki6;$* zHx+Hq*!2Zh`^yh;7?J58y?MBx5`l*t)@zpI8ENgGqj_EK&h5Y*odHF+E3F;@rF6O7 zOB!=aOV%YqqhS?h=O<|7fw6F3u)493Ihpl5*SS27+74rWNLyLfhvQ}(XkEME<5cK4h>B@GHTV<9&FF8pc30!QKA)= zRN#==%pSQdEe@EZrhV4d)$Kf3>6KXJZ{@UJ(l~LS9MwKWQlD7Dwv-=DKKziMZh+N$ ztn*y-Oj9dJk4x5kZ*bmp3tZ)Z(Dzg`JPru9pQd0=AqQk~VS#!Hn5H_gz4I6pxm6awQ zq6pT|4{v}?cA2ft#C(?Bdd(+;;YK%)cix~WC+QhA9wcC8hpORVW%b06hQX*#u1 zeBLi4iDp+y4+EluzY;k(I31uC=+hzLYWU4S6*nDeo|T51kKd9D891N-07s8j1n-#kpbK+oFR*&%*J?No_NXf=PDjS|`&`)MnPN&iU+66PO0@H;u1m$lkVlFd5 zD2zY|v91)-PTIv7mmg@bd+R=&z-F1U+I^&nXt@~$e>^itS~{dYlR2Y?Qh1s{yUy1t zhG@BIA=Zdqf3Qb7VetE5X`3+&(mQkc>x1pvs&jkvlE}2xrKer-OxKXz>aIA+p~Q-< z=rKOXWNxHDj{pkaV}-iD$JBB7r_;McTIt1XSPvV-#?usL@3*TAT2hUL7VE_o>SILC z8f<`sgt$0N9(<3ZB*jNj{buLZw9gY8(;6v#@4WnjX@mQKo--(80yi>5dhG_#iDxYJ zB)OlEH^s_oLk2@Rjiai~dLsx&+7lUdP3iR{sJbm5C0}|T05?*tc6$q?C9v3uViz+` z-I;)!R8hr{D<~iHbJfB%xk(*0-Gz=81FVuX0>_LhgXeXxtaLj`mJ_{ZQ;S_Dzge35 zM*n(OAPRx|b#lS!BIIacFpE$}=qsPYGnbj(RhM*m%MtoyLaA13f_4e=yq#S+wApA% zy4FdfnOw?8@7?_=wb`&0C2)H+5=ek1(8fN~?$`K8p&~;%}az+oec>J73V#DBnZaSEEnF z?&DBhfp0Z`npbLE*C@-asST#*%k!8+ybcZy=Stc2H%XJNSE>Tqk=K&H%xEPA>pN_t z{I4g#{d0}Z@5U1VfF22V(&uxXxQ#ubKjiVs|XJcceiC%5&L^V}RQ zY<{QC^gj9yNppRi=+o@2EG|<8daW5Sc&R##P-l8^c`e4p%708K>0`H=yFQM$OuXFz zoxCOFHm_KA*(PpFU~0d2|2AWJR!N<~z21;3|M6PFuy*93Pk{I$5nKU;>=qTIb-cla z%m+N4ZjP7iY?Q)11km* z8`>Q~LtMLo%ts6e16#{C{M=^^xvo@5Na0Irni>k@t=g2ouWlx1Q^t!(9Di2o@P70# z;0%;x5k+LPi%$DB`N_X~@e<5a=&Wr6uH$|sSm4`hXcXDj2Ks4{$7f!+pi^ziqV7&B z&x@ZsN)w>wqhTPW{{Pr}@2@7i=6y6OMMR1MA|Oo^P^35MO}dD5kR~F%Nw1*@f;2-% zdhbnoCkoPgFCm29Lr($;NzRAoeV@-cf5KVke1F|5YtQVNedk{H%r(~)g#26Fo0G8Y zwwq=CcfHjwqi+CT{T6oes{JqL9;}8L)>C0n^A3IFq{FVUY%zqyUmd%9p|Vp=-7Jjk z_ME(NKN{#12_yT8*|id;*7J+Ex5HPFj;D{ekj>nBdLI_4P7RHW(rkq|IU7xc9DqEz zOLcdM@7vlsnzVa4B`9*+zuvMcGAVQttZHs3Y-ueklWrJg0^cX1pdT15?8}zt8Xj)a zpa1^#NzllHbKA_OV>}H&(qUsqd5*7QagP$furnGJbWb)86tRRic4pl7a~2kwL-sUjVOPZ z2WvJvS4Fe6b?S5NG;A{GW!uJS((2msX3<1%3*=(|4n6xZ=|0>lwaPF}#0ba^tqv=# zozT0?9#r|QWv?v0UuP2jI1nmEG?>jRpIN^H(qr|b^T-(z~(R#PU(O`WJf;J;QCA)`B z@+5cV0kY5L0uY}R5XFr>@c^{Jhw7<77UA<&}Lef#enQUE|!nk`zE zzYTP}R@zYaC6ON!EiNKcv{UzUR+N#cPUNxIZ2)C*-_j_;crL-~ss4KtejiEvKb55c ziqh%mC&~SOMdE5PDjO|9+P5Risp-;5#wK*T#w>+2RB}o5ZeDD8?*%^gC;G)KN)!=6 zQ{BjnMRjY;eka6ycU5r5?1=>Qzu3WbmgbB8Go&&9{4W!yZ&cK;L-X>>@B78_1G4`F zkL6kq5(gcxdLl5}S<_c}YrQoqPDI~jvCWM~y$SO1Wn{w8;LbA4za6NWO2kv}k1Kgc zx|SAif5aZ5mr69vkRKHHK@cPy>=AX3qq_oIPXN(nA8o z@C@|rTfLa-(TVy;;bJlQa{#%!fVdZMVaH92`41XrhifK`8oTIKO0Fflnk4^y7sbHSX-yWo_MkI`oh-I0bNjScYf@vEie1J(N;N3M^el?7r zq}5nk-qh6lbAZ8a=f6V3SVxX?a*j{`lE4@U3bzXjaQt*x!D zF1B}=4cFt^t}(7}sV$R|NWTs6;4htj8fU2Ypx92#jBL$3#?qg^C{SnckVDwBM>k5S zMx_k9N&7$7CYZXj?{Lw3-&H^EL;Cxl#oA4>%2eXs(=$HQFEUsx=PI8CS=rdhD{T~d zK_8|#zB&?%YhX)?k=_sY6g2;UM4Fojljdvd8cMn?kFoW=jqN8T0X$eeCcW22Yv6G# z@n!dNdpo@MT*h1opNRH?JKO_ISbgCR{QJl=J-?paDcKg>*m)=-)aW5U6Qs#iv97GP0mV1Y zVY=+!>ka8gE#l&aD&y>dM?$_ zw$`%R5CEmDoQ0OFQS($3lNHp@<5V!Yb4KIvxO?0fHL(!6RC_|SJQ zq&BQ+rNB#=U0AhBsC#~JIzs;W?VCC}gBlUsO=&C64#}u}<>gZRViWVi)8FP@8i~$_ zI8tQ`u?FYP!Y+HKy4KoC*j+W~gWGAx?eLB0Hj1ACD>9EHftIsFMui%=UB{LEJ4Y76 ze#>JU9PnO>PuQmN=k?NMi*1nr%8);^%21YAwW*tIMd>R;f;Gi{J?_4~Uj}>P^V>;wu3AWA(b?zU|`hZKv65sqRco zGe#kMwH&zu_P2{*XJf?B*13ENx60q>sHpWvwXd?QRZ|?BN^5Fd9PP(!7Xvso?^eBd z32+LtRoGp+kc^-oOr9aRi_%(qbua&Bz%Tn@bbkcg+t(FzEB@$bUOJy}^kVjt>+!j; zG9J~8Ca0hCxY_4vS8I8BQ*~D!e};X8O|RhQ;@JolVdPPAa)9Sr z^roI~ov|*!?JHQ7aDe@$U%^P&yHx;ck=FWhu`Ue%c#4 zKMRX%Dg|ub+YTJQLn3~xktXn(FR@Eb_hg2c1;hy#cAQz0VdcKKbK%ha^JG^OyM!-i zuY@#w8g%fUnJ-N08v-#IA(7@P#JLTq(!m``!#SJRdzTGZ1*eH$k=O0k!%Da;PM#8< zA7Ax*#`E8}(z%XT+zO>JfamAuqtWQh#jeXJdV2b(=;*HxH+_BORc;a)`Rw|>cAT%7 zdZn<`&}KuCm<0yQGK*0kmU>*)*;2@9rIS}c_icW+&$p)Xa`kx7x~8J7 zQPAAvvb#own8ob9B(AWX=&eNdrWDlwVgn{@EP8TmD0gcll!bJ{a73URvZFV?61tUk z>XTo_Ut;am)#mdnjdY8IwWAcU3E0kWERHM66&8J=`_!U|KmO9#oPb>NCk#$?x=PH# z`@NTnjl3=WGcn{Pr^e7xK{byFZjM>xmCrc%WV@Gn6nJLemr!_z&vyPeMgo~y>vL<+ z@{_((P18%O-Xb`Z`PHt#!cGFvtXEg@0jQte{lFW#F!LBhsPFSWo3cClp6pR=)z_xG zn_ncFDriit20SJ?ThqeR$?R}L@+O;rO+skI@n>w^E1))kU3Z%X*CT1~=_c-q(0e+a z)@vgXysGRBM&+9AUbrNROunm3;;43;sWp3YyS!m__P-ltQT__R@*v+B(YtlufIN#k z$-o~ZpM+8@g9f&rMH5ndk2(vZG}8sR1^=S_ur!{bE2R=SbC5MX_ukI=@fTIPrHP3V znJi{W%&h@ZznDc(!>vG#7K<@1br{aFu9ZLF54v2~9KX>%*he&V>pLxtrX)7Ii;CjM z&+H82e+EaFm{f0xBV`vulln=jI5U-jz>&uf3hd(NrmlKfZ+gXYaz+$`!%w4`=dEpH zVqPrKc0N9K;G$4NdMH@pyzRI->?*eRSeG1XF=Z6QU42NET^UU#aZ8ri=8fw5Hh(8x%x-mfIzm#$ z=>!TvNK^&&uCD)B@Ao-cv~f18FZ>1gaR<;qvgBZk%X;g_Uq?+X(j8}}^lOVF)2T1TTZi*Z+CLzHql+@;QLO~RqeugR+E)!ecWCX%b4 z32}aQi>ltdVFXO2SVZ*>vr*TKYY9AJu;^`S`!M>)yQH9{8cpl1y*A0 z-jT%4nDNAf1)7jBH##rECs)b9IFimy*v zV;;5!=w?AfLjHjpoacio&C?ObTP}FJ(HI+Jcd+H)W`~XQa?1&H#2_2%f~n>AIF43k z44@&~RSW5(`pZ;R0|!eyIQ2Q~s0Rfh7X88AE2p7ENF%Vt`OF{$ii>9My3CP*H=UCc z1mCCAeS$yu8xlpYyI5U$Nvz z!J=AcND_@@E<$4}aCtdQEB-Df&zbx1KFIAKfCjz2XccBZO*#?8zF1&!uvFx7-PKzA zqk*aK5!lN>2fp2<^Wzy~=#YhkQ&6Azwv?|h%#)xnlz}J+2${vAFFG#D%||cot0f&^ zonCEwHng3XKdGWHTBQB4slu2ARLr&KHGoJ6^ll&FRpgGYX+dU zhyw$*uAc3LRia_|YXpQBC*?$*3?0%G+xya`z=K_}D^Mb*IXwpBCL(I^iN>~#7tnUS z6GqMq8+ElPpOHZSJ~p&jtD?C&}Qn(W`4Z-x7_rwDtyE{V(=J)t;&UCG~j=4uQna7|nnpwls5a z1tb8*$CK_cQ;9Lc$^l>RhuXW#@qS3J5qfaHk(l15?2&x`$KA?8sznkDRst4~p$rPK z9ljK(1LCL(siir_R{4!eP7zh6oxasEojt(@%8K7jB8ME;4Y3}-0`5q6CwQ6EwZ5=n z)0`MvwXefe>u~&Fc3t-loT;}#G1Rp0PI8znbXYlzA0<1?yU>exOt>l^`R^q+o48$Z z<2&#v%`mJ-@6fE)ndD|}XQ2B5jo0OGpm*2Vlpt^G`keO)KIZcn*Z2xU^yHl%EpZX4 zRff|uGaVjRFB9B1^>Vz<9;BKFpqYGCzu0dm_3ij4Tz*IIAoSh}yiXY9!Vo*42)(iOQ zq)mNxATAb&THag5dbh4m37Q3LN%8!mkUIJluf4J`Htg!3;sxQ?k}Px`4YCAh)ywIG z!Uyo!{nRFUp|e37^XsD{nS@L};J9EbePvC})frYfBV(WA*w3vwJJd^R)!#)LpTQYj zV}kB&R?nO#FcyC+GY%kN)y-&uXs$EJKJj!F>reCJ~v@DvkYw zMDbv@@MZxAU)5bQ!5`^BV#wV)SIevlM3VST<}TdsARV*h>BWXO3J!@@4&1pY0Q(%9 zd#|7iD9nOvxBE45JCm>oUt01Nok;WKa=C9j#xTTrw6H zB7aMPuSh7EZIV-LhI=9y>zWM_ARd{WWkJwd{g~v|iKzKy#=u$%1MkN3HRi6CCIudG z{N|gdxT{q6vG!ebNe&Pj#SFt8lDfG2Z`g4#j_q`vf-x|E1T!x7dEWKvy5QepJL6G0 zppbz;U}#Dm=Jnw(oOMWCfd#7vM`(PfdQ%sy}5`0vSxIFaJg+|^&96n9lm z4q&*vS}|qQZ0F{l2ZNu_NkOI(#|NpjW4;I9lxw!uf5CF$c0wgzlcQxa1UCpV=kT*M zf?)EuNjtfZW##Erzn1!Gdfg*KJ=Et=(y|7LculYL)Vm%1?g#lCZ`WLgaYl!Z0+*8i>j@Ks8+553j61G);kW_PXntV zv9THs^UkYlSk%hkPwO11lJn!D;VwoQ=hw6%cITOrFShP_PKo4ZFx1zlIg8``L@VOBrw0QU z&WeCxPTXtv$E9=X&mc+d8|A_WW_4i=qkk~R=x?*P6M4G{3p1}~UX;z5qj1<458UBo z;H)}`s`s@>5l6dT3WRV@WbWM}ShI$7OzaOX)9Y;QX#|tL@5^QGE#pyC_|IX{U$td+ zxNfUXKhO4qCN5&KLuI#tldf-GACcvL#rnB^6wsc_vO|gZ2L4bYvZ&r}dyVKv-0Wg` z#;9Ahh5^IjGUw0SM=5I@9!xKLgv#8_D7_uZ^ zK!VKU*1)YmoxBOdPr-7N4dYn{6vV(!a}h)Z-u(7l3i2JoLuBNk(039~zR(e}XqMHi zT#k~0pSVtdEF-&5k~ARYDIKl`I;IR{PRuF_qs28i*Re32BUNgHIC2G$R%=s=$Cv#B zhELAk?8fEgv35-%KiK^KKBW?q>g+Pd;;1AD9!=#fsx`T6qB zToRaenT^C{`2pdzhO!@zeNdsiEn2l59bu4mcFng&Y(Z`t$K*1$ARkFwLC*3Zhxd}J zzmsXi6Mro|Ju=ZDS30k2eq!8JR}fuv!?>9QEiDaC*nMH`e`^6I9qWH0a@G>@m&3fx z%ra4=T9YpOLD@ifl=}FBC;FMQ%I1rMeFk<76~sQj?MGN_MtOOYkNw|-segAfenz-jN;wMY$ z1Ha5xJxyz>^*SoR+uM=e;Lu@b{in~8Itig7#ueMrl% z6{#72W|Tf}!KVD<(ti8Z6!PLw;%ku0V#idr7N;r@Axu=wPlRw2VCoiYSJNyu9hrBkC_?`lg-mAl^>*7^_E#YYBs1obcI-{&L}iR&BM6opND@mXQoT=f98x zQTuwYh7N6;kq;j=$FkeMmt;zhJ_sYFEh-=Act%DRtCc?GYBw~?LNSsB4kPW3s;kRQ zLi$~`F>7Wc0PmpRsd<2%Djb#ovqlpZL zLdPmwVPE71lItZM&Qq$aik|mGP^>iAA@^qwc1Dbs>y?}1dx#MS8G+PYTU>M3mrDJL z0RyYJW|#+ELKmefh&sVfw((FR<&h8IL#YSvsFS>y z`DV#QXPjA_M)qeN9$T{VUh}qZcH3kFd59G%bdAIR)I~`nH<$F>9UMf+=%pKTa}5v6 z$sA~bCqvAKU+jEqupq7LIGaFp&bNBA<{nQ-6D6RHpst{pGH|(?H~KecIqyJyVpP*t zB>i&8p{a(g_sb1C`F007HNBd7^2G$o8*r`gXe=VytfR={K)e9IS+2=sdNtVtFCubE z&>*X423J~-1|+Z*N>@Syt-g!TRk_40i(GpIwCG<2^ks&UFBF)ASJYDi{TGG31JJ#W z5F*3&svjALV{NCrd; z;*W?6ZmMBeUvGZo(!Ls-ChVX0-KA+696?4WTe-$5l*NWTDU5u9GIgeZF1FbzRu(=K zO+Ntq{1JRAwP}VCYFt7I|v9sLYKe!o#Rrw0_hHORlGri<~!R|D&O*Wi3 zxGjzC*VQc+TH866I{Q-*^u2dovd*vKoV=*3+I}N^3u#kd1NphMPj>T{n-d;>7|TQ; zdqf%9?N5gP%*xU3UCgK{|CuwtY|wosW1~9JCm|uq^D5e&cRt?uVYmEU*{(!KXOrut z8vh@QC8#h3#m|WH#R{3Aj#dkXJ-`=5aeP|NkJl&ZM{HhCuas;i!ZfAN(PAach;H>` z6Zb7&kTkAaGZ2T_!DsFJg6$nf6=gaWk@I_VRqK~*D4CsghWyW$7#SJ284G{S?APeD z{$t$9blSA{V;ScWKIaSn?bdm&q2UCXR-bWb@k&6Cm7*eHB72Opqa*rcnoh#7>M%xk zeg?T~cGWIXjorY4l#MVc6*28{GqW^9{p^JHMiNC*3m zoeq9>+h^k7c{= zmvD*?JgtynY=H6Tu*do$BVl0F>v|vaEJE@e*R+P|!#6jYC;aVamU5gVvnudL z_LVIDT4$R=UT@@pG;*30RKD6tymhu!ak=C2JXV8j`LC$&4i!lJyxP~iGtSYOUhp*6 zr{m*V<^0oaKEL%4DNM|-9*3?h%xGrwT|gFj`Sk#66|L5zhSKU0+xKJk4!Gw*8n4uhv2t-;gc+dS-kv z1V69=PbqDHhwuE6(3j)Yf2m}{57|nw$qBNAx5YNET=e+kE(Sn>K1jBp_Nw3X+8seK zGa8x~E}QG?`7%&MJ-!pYlHVII-U9n&aUN-dvxTBZ3zY6lZxkxD(r>O6Xm)nAiVcz_ z?3lS(YQUQ|ek`F*LQxAHMd&2=8Yf5FPk;KiC{R*=8mB`rM**u{?R;yymfa$JD_@3l ze9@7RSV{B=@DVR|?ww0bDnxQz=3pUuOd^CKny2+_u5h36a;}{jB8J~tOcGp)ND=c` z6CH-D_|A@FkI9@BU-9y`ZhlS7)QgU)S!Yai-gAgV4rC&r~zt zgCUpsLZ~5K>usNLdyxX?N6tBp??6>`oMwim>&pcQ{|yUVy(_??^ubL%AyCd|a8yxJh!v z(C@q^5IU0?o!#7ZeR9exb4lBL?_H+XNMY7HPM#{0*9Qm+Sc?oxtH(>j62)=p9%W6* z-&Zj(5MZKq(%-#y)bme@NErv6T2i28X6AQSJKtKqf_%&4^C`$dD#Bh^C{g!UW&Zwu0CKo%R4DX5uBf;vSPl7$EK1t$uROEiJ3I4CR5f;+Q8hR}9*3zcmPPrKvvBA8qlUoPQ+6KG z<4b6$iRCpWPvYFq>N#^wT`#Vk z{?7+%L6GJds*2rMvR1owjMM^eA-k&-=dq)cdy;HDDsm5OGBn z3lX7!9{3l+Eq;vh+4*P^>Wa8ji^DS=s@txY@sej5E{}ZKlQ73uS0{OQj?g`9Aek$9 z(!L~EQx$GQb5yEs0PCg1$|gKu)D=K8*ypF9V!eXBYmOmi4oVX-x`=JW%#h>@+y6=y znh^ox+tVa~-T_8A4<*8*e|Ks7%d2HjVR1&LsJ$IcaF#xqb-bnwe*KV?=jtDNv4=ta zCu>!+v+ZwTr-qoji7_o|F(p+9WqLS|k) zRy5!*8&hzCX(>teYduv}Zmy>r1kUWcCQ<4=3O6Km*WLp)>UM=o@nBr>Pm4}FzX z^GI~4M&OjfCg+3S>;zr!%H0L*1~{6b7ne%{g^pU1sM5cj#QBH0Xf2FNl?u~;piug_ zQOpg(V+e1{ir7|a24ZK{uXwqcB|9}i4``&q4Nlr7=ky?RjGk%d@$cw*dpnw>#ey^b$+A-syW5 z!+8&psi7qQRP4t+GSx8SGQ*TKgVkB_`?w;bs<_-#Er6^|QQ$#a8pvc~nX=LNA9{8V zuezyxu&4cdvnVywG&T3k73H#oDTdea1D!ecp^W7ltm0C8@2ecEekG!BAPXL!()Y`4 zq}?of<`9L13U9-J&oZm6-Y9<(BXlnR2fSlB&$X_Vb;Po=V%!6#KuOd}x0m$?@1c0PCu0nwIj ze!i7l=Hy`i>|e`mPHLj{8l$6;Z{D@@tyVbPW1_tMU)ymWQ~l1@IZF2goFeCFRnO=> zix?)u3%x%*BjmKQc#O%m*MF1031v^GyvZufN7bg2Z|2VEZN}RIpU?YdURyukf_}Gh z9&I&vwfps?o^$ahJz2MOO_TE?%ea%X{ky*#&mvA{Pm_s86@BIJ^1cL!$(>On5FLB> zWQ$<$6z*wqS)bD>BXG{8l_bw$lRx)gtLdHRvKlXfbw`Jc47`MI+G4pCzXuXTkIW>_ z>23>HV3(|}+Z#G0YL`Ag1k}mtm=2ve<`_5_@Fv*I3eV6!qM0`FRXn3Py|May;J?k@ zhC3sN5-(dp0#b8v%POSR;)5zG)Eb;iRQ7doQNC|Z8TIs@##3=_|6$Qs5Wj(pnMNfu zOE;Vq5Ub36VdnY4W#r?lbY%3SvOe9b?5IHk$+B{&r zj#=NKQO&X(-n<$e9Sldeoz=M|P`w=D+CMnBR15vT+r7cHk+}{p3yU|+xG1NPDvW~z z=@Sq9p2p7E#5^arlzzeaP$#HfA(VZD=_c#deM>bt=4WWrLiJyEgFA(>Wz~yy+YrK2 zpFbxg66gI?HBlmS`g#636Y`H8N~_jw9>}CByYDSXmVwgO_@(i6P%g%QdVuMp<#ScC#F0-Zb+O*Nh)F-Z*$B8*yKD0 zhsca)t0%RzCxj8)W|h55xy)@FA|H}MKc&qWzvKUJEdVpW)yt?hxqhV0VyN=<8NvF| zQD9*6I0nM#pPgo7ZF7v|@fL+??pb+z1=x7+NPumuB@Lo2vK^xOHaR)7Gt1e7>W5-J)Wu0&ri{t)zh1uy$_&&b2ZlJKR<3Kv1*vYvtdGT-X<{UPDRzvx-qB_ z>$>sNa`;E5p@NavRqYhq!B7g)X=w?P?m0WN!}B^Ek8$T0i!;?kZEe=0Uz3xJCb=SC z%o1%RZ(Za%99vXLcvO^?W%45$?V-Ig%GS@5N$seIzZdIEUVgi7ooJiuEcg zUQD+)KbxsiD-e{qWiMI*K!i2*WoBj$ovCphsm#07;{1XNW~R|GHeXvq6BFt-i5u5V z#QM@Ig$OsoAGlF(qW$0Tu|u7@ZTebv{`TIteU(~!8!%9rFd9wUi5`~QfhN`-4-;{$ z3qw*hED@lnuzH&SKKl_mMt|}cE2}DV{)m^7G|3rt07^i$zh_bPZtlKbA{c%ZR#w)P3-I#Ru!uIdyyi;D8-4XI zC$q2mrMFSq8a>Q{G}{bFlgvoI*H;_{??^LaWJ~O^jSJZns<=w-ITJP?7>|2 z%1L@*xsAv5^m{R_O~pK9NBi;{>Lb#O4(hM+_%QMQe0@DsiDeFA)FG6B^r|x`!#4QK z=tMM=72PLjWPS*J{ww^Z#nQAj*(dB$FX6XDVhWiyU~?ch`EHB#S`4t=dq(%LLe8IG zMcK8YsWY4@CBxtih;}TkBM`d2ihJRytCw1*bm#oe#AT!|v0o8WnDpJb)HhM}3dQuK zX?kl({-QY5Y?Q5{^!8tQXYMGz{t9b(VdgoK^cWEWAv(eZ^L4!~;~lW~@86b|i&u8! zFU@P;UP0<~c=hqfO7qvpv#@%i21^Xu6f*C9xXi%|{yrp8CE>x%>6o0H#aObgN!Hc% z+u)s9V8tEr#^a?D2be{cANknOSXKF}41NT{)8P>xAb3e2Jx2doMvPm1dWrs$2}nnX zIT^3Av39gw;8~C`pW`R5mnJX5RXZ`(5uwlm#?4t8lhHpv0OVV0teZG(}RQ z3^<;CT<;o*Y|_2>j`Nb(wLSQ03dC~58hw|bCA}3~Mxk5-yidg4}barhI&fYwBIZ*Cz zX=(JBCMl5L%>>7-flt$;2y3vOI0n28`xKFZscEAHbiFD=Kj{!+q+_Z|_c}%KOW>`` z^75Cw&}R1?B*MX9)L7DGD5^-X(IEa7KqXq2Rj7r_vU;~qhfto~M&1E1uOg_+F_VJH zO#6s-M*Fc;1YO1w2dhw?UQVI#%LhLhj8Wn-!fL|FTf@>F-q4uTjo4h^_84Qvt_%?X zF!A_1C9f@Jt-9-5;$(tGSWHFJ>z#9}RRO^~cd?x+(6<7#@2Pi+y+IV|0xa+n5 z;V3>zT^yZPXkw`8+&`P@J%%;8&OtC0FYf{X6Q!s3ahLaO3ZMEuAOEa;wE1SITxc&s z!Kq#|MWE%LH-3fo;K6NHz?;aA2VH(0mc~c9y%Nue`m-V^YF$uS9dZDdFieS)Pko66yo1MQx68zq*E0?N?K6oR4JP=?opV&~D3*!6y7d>D(?( zdqf})_?{0}m#$cDt~!nk63Rv|&j<@Hju(0K_bIwyJuy)=^qU%|$nvvpBB{7;{?Z$lj<_Px3;jPgt9j>cJ-s!}5H@ck@ z@&nk^O=H@-)3c3FmP=gac{4SN;{{!G5V=M{QU=aZ?Uuuc~={sOo51VP=N6vuOloAb8mgy z0NuE_zTL{zz|{c^cpTnK3cDQ6j&0Et1ps8Z?UuaJYG&L@<-f{Whv^dONk^Sc?2BF^ zn62}NY=wc}sY8doO;G+L0zj)fH=$`LpUOHnZ}U58MOkec%nrd$N65ewu$&v=ls`J6} z!th_R|I)bGzaSu#K|I&MzfC0icDIx3;ltak06?^X0Z-sYAFc!^1=esWsW__|O)O!V zz-tFNIh(%r9mL>YLcTGy-vIz-(sWpaD3+G8raNTv=qg@oreQ~3d_l!>%fD49+|>zE zz6VI;3==BFy@6#fqsG){K02PjPKFOIm=VPLlERbY-(>P5llKq>udoTTe6tf2y*J>KsZiz-uHn0%8yH6|nl|vB z?+pt9;0xpeI-Km^>>+ibhAF11HGHJ_XB}ypnH^>*c2zs8!&FsP{_!SD<38V+!X)m$ zj2!a6nrIjbp3;b%-j#U^l2fp&_}Wr>A0P{a)LxuVRjKN`uT2LcU}50^VFn5fcl0yj!X6xE+4Q8XV-=2KnU?4upshTM+U zew)M!Dwv1P*hzfI$h!UDL~X(WaVvxpz@nmIwfG}>`sO)2q#dkiS0$9>dNic?o7y|~ zy=HIy*FyJki!xELSKhLY*jrKJIou~cL;y8?$bW>o=nGaErXgu@6`_T;AiEXsuYx(o z*LxA=$A;T!W}$K{|M2z)v#X@8g&om2f%IQh)=0edVIQF9Ao!1Zmu=>ov!OgUV&L7) zv&7)qR)%lr!asfVEBkkD|3@rL$a?TEts#OcJtCc9M4gs;b|o=e@qNsHBx;1DyKz)s zT)eMpj}rK9am$-}2ZGpj|0Da98=r7QvAfLh)sBZrp;7io4b)9_DQWPC@L$VG4_U{% zpgDdpxe|*~OxFWkqUdZ|%tzB8m z&BVp9@jI--kMxL|v-3MkiT?HXotxkJio4m~(|(z;t&-~E!fZoZR9Z{_H^0>AyR!d{ zNS}%{Yn;Ec}iC`|UuI zA*W`j;*)<(eORIHui{zy$RVjUK|@M6K>6R3^CxhHEsM2|o4&kgVo$EocnRKo7kZ|y zRYmjkU-v)HqZ3-Hi3Ojyjiv2S%i)u3B~zJ|nw`JP{zoV(R_oH?_umccoE3Z4X%Q;L z9xc-UJ)pdI-^Yn8)>7V$CMu*3)-c&7{$0esL3=!?p(JL&Bl;4ty6(ERi~84a!hv>vH7(rWdQ3>@JbMECtoc=} zz`r>=)HXF|pP>sMiTe6c;eR8wBOP|sWw=nweE|q-=6}$bN+Yp;P3xu>HjSK|8>c_;z!fJwSfOuIQ0LqrIQ(b4c?uY>J7|>EsCqv+9F5pZ9;19EQIe~JC#jUCq4pja z8?@1gbx7oTHNfn@V5?8eD%v{7Z9LUrn0~nEpvxcvl&7Hcq;!xa15!1Vc%Mtt!weeGD5I60kA9Grs~^h7K5c%Nu4&fU1*ycW&3pS$*r?6rF1 z<>+l&$2vM8BkrhZ=gTY2nEq3rfW@d}-mWtxakh`XVq*PIfSV~!kQ5$cEoSU6`x6Q0 zt0=u=+%el+%oD$X((>~1W1De}MVn@xEZ)}L>yBj;KNBOPtL5mLYE!VBSx!k-K=;V8 zjmvVwqK`4&6Jk0m>}t6H!=urnD}h04>(5sv$(cnwCW3E>u2UtlU#~6TuzoTpCmXlU z-7hq|I31^Tjs!LqBO!AEJ@g^*Y)TjVi%yGCdS0nNfFMTCKZ$)CQ&|-|9ar^P3_Am% z)XfLpt8^&mR(~H!vmSvejnoGPyuOkBb(ThA8L0t6n9-a$T?4N}iLT=E5trCTTS$cl zh~L4wb6{WN_dFx%2V$VF=H8RTrA;Ju^yYqU?rded&+YMcT%@Z6zll>l6fDwO7n@c%jr_7~*e$H2$-!6&94WAcfT-r0HScZ4mZ5*_8J^uLG)O@H<=}NVolK(!;)5&+e zdUi-v6WVbc`7`xsiEWRJ;HC_2zkNCM+h&tUg~JJ1pZ)85FY;oIAcivjElMZJU`s?JBdE1?mEs>-unr=+Q~LDd@p-|OrBp!0BMjj2eM#+$g9-YJAva; z_@Te&p=XfKMN6XiB5}Yw%yr$-H6shW##xMC(JDVKO z;1K;FjnF5qvlvpDOE3_U`s4LMo)@rBF9rVLa_wenYu<2*sh}pRw{C7Ez<#m>@AA8a z;W3CiEr6p_=*#t}u-^0GVkuiqaj;?ul)-vBbm&Z~fywsyh4^J16EQxxtzloltuI<; zS73AI4+oB`ITwLUp0@6Eb&{)aW*hVUITT6doQ~g<>M3h@y*@&`gpw-um~ZnvzW%fm zE(VRrQLdcBZHY}QT!;aTv3BVZ&c9n+( z_NE8jD>aq%WALj9q-~yi@}QlO3_Q}GnI5{wP;41N-q0(J7$MDQazug7UsTu7n)5!LkP*l)&^%Yil-Eb==R4tFljDJNeJVHzkfAOBA-1 zS1LkQdd6|6hJMZbAFYaTa_~C0IH1;YR1^kAvn?SrlLPjhj8lV}Tqp5SkPCX(F$Hc3 z@}i#S7yQfZPH9k0uXnf;!Q+yu(((XQJ_y%hv4$CR!puV{y1p`1W?jL0b70v&)dHjA zccfOD`YqZ;UL!Ou8+zeHhad3JN`snePM8yT6RVcj96Hyem6F%Iy4H_tx7^`5t|4){ zV_@RN-zg!)(y7r9KY@NRFy1cEO1{VKkAYI``u}b}3p$;4*gJIz^2BBwcfj%#Fh|g~ z3Ep_`t?3N^wZHC2I7FGz8@{4}_>xX`e4N$E0`y0TA7=`d2AY{^oemwiRGBm?Vf>XX zUt?l)%0$s!XG~8|1I0TI`rBiWs|`*QuVcNWXf-4w%8hHfPRXTqr@1D*EPKmmc{{G# zyj}`bgc2dScwWBb;&sP%`R~j%ZsnBY9DTu=a4kmfk=OK5#eo=8)Z}fAvvuy@xx zaph}5!oz*1gC?f~QO76zhq8VJd$N30#OXVMK>x}8qLp3RYgaTOFBf>beAt!;((EAW z@~0cb4%|;CsA3k+|9stL?zZM@Wo30?M1JL-d1=V_e=+x7VNG@2zvycNL;(v$I;enj z=|X@Ah$u*t-bK1JsR2TQ3W(I8H0izfUPA-~l-@f5fzT6r0trdZ#`pXF&wkFuIhT9i zj;xh6=3H}(@f&r4B#C9?_Z0Eohf(eb8xj!p3TI*KqANLSC~QU|CIaAyy}2bJbnl-p zVqr0W!}q3Pb#`NoYK24TYd#u?sS0#N%$HGhz)@Ws0*_}6P}vx=s`4Sw?%lk(yR;V{ z7t=~0kw>`r*g&tsXweyvKMdf9ScedMnBh8;9^##e`LoQ9sd7_h3tsKB*R6vpw%N)v zYnt+VyZs``eqEwLE&e-Gs*y`T$qVl{QyAC++8gI~amXqtg(+X*JHEo2hHz#pG4wEq!tt^^r z(WI?Q#1Nf3`S*X!`Rr(af1JS+O^W1r^$ns5(B#x=8z>uWr-Hd#cN(iQyZ9bNLVYT&W1+UX$opthYI zN&yFKbD2HV5S0r;o~uf_AM-#>JntNXXG_&^VI2OS+TW>h2HrwHpNY$=bivbF)VMSs z9I14Pn6|}JKR8a}=#Lz4HPY@&>#2~1Xgb(Az_C5^t)RVz>5X8r|0gU361sNBa=Kc5{%NGsQB!Ry|hp> z|M@LiI&uy>Tkqk!Bk};}lA^&g;_q$++&uOf9a7R^W1z|D#jYwg!1`U{cHA=Ox-*7viO ze9k4YC#iRkBehNzgHU2GSbA8SUfB8F=Zw?gl)f=-jNJPz2QnMvcYnOH(-7UJ&(C9r zA;S7rEv4q^(U6o?ke~BX-#1|kwTDPWS8`nj0=zZGPgX41`4TQXPv<@OA!&(M&HdxS z*3d4m!_H{#{1kdVTJnV>(|LGdMq%Oc$9&@BIf~5(uQ+Y-Pgoxmx~H~cz?(sw5YK_8 z2Su9>!x@8sEYJ|zWU;YwtpTtnEGi0ow`)x&e}3=e{c>!_tVy*NJAj^nQT}v)mF$1c zkAH&Op0qhh@rgIS!>Y2ORR^ng{Bs{HA51};r}?$ubS7?io1W~8S)gxY%SNzFdDN1cFT02JhEjN!psatl zeDgPd!-{I=yAhxId6%TOuu2B`09tvJwEsidP)b`A{aA2Ug`acR!n9%wG+NHe zNmu%K&1`e85JZvQtZ_5R)Ooa7n6Nbf(KVa^&0?(+a=#Xnq_#s;&#pXKu&uTAa{hz2in|NT9Lcr-;O|4uiyewr ztOIeve34iF8w(igQ2~=d$fF+W{Vd!})0=tqw3Xj-UuqF6FU4fFZ>|oj=}& z^IOX8cN&Oq1;WfwXn3Uc0Bco16cjZAOIB zeb$RBeEPlD2h6Hm3D}(qcmxt`Dm%xV)hNWrH=W|<)*djFR}Finag3pii&69xVyEGJ z;GdBgepXngZ=Jewas*oX6ojK@5ql!38(R*K_8k?!S=E4bZ7jb6f5 z)k>bWVquKXEp+hM=oDtLCEauEppL9gIed9NmeJq+6%1AHGYVK&Hw3vPh zofRoZBP%6X_@O3o6moK`CMbwyhD{F!WEYgYC2Tt}5E^uLv&TA+<&j=DXtM&|Y*k!{ zPUBA1Q4-W+Bcpss_dS}mLw^2gCQ@OOON^Z|Kic)Tr{>NBfnYZ18LJw3Epjxey=}h> zIOd|$Ti&m@SnE@59&HZXkSb{yZGTzF?NE_Qyptf(Sa$lB5b;}quDwiiSWLe@7jH&@ z-Zg}t+(NaCDWodGam$1K!1;O)x3-oxpABo*mZ+kN8I{#|KDhTbT#r+>!j|x@U2XCG zLiAA)=X9GeY0X_<2rY{*F-#BB?H)UMH~nX0W36%1XVah?O*s-F{BAx~&do%;*ky?^ zMMMGFw9jrD!Y)|2&Hy^z37S6~*6=MCT&(rz-4-y z&cUBp=b~GdE{1=dFEo*BHhmazI9BtzZw(GUF|PUn>74JY zkxxK7eNOt)=F%vPFQgX?e&jNnOnoR=2-M09Wv~Luoh|hh&EbI1GbWIsL86-#0Ug$e z&4q1Wg2b4dogj*@YU&kI9>)g&vWA=NtQJ(^u4X3*x(|h1X89|NELLv)%m(Jq3rB=DE!+U!`-xvcE1-rLWXDhksAl{bdiozg)&$Vqopt79W|#NBZO zF=l%*GD&DJLmu3@hl@Gi>w;}v@!aO;d%Y{!zMZ^*tI#X_X$~il!j3gh3IdKhU?8Gj z(kLd`@HS7#$18Z7Q{B^s&kr~w+0!d4vNOG#e87%-|D znuzjN93~eXgk89Hj1@Moi+|g8Ai%)w#F|yUGCo}B?cz>S9LkUgnvY@Ezk8(BX$;ga zWfS+i1>qlsnf}VOxuU9P%5W?LNY2rt-64vo>yNd+ih4#MWE{%$KkdEd=n#CF18pO} zzrU&t#EIY7$TwQbb9t%8=!m+y_r`G)pJ(k9zCMty&7g%>%oFDi{T-+Eq(YQ^cX@#- zwu9hzi{DXvZVgWEc)0rd7L%s@#%3<9Rg>TEI?=*R=yv!6wV15R?DSSpzruKSmNg}9 zesFG*xgRpk|7a-ycO@5W;-3sLE-fk=!64@58gnac_6~Ff%0{i^Ox@-4GbQo5VjT07 z6?NuU-ZdxQ7fe)Lm9Z=d??oq9YcN-T7YCP{(p!NB6Lw_W%v*g`a&%oimCo0z4}SQuqd&P)uybhWUg7Tn#Ex-x%K_%9rOZAt@VUzh@6e>(Yh=4`W0`T*yn_> zrG+Llh_gA;Z^wc_&3PpVz5B?4hmN5)@9Pa~tRYHv>J%j-G3CDSOie{w@z0Yv>9rnJ z)BM({ggr}bIz~-=e~i?6c8Fi}k#x87K-6uR8Q}iZM4@7Ud02a|FH0bPB#wM?5?46S z1Q~6=Jy1(C!phRPt?rSj_sg-u(Fx~j^_)=oJSn9_+z42QXa%qCUI}1Bo@CuXfVVso zUD)UBPR~jUfephE#qx=RA>ccu4)RFU4=*RhsR1349+gr#L{S&gwI2)hzzy@cE3}FB$oL+)^ubih zFg~C7qM7jPc9)jImR|{n%Y1v+rgEzXK^@EPJ+cpl1RzKaHI>>1gOuc>Q|nwhX2|{* z54EUf8I$ZgQ}+bRzoXNu{g2i&-!GhgrKB-yf6L%HKpFicHs;7i z*{PX3{rP2UehE7t!Gl*Ts0C(b+~c?f0mB)R3R#7Q?ov}BC2>cwr*DOp;E5!|-NiO= z7w+&yofW^Y?)0hY6e&et-;mK1c65~9Ka81!_mX@U;b1xlF~F$Ze%8kgy{G-YEWt!N8$FRCR?Y^_r%=E>lPSix?g9-z zcPAgYcZ6KaqJiD?ceBR1=WlLpx5sDtxVtd#mpA!(Ur!j%Ciz# z>a~5+Z{j-&EQ}N7d&e-w=K2ebAW>7{-WcFF+Oj?(XV9+SoWSP2eZXGO3-~oyVApPv zYMbZk3fa~8)J@BJ{(F5X%X3Sm9i?892ceID3E{y$$!zM)_70H;dC)dhG5^^67gvB_ zWF$4^@%V!Ko8k2{fXqNanp2??(77G*cH|)F_5n+-&TPZROua;AjR#uI?yW^{HM|i|BeXViVyhg#J zz)%y_{%I;)4?;bEoQ1dnB<&Qa?oH|^{w%$#S6m_R+kI9laiMUwW%n-2`^7ey#)|I? zIbFAO^%&&I+=NDl4?G}(IaBo$!3wfQ1c3V$v#X`!bNc=KI0NjJYDuWk)BjWliZD_%TkHSywOlZf%nGoKb` z7k6Ct=#3&Q=fcRuUvYKQc1f_;L&i@2swVztA5|!VfX*0D?fOlQCs}PdpSHOxE`d4l z59angJ#Vza@EtLe;k9L@0@(T;FM5T?S|d_*7`Z;jhQ-xbK~P2dpY%&5_w+(`cd|(q0m~^%x|xZNL7MFZ=uj4k zsFn6!2z9r$9vPDk*m{a|$P79lmdUcq)m4_19afx|*#2^#uCUnebC81~K$2X8e<(R2 z_&<5tn*c;#;X^G1mCzYPD+mU#Z)>FdkNffn_Ho-tp%t_@TF%PQxV2R>xf4~XgokmI znb#+t1yZOCmHYNL1~q&_q&e*j<~~Zi$-!;p_n0NtSHI?M;KEm%HogdFJ|(-ejKx+T z%#4S+Co$w)c8Z!K@fwuLDQKx4VSHQJXvX?&r30MX=J$l&@p2Z0Y8R z<*iA1K%IM1YWid$NPC*=cw1~0mRGL{)wQd@vIq6{)<9AD$Y^KVuXK(fsa_ zwTY8i`t?n1qUe~6A*`R!B~}>A`aLBxOW3zi%(nOtRPPQ;(OzwjZ*xoV&`*d_RXFMt z^nT{G`~j-he!jl>fKG;wdqJ(?a!cF!HY?w&CvKa|ACC=C#1^`H?|<%J>E-nKDLj_& zuuY>n0Nvt_NF{dlixdPKAKT%7t!nG`x)%&*tsWrS|7>`_?>}L0eA}%qAdCzg7j+uc zAzQD<`kGkv^NwHN}tbRM5141X& zxraD6{|e)TjFmco0tAa27s1%a+Ci_h{j8SSY{#m`_bd))5mANxg-C^WD|!%ETZZqK zXc1?7_)N<@ckkkN$BJgV-+AoL1>?ara5KksC%V?QXR`5@76v3@DNyb-XJa$JEbUYJ zPP>Jaf=7B+^wARAQ5WcjDJYe+`>cdUtI0`8(=X_w_@3+5y{z<~4X=Twrk%S@_42B9 zpBq^Qr7BW&(Y@NG)3w;#a=42_`mLWORkk120MFNXS%e|6XblnFfV>!?+r#TFGj%30 z^*uKoDeE@U6uqHdBB|I(nP7@z@~XRg&RI3Et69k0x)?eTV zNjTwVQV3cZ)QDRptJ$4pNY!SzkE7qLUTJsgn0K~^|G2|CuNh{6WpQ;eumj*sh4UTc zK^?!2GM_v`Fhu)KIZyw}J%Q#2%K2~q^cu=LdE?GKXLUCqsJ5n7E&54SU0LAhm>p%^ z%b&XrnL()SQV|L152_l8W6yUi&W_(4B??cQ`_HECwYej1AQP4fjkNc`Yecxjh>?P( z+e))TbGxg#O%@VKTv994DPjj*Jy~Z*;Ku)00Fid_y-({|QYcw!N5w;-ZY^d&nbbzN z^yA-!0~->X>CEVbca4DrhnFX{e1g3V9*}z7+`&9!+77yKZk6}2R1tAqhd@|D5 z5tUqfhsl3Ejq&_t>=AZX@a*mObe;c*7}Kg>3y$W~m(^>+t+k&Y}-_H{nI5B<_EP3y1 zjmlFal`vWhjehm5uvn>hK~cm^Q&cLBNA8t@j*iajlDc~5@si1IrVNcGaR6xdyB|pw zP3veAm|qY|OC0-yB}1MR+w{g5S^A2hnM9~TY+u{g9TPLa2b1v{9d`$#5BvHOGAnXA zFPk>c$z(kS!rDJMmr<~CZ;Swx4dvI#=sHaLpGAFOr9k!qZ_dgnao>o#>Ps)r3S*W~SY(;YU}jPzV}h#vVb zXEei$gzi>W+_}G-6S}+f{n8v2(GU%tT{Auu%x@_Os0^S~#(T#n8O_|yB~FBKLOiWr zUcc7AEVC%}=9ereo9>f&W$uHWX-l6o6_|WAq*n_~Us_tChy14tVAJv3>hu^dTj^qc zYAFQheL^=Cd%F9x1|>pKVq*lJQw`e-Yq&rCB-%c#!f}s>DDNUlG}^kMD1ev3#V(%W6a9mpQsqjeUb2yIB^g>?KiPJ+HynJjDK^` zRmA?3xb|_0)tdJT#*z3Hy6YDI&z zQj@DdxDsMYgHEsHlCYf`mDR_C$pCWBjiLOAtNBel{fS}j24e-9JMIoG?)Wkb>aS1w zHc7e@q#0KA$qbdDY*0wJyK81cOr0Vs5#NEBg%VJoA1nQG*Sg%k0*{`${18X)>@S1( zV6D-G?sE)Um3T_EN2+MkPBWUZKOc6`v6v90sjQDmau}}#C!jY>;C$LcsxehF`b z#?^yIVs*G*6>k|(ZE@+CQVvN-xfJxo&K^jveZQ3T@^K7t#VpIxAK_Gd=l)g0)(3%3 zR9q=K+%AucZb_^7yaf1Yt0(uFo+Qo2Qe3)EYjug{2SGEk(vqp{)<2F9-zVt)e^qR` zxIJf=Y^<>~va{&BrE_fu@7gHn$Ze_)F}>KzbW@Jnm^MI14(Qn$XcVZVh5N z{fTS=zkaR8$VU9F;FT0_>U%Wt+D%Ifp$M<7d7F%g_LB>UK081P-_Y=_EbK+&HH!r1 zt6c|W4pK^BZk#`{g8sydDwd0egnzOQIv`Yf?H(=s51k? z6V!C}S<|e+8#D8DYE3OuE8_qS5{`_lXxd$wDmR^+n0Q6pPW`RdzB>z_54}4)+vsjJ zFYW61W5Y7gr+3IAnBo|?S{HYCba+vPLi%teBXIp}(5&HPbINDM-+^ImV{fq$_q)() z2JTR)utg>eMpqjPaljB~LxglWA2uD0r&d)MYCs%%1QzVi*$@4mMcQ68!FnT;ORdbqh0xN?q;&Y>j977EJVX;TMJrh zY_~QV%hQQtMPB4_kL8#2va&@mR{mhZ3ye!J_nNe;69@QgKCRRuV+k)aq0p|sg$Aka zh*VXJi!zls#q_`)e!jV#LX|M=Vyln;_H2^l)9o=alg{)*)U*w)LWtohmL2fFEN^j1 zO3H_Nnt%TJ=N5kxoprEM+$e9E#)ejJ3~(Dx$Ghl7?xH6T$sOtE0uBI(*DiO|H;sJdDg(#z{ZAAnIPia$f=Hb~$bgM8yM9VKmZugX&70@j+uMLW|2NxpmBR`($Ucz1xtA^A@gR0vYKN9t>XYU6T=U)X2-O=*zjydVWngbJ#NI@%-dNZLIyIexNlT}iJ z(TElGx?g`7{$r$79BnIp|!Y9)m}JIF~6>oa7u$*g~uc5ACa(pN8Jb9+Hc%|^D7-oTFU zh-&)hw3GzBk%r!TjF$~)WkktsHGzAdn=9+LGM;o*xeiwg7AzWB7_>tMkJFtU9!@>i z^!a}$ShTXmMP^Ff+s5H$je1&g?L}2pDq+6Qam`1J7(xDgpHyRAcEGD-yaB-%efU4g zgoH^c=#d17bUy&JE^7ShrQh!{ls<)!ps4$7jjE|L>&5PJJ-9`cT6GWBy_!-`lE9FF zwetLP=8)-qUac>kS7(olb4f|vZLWzRB_<^3at#c=y!xW#EwiYd!^VhJi6MHS9*pXf zl0am#>nK$=+}APik&0Fa>`Dy7pPdZkcMm;D&)Zw2@npWfTilk zx}BYqMgfMJJ3cc~t3hHCe3f715;3Mm?O+9BqvM#BZ`oN&sE(e6wfq;OB#Dff|WFZ3sNVetA@~%FeZyaaA%6K|)pfHvzn7(n z!eHM$#?{>#4PGsI+$&f2bbya>oA<2Q9#qG`03{>PC!t^1f>kqOll2{t0=6t{HhHW* zR|oL$@MH#JyYV!v#SuJ(!zH#=PSX|Xz9DngqG^62KH2KLgW8Q17RL9Gq; zjV^6u1o_V;S?RKsVMU1$8D~t0O^z=sd@{mRAZcGLA*8><4_w#NHtF-rs z(b9lCX(rdCrhaY59S)k>;=2eZZj-yT6_W^}f|WCEcKuRDme_T`UhDH0u=*~y#TH^t z_y&t=Ly{#Vj-*I97c{c+ndO9f-Bqxxv)w{|y90j612CkOJtLnm6UKjj8w#{v8k!{d zmOCv%jzd^C^penm2xCPwG@xobRV^$XY6R`q>Mu}e@*t(!Ku_J2cHFFhkcuy6p-oL* z{`V5gx`i_W)y^<9=@gmOUW-xX{fgNl40f$Go`VNZqow%g+b5|v)G7R zPldj8DsRhCZoM4cJMJ(bkN;JD#3*!J!RbD1IVW|I+XG`aNsDE&|6&M^Wr19NsqNCJ znzj14!=s}|(5pWc2%r8N3pkErSoQb!?~r&u$&fUVAwedX)b_H;;hSuF7Cn0v5)AC) z1q6h$nx{pq-FyvyoOvRxi@%#(IA^B3IK9|RwMh*$TCm3R@R_EMJm%H?#Ds2tLrtIj z#n7YgStst-%75zJ_U4Pq$Q6mUv#Z2ow{oTyW17~-x3n{By;j-K-(5q`{OOyWS3d4} z5`6zRAEwo&?_?EaVRP_#0eK-CESJpf>N>KNXV$`P#RQr-)y4T&H_xv{YNfruIeDkF zw3H8W*qlxgE{OR3x`2JUD&Dot=Eiq&iU3aI;MqsrHc-N&kryR)^07tQW}ji5lNK|<)Y(3{(wDN%o$&;EHv|DV3B zr_cV=PWOL;q%VEZ3HD+0cb`C1H?@t4zx-!*=`&VWMs1 zp;VKu!_>`Y2Tn2!Xw|!|8Agj1kteS$EgW~%4$D^*6+QN||5Wcfk3ZuhDXv!q8?&V~g~_ z!=!}#bI9#D5dCmeFC@TcYr0ih<6&HqmhUg_t_;6@P?A>K2mVk8=67n zE|>@cTPdWe(CYI@K)f^(r*M4P`TgOuR&SU2;?+w+UTgVr7LcDjbx+eDRS(+~OE?sHLYTQx`QmE!1K5*OKBEj(y@h)4QkQo7Nq4+E+C*4DAn;E( zg1BV`8%}}0U;d%kNJh5=EuIWaFAWp~tY2wddVeD72H!kijSg=oEtJd3&K9OWw(o4x z-LS-)C6-Mug6B1fc<=Ix3jeL>;mjcZYOZ)F`JmTX4&<6OLuMd{3*!W!}ycZ+x zGdI9VT62%5AYjpFsaBS4Ze5AMbK+>R)i8YR{5s#Odm0LLZYC3@;9iuV%=uX&A1)!0 zc&z52*K4*1iRp`)2Vt_G)xA5xCkjWHHM~gEG&264l$yF&XyiaGyEI_#*LM)cT-eCK zu-+&nB3@u@{^CHw19yakx9T-}PNrx|s^T^D_K@&M1sfiod=x`MZxpL4Oj{B9%GY=5 z_uZb6Rht+&W2$QZBSUZw;_L{)zdCs8HaZwYYLpGn`Q!?~j@;C%Y4KhOVHA$w56~5^ z%i`MGYXlNcYxg()kksoKYJT1XQ!#s0D0=O#@ zCk|Za8!X%Wy4%h)idq#Uy25DM)(^*%M69%LNP+&8eC;CC3yJKTMb}BF>kahxzZ~%L z=-AW^whUMu2XF>9+q4=2Tk#7Ys-4bWUA}*n;jhl88pC{;0{HGuwR;~Pgz1&x(U}}s zO{&*Q|ELf$0y_TyF+k40JP$8!Yg>r{XXH@k=c7R9#1;}UKzFn(FE6S^=l)^LHYf<{ zI9;*06olCSlH?9N3+dtnAJU-dwPihoGhX?M#qX zu8LFPp2EBRLjzViwgte!X>3PiV#U{96^XbnU*>&FYBvt`Sb2CrdC!>e5P*R?|Q`b4r*$xx)pGfGmSjL*e;40aCB4 z_G?I`O)plVrH<^dGvC%Q$9gU zNg|l~uhPGoED>~8#SI5zcN+pu*cA9yKU=X4!W^~-AHC+ zhX3+cvYp`6>!0uD8|rljcNTLc3~med32wTlP6V5H!@;4?6#~e8vSkuu(dy;pMZj$d@U?i``MQkkW-I@z(~*9J@o!^? zt>ly1+}>yr0RegJcQM2ns+&Il5sN0?`#BVftgJw^K?qld6bPqC1vv=58+0i*r)ehJ zVy7Jf?(y4(kGKMSVX}TBKR!YzZf-)(N5k&114%9cy4EDopa3zHWJ+eEWgBrKuJ^Y} z_v(SvP9uk6z^}&II~!XNSsO(KWQ%K(hbkL$!c{dI&XH^t0D}2Dz@6U?ShDW3heR#w zstn7czU24c{pyEG(L~cazSJwsZzr{c3*8oKUK%qnFkpYuGz}!}ZF8&O^?VNY#U4=7 zZC1OWDEyU05z@s4yri{Y1Onv_48j~B*4L+s?c-*vm1@JDe&=^Ixj+wtcPHzi*wR*P zg1!!IAZja!wC%uDX4#19Sz6Q(9ZW^6RXZ#J-VJ=zRyYp=ww>l_7Y+oVqhAVnz~rqP zA4rj;GTM*vy~jAxdF)ALYLTH|pG|L031d^A9v)t)C#il@sTPGHWo@uNKjR6TSgX% znCj|or5Jj6co_I3lN2Mt+N zjWr3p61Meq;Z8`ZuxBwiVZN0Hk|L8}a0u{_MneyY~n}5-{Bk%Sds_YC~ zhYfkcjFoA_BO!iaQGtQVl9F~32v=_2oH(g&-^+OCvh{fA(|i9;t&qG+6%u`SQlOVZ zu?7Saah`HdIY7(LdD!~I&Q^!&x_^9MyU1hCu~ux^<8SFk6=KbG0a>3)e0)lElAUq+ z4^}gEoNXu_CofjBMcMg^kK0`T!aQ>+KWqE^7vxfO`;aFuRVd%MK&;%#`tJ>Y{UaVG zEnql&J|9UDlKrTjwmwOUi02mg7y7=ofW!XY`1~O;<-f!`mHd&@@jW#<4?_mN7$uE8 z@7|`YH24Zr%a#1T^7*U0OZ~qiCb&#XN_^LQsQsQ{Q?eDqn~KU7I<_-g>ZfcZMosHA zUAffT?{-R+rUd?i2Rm`ynxb}~fn@7lz=@l;54Iy}q)bdgtBtLN1Yx~ZDpXt9nvX2? zZo`tMCgN-G@kreprF-iEMJhDi>k<<2#%DU5H?G9pP$V;le812)niS|hKJ0qwy{D@i zdLtFC$Ija*4}LFW?(eLi{qf$;AKyRychJRG5lYWY+T=dJXjwti;uvQ+zLsl0mC5V5 z{~e|A#bYq{`1!~y)30)o)}ac2yr;UAZ|4y2U$(yIc;l}}FtYqjx0ihRMg5S!rXpA0 zh6b-*=KF5t2ed5`*&bN?9k=UPSn#`w=sMv;s%~P9!5epGq2zN&&ZHw zN8WN3&5U{1U**pe-Z*qCw?5m zw}*IMpaZg!uivetkYrQ+?=X)?%k)2@7VUDj%s=Y;%|lo^jK0HmIllQQpV@~hxjw&5 z#ro;Z!LwD13HrZ`zZMfo=YJ+|2YK8C&^CDCV!F0lvJSWH&~EbNGGd7d(934fx<#cz zow+Uv>2bcZr!Cauyz=GW4OVh&lpVb(&S3;_R!MK@WV%OA@s{?U3r#7Wg?9e}`)*5A z@ODYkyj;9RwZrB8qO77Ks{5@;wXtT~=fBVX0GxB>m6AHlsP$rI#-NLq+bbonU_FzI zwZlX0sn*u*><4b%(|PzxnahRBAc4XEnyUT-+nfK6LE)l8OFP)vP3jwN_65z!e{Ytc zHhJI>23$2c%$|6yzwH9Lg$xtF+KFGboTaC_5oz{1Jl5!smWUqU}=eD zWj?TB1TKwvys3XF`OXcCWF6sa6iXjRi~&xRogXxaj~4?UkYh_ywzo?n($d%hfPI1j z_x}FN<{An$>gJ_skZ{X`LOLJIcTHi@m7-ZN)MH0IujM_X^sOoJ#~QAIswR`PuHh7ICGIkGZHlA(VCt%D}#L6aJgIWo=P0 zpfx6X1ATp7Q&l6w6%qQs+?j}Fq^7d2R=2e+l=K~LmmCjQQ)i;bv_3}jOZS18y%i>r zVLJY?Lk7=@Ib0y(4zA_s+2c&x?^^Zc9vTk1*o58kiV7hCH$4kI*EVY@DX9a$Hj2@| zFEA&>H>dU+E-6d>I{M!DQrhlr#Mrl#l#(pM%e>wA!-ToxDaX*L`+ZKK6~;x^L*^un z=jZ+J(SYi!tN86Z;^d>g_BCEpa`9vA4r_2h99&fg z)+y0UCCyzPGrcrM90Rw9Ccjp@_ zc@?6huIGeJpXSCQJiJO*<9dkoI2YZ$&ZgyPdXvR2UWZqY*q`aqg~}f{r+w=yQOCnV zZ@Hah4f0=D5NV8s>gs7D-2JWu{!gDGUt{Kbx22?o-Cxbb>43Mi_9wsdf!rxg`3oOQ zRO=r1GW${*CHFs$yW98R_Cg^h!-A_yek1BgKtX0pm#x_cRklD4VwtNN(3e0 znuNPl&8=g7=hBxl@Z06~4jl?is`Ukvwh~<05&`-12sip{k&$i7-xo_845_>EjuOaE zvz_zi%i~8l?g_UX!w`J zRM%X8Idsxg>}=X+RX$gAOKW?;Jw<+S@}~!fVMN}S;wK!2)-tcS^Ev8MHXozp)8*pV*t=hAGLO$B$Mr04 z0>gD?VU)B2p*q=X*PI&41S4NC4-b|3^exwaT5ue*(C;BV@Hu>@q%9EtxuFv=7ZBes zqh(w6GU@twTy@p=bvT<|((&K$CXd@*P~T#FL?Ya)FTL{`j#0RC7aK``v_gp5>G|VN zFW?rsW5A9$e3*O2+ay%jW{*ixr@4YwFvMJahPEtYvu=J7q{#I^o++W4{AjqD?V5rb z=R#8~N%LptvrDmH32VLbn}!7wz%UL=q;8@7bB+rWViSqK1k}a>3d1FWYp=y zpe2*-|FbS>YX3~;S_dSvYVLqOz*{>$Cc8Wq!#k{&Jxi+PpBSH+QzI zgnBI~QHqNS?1QgEPlilrltb4``1+m}JExwQaQx(`?3%aLhaSZ_>5%>rFSIXOR1YBz zT^D4gwntKmnb6s0aBU)$Q=Z>1Q~g@i&RB;0b^)5668~)BvikK64?g*mM?Y&sA9uxV zNEy*fsCyaCrmGBX?%R@4ndP%p}?k3|bPd(wdRak`Ag z_isW~LHI`#OcJ*OWHdz}A!(9D=F3SEi>)@6k9oho7%+YmqQ?_2DlNb+r8C6qa$o6d zq18iMnuhlkFqy-@FpTCV|(mb;$2CH2og|JdpT^robbF-<3qMFoX4@^Lp> ztiCRrg(W}U&6)O93|&_iwzfP<|JLkQuW+yR5cv-m)Ae$Qd1>kh`k30sYR2j89V}0J zk7jsy zPR1>P?>?wo+(~o^8TnHYIf>D#;~|@y>w4VY0>N0;RjuHKt&X!@9!1DHdNXbdMiI{E znKfywFSj!ZUe0-mEXpVZ$GH4Tx?mxv*WF>!Ky|fUlz+I1ip`0rJFc}a!kHure_eP` z*eqJ^dbI==f%PWx-MV*c@bf2oCR}oeJ+NLY_z~UIR~9M@kgJEBsk5ni@S*C9NyRvW zZQHI9+hQ0%^I5)NOhCy8YsJUWdKTi`Dnb`QSjXz-P;jw*_jh*w6MhE<>de^#`9sAUvGy#_ zyeCHVshW>_`RT+RAbewQ26i`_CyE|da;nVhrKS2PA2E0t7rt_AptzNR&DN|nF6!2U zj^|-6G5}oadGT-1&=P*F_xv-zc$EBwls83VbjSe9`V8e?^lZ|ucpcX8k_Uzr+$olU z-}=Hnoeibjp~%i3%3`?L}$h%PZ;r!f`2j z1ibR*uD0sOTG*=#{S|BC`$)3V%JC;~)t>VC(^n*`5{;`y-;{Yv=VE@6ui>Kahb+~- zhRILdFH-Q=2+63u1Hnl0;c{v1lAviNI&w*|ulQ(ksvV!d_^1<5n_t6K+aEl@&unVM zVuvy7d`PugX0^k3cc`3S)@Jb3{;rStV}8AhbxNwp?>n(Ps2Y0xt%qy(m7@ip-s4tC z%B)5N_&79DZyoAd@-?qoyU_4OU?I;r1vOhPhxV)>Xz=sM3HN#LeWn|sW4V*GI<-4# z>x^HaEYAWa^aMf{7GtJ=hheFcsBwLEb~m42ie=@y!GcyzPaToiiZ|JjRA!{HUgdau zp+24^nts!1y|L;708vc57Ufyp{SaWrLru);kTC9*WP}=5_^L~-zlX~`pn0byxQ47J zs%ruheE6Ae3Z)=Gjtd@ z=rYV%wnmcnIpJ<@A@cEu5t8bfG-9*AaW|{wrYM+IY(`%lURA~f3@oz84L9RkoE_6+^oKUgHN>rI~Tu;HR}oFg*ZAWIdB>_MFiJpgqt3-dOoU8Nfs~P(qpmt zv++6ze$R;E#nqb}=bzqmcr?U}7)#dHbm96;T)+9fuW^d0uX<&tygvVq?ZPQ@s@i)~ z?(L1b-TFIu;_~3GqgD5af3obKVTgKMSgbg=v#}EzE~_*`cr|Wgk@F^Ewy68v>($B^ zlX?~#^z|K48V_zMJ93M2YwV1Fu)R2Yx&_Y|TDcrI;A>9mh6Wmoqn>2e_*$&Q?ftS0 zzV)p#3k!1@KbAu28e$y9Z7#k2tDRX7u0TOv*Y8irSmsRzwqC!XOIfDrPyhR3(La{! zuA%HbA_S91+_Sz=J(4T{+*yp13>*9rp~h0i_mM&QNY5U*t5@Xl&=0N7#6i6~mj;ac zBhFpAs2*zs?EGs}jO+z>N=su5f5Q8UDj zy^Dm_s6ArOh}{+?W{p}ERkIYOHWg|XE${Jr@Be$xIrpCLIp_QRjN|%Z_>6BKz<@RTBO$d1@}%tjHR{BmXUeU8 z$-SystnSaiJo^~X?Dh2H+yFQzkeQ3?I`U$DMHrX!V4L9`8kpW1BC26S`TE>RDCM+< z`vixi1OFuhI0X{wf7xJI?9IyOkx5nCHU?ZDj@BVMdU7U33$EyB?Fa9*+~JV8#yz;Z z6{s3@-4#WqS`5ZXfF+YY^dn)NR&y-}y3XgBfwn}cydp4`tZ_N0UXC56SV86K2k}9v zB-q(v#ZNMX4qwc7nBOvCS#ioT0T+s8 z51D4eZxn_U=+QQIC*UKG7=jtLh7XTS70W-E0|!6?M$^h=jrm|4jkzy1 zb+HU!>?fz`w*SWhd|%s?>NyiA?7($~On!}HlYdqv2PbRBL{%!NapPTRIw6Py z$OC6P#5%fuDk(uUQT^lct|{K=e6~{;r9oF_jp!3|EOdIiGd|}vkSNy{aL(f9j>(QEr6GaOMBfJV~L7gbi{1Z4xkLAA% z>A8IVs6ltKR{pm19Ykkd+fTEXG)cn*Y)PxeW^2A5N0gYE=*ks`u za_&mXcVkkN_sdjo-MaPdO44S3xs`eiksG5jmfp9M!PN0=#di8o|D>y*h?(CJATn;2H$L0Pgi_@Ou^C9fUc)f1$D~o zHFxY16=QRPX{L78{eW7!y)dQ3aYxOToqB0&0l_7=`LtTi*<;I~GFj%`ScK`J&4w>H zXys|AMjF2DdIUw4Kbv-+u~25Lc3V{_^ITCZu!&7(xTLoA=?EV|Mz@~@ucwoAh*&4O zz}duk>up7fy=dzA1)b2)+zfAcTpgQ~=5=HrjJx@-#w z*5}=N(uRY+^(|2%oTeN2+?>Gcf(*PHe9rCQ^BF8U!Dp6vg}txG{4kv8t>|?@TDdZA zGeZtPeuL%87}sWDVy0^NvBf%{6IGXEYwclJxwOeA>Zl<4#p$3=U8>lHcMn9DA-a#6 zPg;k=8$^$m^XYJI;sK(Lct_x!ib=95H*x1oE~^UqM-KE3IAIF7`+fYW=KASb18)0$ z2s~;CrKfPG2ggl+;uaJub;WStQ{0&V%C_Zv!eqL0U8KmDWsybI4`LSnO*2f;mi6TA zq|4S7d|P9i)`<4E8WZmR{ZVFP+BdN}JO_7zc-{j{%asJq>Ft_7s0(`@7i{odC4e@C zEQX?LR#n;h`+e-VUbdrB33w9};qRyvWSvk-<-a^Ga9;~)Z?c*;7cX1-R`#<`lH0eJ zIa9Y8t|P=L>eQ%gsjrsIB6~TnGohgn(dMHBn52J_9#zas7p#U)NY*0M4geTssTXhn zt6%mHS@a8pMOicyL+1C&M1z>iK^QYlR|YK57X9;?`%_20%!|LdOX*QzZ@`mrJA$QT zw$nLQ?~*mvoOzUo?^Z1!cb=Br2$%+MRYn!#{LYnYa*#Hg@@ zQd(mMig!~t(DnpcDEW`?^7vJUz%xx_7{UkHX~da~&51T&llA%b z5)hl$oxNZ@X~@*bu5JiXd~d!zTh8fYT8+cVkWc>&Gz84lGs`4ZAui8Ty5r5LxR?p= zQo8L2zg{kg9}d(JXv|5fvYN{39Xolo&2ily;z5N(OyR4CMAa+KXE)*EnSz)!}M3LhuzPbxT%mqXp*&__UlRDG`}uY=^a(sIu# z821`o$)C60Tu2QvV;&S4(n_35!qyR2x@CWj43LL7_6;DED7_=iQJ_TzaxZhA{K7UNBn>|I-ky2XUe`woROe77)&P!b0G^q zVBwzJEoKuPG}w!zwq?I=2E30=NFZrVK+>iB679+VS0<`l`&(71`cbiNbWSIdPfbuE zcj{>cI7?V&I1Bmp=NyZh*Usn?mm_KV7Gp9nWQr7eS^jiM$IX{Y=uRQg%3vgCd}z1W zE4_aeXirIiX`9YY{z^Zipzi|nO;i-Amdc!NL82tE$g*+Q0~%e17e{IDJ(fABdO9kc zHSUVbJgh43TTNb{Qo?Da@@^#aT`|mWJAAmyF#UP)@B>1oCS?SX7nV;NY?u2lTd4Fs zp0j(mY1>jERqN{@pQy@vUFg2#ke_mOA^>@G@SW;D7smfGHm@hGLvtV-H)^bFCfW3Sm>K+HEWhe% zL?8GjoV{~Gu~?~&m@(R)JZ_+?*B>~Pd95dSK)MVPp`W&tX+|cm$I8VE*0cmuKy(L0>Wi%FMT@1pJ2z~<7 z1T*KA6eX+uoG7)j_1B(Qr$ku#RHBPcO7VOJxS6R!C94}iy%8}^KdB+IXq+x=c0YY5 zW||~Vzg)(#e|0C;+$^>&z#2K}k&4WIlTKO-?blvkK#jd}iV9H^oV<1k)y;}CYMb-( zF~W%9nHit|ok2Z5*!Umk>d+tM8df~_*0XWyI^h_J>9zPtc<-VN6<0rS{FvIqBJ9ek_V((-fdC)9fXvdNOGz)B_ zb4XR$s@HPn`%1V;s0PE68H@6xpVEyRQhd~CooLG~p-mw40ii^$U~bdq%NwxZ*3tlm zm@J@O!yjV&y(WDH6n;d+StubSzsqa5_qMevc6+lWryCL0`*C$qyrEPifNDglG~mul zQL^FNZzOi@cOE|V(J5=$VFxQrY0T{4mz!=kut}j*Ipu{uS&^N%g`QvZw80vO8Db}K zO4#*e$z-h${&4)46e9*BpQ0~qI3#^kVlTTBukZGRrL`%6>WyTQ7A7H5R6W}-Ir}M} zG+)8G?t?x#wr~g;awY8?v&($2HcM)pqYwOf8`a%u<_GWL7=`4nVL;W1|vS-mCz)Jmf5Y3mR|9;WP~H>Y>^ zhe!3;P$H}aep2*LOqBn6(;ORd31CK^5SA8W7MP4&vUqF!GcAV@qxr1a1`m#^kpzZf z?aPfU&x2F0yeW3k)1d?nKGn&*oOuN}?0Nwy3|=Jk=8O>J2$}w~wh(5EZwWCde_zwn zmFC*SNgKmg3--im6Hs!Ol@g3}n2`xQm@~=GxbjXEwKzp%$BT}?9z9SZah4p;kEqqH z`3f;tA8-v6QN-NvvNa^G^~oV}WI{*GH2Q%$ZJLYkx?zz{mMJ`r4@qBnz=@Z?%S}v$ zgkHRhF4qqQR%fY68d*0G9WE$mMrG^C5{y=jn2O3V1MYh78BIQ0494syWNcYGI{?0n zV1>NSA^3}a@c?>XN`}Bi&Sl`8*bTu_Jf9|DwV=S)B`4{f9Tq zD#fy3hJdX&_QLgtlClV$x%)T>sj%Lx`-{1+#)<$}c&HnU3UO5|l1$R=%;~jO0i|KD6FDMKR zxDS^j?1M#{#f&G4gjj;1Bb!5)Ugi>G?QdyKKCnMjx{g&0&27TRZA;Jvo3Udh9Adhz z(mRTlT-1_ajklmxbwj$V*xzaQx14mcc+9k=_W0?D)`o_=kPlZ;6caDUv;`~%;k7ft zGJ*68(6wS~ENHz`9I~(A+E;jjxLK=!2k%ANrmi0n+=6 zh(4B!yIH2KRK@c$*hoQl(+rTaqV3#ykzaCu71 z?L$O5;q4n$H#ONBKvEfXT^$4(4D1`kFVT1Q@f}ex9?MGoKNhe$X}jYxV`^qneBrsj zaFp(8Gc2tx9Yamd3HJZ|(j4k@N*a~(p|n8Kf9c;n)a3)PRj;ck-;;`2%&B^G1~D?7 zG*PfPpBy)dk0A6teK+7xj~{PY-$_d*ISU4iS|{=kGN-BxdnewD>gpC z6j;hZt{z=bey?>HQ_WN93M6}c@}ildslOzh7^xt;vP67?CERKuIRtS#6F zdL}r{FD3r^^<-j-RX+Lr*Rr{!H?;jBIko?>E_UDfz($Is)yK9qsIQl$cyivwy0t&& zzTfz`r9`GN#jx|=tP%L=nsP_SAJO~{=%`i7V=wnI(NE5C$nJmTZ6`qLg$(c642Me6 zTEqL39b(#B!DZooC7dPE@R_bL}#L5KRHDY-)++h}2 z3oJI;Rag88v0(-_6lIuZG%)=;4S%|XLg)Y?TkmCa0GRNtNf73Bl;uoAb$*pU5i;C= z2j#C_o>yly0;<=p{)`x=UgZDg`!l{8fDs!b6xG4}XBN11tSuOZU3qiSPseo_sfvrV z-J63RK`jr`XJ?4DKbTDxbgt1ou6fM+%M>GAEJ`QYh1$5RpwN`2Te`Gg9)7@5|M-wK zT}1NWgSz4IZY=RV%!r~i6%Uh79WELUaGRIW6HyJB>x~nSc5xuqO>JW*JjHz9&eiMu zPd2Un$DwDb69?s5bzfku3ocS5gI`rz^g4?kEN@Lbd0weJX35V(q^aA!25u{rJ)9;# zN$j%{a~a^pp&yyT3!jc9X>9}kq95;|r&A0HfI=v~wl>em4cWCf8oibEpy@*r_e!XE zAFYGdKlp-u7md%EMr)-m2k*7W<0aMZD5g!_)S`f3v;8Ls-&Pw?!C8PY~ z2ivm4Gs7Awb@HT%K@&y1WblgSmj}6)u!%f&fyp8Cr{=~im{o-Y;l-Vd13$s0HKEEh zR&|B$&aV|<_F|}xYF5?3-}AqyL(AD6O$pSlJ9j2C0ZbOE@?{ZA zrD()!^$ISugm{UT%eN8mOcnfsWY1gqTiMtw3Q#ubaZX1|dKTPYRo|Q!{`kGYsd3!C z!OdkPMW*qhOit!b2rMbDJg4YyRq$)$4V${%?<%djJkmL@cqzGB76H1(r)Aw}z#TJp z10(;jmiFeL6l==I^4vVK-A4hM=^uptlSU<2!eRtpy z!)$UuCTZ;YW!1hblui5%FN$bK{L8HH{$}(B2wb5)7^->VbZIyoz0IF;>t|+-texFStYGZb9SUwz{I=Cku7n7kJQ>8|z7iZ}uz$?+2z#HTMh83ieV>u@f3I-iQj z5^1&lq7EyQJ%c_97R*r-5c>jJp=cuc=%7@3$Na0VnSq=YbAy1vsQ&O0t6uD|5mN&o z!5o!L4y^n9uZ%`5Cj=&Ow>W&l&>|5)s4PP#>BB-(7nyoRa-r}Xu(rJuvwhJEY?8XE z8;!iQi6AK5?73<_3c-p+nGQhPkiqXE89%SCw4X)#{OJX)6Gf+r^aqO_Z{^4*+QJ8O!9{EW{S`5i#iZLv4Ab8FpY&x^P=9LM?(0Rkxn41Xu9z} z&vBWRM?SlAxe6a6*$OYE@UNp9sX@b$%mt&b*#zVm=5u4UaZ;P^-^ zPJbl4%t31TDrw>`aQ4J7@UlVdVee{x3AmCD-4iC~v!xssrguGz7hSXLAwh6%twPH! zcZbS|6zPv6Gn|ryI>&`@{Mv*W20}MFR8q()}2%0cYMOz%;eV! zbm|9J6uD9IUwIc=F}2(NMjK{)QoBAjsAEp-gsky&vv*Y9Toq(XfB#d)`p-`jc>%!` z&5q5#wK@e`x#(<;xBqNk&71sGD+Ci5L~%5}K2or4ab zlgvtJi>1TsPaW4{o+?&qLB8pl4c3Dtc&x-R^s(;_o{sf9j9YW)|z2MjTQWvFi@GqA11l=^L&K$$u>YO)F6F4 zST}n}XLn}NLi)5Qagwi|3aW0;Ot1p?es-lU!!DdpC?Q$Aq@zA{g3c}Y(TETYa#jbG?8 zHc_Sb+4W?9dHdDWXWY-*jXIp$t0lL-w z!-=^+t|y#CMv!?{@dZ zDkmfmyb}s$4ndxH6o2`X z9*1mL8U6(>0x`^dlR}Nf8I03MN2Q3zNB7{rzKM-G+v6w7AXwvhQ7{1K1(8Sgn0pII z+P;4h)D3>r)d*F=sK|(!hU{5dk%dGoWZYBHuJyn8X56MHN6|VQJ!-MS-EjdEmm&y0 zEV|NLob?(w@Wr>%aD4jd;99ZA8t>X`q>}IZw@=PekFU;+XZ}^F|6)Vjq5*PjQxrN7 zyjBoaT<9>|cLOr8Ssv=Ooc<0SfAR56(f&h0xg#&Xz*4#U1tGV{s<~`GJ*Y#GG?Z}o zKq+_SQHE3Vf(rD-mF0qG%7K!_Q%oSUpN)bx>mDGJ_3kEk)6^3IBa$nmQFZ)~AGAWR zYse)!sUppg%dXS1)*l!0bJoo2PvU&IZjGmGNgi48ahwmVhBaq*gr6!+x#v`7 zM$u%t-t}9;muu!+sev}FG%LF8a!TdHRH%5Ev=tuvv(xd*D|p$6I$IxsE! zzQ2=QO@$VY`_kDk5iQFpGc!l1RoU5B{=!we+w?(OwjGYPnYMDG8v8{gG)HqTWTiDL z)b3XEmFK71au3YI_UIC-vX7SgR%?>j`mn1Kd3Il8q4wJTLZ3p-QGfi zUKg_EBMJexd6HMVoCawR$a|*J6h=RCl>2+@YU20*w&w%AomAZ^G5sF~@^ z6yep>&d>@0Y#WwP_hhKAp~ip2CIfM6Uh>_8Vc7`e%IpX-jG$X~<~jfD7v>IMtog>> zk5QCmWj_ngrNT(?ikUz00{;Stuc1hpiOky_xCC%5-- zT*Lm{3La#xM&!*(u19>@k8SmeYE38d^GxhDji_X_o};ggg;Dwzv^JZ|Er~;wfF&$h zo%)pOB!2lW>wSl3$(UJ-+T3boH44P|V}$^+-)F03Lkw*hNuAG=SB*94!DeBLkUbgN zhe>h|*y^Ypxj#sYZ5%wBhgM%F*snm^5-QFmnVv@bdqpB?B<=?AM2$a*=CA`te12QV z&jPY^e2FkzHa*7Au}4WDUdaiub}(-GF8OoEx3-bIpwVJqoELvjSM-=j#`|W`ziO$A zszKY~AmxS4r7e?So4nBeDH&sFg2L1yIEQlBI$%C0FPXOom%C>c5aTdcJ=!v`_T^Y2 z<*-<8!!cxF;9t_hA3wU=4V=Dr`8yuJ8|(b$YDb6?5E8{@PD0Jtc&k(_a#uM z4E3*n=WUrp4iOvnv}@h?E=qr$3tXWW<9&9K6~8{`5;p0_5T`33LJN{*$#BewY4TQ( z^P2$~6gfEZ}WDwBsc3^G# zs3qdB(x6XiyK9Ww83*Yp8}D-QqOu<@$i^oY48>gKdc%WcGE^%A`IY3s+;}Xp~Q?jw-dK2+!Zxh z!96D#PTMO2a&7j-W+vVPU|w8d&W}4z>J3VB;x(dJz)PH{ZItDhuL{LFE^?IVUzK~^ zQL(Pw`Gp2kA`5P&C4&(4fE;_dEjdJx?dFx;{`8gl;;)`OKN&_z69PCJ@dw@}_G~(D zJ{4Xm?-ApA?ke2J?M6Sk|II0eazA2i4pxU>o){slmZu3cLdZWa{bNyZF+JlK*h>m4 z`^2QDUf6Y{xO4-oAXTz^1<1yHMbODo=_I8}5ArFpVl{#xbjYVx zKl!Ih4=foUe;#HV_w&Ru1F+#v3uYSDXFZf}{YHz!lQ`7N9J9|fs;Lf67I7n>auvdGajJ7CN4b%F#E8(v^-ua8M| z=+xKajUw_1cu#rNaFka3zHM7HLqZ1m)+;1V-jVoUDCQqPD;?%-dG@xz*?&vM^W~PL zHUPxu8K8L>_UhH~P;`UObL~#bhUnVnWTP3TjiQik*5niTS0NYlt+om+ z=MMv~-co8ozeKku7>v~(Vt`eh6Gd`7`%ByenrD!Sv`~^B(KeacBo>+Wf^gopCtn)Kr5WFJIp0kFuXyjjFjtj9oH5&s4vw_p#?wSsnquKi}>H zyW)Vy>Nmv8!{19lx0by$5N`^W^{uZbqG*Bc#Er<8b;D`G;8^LmmWAgf7H=$o z?gd-FN3XU!K%SPt#I`k}$Daq*{Kjya=g>p(a!3-Mh#_FF0fRvXPs%03d?!0eLlO^@ zh$>R%8Q9!-v{uN-?48^T*&COK#0im^&r}&>ZGj*&K5T_3KB61;dwS4i>;W>xb+b5~ zD2-D*^A|19@C}`5YNgn3NrkwE$Ak%iC9}>61~2ktYM&wxpP_D7r}7a$vPzf!E)I7h zV&ZLLW*Ek8b)0hE6QvC{j+24o8&iB|1T(rjaH{qvbfX}X2K|1{Jnw9(#Qhops#f9? zUz$b5kvGcglD}cU|^K| z_tAS|?582Uv9{zq#@Bhu=+?k& zM_S)wXznF4mc0%ftj)7md$huP^m>w7%ZNmPl2;2c^hdelGY>!7h(zja=l; z)VF$A!B4K`oIxJ-HDRV*tIT`2oW5wc0Z>tNm7|x|Op;~W`qA+~9o?v92*_sI-og_N*#vSxA-nA|0 zpePyA}yuI0}ME27%KK^zqLvg9z z0$&|?SG@ro1&}Bw&G+~R{0Kg(s>q=NzKbg-8Jr*`@45OTb?q2H1r9Sd?;jPyzHcP- zRP*IL?0Y2+0V7FQbF_K=oFckaXn|yhJp>dLG#4K8BedP-k-y2IdCfGBSz<2I6g6fY z(cfk1-YHo2+oJadQY5BoUg^(uI&ztgtaYhgv*=xmNGA`QGaINO0DKbN=%-5v5ez;F z+szB?uJM_!iMQ0;z{rRRL=HcYNb6+;YQ?QjIgB{v!@sNP@{ah6utM<|hX7LZ0C|Xu zNvma|yfz*WBT(IOba6g>-koij(2!=kl;?eArg_O-^J))7+%%o{)oHRbA;IvWZ(WIf zp7G#Xbv!(T@welDPR>c}Z~%8eh`+Q>vIJSQap*hEz!49l?a9t;v%d|Z+jf@k5X?Ao z>;ir~sP7liYn=n{a^(vmrjt-f;KD;86E(VLTlCUcmrB0_ZY?O`Cg~NvCqUlvY6KFU z=K=_pCDg~0)`nk6$m|bWt$Cc3N35Re0Vd-wd{+g6|1&A_B0dL!PwVNvGWl>7Nnyey z4BE5>0*HRX1rolmN!CHEv47DZk!mPD-$qVYupCmUiysL{I1_1+vGFeZ; z?+O9UnqR=fCf6jGyngV+CsijZkmp*jGU{yS{~$lNO0>$QIH#We=$6STW$9V_4m-6NGV$7 zOL0?m1ackk6o58Ip7rytY)^DX5;X7?2Ez=ZZEt4I`O*0I-sZ#T(0`hopUAO2Jifg- zhEpJZ3W+2aoSS49f)ufMMz5)+DOxvnI+6|8KH8cjv4fw}7SPe=X8<1ELx)V4j#~wu z)3_uO5B=x-6htsXYsR>Ky;hqxjrs$Dq^5 zHr?XgsxpXFAX&(f<`v^Q@cF6cNugn}R!$V5sxr;~eYf~3G#g4qDoJtn8f)VfSNqtg|PisnZ@!@WmM&a zUCR&oo7NtZ;#2}^zwnLod#eEz{~1ZfR*)dTS9*i-G-&xjFyyHTufy$?%%6plo;i|* z>I#qCuhjg;^38V*#BSbysnKG7UsL;8MwR*4tUm=iDDk{McE%uiug<&CAH#R_xr#h;2;1^N<15ir`2>rBQ zM1C>>0Hi(v08mQ<1QY-W2nYbfbIDu)00000000000000g0001GcywiMb7^mGFLY&d zbS-jab9HQVb1!9hbY*UHX>V>!Z((F*WG--SXViOjRFq%W=mRQU2B;_?Kj~B{$swe> zo00DB92Ep4~4K6>dpT zgn}4ZJ`{b-@8(NFG9q){#z)FlDL=T^Jh=Y)$C?Ni^99)j#Raa8n55s`jyc&Xg`KuW zvs-ch@C@zNW67F%ZVf&vZFr#+*)nyMp>jH>e`P8!27N(oIV51I+&Va4DN0oj4HAi{ z#j-^hWuf|8eS}%h$6PActh>mibv}VfHj~Rk&x~6Vhg_UPb2$Xg%@1Z>TrP_K!kE0#AviDbYa7=?)zrnGZgs%-9lZr8_aE)ohqT8j$UN_`-= z5i$Y;?;<<^fC7+zBcbJ!zP*6|R!h6J_du92evzFpCya^!_MAXLmKFEgFN5h_GhAN^z7X9}qghGxM<5~AW?xs<;4D^;vhgU5vv%=Q9>5V)cLzf$n zUBQdxPcb*@0ospkC~wAhivLjDXy;wz|1^%X1Ir>Jq9QGUEeoW0jcS^E*_L(m23mluYgz>e$4@WS4eVUw@XbEw?!= zE7>`FaagL<^AmZrRn3^5fzjt=6Qi%CKoPkRch=iGz*CdAZ{Mlp4sx@+NE;>svXjtZt!#a$wD~pO6n7j{&qmGV9r%?+~>T(N(ZXBBj(JIz1?x*8VMEXL+Vb3UVU2sh@ zGx36Rva{Ri#bSYX?s1@;{QUel0?Np48(y8Z8i-m#b8?nSX)^L#aGnG^s)NO#T*a(J zWzWPYAs1*6QDVE*PUwU2Nlr>&1D2^7f<-UeGZea5SXmQ6B~yE=D_hq4`(t)bPaPb6 z!%21*@yJ1U$ojjwvYl?a(!q{XvIqOb1wVgd> z$2Ye`xuhf$Zxr+NWvz8=g;W@sURzM4#*z|KZgWTBMW9IF2VSytJZ*!F5rjZd$Uiy3 zV<=BYL)lu#DKpG&E)LH7(|Omf?}<;Q%McnG8XBcRon4al-x0snpIa@wnC)6Hu8WL_ z+zb$fY<<_Bs?~+V;m!kj)wvZ-oruBGaT+u+QBt|y>8h%tn;X{^x$4eN$z7?*t|B=y zhwc*6U2fce?pMRK|{6E80V@1zjk^^b5(J`vFZT4+>6ElW~J$eV7{ zH*Z1)b$`o;%Pa8Y&!B|89Jrr6eylGq-=Da%yn#YxBqkc~X;PeDT!e;&Jr(xSz(Eec zm-gnub3@6H_AeR|9ow!dKp+?FPN1K6@{X``+HAe<>CDoFT(K@1{DYC%Zo0VaiRm*yK>sQ10MJ1*Qno|)S?MM8NNHm#dzSWOwn0GG*rDLj9tZ9z7Hc`2> z0m^>tk>Ui)8Oa`v7J8N@ zousWfZbb?%>H1Y>iZ)wXS!Ia@>NJX6T^uI}G&bGoYMWcDQ03(n=C}x1uNeqOGu8$G zi916>>ENVGE(+>-()+!!alAz)qF&pRq0xqk7x!ssW}9^daOt^ve;nxc>*|t=TtFDR z*FmhU=S!-gB)gCqI_I;?K{}l>qe9+~$jt{Z+l?P>A^~aBI*6hEVQiN%BogF>EJ(Ru zk@c!%ttyQ`8bS=z1 z&EO&L?7f6dwo}M;n}|Jp2sv6DS*pQ|Ov`_| z84Kc^t#;4)@ztI==A^`|Dx&7IuC@t6!TI|Lf$37kl@jGi=6cr=x1vr#ftA+0_42z` z6BAkx=h<-$eA8*Jr8GD|&h~B&5MyyRibMR6v-B&THkz{MeXy)T#gnm{u{Wg=&vTSX=uN41)Wc#| zwQB9W9n9@J7Yi=}Km2NMvESb?G&0&Yt~s@tEkDy>hbXj{n(8Gk*uC1GZa&GPJ2SW= z?#WO^`g_TLa5_UnMiZIn(cp;~iOiTW%otTE`EY*TCcLws8lJnp8v293Tu0da0?MqK z8UBgj@aV_^!QUhuS>?QWy|%I<<~2kBfwYZ}kJAXB(h1(g#*axVJSy zXg}i^*Hh2vwY6Uc{r2LK5RAk zTU{6FAq0Vdy}hOE3_=6?*x4=@ghK*IG-6L&R7Q#?tP8*b)v`w01;dCuX}_2#l4Job z-y=_yK<|&*y_x#nnWf93pdG)iAy!1)UU)3X#Hrq`Qf5}l0F6?ZbsYMA7oCl^Sl55} z-~pFmD?d9sVg~MvhUUUEl^v$oG+Gyp+e}gKu3;jgq6~hVMzuyUqbK*Gj}8x6Ir(-fl0&E~zOfqpPUarDErhY5~H=##i1 z-+n@A`+V(EmUCy9-B`u-_B=7jVTP*bmIF;o;KY#qwa;PRm;1Y)v8kE>Zec}+RnpE^o%BbIXSx+8s#D`8vI&fBt5$dzLZzVUI z)3&>OIsv65pv@MKhXPfxPAh$ddZM^|KV6jHFPWd8pMyH*UWa_tuNe(hM%==^G#9Fk zkD{kL&8Moj+F_FS=4}C7bak0eA(d}@?$c34Q8obq*qaQ}C-roKZr_yC zY@n{cKL_>q7ZX3^PG<4!RzvaHpaqq#LY?=sgVfdUBI@=QT70eLVk1 zo144#JiAtFzT6>folO2)?(sWPrs)o$SRIqq%xjIMTmP z*cBc1W6!?w@kF&besG7&#*komj1yj0QE8~cTmrcI_FQ#tWr8TjTUji?np?yKcSjUqO#RRPL1U<6B9*>1)kEuMLfYqrz(V-@yV67nQF_c ztLrFpPURMKWiJD%*y%VvybXPDrYxxVyQX z?258Hx%YD|4NW6_s^z}l=zDIb5l7&6q12heGp+d)QD-|Ok5i-315cwtV=%+b=(M_7lXj9~q5=0L z#c**})?)NTlc!d5UAecBPk0PCAbhTv`-{ge3YC$bu5mEyiJVk1!NX`Dr-60LVG%hmP^-gc%UmetVQtaz@Kkt|oOUA3$KOdJLL{XcX|;o;P&LrPh$f?#EZ|wYpDZ=!W~{;3Pz3EtnX6 zx`0b9dA<@&!7EUjl zrKYN)H?6^kN27{?de~hqmF*}4{U!%(WvegmC7<0^OAHG1m+!Yf z>+V-!8yFrmY&9#_;L(k4=!C;{i%(XNr{vxe5*??9R7v*p4X%pKbrVEH5o{y>2dY+oBOL6aMk=Ec6TwsR(hx&kKxgoSRYu)C1#$3=@UwCU^84ra_NZ9tz z#)wA-7APzgQ=5%=o(F-tjn^iB%eJ*5untSCD`BC3owa z*@uPgUm{Aki?tL7VmI%Nlp->Oy|-rsMy3;;opwL2ei1LyD~u*h3h}-0kc@4p&=46K z88NO4aBMVfpZa{p2{JJ;xxyUBZO_5{bx~&X5pGvU_B)u6+k=`TPXxRy-eyA@xyy;U zW402(NyiqC5Q=PcPA6ccx#8ZTZYxlMNFN-k$i*rAA7m?eN zKq8_w@bn!HEMM~LmoMt)v}o6co?9TDG9$yO5ebR+w=PbT!ZfK(jEu?x3QmuXK1J9a zAfmGCZfQOr?vx&U_39P(EW9IFc8!^XLuFN|@xN*T+Yvcep~f%YjwH9;ktB@14thv+ z7AI%RpJvy*@xC%ED=$|ntPGrCv;AUwZY%A9!~#eEa8+dJdu}}GRQZ`G=^CP>l8X73Xa=x zV6sMndO;F=TaMybG3yZ~1}3KdQ{3^cXaOZcGNL$mcHFOlVVk*9-SoVU{J|MUMkZ3) z$x7|gA~$18s|~pyiIC^W%9pPhUJI9I!V5pz#~IXjEU4{z{BpAhdw6|5BTI`3(=d+% z81WZ{P)(tV!GRc$Cm_GyHP|54>o^XhmbsZ;%vSGp(TE>p<jI#`ldoTb zDI4w`4??LpJHO>VPp+8%Hf1+IKcDxqeF?Ll6D$*7Q12+8D5F;INr1{&99DMqxlzzy z-_ZPbOKa>ktVATNN~aJHEWz_7{Ors}u|&iZIn>9F zub9;+D2Rh|J@wSWR$kuKHC&4TVr&-}UeRP%6ljtXK}1Bnu6=xXSh|94&>(y&(xBQK z^U@lg*?dvLzNX96`*B?}cn^t}BK&I3je`BT74UhPFk`eo#IU zaEeAPLKTz0?zMu8fMmy=(DM5|#?ar%l#JbsCw46|hX}1SykNu+!d!mG+2YB#wRT-F zR^0Z5{%qrnDvhy*UBGG^`0V0h-mU9L`h38-^K@%hFL($$*i}Dr^^4Niq&lN`uaUx2 z<}s!&&BVG+`9bXnosv;q-Z_XOGx=`*l`2 zRk}IC*zc?GO zcAUV9te5g9vo(94wP+xx4k-UA|AtS}ZDr{%oYo*F7tNDM=kwLB@o~<&!(d3$LaPew z5@rB%ie!-K?szKfba0H%B=XC!3h?8JMl0ryOZI{RFN;o1+R8 zmCA%p2Tv22@(E*p7Xji^40XpSX3tI<{bM1G3LV=QLQR$ib_U0os7Eg+XL_5RB5?*z zlTXG!cf9>PkTa%daAmw^tla8a+cuk!JEhOOR8d*HcGUiW5Ef!*rqHiL}#J>(lwT_;4RYIU7Q3Z2i-FMd`IsH>(N z^txeu{C#2Ak;odSjPl9s`sO{X;<0txpdnIr4|W-bpwr@7uZdl1I9ybqDoD0A@EY<` zaWYYkDd$Ma09**~{j76DOy&BQX;e0OqcrxQ9qr=SC(d7~@7*&(2q)37ut4m%Q}8Ge z-dR&?EWW7H-j8i-K6c-!9FLo|J>{Uv!2=(Yi)7#xb=)5;Y9mk{ip-Q*$-I94{!1RK zTAqR33i7{{m6dsP&+K$E-5S3KGr*7&*-f#yyd&wBw0cBSs< z?%ABKUiJcsYQL)!`dfb62=rCO@sby6{5l09FnOjeD2{UNe3_SLRiOt9JZ&|Xt^=)3 z+vS*DWx|J>etlYW(DB-d1~*s)l1{uGE=G|eJ%!E>jt{CU1@yH2kCV#vbStEHIEGCiTxIki}V5}Pz?=Ca0~(%Lo48xJ4I{kk|PWaJZ+YNhvUw)^qftqZ)s zHDah)x;XI9O`Sd`hrU}Ht>d=E_87?a^Mj=|htZeM3Cb;q243O*Q`@9C`A=%ntWj$G z7d@kd()NR&@NO1=4ViMKMm-FplKconcTEHdYzsvRSKYaTq zzW?{?@P|6UML!@QAd1OceJnq$(8@ZUn`;RAb-1qoIVC>5teG&aySjvmN>XmR8{um{ zwh$m)N?pCWW8tlfdp!9qqQlR(#2w{wR10V19o2|}XJ`3D+lm@q^y(Ru%sk;WD3@8K z(7qknZNbJlGOWPWr>F@`;*ZeZURL_sXkmP0=ZFfw1=w}|ZM3Yf&*bqFwC7j75CyC? z^t8143LgW&JHJlBkeepX@;8G2VLW2Yr;T|2@}U(QkQ$>7{ssV}dPg$BxY=83^tW%O zJd}R+e>1*IrGDk{Zaj*D00#ho$xcIOP$h2#K5fftq@Z&@d>j9|h!^_lQ$8Lh)efD27GmjVj z!A?tcnzkBHvXEU`+OAMi-ZZ7&m<;|T>YbhH>X$jD9q1b0!-^k=;SpW&kO59ZnG8|? ziaKoOHv<_n2P>D(QyGua-+4ds#>dCq zc1Zn-$j*cSU^z7)An@|)>i!5Li;YZEuP2T0$v`4IKVI1FOcCFLh9Ws?avC8qzoSG! zLEo-0a-$ZX?p7E+Wmx{09Cg62gUyKvo`D7QXfPysaCtfVA=nQYv(s#sDckwHQ$$o$ zHABR>0;Y_Z{`m1@zdWnL&Xf>^Of3OV!&Y+TLV8A`ah)-)X~1Q1JJ9z2mcQe?g-V5f zZ4nsfJ&yZkt94syN=o2WR5Qe2f6LH0uqj{``Q88e@VxB=^{{ZvhJ$Kwy4?Tz>FD*n5wDpB7@WT7E@HsEUdjn!BGk{0cn1 z(!MrMLScvNGgXz8u1?!bAnQ}szkUfJ=nmplH-Zk2$-mbW7KXtN$RR%auv3$LG@8TT zp|bU&qf${PDNts$XBd5a{3V)P?Cb)w7o_2A(C|AFg2n8RqUyE$v=oyAb9b3k_eXQg zV@1$W7H10N@<`ZTD`xNW=V!KG#E&O6xpx+!&ey8g(xak^EW!08!-@%1Io2UAPGheX zbI|#r^E-F*n2k|e5T-2?Vq82liDFuGhjVx~7ZsfaleZe29af^joij@)@MVq`tp@)b2D0F1KW2IE35wrZ-XC}z1>SsPImz5LE| zR8OC_n6APXnn(pqF2DQ0GpAy&&*=t}%QY%@=U^I(zl6Q1IS|5LT&E`|Y>3Tx)zx>vxlA)-)@+f{w;*p&C!h zzT)kyG0jSN@yv>~PKV@mY-VB(LD=)@FI}=b(HTPC0T)}d5DbD{A!G8_Q%QLOgYxN# zg^TkBBWf-A4ws1nN894Z!T867l~a9le&41H!d6TKjz{Fo1jN{#k5eqEB{2%Wrk_+o+=lt;TQ1QU8sRz^_8L(llqaz0qr;Vd z8|1aEjHui3U-{TJ00~N@O-yLPp7o;IuKhaB4r-j5cht{M_czk8wRDIz`FgPXaQR-V z@a6zJK3SWa9A#yc%!lca0|7;>VcmAn@_WR*=={{(snjL%oTSnz5zFSFE6lu07nBZi zS^o6$>J-Geq%iNl#~D#B1irBp_m$3k&9?LML9qd9E@!BpM7e-XWL`Cqkw z35lyt0hXT^AJ3LM?)#n69uKhZt#54fhhAQutxDcG?tm{Bix^tTKVCtmE~5`l^g|4md|ds?~e;hssl9q zt}hSi>Kqs7J?R?Lc{Y0wR%PWdCp-Rrr@LHFa(j(ZQd8-r1&cEq{e8~P&pE)YI&-2T z^WMAjg+Iq{BnUO@ZbHVs8L&it>5Dx#+vVossumc~7L-HfBqb=2Dmd1D9oF__xzny| za&FkzqY$g$$Iivd%Egv6z8*t^S^d?dN-eho%VtK;C{Jj_f!UWo`YsbUZou9qc8buIYL3{%GE zc(8c(l?|08gM(x%ytaQz6zk-x&h8eZG0}-U0_|b4*7twK()wQ=$CBa+*j8Svv7fMd zx9#(;dunE3x*;Nr`8tUDo%z;4Fy^G3YgP~dYd-EAmV;P5juHLirW!giwKZkkk0O5V_3IDdw<$=GIQdX5GB9ksiFX2n3 z@4;PW5}G;ig3}b+E7q+}&6wz&vr{alrs?VgL05_y96=BC$pi(p2Gr+F_N>N=o_41T zI5%JQU<1*Kuq*Pqjz`}mcGxV(J$)uhBZ z!(mujd6(~6aH&!2`9|B&1~K&E`5TM28Esus-wRvR&n!cyl9nYy0cSh-K~zU ztInC*OAzdPp?j+{;F%(K#s%NrTuR|DO{mNBtRidY)|0s~%T30Tb4@OHxh4g050V^u zAvWl{{2pNiZ`CF{8%jCcYdM@{6vhXDXqndf@{RbYfZHWLsD1Xz&v1}6JX29sm7Iv^ zQ}`AI9Yje2dhLOYx2#kURU2Q1&deLcV@9sLS}i)ac$ir0+&`?9Xt+~F3Y`ts>0is3 z+m?eAb2U8my}oG>63ROo$fhXCV4T_cIC&U&i*ze@2b0UysmB()K_P zuG;%1tvHqRKKMeRh^4Q71n!GoYn-idW@lkhQc=-waOp->V!<{x`wziGnhszNXjIHx zjsFs@A^q=#Qa>Z<1DB6JGJ<+;t%x1gxoDn#XTA~MwWAOi>Y1TUuZRt_4B+uOM_Ams}f%)XJnLWDLZ9|?WnL`v>i{^Fso)JCVjZX zZ6qNkRSyeAEgXGwU|!F3)88CnJlUR|5|dK0(6aFGSW6m4l!7La7>>>S#D3ah|0;wEzX`;I+!Dd>zMeWm)5^0^RY~9tK@>u?;PQE zjm6oiQgRWW&25lqPBy(fLAu|ZG=jP-{SH_O+G&hLKSo+?#Q0MK8ff&!Y6wwuQ>R7 zzER4-A?jkHSkut<^ze8LiQG{~b~kw<_OKIlLO*-x6kmP8Jwi^UO{VcXFU~^khjtgH z!(~=u4cfSfNJ$N9ta2S5&6Do6VLQK8Kc_^^J=tw-U6l7sojFE}9#0bg%QYcS8MSE= z0~qT}yXuZn0(2rSd8xh*_eU5lEZ1AEdurkc*OAcz%KqqnP@>j>=U|I(B<3VK?S*M= z0POzLr$-xU*aWn#0@|7T1H+D>`-W;7|KcFRuwp>nGkQnMR#%pcPSkBJt}v$!Za>tz`JMODoW+E_wm+plwc`ua zL7qckQx(P@Sz@C0KW~EE?Lw6d6;=4<34)yAKHGHoE$kW69;<6`{EXwA3Ff|e;=OeB zrmZ!1eY0`Xgib8r-G@+S^(q}(wKvjGy&9{*{`-ZKrT2U?gOGR5t04*ra3pHRIey^* z{z;SLMUP#}@yVff#(RCrer^Z`6MPRhwma)H-A%4iG^q{KCOAAq*E=s6SEx(s#x{&Z z^PheT)Uy(d1qH=k79nzFm!2_xZ*MQeVwNB!oWfq){@wf?;bt_u4HpGzOxz{`rc+^3 zVKK6@^=j6TFU)5vVM`+Dz6^3uK$uQx;t^&#jZXK%<>Zpj$Au1qCPz|}uaj+%Lwu?( z^0C`+xdpYhT{bSZ3ltdabI{Gq8Iivst35@(;10jP*NW+Ep%ddp+~li`f{Dpz(`AdJ zCE5uVTllms%52y2^2Mi%n1}19+!$T(aN0}r&fM6=!}*%Z>w{Pxayqf=(>9piM&h|6 zd@~EOdI(?o{2|W+)AtL%4m5rcP~(IY3!ro;SCfSdi=9G0$#AtGh21(s)u^^#K5ker8f`TJNR9)_bD3 zk<2N~nP<8>Iyx>cF5RN*oI!I(@@RSUVI=Wp)KG>ncB_!C#q8&2PkR9tmluOc<-R*m zYniB)Z{B-OjEsy+0f(A)3aPbWVPV59rg2S+da<;|psORp?)TC%p}K8SgGqM{q6-Ql zRenxC379i@a#_y6@&pdT)-`RvSzw}`I>YOovHI3qCAiwGyfE3i*~@XRE_xc}F}2OzcyP4kj(>j~PaaTG*+LDX3!1J_{2B@31iYNM^g#B@y9DnGv?Ilf z^km=TDKORQaTFIn*4G!Ls>v@Ay?<|Hb7O-QD*NnqD%E=mVDu|Ni1=_V+mhL~Q$iH{ytwqEwFDu+yPh}C zZl~%fCujU&k(cN8AK|*F|Nl1nPyQAb8Z#L|Fh=pgBOe+)q-XZrmMme>0c?065T9_%c-zu@GARaL1~ zPWWSd>YXU3p!P~{v$50V!u@|spJyJsCM$ePhRVUV#g9?bjstRV4lb^wZEId?Vj`k@ z_v0tVUoqalz+kdemA>n7C}ikGNfW&*FrQ9+007jH(`A|fZ-&7is#d!26{zQ1e4C5E zQ)mC^tUcoB4+#niBHX<9e`wAuY3yeO4KZ;yP@#$_n0( zPE7Fp^UwCrgNXvg3_2e%`s$*hoA&A7*Ye*_d1yQaLBP>6@`{RWYnfIxf{c8k&ql#G z08l3MtLMLJ0RZs2DpiL7)*`b0y{f8;N%-M|2j^!#tbfqp>r9C28Q3K#!YX7arC}zz zT6$%FPl%rKEmMi0_eOpgpBW2l5IC!B`{|uO@@luECaC#d6B!X6UgyK_#{N5z6NzkYq?VbfOf zDkrbw`pRFnjsVfTS2gA}LjPwg)2(?}r+q_dx0ztp*R{R9C8)iUNsy_DNo(!To3}Ey zC+e-W@}TwG=`FRBiri}I=eds}9{|d|WqhnRez{z~5U>%VURrK2SdbWacXe@W_n1;$ zODjDt)kIA#Zw7T45GW}XoNu|;D%IL5X58%Y+T-l3<5pPW9M6AK2%r2WSrk|DwzKia z+8VEbfB+U~`}9f8JD8pugk9_B5%%8g9~elQ%a$ocjW@zn_LAb_N+$17N@m-t)87Vo znb>ZQ_gK>hN=pli0afjK1xK~gDKF$to!qf)gunP-`_44bC9s#X3-%L`>ix>^geT?Z z#)%BkB6wdQ{qe>}6j9(Rm*(K+$jPfD@;;i#@k;spAKqr_-Fr0#@KA_g<9VZCBVQx& zdkPza+me8|`9C)+O>gCx4Ti+wO^m-%>Y*-IlKW5Rvzqq`8t1axg8SzvzA*T!@woq~ zY4HF0c%;C2eva|nn-*kwUDZ%@c9arwmfJgQRr8lWej)G5{nWi3)TaNGwiK*IEY*|fU4dpZk*R|Nb1^>Gxuv$ee7Moh ze51L8gHpg{f7uYnUx{hid6Su{y=~u`Ahe@?z^s~?q=*GTf1f$n>C*F3N599pJ}DIo z5_8ix&@k|#3+|wxruwzJ%VpUW6{Yld=4ZQy1n_j_sGYeS_hgkq)r^CKKJLORWe8v+2iwSbGgk(_-S`nV5lB1~%)weCcRdALGW; z;5c9VoLfK@HZ?r#c(yMg-OY%o+Y_w9%E=cOOJSz1YM3}VVH@Nfd9TDL%rqVY;^t-= zkF#y3cArYd_qX^?oM@Nwv(+J&xFdB7@{>5p@%()n_Ld;883mzLRr~un&$qVp9TByE zeOOE(7x6@?HQt8B=B#zH`j&@*p??L8k%!&T@lVI-b?SwZy~ZP6LymGptwtp^N$7NW z?)Z3$F5Vv>p}xbESZrczyA^)l+N{~@QxwVIz)*}6C2KT3Ij#1;F^JvD`B~!+QBd&9 zT3o=ryc%I*p%DtIaG`+T za;B!Hb_&SFz_5UT7F^t05B_|#Ra0#I%tPSOtD5gSx`%G)wQ=~8?q3ta)aQ*MQi<7%g z|HOUq8j1g_{^I}pW4^9krIZrpE14r2js90^lHnt!{#WGm8O^#r<+~IQ9{kG$D)ZK~ z1YoW1gC&aCUV`>Qv}Kkdw1z+bu;!pGGp~ zFlT2LR#s1zbKbXhpVMez?5E%|E#bC^w%5 zQs2J`LC5zAv>Ce@t>H|0))vxlLgYC}$jAl;MmV{+bnJrvGhs%F|6bWrS5r%fOE;Jz z(|9D}iB>XIcSY%_(+Jhd%geKKlu7qI|BrmiHXwL4A#`P9gWtymRIbu&w|=V^ptH{RM z+FH%RuNB5-#Bm{p{97F%!eOZHqpZ zO`}JEHrz22{e=&*XMhpihkrJlpA`n$$O7Mpr5RIp~(aJv!bZT z2XP{54QH72HT464(e@##n&R(IZLCWl8w}M6xR=Y6<~tAo!`eGciGo4fAzP<4eLs47 zik>j5W^!?H33{Rv#`*~50N^!KBq!0do#boz*zavJxl?zEak9^g)t|NaO}aopStU-1 z1Ey*GoXOmV?i|+*xB&1pAy2{_`msZCQ8(Ad;~ps`AnvZ7+qQ*I-owmP&==}B+P7!J zOWi2%r3L`+R-4j!&kUI(x@}%28*p$4-2sN*MB}cUhaAeTst$x^WjW7!fkEI59d?0! zvKzUo9mnB8P|z_5(6Y+%U8kA0R#MrCPfX>;GaCr-ET+P4t`z-tC~Sb;?I_v+6n zYe2jHl#S_yN`|>vb5FXe5+NCx%|tM@WuM%D4fs;E3Zx_VZ{f$%hiuM-3~fXlP#xs2{2UOYqS=r=CoB1S6QclV3OI*+2m zKW@D*=ugrb)>S0aS=; zd5+0@#5nC^H}7}Y;63FhO|oo#L=5Ev6Fvq;vu_fw*TRKz!Cp6Lp535HH+aq=xpEQzJ)4(7XBL&%SlR|XtgfMp~WkN z82<>o>k+?M+OL=Q!ls;*Uy+KiiHf+I0-z@R7x93#8GEka$oL^?o&(2Zl?Oe*`}BtN zkxsKT$%5HJ31KsOfcNzcNTs8Z>PeaGiCz(u^dCklT=BpgH?@3b#7{aW&%vu-I8IN6 zD-QbuT>i^Sk@XElPg82RMVBbJdOC>}AKoLz$=?0LFUR;>K90J%;%*(zNmk&Ukm*M{ z0C@U^5A_+3dsv5)H<=B1CzK;e0KDs}jtQ%ML^=7O`Z0j~Bu)UlGq2WD(m2)t02`k_ z7(O{ls?X^A(E_7C{_IUO{tU?ea#IU&xy`{(0NCIjg9eK_-r78-Szp=80f2YZ^rW~z zs>}{sh@SwAWk%0P%c0uHhnzT;;0bS0tkIOMr?A(Ka3DGg7XV76sBZ(jDXDmp(J~W- zs=g=F%dQ%Xl9bP~*FyK75Lo z;sS%AqR$0nS*YA;wB5vVA{)7%^W303REYo(x0DM8-WBLN*F+^L2A2fmli5S( z#9&R#%=r%}saOG^-D^7A>?Ioj@Iw94ERRMzaue(5M11sGaY+dYbpQacr2v-Yken1J zTL`IA_N6qa$j`zshdhQtHUMZ4iR^wueH(Zk<463jKqqkv|7a|+KLA}oqQ7LC_h-HA zU=k<4kk3<^U3JaNSDS&s8dVaLPa`sKe!#8`A2++D_BpN8d`xfi5YJPTp z!+U02Ls|eYO>QR6qWIN6r2Kf%)7kBUThW)h?+UacEtw-C6}@(a)T%`p7+w@er75R* zYqu0@m-dOlnz#+?ddya$DS+hDMTYlP<7rA(6Qdo03!?M- zAr!!}pIk8DIfnZ3ziR=qy3WKCx-p&4fOhFGcsPJc_WN7(08kN@zlj5kd=Mu9!~_2! z#Rbv{Zv26tdG*&n+`PH5#Yys{Onl&VMk<#QSVLobqhQ9)zWy_;iAtpQ*- zt=o)?@n*S-^1}jeclRd(L3!N{tel)#yGMQ*&CT?nwyIw+5txWdhDfvhj97lpA4kZc zL_SHY2p15gD)2VpP$K6oPsNk$P9ijX6Z(W?S0UQc(y}nWfE6n7_p(~VIG!!_j6#U} zPpaceW@>A@l`^sU003NYZtP(Gs}>&cuE})E7kD@EoB|h6!_Sid#NBVaN4A%PB0TFUP?vZ!>Abc)v*jI$GBfqK^Y) z`_fb30^4?c?giaVH4li>uml=ZPi_Oeh86y_1i{ zCg1fR8Wwo<2lVtk1z?onSdlPjB-=rqUZy$5%Rc=2H!k3E!-`QV-{B;DD5Y*Cci6h| zM2IB&4$yvXQ#Po?8UdCg?|%7}n1>Qj?k(b0UuJWt>72w4rBFxfKwK9jnWd={z}Xd@ z-S9O{xQuQePetL z)VTCOLxPN$@Q4B1q>X0`*wqbbT5&9~`k;*o5QnX*f`En?rWE#W!qC__yvIyL09Pat zJ{h#y%hh%y()9+X9eS4lC;Qwzs!=0P%+|HaHJmH+&$?$6 zxZ;P_USAtE9N6jX$|T;{`sGPjgSqYjYUBhVz-Wv9Q-^5J$VoO%Do0InI?tW_&GN1{ z&^!s?o#eCI?>2_j%~dDJ=seeXiyFV;;Q&?tP~eL5Sh+6u^Q76G6)6@vjJ_T=!L?5p>FH7YFTJ%3>gynEg>FMc*otO|9!Z`tOD*6Lh^_?qAVuW=(aCp#ur za!E}Z-Bx(}UZ?}&iCpXyiyjkNe54g7_1cb&=!k1kf6pbDeHJcY<2UlZsC(sR zpZgEopEA$hGqY#*%*fJ;`TX%%L{?U~ zgY!|V>ryLRFD;mn4&^ntru_uJ~GQsH{?00XXmc&)mH8f*(v*pReN4r1x1E75wGSS0F%UgE5)TfmfSE zdp`W4k`HUG^#l=H-6~j8lkfJFN%=U2bM^G1R`U|DRVyLb)K)1w);f0SA@YtID;a0< zLB50vWs|$-{35kOR(xqHot%5?h;32-v*b*X`o_kMtu0Q|wv)?h5@~;dqE4vAT_;ELbfz#BqWcmszd zw^?Xd$zVQ@8L(9fFYIDDxJ+ccSY)tRNhX_5;vTY{99922-6hS?2L~XPH#yG?aYyAd znyU|oCkM;ND-~P3W3QCc9>#wJsGn#sNmopiS7z4Pdq44M5X@QHqHD35Ee+Jx(juZ0 z%I*3!W$~vNv+Y&bO)*^SNs=-fb}6i?9NFR5Z_23Sn=WxGQP4-pgU84DEn2{A*fNU@ zRPj~zF%>g3eQMs(0q?F-CviNiQ6Mg;H0FPjhO8bCPtQmV)*K+ zIjyKSC0}u@=|ihIJ`5&IE#M^TfA(HlVpCc{Ckk&BG;78&-C4sKfTAsJO3#;uRqSVx zKEde1FgOi6wUvp&l#G&d9F(C*f5Y5sp=FHM^B!Z00kk#m*snyzmpbIR%_ZcwmZZfp zFu-==dDOL z!pGE1;@1*dF#u^_3Y*InKQ&NPl|P@YpU6Ike4xVAh<)_@!0=wUsq^56O)pK&dOVdv%}YNlD&E?I_l2@?|XfxPahYY*-Gkb2ux)j zv<^S``N0-b^sxanKfI4#k+HCJz10MaDEt87pv+Q&cwWBzbdq%JK+D6!b35RpT3$XHuk1A7cylLqR!N__y z74`5+hB}~C=z$#x3}33so-6C7|{#rZxk%X79U{%{tdFV*=cyW~N?Q%kZX-x$~tDe8OnrV*}hH z6RYyogaR*DVrb!|Acfd0<60Yrdg*@6D5+v{0K!oa5W+C7#Lh?}f?eT^_hRB@h>c9m za;zj*%fmf9FtF|PQs4&NjX@%T`L`4<2$b?c1pT58XGy!gizedwKt2`ya8XMZ&+`79s zP$w0l>xjezB=vOrf+Edx0U?F&zdi$K#J8*2>5YZ(HFUp(QA_d8micDrm5BncoeUk) z9^v$)KLccY%+w@*^UkG;0V}-$D0~ty6H}0y)Q}~U2T@7b3?2RXgNqdtaq$WumCQ$s z%OA~T4|qy~weq&6re>NzQqrsdE>|fgvU|`0utSVB0wL9N`wl>}T#{I{ z9Dt0%czj*w1k06+((v`YC`HkT*R5}iOI3Psi=j@Y#@Z^8H z^-d0+UL#l(7PhHsjizH4R=V}?EhXei96*u7&r39F%G#>@6QCOYao?qdrL z#i(fyeu$UDhoq_8Zn{dKbLlOK86*j@@CBnEqc~5imWoFS3qHUu>)&o`Uk23-26Ijx@Bn}jbU08e>*-xH{y^RZJB?z(xsHZ1Go{Qugtl*d*T!lyP5|8u%JV{ zDLnh10{^<5(A~q$wei>P27xVic+X z01ZxXR+VHz87Eam47U{qfbfeTBS6agL)f{hsb=E2E*78*1C4#@)?}gNsmg=N{d8ZT z$HGL9wOJnd)lY*eE)}ML0Z@(c#Ki!RRnL7||4B%%%lAXR=b{!6Qus^s86cZx;*%wM zO0wC|Q(_&DosQXqJ_gO1`N=>a@XCfB3&4l*=oLW9nwda=A3Xt7)S=G+*>e-wku+=6 z!2;s2X;XXOACvzVYPXVGuGnK3@+GYH=W8rL_UbcSj4mw2K2|16A)@mnnF&!q_Wg5Q zjIL?E^j>WK26~7&t%Tv`1X)XHFuHLcZttt|4&zTR}3wj`suf`XqBku zmWK}yr`NT?X+U^P=8cEP>GlY)%68O+L$92pakL29?mk>^Nq&1)re!&4s}gkF%OWl& z?t3_AbXbU{QW?2q9^d)mbHfxn?}0YMY2cKkwA9ps?2=tFKuDRLfV~EXy#|3CRmGA3 ze+(ip-u#Bi!E1xQtHA5Ky{O*_C5%#_ymLMQYUb8Y|B#WDr8#XflA*XWRbnD9-(XsG zdVU@m6I0%#ZeZ}USF2U<>+e%V`Ml#mnHnec6d|;x;J$Wr>y9tD+8FfX#}NwEVnt+_ zdDy&7H|{c zy!0vFmv7ckrYG&F%wHP7r_7?BWzy)9=(OY20(XUu=YBmOs?s+LDD>P$2`*h0?U(Np zzB^d{yq*f8_LX=TeYjobjXg)w`z{033knJzX1>aw?$^d%>`toYjh7oYSFg!N)A~;D z!y1Dw7T44tF3!WB|5+$Lq5v9uPz& zwV=iCY--mg^@G)T1>_5H{}d;u`8ovsXq)lzt3owe7Kl;f;qG#0|JjS#z{_70d!gbN z3nW?#iA4>8SJ$DB11KmU3toBkqXCEQ-a{$o#38)AwaY;W?Q^nApTnC3_KQPtF{=;s zFwfO)vWd}jSMlWzAV>50u;4?rGkodc=0+LMA;kANzz+3hn2BJo%nzQBKB!A*0;r9B zR9Rrssz*F`*oN3j<*lkVc=I3ol*fmSh1JsByz4b18GDEg^TNkFX{^5)Y-nu_fYH$b z&$2=v2MqN63hS4Tp(&q*a1%N&cPJe4f7Wn?(eYp7!RUm37C8~oOK3C@(FpA!wi&2H zL+^?Eh)J|J3-j}*>Kz;B11JTYy6*23tYvfO$@HJH&vv#(L|8R+cjxMx`sr7i0?#$- z@2Y}4yOg_bz>5FvKa zvwfHx-C$3TNv^$yTQ<$Nvp0>0%fVKITPAo8-=uH>!^WPJY^CG&buRq40iBsfJ2D1s zbZ##amg)R9)SgJ1nr00Q*u!9cN}L2#Qwm(jw$n&S$?KsoA_;Bxh`On|+uJYTaZW2y z=0a6X&1x|{H#dz~I+FtH=~4oec%$=Twa)=LZ0@J|O#m{;!L{>-%W=E&zD2$v0QG}& z_JMykI({ub30cEatEJ7$Xdqu7oq)o4?Eh!exl!VF!|cHu*{(i+0TnuCZ@!)FTmn=CkN7M12ra8L!t%KBGzm{3{M|>;*2LjujwYxJQ2bX#M z?3tSKO2G+YI8XOElBE>&CU{Ot%{4Vw+1Pe_j!a7#55vg%mS#%zs_GpA{)u8qCDTXY8SDQskK{w5as!sU^Q7^l)CB_?y zjqSm{YRe*0qhSr{%xAb5*)M8^X8&T48C#^-kr}(~7v~Z_Z4kPsqLu=YQjl?*b;!R? zjE!xSFXM-kL%;v1QF~2A_gwD|Sa8i^J}TKIQplGp*W~;n{RGTu!U3tZU1laa9^~fm z@H}N!rDD36?*OV70Qb)M??$*@zI@3u;lE_5rx(-O`igs$YWo}E0Sg2MYd(1<9^ef* z;81v4Pj8^6mPOO|JF+pFT2MKtFBW=UBq{DUfKw_&N4}ig;f*HT5(K7I^I?$?FC-_ppY0ez#v;}WQ;$UC+m#kxNU=bQ>nId|R5~`{$B1vqKoy&$CH%K`2 z!}kOOe!r6x5|)uUpZfzY@~DFS>EQcQNe=}xGw3_ZZ^{XL`VDpM;Zo-+ZNm+IAHkfp zuAyDU9qomyT7cGQVS`&Yx{YNNB_s&S@%6sp3^PPn#OWd=S&{2zGy{BZiAEC zQ&&Y(abK=oWN`3w(5I@l+mV@y0K@v2mWO-E4^&A9M3NbKI(Njt>)l2FRe%t7V!`V@<|ySwz+!W+0Yh|1aKk{!&P& zIQ!?%pV>c|MX47S&qYk6r9-vo`5NS~IJX9`m2bMje9sOS?(|{{+LKJ>Gx>spj z@kQqszR0RXwM-PE`RCNDyOwqNJ84+29gMqD)_xSlWpSNjS zmelt?>6hW`|HT@WlmA95>|rqoroC!lvmL|54F?28NX=yksauyH<`is|^ST*2@XZv% zN-XD?pXItg!woI$&F2A(1=?p=D3Lj5&VY;g9bZp0ZSnCoz!W~V(E&7GJbDG-Ga?Xt zRJ-(Hv-J7)qhyNTUm;d+6Q5uJ$k533i%FrQWj};dZbLm2RVs(AOq7)jc@+*INe&G{ z50MAa#1*=Ki`0`wlq!?5qn+0zS#*!8rKtNzyg@`{3%@s=C(Ih5i|#Z2j~^UjbGT;3 z9+O@2EmH4qFK~ zCQr-}4t-rF;AH-f;~B!i@a$0t!Y)B&N2BLGhiwIk2+|3!>8jr=E#mHdJAaNDK+@uPjK>w4Kh>d!C~^?!%e6&y+fjEqhkm&(jr<2UHzy~B0zdbI>UV&ZdB)~x zU*TfEd^SJwAHDnYh7^}+4(sG7^f!fJH7Ob|KO zp^Tytw|QS>x>#@MY-2NH3k4b(XzZ-+9!E$H;Sv(Ev$2`hJFJh;23R$Yn24xmd`|xL ziItuG8kLUqI4HlgRc?vXvu+5Ih$N|r-Kvy2Bhub;e=@zGi-&)cFyZ7P&{K9#$ zrhT6qfv5^f@#~q|+4%sI&N`=njyk`f^tKa-W!vpbu&eUS2J$>X0d#ZEdB#y$vM5ZbWw62(z(y zul?5S2O;0j&4Z8COu9rwvdw0Co%iiV4Nlc=t31v6QRJ(San8k|aZN#sJ=$Qob32rUC{%D ziq_1Pdp*Xx3u@vMCe$sqD>DPE1Ac#(UNwKE5c|9H`fsbp^vYoe@FvT#@&yx7wflMl z+_m%9ARKPRqm+HO8e#U=n|0N1=|YlY=8I865}s_2Ou;Ryc(9;vD9i$^@)_CQ_+dg> zS+(rUItfQ4aOeB&*&Z23sIgK!S!|9k@=$BkxbDw24>L2f_pSv&u}KRZU|r~cumG>Q zMr7PI#|PEnxa_j26$n#Awcn%w8&*I-fa3YIUInMBS_7R?cQa;l(iCTBk~czN5Y-2Q zM-Wiw3$Z+U1z73EO!uZ`ghi{jFpxYd4o^=vGBEfKb86mRGAh8deQOY9pCDU0FDWXj zuy}NKwm)B=cU!E_^y$y$?N#SUhTj3L?*b!+(`4U)Lqig#hxu(zua<$qv**tZ4R$y{ z3E0y&%^>0sa*Cf_-Q1aI$I$I}-suMARjJ#WCG3Ix^t~U!3R;QA@-Wg2Vn5t=2 zWK#*s&3(?tX1l(E#^pOO+^j4mIIKy1MrK*;B@{c4@;@M+jqBt?3|S%6eF)N0dv!Pzl9Z* zh9w9}r!cD9EFU#x`yyRzM;PB2HtEoAux&QEEQ(BT#Mq87qL9lRVy}nb{Wq1Z4{nQf zj%4s?=ENeExLjD4_)MzhP(vJ>qN2aP2FF-L)b z_r^}O5`95{@qS)#hafBK(b4MVmoGB4us2wuC9Ga8N)kT%`Qg=1NEE0S7B}PQf-M@5y>WVtmO^eTZl69$K|9(vV2gpL(djN}?4Tlb zma~1BYF3lgp8(`t&(63$djpjdRASM(vE$CawYgb$qBH46W$X6#OJ#NDqer*XeHk>4 zcR#haW2h?hf{-UFo73P{^;D77P#mOA1__$W`*CKIwOpCdU`Q8&SMauYdTLaMPp!w0 zrLN=6Q2Uc6kpW9$BE5=vJ6BkZwLXOF9kBqH-!lEy-EF_9%k?_FtB#YUMCTofrPt>g zHdoEi>XXUIR1CZ!w6!)=5CbPAy_fqcetWc-KqTliR~VCP+~fvpa<8$C#w06=R&1_X z3sZW9ILgVB{dU%hsQmb&f?3$N^1QBnRPyF<23{Gw5-MtSb9=R6(u(>xw3Vlzt`u>? zK+9#?CR0+qk-zc#cM_X+A6vrXxnzApFfi!$m_j(DZK16< z3KIK*H&-FH^5m@1bvZLV(J1k8T$0i5I~p;!d}sJfo;(3HuT9gqotD`ueX#MHsw?M4 z6K=Sl-xa8zB{j7} z?^%#ptsQ7dHiNny?j;k&?4_ z5^-n=ym`Y~4$o@}Xi8TpT&{@89yg$8k~Aw3XG07WB+(ym8fG4j26wn_j{pZD6_tCY zT1jP>ZZq;vOu&ZFpC-qYI%H-{nM>DSlHj%bgQg`)zHze+`;MOn)M#kXZ%F~)3{`ei zG6uI|_fNSc5zfl?_pd?*89wH&eeq6a#tSenEl9K ztV659*(<^p=tm=Iin0}y(*)CB-E zsaVN$jqkQUs>9~SBJ3I#6)IkQ*1PHrIv}MaE#?c600#Jd_Gcvw^W_Er_CondYMdBW zK6kgMHLa}@FxgFxLz?tj>RbD;UajJ1Z&94TCd*!j=2s9)VSeD@_*f2cD~Ze z(Qwgv0N=T9WaZb>mGqWK8H>^HRSh;OktBvQtI}0XHM+0M`|J|u@rAsz{1)-;o1Rl_ zwirMgD%5omjuixHrySzBtCcwJ> zyD!vtc(%oloq)ULp}cG6u|r3&)hJ?vr*u}OAgk#{-mC3;GSDbpioLxajV7Va|G~eZKB!&^ zY`jaZ#jhQqH9^T-SMz%)RIT__&)&niYXW?_v+gACn^{F)3E5bs|MI1bI_(yTF*w(v z->row&3>7G`W8$|V|3-v9aCk=(n&tmVkR}1^}Kq$F^I2V%`#b3ElM6}<{HYrZ9rM|~xOKDI?G(FxeY1=LEqHB`w4#OsJ^){D>a;4(`k|tH9)b9W}BDY2O!ZVe60wcu=@V`^{DR zDG~Qog#M@WnoNT?TMe?v#bX#~f_UCfWoSA!;JWdTP_y5|tt5op%D@aR-AJ*S|NeJO za$k>f7RQiK$v#Br%kGHS-z&_vMri<8(f1P9D*)@XTC`Ahbi zh-#|;liTRX$o*a!eJxMzUkOKb?$LDDEIJw*D?aey67UmjVtV58h`|>soH*A3bW}8p zAnfJ7+@~ws?Qw}-?`w9JkoP*f=+{Qk+NSoM{lk~rXx^N6`eh(-+m5P> zqs8libK8d7s>QL^d?WkleeZUwadFQFM*E7MKMG6|Y%@EQb1e_U{j+V=2!v>lB};gp zv2L87|HCcIMj_cj-@X@c3V($lM z=wcGkCE^#04)U-FRd{g*(U%j*yP-gAg+sMjtB*PDfkj4RCIh?FdDDnC2{SA_Q@BA9>%5CP}e$bHG(Xn*8 z#W~;N?b{h79&onL3`#g;B;Ydm>D3?8zS!c8_k=*x7u-ic-N0>d+)<y-X_^xsCxa@{SCk`aaKhw%PB4w0c9mOIEw<^?PT@ z_N&^dyuof!v-+z%#L1-EA9aLu@KZbSx2ID!&F4pJ4~eb6s{#wGkqGhIyr&Ycu+<;( z2JfBU84+^(ZT(dcEHf|6e|t0c12RPz%jGw7Ehz%jG}W4Y@^D1x0`;~js}?F^Wf{2M zF*NDzS6b@K-p`RgPYVhfjXmMl>KuD*&KQEWu6f1#v1Uq zqJQ>Yupex{$;H{CsuXL+23N!hQWUKjYN-x3H`vx3zzG6VGV9~>s_C8*>$XAC^+WU= z#c8h>8n`zU1cGK`TVsv)A68e_7B)(+qxXe5gRTZ&^v@2UW@3wW#c!D+^!?xFWXc!N zngzSuKx*1AZeTt1u>6asaR(D?ZHbP{2_O>0(yqW2(JzOKMSkyB_{24n; zT4%%qeBiYKoeOoqo2;IQm_O=Orqv0RbUE+3Ex?GG;1qj-#?|{ZT*A*~SS2 zw0Y*kJQ)mJB?Hp?uaZB@2_!^<}# z>dDHMq23uedaplxz=2U-{dT#@$_lO6sA1%uULqbV4Zc9!udh-w6WO-k-z0Xh1Iuef z?asdaX>wF8kfRHV?^w-jdt{_kuZna5Nud^W;;N|ZN6Y9K($QB60Ub@O_Qz{Y+_IElD<|Fqk z0Al0d*jQPW!C&motUJMYPR4#QI4Iktc(X%Jx4GNwN=kMQ;EgRmJ^Q}0=o%ZZ9lB^V zCMIZ2fjqZ~y+taPRL$%kCPq~SRgY09J$U^*zU5mc5mT|!kh3#<2K`YMW?eBSLBYnK zKcCf7+P|FsA1naoG1}gEefjytQ|!p>=4L;oyqEu3sK=xjN&ZHVGo(JVV;7FZG4z5u ziQA6qr2Ralmditk9U`xG`=gxQT@DaEKRk&KM5zP2*-;uvKvO)uGP8Z%hIeA9v>N>Y zlv+8^h}~RY@*Mucf(kx%tVCZ{zT(rf!4uS5_QPUCtiJkmuJfz!3&_tw|0PQ) zFK*$_SNO!lp4N&T{5+e5zoGL-K@%O&q;Hxjel~+Ri3@Fy@@^IvEawr9rf{v{5%OBt zC+a`!PfhRlW&m%h8f>M?l<11pFQ3TV_2H2@7ZpjqRZyKMG4rW9&6F#`5PBFg}nkPES#gk|x;=hGSp^2@78- zO*7t?Q0L@GC(J|_^eNpy`TWYA+AfxCiJv1|9|WQbZkKQO_ZPaP9-@HQx`Ejez<|G- z9l(hEXPnepuW0z1mM6^g+5S}&2G|Kvjj&**Y22PbUI(bSz+Az7!?Gu)3w4e8E>L%e zL{cKp1VSIGQ^EEKsLn0+;*GK{$NDBSZQN_!vk*9+zc0*oE-!uB9ArH}SRf~C<7w~J z`Oz>lecm7=k!s2(duAAs5IbEnI>c+Vow0bm3#)(*s^9*dHAH0=7^rCBA^h$F-swNo zBk8v;<&1?Kxi*g`Qp)Hrj$#uqr-AdqaDw3M(rr`2lvj|Bcz1GDPKl$7mgB^kFeDe} zkfN{!?J_H@FfHgrJNBzDE#h!iCQCo+FmbAHLsq%`^fzV$&t*7a(`nJnW7n#^PZP0K z1V|qCpTjQ)K$(4FCK*uEhC@Rzjn=}Mua)eh+5rQn>Xg4rX^EDczrFVsH1nqEL`bmF>ieEG zU!6XWMaCV3n=BVW7d8%QwGI!7BckPmMYk5{1P{(fEVKC1m54Zl`V3NZT^hrp?w5ck z%CuGfd@b&q9+O&1emdtM`|Q6)m2EUUY1(@1m9x2;aoKxcdHk zHgC}MkE#UCl#kn9JlTt)hEiF1^>W~#DC5=-9R0zDjiH_>s2)2_-F0U#EOM7cfS}EC z>9Dz0n}}Pp)c4r5NB}tHxOGEYbzdt6V^DsmAivnZvx34uqSR~~fmAThzds{p{??AD ziWKYhsZ|8evM}20?32}G`q|tJoFkJ(DR1ayuMYmmp0%t#&P-R3-fFIZ8k-&e??q0q5NQ7+T?=TU{n5CeN)Qj@flv z=rG#XAQE$npxKWkDYAaRBPvZ9rs&Hn%+Fu)n)IduY3b;kP3ud380=`rVMld3!RBA^ zRszq)1DNQ^NlA6~-7YGD37q|)R;8AN72B$JrD9^@jPjL+_2Wx5)`OK?CKl`!Oaho7 zS2s?*At%f&2OOryc6R9KJNy2l(>6&O8Q;_Yj12|>KMW`@w9^Y$hRFFX4E&UqSdO#ck)I22g0fi(#3}hzWyz+ zvljF$u_z5Rp>I!LGPs7T9@5eE%IS7U%y`rOP$nHL=qySs&1-GVDgIe3L$rBwfjS-; zEpq{sspJ&hYWrufyXt+d|@L8;G{y;(p9 zzlW)kJ?3<~`mfX`E*~qRgu7Gn2J8Hb)J_|2`1IHg0bP)0-&#iLmNfv zCIz8Icy4UumWt+midc3ZhIsG*Qh5`0bt>X`0Jmpo2_qHMN`^M|8DMPVpA~Xz52HurGnd4|Jg6#Vt=~5)adT}DD{(}{~rzdz@z|K!cara@^=kF*N3P!6suHSL+I$kEriugEPtm2scaWSzJ1<{JG z)$1>7(=XcbVPj*rU2Q4&HT$8m{y!359O6M&GmbOm_MArYX~SEV{c7__xdb^hQ@W8>fB@<$Px_ce^PI(b?7Z@?g&1ng1>? z4^Ov6_3wUYQjxZ5L^0m-`$vEkDL$&q+*O2OR{@AR*gJyI8Nz8)`}z1saWVO1kr@Z* z@DSU~3_3KlPakC9^tK7~g4dXeDP&;t+S>@sWpZ%18q`Ce?cs^PHDVH%lqBGHBJ=gXoFiVr4KvkbrdE57o#FM(Cx3t85cLH=EXuT-2Hza;Zt4*c`KqfEott9& zF$&72DvVwowtmIJ`igQXi1^=x5=g%JY70>+a_?CAf`pcqsh>@fR#l_`h->UIf z*p0&baNu$8MHD$FG5 zn00op)%Rjyp-nCdJm6ztp#|Z}EETy&9T>r=d%9(=&#L7oeGcY#yylTxTyKqrh*uBW zFUSXi97dsmC#vq6l7dZxlSu-npyQ>|p zNQ|p^XTRs{J}Ka|!fc0s^5YmQnGzDiA!fO1)+W9!JGt7m)z#FLlyVoSx(fJ9%B^Oc zb6&NMvx@p?(!Tzosa6yRCuclgu_@=9H__2gxm$a{oTAu-`?RDqbG5enu-a|1C?+AH zw+swM?feXjB2%^2gMUh6{@(9cD-!MQe%$kMQ9GRBgqMlj*MOdE6HiOAepPA?+*xhi zr){t^7q@u=O~9T8x3vX6iJKTGPcKpy*U;XQyqGQ%taDlPxQ=!lvKfpdDeAm&kuIPm z#w}Ao3&h{qGm#}c;g-v@tDA9ekmA+S(t0DUyhwsvyRtH05{VNz#Dkucq54+hUV1Z#i_6w5M{&1(Y#5aQ1}G-07fq%*t6iD?net^U1i4qjp3K$0$fob)tG|9p_k257S1hUQV!A4FbYjUg4c?!7 z0+Q$T`-@4W9$ThhV*i#hhDKb^Wm~+J2(?SXLVbKZlTJwc10pq7tMAM0ihRM#tmu&_ zm7I~mesM6zCjWY^E3~~-Tx+u{v?nwagLpMRBHcC1eNt7sOyu5kJ7KEt=h0Z`noz+wCJbsLK2Eq+w<1mR}nf8`Rm1WfbqNVLM-Qw1y)~b{ zM54}eszT!hb)PgmRvy_UF9QrPC z9%juq&hQS$xuZ}P^(@V*LwG>8YWhyKr9upSFuG`yh}`f!FyhHkg`O}OdwI8eQ{ruv5k#QESn7GAE(Pj|CAVuLTA$vqva$;D=qY9P_A;Ti3+Bj2S=qS+9_|l4j^q{Nbu!n<~-?EOaY=JX|WDYKA+0jaT0>{iT3#~W&+|)w+xi2-KJiNuN*~I_KLqy8w z)qaq2*czNE(~N5#!^r;iuS^0@LeiTP!X+`@SDMcNRAlJV5Zjg@6)NDVVS}lqkykt` zE&%icU3(#MLW$jpJT;CL7odu!MTMMtpj24W{0Nzqru2VTyGX;~CrKmiEf*pm?zOl4{spk&_Ro)@ zMv3HvS;>HM$LGn(82@vEF!TUp?fBkH1KdRZUBkPI{O)f<;phgJ ze+_~I;c3_gxf-A^<=jMo5fEDEU#s6aI75Pkk$r`Z?^p2ltYQA%K)+l_UAXc8U;!@y zeDvrO7>9F`7!G--`6vBnu7*j_b4p>6?ysYru9c&gH%*L%k=^`n!W_yAWS)eRN6E#1 zF=v{VfhXmt(BlEP(4vG8$BFs1tdRz1HWK_Np@0<`^t^;T!v$~vZ9tO0{m}kbhp0>L zU&+t^AN}r<0RSsJULv5*Mo2_Nx|$J$`>U#rr>3U8Pf+N9m3xcCf3f=jZm;eomaqkZ znvpPzcO3Oa79L|45FjE*O&mE-*K7%fbsXDR-;HwEwGlLheC6!*IG325r7>n z>IuOgci;yPQom>Og{Wmzs{^FuFl7L4dhyR!7h8KB_|kwlgv=T0I#gNdYO~drDn&5| z+FFxDbRrq?sRa#0w0zm#h#l_EE7Q=^NjrZ3%#OM`of4v@rKPK@D_s*T0H5%qR{$aU z68{Cy?TVaNub2}RD^W-|2QLTWz*o{?490tV7x>^cN-L6CS=`j*xUI(Ujo{-?yMZhq z&PL(U(bymI=lsZ0{n*2vD$28KI6bS|TWsGRoCn}Ad=POcDV`P|Ut*lKo#j`fT$HlV z)+V`hnhmoGLYz|=g-0+k7YzmNJlU*K+`hWP;%>Wbc?4*Bnjwn|7_r^kh)lqycxbu3 zg4{DmN^;&Zy?yzquWmpoY}_G9)TI?>QQda8q`=*dno+K5PX%WM9fVgOx_ApK433V@ z&i3nvhK(b@LPa9oR zEo;7#w_Ybxsbva;^i!Qx`wvs=M6L@p&eLh_tNe{dvtYKaWhAUqJU%t~V5>0rVi>ZyOqVB*(dCZ*qbC-U9VGXa z!}7hXHT4CpQ2w+76VBfT2t?n&u9&gXwd2A4;g{^)4QdbGT2!YH9-%0vtfqLk2S*lQ z@@>vP*}KOMldhVLi1->L>Kb%=Owu0E_Z1r_Ibf{88UAN8K2PC*Q`qmy_4eX1KLH+* z??qc%;O;AN2FuH_UrVN06LaDXQSZm&Y*26U4LPGfO=gRh@}<+jmV;Kf>GnQLGQyIlm@~#&tG-xOpH1 zm+x4wjv}t`Hyz4$?0U(yp#iJYpmYHiW@cKEK$V0dc}Otz)Z(JXs&rzD_rcoXmY#9%Mj{ghd^*p=v$mrX69;Q4aNSGNO!CHs zil8V+xcETyufC)559OJP<$U9B=&xAzrU6^9QPee4*U%wJ=1jDzGbK6G^C2vj0|4kp zYw%bSA!aX=!S{FmWxRo<*n~R_{32|<#ropnVh4g)mp7YRhH#P*mg~#Qw#&VArGrc% zcP&l%GsLXzUEi=nRA<#_IkoNW3E~Gyk($1DRph!tfS*6`Y&YXHQt|EvMJM`y*n7*M zIJ&OycSr&xBtR}ScnI#nWsnep4L-OhxVvi-k`P=534s9u4DJqtB*EQv7~Gvf2It(9 z>$>mrJg43|Rqu1^d^vSK?W(S>?%ut3uk~C1-Fq#&oO`;X4d$WxbqiN#!6pGWC1@f@ z{M}Wjk}%S5$lEk0pJZN?`pNvbV z4Ec6JI&W+sO_FJNA$W7~!w-7;(CBuK+6L=6{4e$_k#U?;619Dh7>V&R=L1T~tnr&c zsFal1bnK51oO3__x@f11E`$~K`Bg@<9;7&d`ioIgQbM<@iKxTZW(f`s!)*w%(W?}} z2y-F3BBV_@?tz1oB|TPce*!t4Cphj0@C z%nbxKuw%Ck7F5 zSI_o<9D57knexG*jR5z)0pZAJk{+vxx~!8L1+sL(XO;zy^zGr^8fBoH!%2PqgXSHt zhVQZ8ruq25$eo|RWU@;e-L`YW5MH~tmRoMv1LIP+7g@iM>R_WRlfc7~)yJmrN8GHO#a3Uw+1Ut!EF#EK^z|>W1&yPAPIbZa%e!f5_HxAazy`e(pQAX% zUa+#X>J?3}d0GmkUN<3!m@P$&GhCGYvZb+xJ@TL4dr!@kS1EcO;Q{Erv4andO<*;rco0Z3%y(Z=Xu70Ynv z!BG}!Vi~zVi5L%o|H-)iSz#kFfi_qO;%nuy1{QX!M+QD#z(Oq6&&n;*Temy@wKVgIc5B5)h#Q?deCb!}DEppiv<2Jjr2+!$Z z>4T=biXMlfqobqa(=oeh=8hbJNRwv2lO0S-?33V(U`OXCgoIHJfBkT(`}(lxB$|kq zw*HP=R9w`dL99GDqxp)k|L%gkqvGP?0vqQ6D|fc%&SrA@UF*l+zpv>0vYxlTY7ifi zIJQVuRhHYOxWTO`?zgTD`=e|t=xQaV-vl1CvR(r0m8dR@@m7Dk$kV42O(j@qT}F$j zJw?m0X6Qvy~bjm2?RrFKs2%`11}=n@-Cn3FaBH=)ag-Th^X&n zzq8r`!hbSqOy*+<7g+@LPu+z8Q!S$`0rI7#rLva8U6i)H)a?Q}>UHz^^H3eD5I3Rl~nR7^5w2UA_MKTN#)ic<_qR6%7_ z!p@L1Td76Gsc6DO^xeXSY2e+;N3x}*wl4%4-y;@d7w?)*(wYe9g036PpwS(u_OZLz z>Fdd&J1_U5t2ah9kigNIfhAcEDm-?}ZNOEl)?!W0Qkj*p_F_Fk+dS4T#M$52f*7d_yrl8swVO~8Y_ z%^z3Rv-xT^kg=6GZ!ob`pi^wXq22zuR;0ob5zTPaHCejAsKzC}TL&R+y}pDK=c$$% zn3r%2UL9>f@&-9CJRA00W!6w|It_1=HRzg-yjC!QIYh{Bovw-%rS@l-ot zIG^mV_-BSSk>3LkXozS@41W#ZW=<$6C}29MN`LY;fiBhF(n{m(EB$$^2xN(civs2ufmG$CL z3SHo(rK{^vOCT;tNs08|AHKOn+g_t0PP5>arG?c16b<>5ad;SOw;!LBw6AUTF%}Tq znwCaA!^-=;va;&xY=3KOsls{T*1Sut(`)M)5jAIGTR7B+*CW<(zXh%@iqTFI-r3zSJzS_2L5DHfe0l1|6 z38pID-EvkvkBd|2rKL@1_u~tm;K&4AhuQ5{S}#b?Sa0V%!U_tK!Nq_07#|sY6$pTCKd!g7w4g&*BUX0*0K(Mz18?lAsOEJk^web*cXE6qMBC zFwHJn%UtK?yM4q#!wQ+`c(!~rsD-O}_eV_h`eB?oveD~uyNYnN3(<6jyRgx%VV|xnl3^o2>3)m? zsjMaQ?#{xhRPzj5T_c*;x<`B-$;yO2NwCPD?sQ?FFlcqHDvMD&NJmcm_04S|gZ!>A zTBT(Duvj8>pw%&Xt9+TEkc*Tjxl~WW=|r1ws704nfS;qUtu5PZqcXeE-L=4VpHRwJ z*mk+u8_A99ez`j%RANwYr64tyXLNOVAI&~VpDX&wEhxJ2mP*r0E{%*M`L z`Hic0?V?M{RG^+}_c%fFeA5((#P3L!5ZqZvzev6Z$Y=TQ61B7B*ru?*^areTT3W@P zo?Oac7xd|w6KZV!_iGtOFDnZx?WTey0yPjQs6|q=!B;Rwq(u^=K9QOlut6!5qB>N8 zVBUW~zXZt_Z<#W{Eai-@QlwCwVxfl2+o%HsFoN)6G5dhlg!?B&b#|z(+=NRgO9eMj zxJ<{pXQ1f%E$T5IskK#7q`gpzV7QKEaxoKIpC5Vw*V1~67@+>wAK4PDXJqH%&B4vi zEi}nAvwiC4P3XPVPI2`QCbzc5YGnG3*$UE2-;&a{Jvzumw zolg;^lRdSigfVvSL+GF0dw(2P*d^gTPf1B+#+R~cch}O)S5-M5gwFnwD#5_YYO|Xk zXH_+0R|t%VQ7rEIOSpwwC$&`yy}hGXP+pdfV%wE3^-E zQE*FGeKm82Lg78epRf^F2)J9h4GFzO?@iQstJ%gpB!m=yON+mps9R8Ku2lI z2{9=nBz%11HGh4+!s3UHe2h;}c>B!E9NxQjw8FCHcKAN%{^jX>tvhyYgzYdR!c zt8DPE_xJPb?C^}(o83B$^T7tF>tf>Ho==}Y_gaELpqb7D3wynIbrwZ6p`4fJJ$dfR zRuLp?26f^4NDkHBut2}lay`z+K_;BQ>*}{7A;FC-rT)99MEh~t^?(~=CzIQw6_)gX z>o^k$e@^3y!etqyB>t30oR9!YZ?&Or5$n{RT+;=U%4SCd!Hh}y;Z&-XDr7Y!A#JqC z8r{BXQ6u8JJ-#K`?AN$;`WaO5shJDml`ifJnuSr$@Rz1G-)Y+mQ;WH23Hfz)cS4iIVR87;@i1r zYj;c#gV~1P!R@a6s+%5^%RYjlr8KB+Zmw5H=Sxnf4c;g` zKRG=T4O}mt1%vJ8sy*Qj3e5`KFgI3DrPF652$I}wC-4(3VK+DT``0(5A`N>$uS9z` zHg5g8Ac)({e9*y)cF|PxZEx!;kbq61V0;u5aAjOZLD@M@L7#M-#${jRtThb1-Q8SDU<3!`9_H-6u(S>1O!OqPANp z;J2K0?m^Ph3JT?oToq-WJ33(-L)Mm-J=#|uB3@_8569>1om;LllGAr)_?^)E%@~6r z68aR7HWWUwWAG_-;iY-u`0|V2ZKWAPqJ^>%6ZXQ>-oslS{CR4RPSA8>K5uOly6F*$ zIz-Qre?-P3^ywBYVy&l(c6+L>4(ty`D}fX-(;uFCYS_^xA6@5&Ec6}{F{L}G$S(EU zJ_^0>AlMcX8eJP1Nj+Q^L*3a=p?T-B@+1Tf*Lsc#=4g3~Jw23W_G0ShPc}o)+IKF# zz8Bz6k&zFrqg)f**ZXJgher3epb7px*)JSsYTLTH{9i51^X?(oY7>`*oskvqj&-gG zz)<_Y{t~)s0dkQkT^|wKu^p@y@N?*vQ3-jd57qCxolb{A5OoK|)xizA9l4cLLFcYZ zf!+&}uD_>!kIA|9YhSz^4*or@K{;SkHPd8ulUtldJ!3u7J25J0w|dB{8xy;|#?z-$ zm<^V?*zE&4!7q~Z`7Pl&ITrg(8A1L}t7dL(&dl{%-??AaI<9hO3|y?AbnsTVSPCOA z5$CI|cPk5cfJHu=e{{&=P$qk<@e~cyte?L5d8?KdR*8<72r+i?=hVXO&n`q!etx$N zUot#7BgR|$-MfynKKcn@!Bfy`m6i>6eaDqSk-{7RZSN4}%VYs0v>GI54mDWhf+Omh>T0#QlntXxlMvk<+m5?Dx zRZp=-_4meAVMV7&cq$h@k_C|Y0+Sv@xJak$`0!Buedm8=6w40ZW|M>cC2pvI$3Jd< z(fb)6US_R_fr>(GYjR$wiEgr8`iKQPD<`P0TPTrjQ}9iO%byY?m{KhO7kx$#raViw z(?a?`V&MN2RsP-TeWL{cjL4v>D+haPOG~+9lWP%HkQpN_t?y9Nw|x4P)&EGV02lr1 zz$SdB%PgX*4l^A)wQP+iIKshE-f~_hA!m;O`CsX?0f5CypGJ7%Go}VMPX_MnFN16#z4z%3IB_3p9$L|?yGo~$aPy&NdDejN{ zcEqTg7|DS?o@Zh0{95pRmJTTSqSNs7L{bL*8x z+d%qXBqRb};|f(5byW?~)WA|^-n|Y{so!lf42Ex5@e97U9Ax|f6da{(~8jBqq?qx`i&o#{`k7z|E&eEi{E=+^asnf=6KgPD^~0%N&L@fHiugr zlT~RZiZoeN9zMqB{jSXQyAAfK-W}b-)Tfg#T)-gS+}wnEj2C2F>vkt?pA_-m@F?8* zA3UO@4HMr?uXuFyb3aRM zI39O}63%&BTj|tl9nRr@*)Z|ZE=Z}!E)CzA*WQm$&Zx8LL1iCxaqKgcMK*beLHAE) zs*=SGPAx@!FO@^R9KHAF;Wj;d*fk!KY!`b|rg(>F|1)Q`?t}3GmAm~^p1#)RzDLds z@=vN*ldNwqJ|{;@!sGi_7o6ymc zUG6nq9CfLk>{F0aQfqC=`1|;`<(Q|=oRhcCYn(6Yu<`VR#) zC`n5%oldDFRqOAYFqAcA8BTEnz4j9GwsuxlmiA34Bf#x;a57qc|2Zez>h}y=t{-kqrmj4Ghb+^<>appL4*IqD|Nc*lYiHpf8@N@tz zDk>UwH#8skUS4}Gkh*nj%%7h0Ay>k%e;hM7M|Ue<@0GC@=T76ky`lHsG+a-;U^Eq5 zR(h+sF7}hwsDDaI)18HjQ0~thz^{v-H0yNtAqjLp^wCj@>1|zmSD)~C^d5uP{=A`= zvVuanYTni17!MdcmJm+~&5NukO>9i_>~ffiBG{X4XJXVly9m%aS)lWMnWa*c5jS1u2uoK9dNP|(_dxjEOm2Tlr|@hEeLktj*f1KjZ0yY8a_XNkUjE@l*XKs zkG)fGkk?3oKM)5I(V2?^^EY7J5OEjh!w zxzx%HWaqLqD~B(W6V56+Jj%oLCW9~Wm0}2rlZup#l;X)H$keX~r5zTg7#ukSE__Nv z%{Wvy^vx{r$MwgLZss3DJ~BcLMl-)g#2kzkG)w1kv8p`Q*Vk4x*>Y0oI0zVrWxtAI zu4*!Rb^p%Iut5YUpB__N&7?s>MmAenm-B1ZXMZbLz;RTsYz!%AZ=eyU!Crd6?ZYd< zaNOb>!zSpt+urk+46Y&h+6E~Rb-mfCA2vXp;lXP_{V$7+RS*njpB#-#NLSmRXy1CgklvqU8pogwb(@b*;*&TSB+Gll@~A*=tV9J%ZU z$KTJ?ywUR#@T<#nYAJm;ji5)d@dwv)Tg7`bL4Ke{{SzygBwKUsjM57Jn{=R)E1K5Th zEtl|m|IG1^U%&V|`^L;Ws}YRRvn_S`DGXhz+?OX31xj>MzU+d6Tx@K<7s8LtSBUJ= zaAZMly~jK)^DT}$Wm0$Qv?T_$KI@-#!J3++fLBrK^bg)s4Gkjwjg8Xap8M0qir>I) z#`r7I#{P8&)0Q-`kW{MSp9dcryh+K)GbH_;cFLGeA>GF#hC#Qdx$_dUbzGu`2mKA* z68>k}VyzC^6-pH!EZcs+SV=bJfr{JCrNIwkJ5C}aJ$HnYso2aVO{;x+9aj#Z5=ym= z-_n{kcVLr>;YEH8?3coK<+ALbWN`4+33dANDx6llNe`4Nf>ykPf+X8;7C86DtE;a+ z-b0|t1dscVdA9K{e}7bx-xy52`}8Z5=iI!alYmZAZ0}6e#3X%vdHJN;0~?_Jm|gdv z78GbUsH6!nl9F?DY%N+ch&M|H6FJ|WKz(LcA4$%qKc2rG?wDbdl3K9gOGfk#bchP` zl$ixX-Q8Yx>z-Zr;Q%N!^|Z8DfDBAh*4BBueL5MS((uBO)pc^MMi$*ULoN2454u*W z9}G$~?0Ox98bqngh`?prY55t|a?SS^FENFqgv-bKlH?1+<&wtENBSSh%|%O{D*$d)?XvU0&$o;^Jc0>!9$$ zPjHN-gQP!HFq2zO*wx_RhA6w$Y+%@sJ{xfRNk$G!D_O1tb>!yl<}qw%2Oi-6uH4{z z(NjQ?%ZJ@u#LKeHLO_9C%7bCFOdUoKCg!Q54&&0!G{F1t`n^9@5U1Jh(f{wY`!Wv! z06W=ijRqi4RAf_N`}_5e84IC}4RXuX)$ht3x}K{4V5K_8KKGy>RH${>$jCvbPz?sg z6c_3h6=b+79K>Lyj2sr=Rf!0t$7eZ3C(uCmm&%5JI*3X61sD%EC}A%}en|Px;T&F( z3yxF83SLtzmz!@B%-E+Upz|*OSynSQu~7VYDNT#H9&&_<=)7qK>*ws^e;QRdQG^H-CSTB{DdQyS_Ii zXcX!(r$pPAC(5ddSEwBr$ar(Q#W;_^k&sr>ZqJrz(q}Uh%b)SW$g54%dqB+Pu=@ah zrbjjrY(&tGoLDObT616e*}k^zK0%}LpV(whE030?7Ntf+C^g(--T3+Y`|6u2ND}+b zR~@_!c%5ZdHNx;kOhkm!q_%RoQ2PGW#pStPZcS_eM@EBOcARm%>d*5mrU^aT6P_lG9AvCXx<$&uPm1$ZygL2sA=cuToC&);)%3%o-?E^<fhqmq8tpTs#Gn@tW@H*H=%OAtGq zm(S3rjFI#R?*BXul0lMQocjQ^n$5!$73l&{vJHdYlIL0<@EP${p`Jr<=N6**EMEts zrm{NpCpK@+n{DC(;`P<>^6(<=sO2#hwdvcd!3f2kBvmCzT);Ts!&88hLV>OA2YgD8 zy*byZ^uRS8Utd4v6am#reGQF~4>Iz?fp^&+(Nq$1U5LJTN2>+Nfy^mG@Ib#UBvNin zHzJushzhu^6D(zFd+y`EvA%Xw?TKi)A8K(FCcmzzyf;^2{3bPtr}<2$k8GeTlKSj- z-{aRIA-QTPtoK(%x#^e2hFZCSsXEz77F5*FSoa>gx|#-7_1mx)bc;Sa;m<>^Z|rbj zi?Lm@O=xVTp;RqH7ksV)ZDX1|%ikmj&-(>mRx6@-d&^nq{5Pw3TEn8$$}MlN4w{d5 z8}g$TZq!SI4+rjxRoiEeZH@BtwU|`CU=mcRaCUtZ=FH>M(}vue$)iSc?(Zf-o$^lT97nu@#QhD z@I$xUHwJodPQoB3^0KC}E-;NEi&yVkTkDdOAu@{k%HXlj(;_gjw6wHQj4r4OJ_o6Kz;qst+%ib4XgPbz1R8 z#danjIt?$G@IgU{@{7N-JF%!HF5!0`oVURWt6iT6TL|8z!ielW#(nA2BcH9z9?#zs01RqVLxDLtxxLoh8Q0%EQ`ho_ ze=ew1ICrcsZ+?4>>XDa|m6z>$7S$QQ@gf^+Z@XoC5PW^H`B&TP*B?m$uee;gSpjqT zsKkAC+3@79`EXEj3E-q${e@(XTc@zrPgMe~TT`6y)!O`w+@m{-hu)fC? z6*U?BJgu)@zs)c~8W|fUm+3jKIDn;$PEPrh;N5y2DRKKwPAKt%TmKS?4_Np_L=Y0- z8OBu2=2V#E!R;pn6p^U95O4CPZ|QNq3r$@K23K1frno0N$0t(uL4lNimkpzuO>y6d zp$5)p8(OoGGUp|vRV01WihpJD2TD=iN1}num9`K$zvg#i-csx9>#CGeaz!I)G2x{m zjsdSf%8mU(PIP=HrTX$f(YGtfpTlT>(3!OKIxan(dx%Qt?rp)8z9Kf5jf<$4D&fmo zf-IG`U>?{n6;Ck)B_|itcp6dW(D=e$Lqo&QDwm6azlv{7zI-#)67TlueA8AnaJ}i~ zGUD;PpOhs15meaZyV%aWrD^c?>TW_Rq-cEh_%6_MB=10<$LcX4AM2J54#d6s`kWt0dAS1wk4_xFnhvRGKNje0d;rNXKtiZ&p>f zp73I+exxlXL#)|sqEYV04@X3GW3}^)D0mK{Td*e4ua+i`sDEeEb>?VnoEG|o@_f~t z&^KZ7$=*zyISbc^z4IQ;f&yDb#h$)a{by9k>Zt-YwR6W6Ck4-27ca<7IrJ-!sig0{ z;`-xi<4>u|S2KoMuGiCnJkWU^J&SA94h+H)mFkYBsr;56SK)MH)mJ!u{-7tEA|*vO zHy*M^6d!-@`bI57RMQpp@x{t-o|bem-;bvcIv%^aDkTNl2iopTIV<%wHkogv-v;_G zNLin`-v!p}e)7G*-WZgxv7O+1nfVKG5DfN$s7c+~o$ZZr@i2b=1q-I`XLH^z1?CQ= zi7C#;FB=Fs>lBk9P#?4e^8%RptWLK*Kg(%qDffSU7owIS$^oo(yozRyqUt#xBIk+@ zZ^)d^96hhtx}uYiKswX#DZmE&*N^?zFUU`E0^dphuymcjW_f}W_=_$= z5R#rGxnHY4*%5*plVJP+pq1P^0WSe(d^_H~d4c?SYB@f+4X4~DEa*_=Vrum=ZGnkz zF74B1#6D*NQVEabYg5)Vjy|s56rgROVC=j zF#cEL$E+8yNelLZr&g95)7l+>pgB6BKoF#oGQccsEu;K;TN_Gz3YpB;1sF+bJ;Yip zV-s$DRUoLSIWr;NsFs!8<51|42;H$+VjuOQJkh&rsVFu{#FouT4qgG4e2<61Ut+gD!?L+dNBzV zH9n3!6a)hUuBBl*w&Mm-lf~}CWb34)t7JMmx}Pv}@%^PLOhXhdVpmOx{WHV(k~j=h zLPEYnQ!UoaEDUU&)^b=`AD_Vj0Mr+@PQ*r^yZFXGnXs!Nd9sG?I4k)h=jTt28`S)& zpfq*C@@KA4w;oo|Kz1JedEjw-@cv?x^iR1$uwTghe-2V|**?uDNHj2a{~R093jhEz zO&|xgc!1PIBa_bc)JjZk9DsUR!GzYs58LVm0+@X~m~M;z@5Y1w%ht(9B~`$VVqS|@ zi!ILj839sSRCfjJsQGBO|KqMwPlZ%@aNar06}fuNV3S5B~b7cZ}~6PKdt zvI)C6BjYE2P&d-?A~iq_W;-+Br)g-9Lv&>L#dfM-Rc?&qNb%9gN*>Hj#O?fNC%%lu zUc)i3{nQ=n=Qpw%_>|K{o_$u}1CY|twb$u-WF#lWaEa2DDh)zJRLsJ1qu98WiCeNl zapgg-4Z=GI>daLO-2FL`wj*p2!k0a!Yjcx)xl#4?{uljAxB`+LOBI7O* z=M^$CA@`M;k0%}Bgw*2fP%Z-jit*OGkdPmlnJx&7;x9f6(?m!%ixo|5`=W;~J+IOO zuVVB}eosyLZ|B5~e&e%kzu25kENXT4bfu6$S((!Dq#T~i98(E7Y9}naWf*1;XZ{Mg z?50W%G^yI}N*EU)C*J^CtDNulktV6FPyS#Moc5%uog0VS+Ujp%b9|C-t?j&wgp zsbxfKxvVTwW2W}?1Y=$fi0{#(N3myL4RM9+o;7*3k@(K8^n*sRguk;ZIa?wkK8VGvlWyU8hp7&2eH7B7Ly2)9f~Y4ke)T_V93V^{Q=A zpBns&ujf)l3K#b>hQc%Aq}mqwnt7&TXR*>**iPX4mZp3%vf{Od`gpM|gRRo(|wq|=R!(nk6Dq;3LIVDl3d zfgEfFd($-suN|%{NvT?{-la0W=yTwEjtYomDo?EOLlS~x#eKKuco1j>6*WIGPaERo zSjIm^|K;}Z`ac+X7tCiA-=Ni-2HPsu0ibC5ZT3KrwoeeYjnyB?!kyCofF zuOm2xY!*4#P^WcdAZt5=&V7kcF6hMtw(S;E4SaQ#gpJBzBbjomW0k~KAyF+HavLN` zWRuLf@RWwwd$-+Iv5@O~sP=U|qao;bg2CD->5gSnSy_x3zf_+Rry&myeagk+5;2|= zwV;%RR^Hg>PdL8*{$fBNyfGo|)AvMZDg*+Fk0&FhG1St^!5FWpuuwQ63}S6;1hUf) z^z+=F$PNL!Nhid+eI0Kmpp~Sho_jm|(_b0U`C_K~x6(RQboqo`N`0KAF4UGyG)wIE(KHY!4f%o=Bih42y`m%BzR@NK6 z%d=5ZP;uYdxo@6SwXEUnBKg0De+9Bc(p*mZo90+sTqJagJ`Mx3^%Nur)AOi#E5x`0F zt+VeMyy+o_{BbPo$0shQr>9=7UU>E-qdx+RHXplM52ova>`WCyF44+recgjSiGG>M zd0kzPlTY?%M6*02I{KzMx>$0pEiQeMEuIx1k>hZsqC=}n$Afg}Y_;9(*_Elut*rc< z*danYwMNYGF13-#SeXsFYBaRJr_UhR&CHh1 z_JKA+HwR}Bf@p$U{Og>!Z?Rfu&opY}kOk)O*w~+@K}cJF=x|zcE}%Xra`rVg;Jv-9 z{kW-XWNKXm*q*Y+Aa87qoaB0ILXfgXPV?yc6)tYb>6;dgAx=pC1Zi33JBd$~rQNqm zj72`yvNKqkmJ_ly2276zzb~KoHSby+t)WVKe@UBax}p;PtpzMa6;abX5o(DW9V#hb zmf&(Rw#c8l78mk0Y|PBue$m~1 zSv56$Z5D6QQQpaedBQ$xi@e6D(x-H9bQoNuH#{hccx?o+f$HlOeV!XQOu8LjF>erCjw5tsC*cn=wM@l^}?kU z9yY1ZAi4T_dwPyfkHCMQAb0Ad?7X(UJ=&<^^Y(o!NIOW|wStH|!{?+s3`EF_{pazC zg`hIu5}`Z0yLz?qqi@yUGTEvt+f4`^s za<-?rIXMmRhWf_a1KJQsKQNU0>KQSOy+8_Os9^P3dk2e2 z5Tx?Hh0K5JPI-PlD?59w>&jCWYZfK7)rS0UkB_vYlC>w{(|yd9KODFrtbZ=&*OvQ= zRW(h-k?(t>=T82l(X7Qm`hEGB^rTVKnRk_}(8}%6UCNsOI+z*_eswjj`7vcfDuIn1 z?d^L=?_mc%L$Oo8W_Tz(LP>G$B@iggAkpUM?57w46{~&x=+X7s6tssN;ut{cPMb%0 zZwjJem=6HBl-NXFazwixduaf)G_Ar_ys^fgrCpOER@c|bNGJ^j2#=i?lM@mgL?4V> z@U5+{=H^*;%TVS@;eAmZRBiV2JVm1=Tn_biKZ|r&b#w+`|2#F$=G<5BO(+kAMOjV5CINhiAkjM9XIYd1dosZ0q&wkfvq{ zC=_a}G(_LuJD6zm4MRJ|$M)ew4?pZgym|YBQnq!r$V&4rFA$d%+{9t7 zNR8R`k000Aot8>mB{nXuuAVHxd2Sj5r*P>4H71_nhAcUwkr$)(2W+4Ua9*x5 zt+0d3og37-JnysYr+}v^238*?pR7x0&)nvSM@=5)ggxYt?xKWQA(c54nsjbS9 z?%7Cs@a=mNv+bds#cRx10|32LLMQ8jJ1tiXUkYB!d|W0bvUEj$p|eN?lV6@}HwLZ5 z#EYkX60AH4I6Jy$O>S-bsm|u?7Qq8riPFtT+)$J9YqmynkNTV}HSo#Nj;h<0oDVVj zH=&ovS)wz7Zl#<_C?XU>rs6O+pA@j6cT{37MwrVN{2BAk+zFfXz)M&8t~+DAj=r&* zQ;fY+kSJl#E;_bt+qSXBwr$(CZQHYE*4Vaf+qU+6`{JDcJLh8W?&_-Un@%O2x05%O zJkQo6*7Xh51-9F5o>|NuBBJElKz)R$kf*V7zdMp(xw!hShucsX_D}aqM+Y3kKd%=G zpYuIZGW$8QwR*(R+0x;mEcd-?NN!p(>q=APi!?|Jj>74dng?HY^j;tSknySPI_m-Y z{_hD;w-C(`Y)rv%8M#_Q@rX6RF+6{cBEY%XpRdNr zo95HS%%vX_I&>4m+7u{^d_z`o4z6V-;3rt?o_W#Uf${gly@F)^7gxnfr%vAt-E7{s za2+*^-MP7rG`G$sFCa;8}>ZvZ$#^$eq=dV z{AbPl;>?5QuPrF(yAn@ZH6H(&)~j=PWu}MCvoNcjetw*hZyYy_eR|gquU#(i3;YAthaUNu^N5ajT5N6iN{B5F# z;z_&#?#Lqf@bRsi37jRXMpW@{Xi1ZnCY^uLGWnftza@vIR5az{;^Nr?X&89O+vX-8 zR_1NlF1+&Y{+mXIMKx|Dk~<)(t{3;oQSx zJxpj3kO<`_d0Mfuefc*eq|-BCSBQ4@Vh7g?!j5ecr_=zMh*Xah8MS~25Tf4I$)Q<2 zq1%)=IqBv-ZA8Uv!GlpN>LncD0ChXcV&wezVFLn7WJ{}BId#Ds9R(cfrJD9uQ+V3> zG>t`>+|#)LK*+a>R!$u_~IXEw8x3RDIxI<47#pqpgpl(-r=*AUhW978x_0iI% zNtR69SEcnpnn17W`ssLmT{?%dzypWAV|C4O#NC73=Mxx0u6Enl3>_I0Gvnkt`~2`I z1mE^F=o)4vUrOs0SYxtyYD9L@@a6=8py+WhVBBP6CUnuiuC!`DZNU@gRs0tx5XB^r z1=M6ms=P&K{M^5c$(;t^!FE5V|2RH$X(41vq%nXFmnl7mgeeRAm z(hNFFORVG#hriF;bI^6*Qxrs?;vRYqVT@pamu_)OUTYBH61&=^&GxTjF7$6uEyh=%jM&%csP@pa3 zQZONx;v6sc5BO@&mI{VW8p$Jr>RuFOU$FJdKpZrE$^|(((jkEjVa7LDbaj-?6p3JC zsbKmviHV&wG%i>+a#G4kJ#W#<|M>kfD4j|cN>a)89MbJnO-#2P?d}p^b~tw6O}u-Q z1Te8A{>aLbWA(OubM+3BHk6*{OzoeXIT;bOi-jWPL5;|_3`1H33xhv?s5}4gl_nu+ zB2+TE3kTs5y(REJgFa)Q@z1ELov!D=2d>G4vr?Yh;2~;R1@>vnGnz*c9ZFRwRXoyH z>&>fU2mPaAPk;EALvh@spA=2wQ7uGWj}?_RQIF-H$9na+#xK`Yq$@LUDeR;|u^{UG zvJuBZ4n8shTKO0^Ypw@x1@W?j>^u zg(RPy+ge^x>G&FE(JN~kp`pC6e`HW$K_plNEgUMOnNFWC-e!EbfSz3#!HNgbRpIN( zHp8BBfoQnQBssrgy%HFQS4BY$|NL~e9_Qo)Z>U%vjAmZ{gCC<~ri{GWY&wkSY|hLT zD85i2kw#R`LTyfwfTT&`h=?dC;0XlDOavkr=u8+t3p8Is;!GqXNr9AEAX*#>Cjmi9 zV%O)>u&rs=)v^5H@|}(UaoO;~=jHdoeKI+>fxPi6oD$kk$FgBvDvd@qAptK5nX_cbl%h#Fm)iJ7_0tUq*t6{#^k z(Cp3Yy}c%KgECo$ZD!bOFI_7!wJB?L);+}~=Od#9Xhcy<>u=+4b-~qDM(C~kAkbos z)@4>+Z**oRF8bXhWG+5q4JAOp)x{;S!*`DlxAEC!e@xAQ zumD^KH-2_@JL+&`BtpN<8nGu>7Qvafh+k$dOJ-MS@NCe5U!?b#cER$lA|9Oq?_57a8>Es12yWu=M;Z=cd<0wv6OZ^r^sr z!dg`b$cQT)VCRMem0r>k zY|yPw{Bc3q{?Q&rny^9uh)S5(Y_I|8-l?z@EJohcdFyQ?wNYj9+9@S+Axh!CiV zIG>H3_T{B*s(P9l2o66CbpduiR#Qej4V@zsOXl52Cj7-h5ADwAZq{lj|91l0Mnka|SiG3lfWZi&*HF5%;m+Mho<8CHhm zSCwivgG~dj$H@6pR8&-W)~OvmJ$k05sm#U&6d#W6+wxlrxxm%+tRPSphF7iIfcM`) zpz8g5%*E#b=Yr%Vi`j%c!F0GEGW> z*Eo&5IjzBoF+@mXcvbv3RYuaI(9hwwsL&Bw*pFL{l=-#Gn&=7!Tz)2FvTxeL7#2*T zF@SY#R;aM@myR`8Bv+~@daF4l1d&macZb;~GV^=k{SXuQNv$$1+B(eoje=j1&<%Rw z*65nDfOD|V(g-_#`9Gz=L2bfy`n*5p+A=FI%e~*F2;Tv$4et7v+1ibGvYlFU&4O{P zIr{CSFL|$2oVQ~Nhyp(dF_ulG1IR%=6pzJ;`xD_2O~Kji5?DMENnm|1o8hZ zfndz6>!744f2Q*y`qJ&uzlb5Wt-Uxg+%+AIg@pW}gFG&_Zeil1{7#C#-&Fs0{r&p! z^VT?V3<6#sFeb2n?X)C3JP>PYx|1F(FOXYHNm=^z{c=}h5xn`f z=jq3xZ?jfOtV>Dbd|7_Ng=%EMv3n^Q2(C-Y2XBM{K2M>w&*KcsB6k5~HcBe~9G^6c z7q)vYp&Pd!gsM3OqU;-xwPIzm?7NJryA+Y}cRy~paZXyFmO6&=O%A^7k$e8Ghv-=Q zU1Q&`y;=@yMqC4)B(*E7zOBOb#-=O}Wb>haMpp=+{sN}Tn>sCTa&%(qga|75(t5vq ze1pD;a_fWUc8cg98*d;WzACS;OtNYk8j?y2Zr#{C{K^mIUBgh-R1V%`(VGq7<`4?d zJcDK$+5FjZ=aXY^kh2YOuaL;g&cX@NI6txm^$E6!{eWo1X%@rdoYd8rrIrOoD zL|%eReOV1gCRdcj5qyHcf5*7e)T^DKfjZxiagZ=67gFwo7QU-F-9SDkI&3HhC`p^3 zvLXT5MN$I}?@qEE68A{GZ<^>o867()3@GBt8j6HBoTN2nreczRJ}|g-e|mL$bpC}T z2K-5y=;c`qj_ndfG4*w*5Ao?W>XRvB6#Rvca|*VXl>O}`VFauHt5Lnz-{+1P6Pt_o zW~JxjiR55m{32$RwvPr``EHy|UMRKCfI$sDJ@j)mvB|+2v6Ee~{aKu)cg6|F@31+P zlauqwyj=8reeGD~=T$P+Mp=7L-N`K7za5Xuf-{^vVmpH^&PH1h1rS$gG&xaqAMM|9 zk+gtjS9;!@cAQkh!vf0lb6d>X63oP2jnDt>|L<|b$OWDDvp zoIv7?ikQH^jKE(&o_TBYIDZ}O2Gqzl+zC2TyO~)o*dH!MnG0w8^{pwW zNlp)A?p;P)TwGQ4y$@J;ze`F5U+$e6&H(OjRn-X#*wav3rx=f zMpl7ITD2!B#J_%YAd<^;$n>kyF)`2JuFiUM_F}TWnJEoY-$#{EYA3S!4we@2JwFsF z*TYH|oVEGY(oryKKJ=?xdj%d5VSb`?bY))zuqD*wW<@vnEzq40l~+^Na&ci+YWSKy zdOhU;y=Wb0=vQp-vc|UC_eaivY_za}EGHY4}Gd1Gf{xOM~5y4`5z95$qZ7YR{~6W@0&bB)e)jHLY@qgkK17^r>`T8Uo&h zi_2qi>`2l1ul3L6-`Auv>vFmZ+)LFHSwQE=r;mII2C+05nT7+YElCQ>&UqI5B=yj9 z@|M|bSR-kRrawRocSQ?M4g^-E2o%;ZuU-HU)j)r~}KtG}B~(IXhZh&lsN z6(KArP&`<|Ja{;~o@)zz$lJM!M=f<66vcWl2z!s=`ucqcr zWTW1wl8(0N5!X=xbU9u;($PQKHU{Ibuny|BDIJ$i?_Wx)Z( zZcePM+_Z|AcmD|kaAgtSbCs6v`EJFK^?BA8wH$`d zJiYkwrR&IVy5ZJ6#(^AaZEuU&QTOkpaWK-)?oRK(tbU5oKEbP-LlxHKF_(t$i<2Sx zS@mz!NDiy2eZ$R=;<=F8F_G(Jkr*YWv9qpQih<7YIOjv5Oa~DCK7wVruHY|jcY+7L zQ@`<r)R@_EH+j~T#v=Ul^sXByLII!+^c@$W?{n&%&f3w`+@b1l7mPnKnboa zYk60WxsVz$>RKHt{^Nf7KbAtMVmZ4hdEA8dhuEt(Z7|ra3C!o zfomC7mA!abE+EmONLrUkM?_*0&p6#J3qBGWkR7X86^C%XPres|WXkQvNE*c+o#2nN zQ-o>DClP`n5trs50{9z9gD^MIYSUL{l)pb03L;O;(^8TXl)di*F+l{5*h2T=@_%j> zt92-6?OdU@$a}bMknw|P{${BtFa6TIx8?zfOUMNv_T;+Y3#3(#hDStz;$F$RJt_k; zyI}G{`Vk7Ac?P-N;gL zuGsC)&vr;>9@X#WwPh6uN=WT<_30D(`DG&gRBGB1JJo3B7yp}I!e)zFB17A3Lz)P< zq~2(ok~nDFz{nLEHnUXT?bs;fqis~X7+Aw+(R(U*a^D62=*Q!GZeop1GK+@He1KOJ zCv%x~(Ll7iadoVdpt-LxT38sZn;+~E!RITR8$V@g_w+=q#!Lv)PPZS=thT4woA}Xv}}m zOX+Kxo<(sZUj|H|{Ia^~k`e$mMP>8ON-ospLOnuqgAW&6UWAa`rjhkshPD4@oM-^y zU&Z(PIQ^~tN}jKDMXdC#f@#e%*nf| z;B{h(9i7Eg zOyo1fz`9|~yhbXK>1$=F7QR zY2>yqHryC#Qg(pVV@}R#I>u~$Z8z}jUI(wGhXUpelzg~b=eE*Oyo#M*S5BF{N8I(M zzbQ?}r^s8(@R-5PaXftv!RUj(XXygt?4PBqCQOpsZ z4~8#WeBi7%mq=o#^BImvk3QA74%G~wVn;h!a(yY2J4L#*yWMj5&)1Q0jL*V?Cwmia zm`9GxY7bBFPdYn?^#hLaU)5n2Fl(EP4Tuipt)P(>0Xx!V#J8?bIi7`bOl zf1bTv6i5|G{{waBi?O~@S3838x91kmAG*Q$MtbOzbhC=c9vee#tk_3>Q zU2*+I1K^q$1ZcI_E6Y=q8nv5O6e}}PpWTV7Dh5e14^z|Ou)3JDQrMERGJ5Yhllc>W z&&JIHg!8vu0REnQ0`E2>R+c~k``8_OlI}r4^Sd%RF++Xs*Hv{Q!-h32Uf!mDwwu8P zCAxcDR+0Gkt8wlXzv(eMm8CF`+RiF| z6qE){Oz}aga}ckOMPc90JYM>TsxQE2NgDrlIwK7FXEU#xi7MB}y*{*2!Gwg2L0`Y0 z@{Kr;dm#3_RW*XlUWbSw)PAg@4m8T^*vx(k7_01;P11Ov@JYF%xm4#Cq4cBupmfZf z6FG*DJFrws`dIk34S2NAOJJboNS1lFdF5D8*!4v*8;CWyCxxWo-DBu4k`|Qi5nVae zgK|`~G|ODQ&d0*m*=YE}|>fKuTYUkF|trbM5DJC%rUDqOT+7!KH z{fhmz%t&lk{BYrJ+DfHaoAXNvs_2NAubbKX!?6<<-N+G+Tn7rsjk0!bvonYdj~zTZ zhAngZoY6|q#GoFxg{#lI(g^t0R^N87XwYo_n=>`G;xgbDthVMdUn+JrR(;V6hcC|C ziZxNNgsI%JHSxQRjmnwAC-+<3h3%(_8S2?so=2CAY1bxBH+iTQOHuofU}I?JP)f|n zw^i;wxdIT|KZh6i6DaO2hS?3%a9ifj)&c}@6$6k39f|D)9Wu@~@bh8^wK_`4XaF3o zFFw}+auahq(6W6iI$6}*P_Gf@7~DrLT3WAjo7HVrgs-Z8C(L!$M^8K1vL0Sucet_hqz#;xr z_<~=r001Z*0078K0fV3bKtMnM3_6Wz1N@JJ^!MJx-Py#}$->T--r2;-nby(7$;H~) ziJs2d;6G0;wse+GcD7Z=it_SQbP_a_w5tCU<*CGJ=wxLS<^dy0NllN7OM{Ei()^1H zjoK^$|08_1yJL^)_tmt&*Z(WrPvB&)LFMNN|O0Ar-Lli@6C-j80>;;eL$hVIbeW~>_kpp~90Es`wX zQc%Gz{$jGcawd@|>h9ZI34-kTL8lbv0%IGGVnPiVu4K4M-&itX3F)caSJ);Jv1T^o zusP$~{TwSRa9Rl}Kpmb>$6X{jlgO+wv2?fWlfvHpL`TG%?9IGP$5nb0{q`NU0G4hX;m-}plDhB?8| z9?Da+h3XG_UWU7u6sBwh@4C@jY{lm_b4f4@?LdUFKM>6MyJZVhl?e+(rPIl9pPeZq zB04~MoCqY*m@PM#BGIkWcW)Zz&IS`l-P@mBF=$IDsq6*3U6umc=*dI9q-ShZ*ER;n zQ4T&nJD;TLX*h^&UOId#G_%&@{q(~yD7m7xCJ8cR>L?;9NpUqM<%@+B?=h5syH>?czq&X01n~=Y z2`Q!U%4Awjb7*tE=1Qq$aI3~8nQ1Yt)ZJuQxl+nZ_l-lwKoe894+o^8b-1x}Eo z*95O;V$E$YZ=5qVrdzAh(2+sEo`q{tj2?Lcb9%|RzFAO`h2>BJ1r)99x)w( z*aQ%`3SyFd6zU>SOf$L97FzNFHceXF6ZNn7z>xC6+g>8Z^a9O9`u1-#&@caT2dK6; zXxzivWpb-{2S?tFsp?HQL%E$0U>kr~0&BGlrndJHgsJOFVWofH&=4pI)sKIO%r0j! zOe;(3SU;{;R37j|w8;?f=Phs@O{C7i&W>)+bo7$8t$UNynjxT-yVQ?Tv%M$U8u*Y& zrvHc!8#k5h*@6BP77`GF#(Y`639j89-}PCl7ezX)rMSbMoflHtq1CXCqb954-tNI^ zg)!u5$h4VPWOPHr8_cvfP8?Dlvu>*3MpH6~Xv`2VXU`++(%Ta1)_6tv9Rf9`MCU&~ zRPCjg1V66R2v62LT=a+Zy{H*RC3%yWISUOq(Wyf)K(FNIALdh$z1;Q2z?NE;Aj2&7<}$n)l2Ox7qH{%)*bVuwna{b?YN~)-JVX}1$tF5vDcn$a?qp* z7n{ICt4$88Cldh)i}UyKxl>u$1zuuC4TM7`-Gh->E1H5|%WUKmp1}J7J%hP}Dr%Th zumCFs&C~IYma1yu`~H?Chxc(y088gw(ikUN5k>|NNQIeQ&;mk9MZq{B+C)Ub=@Dq2>Un!uzmQW&q$Sc|(kqZ!#Ohv~S3%oK3 zZd>>{Eq7sZzcdUEkT>08{3pzPZ)bG|$B3}# zw+JtN^mw)F6?`zGlx#HtIdXVc6E5AXCw_T!5p zP@8U}2=&KutS~uV_xb;&B(7#)JZ#s4eg^5w9hkaKWs)A|G)V>;43G%LzduON1`qFkc-+Tr8YDBcX&vIFxQY3w*P`;Qj99*-TQBv<` zLln!o!_-My40iD=o~U1}7K?`>c|R7gEvA$!ucJ>%cf)>(^cPb(Q+tZ(bps0{`3z!p zA+l1`lH=tm?kO_;`rOI;2EOa-hvueI=}TZgM^eR0Vuffb*!U2|l7H5wKEq+_oDPmh z=f?U214R=${RYSSmji3HFl$SoNTG0~z?mGZwXs}F1~~X3|J;0&Zf!QC%pAH2v-zDL z;#pn!ABd^zKMca_r-I9^%qEk~Tz9owyj|2{z5L68<@-g#n+#W@hu!EED(jjuf0?!n zeP8nnTc08~NH+^I@>S8@JbG{PEQ`jRR0H75+KnB&T>kDTKFT6diVv56Jlg;Y&r$Dx{N|2!E{;YfPW1MUb~ZK^PI?wbcD8g*u4XA2 zGPWBG2q7<=pnccG4&oBVgdTH6jV{K(wu*y+N884PMSPtUOL6B{-fb}N8#C)&ZKiJu72gl9R*ElzS@}ynf=RMUS)MuT<|;>>dhQ+f zjWcf0H>%r2-Va0U9UN~k^dffXonQUjB%ah!+W{O)Og!QC3pA}_Mc9~lOq*9x4$yc4 z*+U@m(KVtRQ64zXG-~5-^BFA;{(=i7+2G^^dmtcky}-*>+eFySdj+^bZ^a`8p6A*0 zH1hFxp%19$UQZ@Hz1$te38z@-iq;?PK)u6))2=E*_jT#4S2hv z~LY;G&+Xh&^M|!kAb5^^StMa zQmc(R$j1pk-M;7Bf#w~AOf%TrlqL#&gmjB~#|r1rPAVlmg!~yE+b>&yxrpF+cRVw8 zZ@;(|qey%BP+?q(fa|*GcjoK_Ke9*Gp9|BGRD0EcSx%ZydE#O7H)Ae|;$uFegeBJ3iP`z!uX$l|Nl+r|F8Vs-qx&1%gG5hdZB9%)^2sU`D(b?rlmdxo7Mba zxOt8v=4x}b*{1vEfza2?^k*l7*~@e$V@n*B)IyoW`&WWL6*X}I7=QraH#LYm0D%6k zq9rH*#KxFpxTU*Eu3LV)0$sb3m-f45E%2_A#Ni+@GKLwl`GR9l8DiCu)@W%WXaZ$B zfV}UgDOO~~VB)j5{HD~UUM)$Z*uyD;<-$G3O`Hb9(4!8IP8!4!=qHV|>_}9g#+R_x z1M&wnmD|6PZ6K_zV#%JdrAvjjnWMhUW>XfP&fDK}@7>D`pOxdI&{L)1xbSM;tpT{K z02RMky!K|u7A10zW;I#g_D8i7lHTGCH zlJrP$@){R!S9T=5F_FL!cOn?zv_t+}fhz8s zd>Q_*jwAz+=@eyq>%Mjh2Bha41ZQUfthzqE=?5@2eA^^6Q5a==N4%4GL)~KT;r2{k ztWJ`{6~m?e!K&w6AR7`AIqH)6fjzryQ27uvwj4P@_1dU4Wd!$POD+-xylqj7(l*ABiT}g%~KvbRV5{LeL-dE8Nyn3^Z${^I?KzwY+5;YfVry-j7 zK%PosZ(`eoOrS4t#+`S=XAk)RamQrM7xxfVzKln{^9$zj$`w!Yj@kA2^X&@RGzR6l zf37_Zl(^r9sT=(*)=ZppM6bheU)?G~GI&o4ApOMu^p?PH?_`M%RyxI;c&GWPQJ$89 zJ-X4JEay_j2!eR`f^(5lKyGi$nI)OTTFyU&7B{2Qtl`|fydK2@a6IP8Vjg+A+BEGU z+pnCzI=CURwqB^Sdv<*}S-hA;{Wv~cR(2Xg)HaADg)MklXJsu8;eDziR8aj2u5=&~ zN%}&K6slo*qR-FCuW{NhJU`O;h2!+q6J}B`ATd$gMpI9W3-tEjl2C9>$i=;Dixzr= z_fcI+2TO*4Pf^@)-sOUMpd{BYD36&EM}fa0>ra+G}Yhsh~hoF;Zn)txvq;Kr-Wctxkg_S6dIVBiaslcQ+2WURvQQeedQqJ!9 zm3cS<<**q&92~sUMybn`A%%g-y&ei`K>hrjP1V+m(=E)3v-E)^-MfH^$PE;Av5W)F z$Gpb^Js%vV*`HKcajoYc>zCO+W+0!^?7t8^8&-3~N9cvq^I|*-L-~RLE~y!xJw0@AFS+I=PfOovQ8gO`Pw>&!&!%mSTQvP z18{?mdlFol?sLzuSC|%qvw{@3xH&{M?<6O#CWZ!+F)ic3Q1;g{GkQO|P!9nY4oB}R z#?Kt6K!CX^()>6L{;-dQb**;V^;qTTmQoOH(oVj!-6Ay`o)Uh6$fomL7#wk2UvFq- zq{%R;#ERXp>F(_(iImAGSsGDfcx8VlR|3U998JjJ_GGP(j`$!wt-5vzmjI??baWGO z`?!bk(Gf;P)Oq$HqUKya$_9E58i-|pw}7&~$q=yj10{p%g7C|nriAyrZEQK_pEo#0D8HI&kH@ywSol10(7PA2oNH=x zE?`657IUeaZi_JyU0DA~LY#`5PEB$|esIo+(CK)|{Pd_kW)W{hB4eUq~E7tbv?PcnpcJ5ul6NlVm0;A-b;@(B{<0wpD|1|*kJ zRY7?df!Lf}sFi`3p#V(PlVpni!$3{pUM3W0#fniRUR`YC&!6rU6COSvM-&|O8l%p> zpj;nFKZNC^4xUTw)6Jf)3uMhq3}$w4jZx|X5*!45yNIiL#fLV**15R4WMC@&lq}VK zvY;(M=MsF{nt7eF;Pw@$*0R=5^9>DP5v%~?jW9$=%im-yZM@5laCL%)r_f(8N+(^hh%h?fdM2gJXhm)+ zsEr_aw_Yfka&Zj^%7}74!c3X(-`P+a_E!wGQ?=<{i>4TM@>1xPqY@D!h8bH}R6cig zY`Ru?<|imp_8#fd$L+jUeK<(5wE^KyRJK!uX0xD)f!nO#XU-R`yPYun*n!&Gx%H25 zVG-=%U)s=8jingbkj5?PQeOdt0wCiUt($*zX*5^ip)(}7Ha*x3UC!H|g7^0v6k~sx z(c-xpGZ8Ydp;=W&J5}W>&c=^xwAwWhk*84LV0y6vUSz@>qB7y3c7qoFbQS`s-w)8D z6~a9w9b2V@_Fb&8VC4qM0+JUPBapP(5eFO~05J~rJ~W2gx_S|Y>}4w}IZX3zN!K(# z)ax!kHGNxYSy5U{) zSGL$b`fEJ!U3$p;9(Zkue7`>q()sJT`-w;plGFL!DkaJeqIf`8 z+6nc=e8pDo-Y)j(c0^`?=B{9fiKG~r2^TF3zy;YxI#@3|odoL{B-HsTL2APRDU7IiY*G4S98qC8Y zMrR9|7^~&huXM50BU457HqDn(Xl;cT%!7T?Io(81YijD@z+l>!O){cC&JtiOj0|kf zgRrDDhP%B4C9CHAY}UMvYXsVl&&H|Z2hS6TSRS;6XaSPxH}Z%gyZl|}?qRE1F8EHz)7<||5QpDGk>BoOSMOl^t}(tX^V=wWa(1B&clN^RfADBw zv7U2Tzvk#oP;2=VO6aL%rUFmj3;RAo+=mkof%g-0KS!)~mC5L%`w^HK`bE-C@V+_% zUvTTdxAI}G4NT&4)D~Z9Z^_NA20bDwS!XY97X__ev^_SCKR@SSR25uN z!^^Y)n3*mMzo=*%aIQK|HXcHM1oayHvgisHS|EfD99T1`Bn!VE<2;{_zMwm48E~4zXw~hw|pb%Chidwr+u_f-#+Rd zojN^v#&7xscb!TXoAn6?N|XxshAJ_8eWFkMOfO2K&8&cB+4QQUkvI*9GU)8zG)Eq* zYAZ(q51vt_S<}|P+vOm0@Ap)Kbrm;kj^^eaxArQs2JY;z>>`)}L-`$xE@xJg)x+d# zH92xc3){ehSNl^EXijWhvVI2sGKrj{zZES!9rjt(-aeh{WGV{NOnF0l>*hNTBlf4Y zjVcDs+4dIOvxQZP8w+!*6EqYMZd5CX)0g|l{u>3Uxf9i2&;K9tffg8-mb2Vz5j-9C+yz`Mdw1pT8K8gn;1iViI2v#uxxSkBpI}mg^rSV)x_ply~Nh_QWq;Sd* z?}a5I?%i%_?=6W;Y&$f`4Ggi+oq1$Xj%S5bSycswKa4>Q|PmEEgAJYz|2UugCcsz;&x%}Z4H*E}zK2}g1D z<3uEa5e4uSgau{ZOJBT(se-IwS#;S2gFT@}#ZJcQ<`I25vxLls)hhWo3D5|#zy#S3 zM2N!LFkG9md4Ksd2mMH`dbW9GWV$NlJ;&ReVAEe%^X3$nW&h4>Ys?b!;r=5{?S`@=_cqVmpdP z#jnFK4V8uX133rd{iC?O6zjXRvf8@Zsdzcdh-gnssolTPTRibrtWY6Nz6Z~tP6(rRd3n5Z{Pl+ zTKUMGU~NX4zkQ4gE76y=lxxJ;1pa^C$_P;V31&-FdaLBrFTSK82$qaf)~;{;TZzHE zoE6?)jDIJr%X&9o=TOIrCY>fZn~O@kuJLohG3_2CXEBRwo)4v}_U1`5Rq@Pa&iFvZ zE=B2Yzs{^Vm+vrp1Z`w8oS#uYdtjFt!L zzS*exPeZa!93-x=x`&!MCBsh3bMsJ}G1pKHHioxXmp!*%?HZm5M%)CI*PJmfS6S^Y zCh&SrVe<`n{df@Qi_grhd|i0s3n)`UeTGA>303WB67BfSRU&I z4t57^+p#3_Jo_GW@O?4j%x+%p^y7KQ-g&l9fAUb1O{`?mAGs?!0+$6lca;!v{P$Bb zoJc^Y14*^vf*)OEH!NqI{kX#5EA$%y5|t?+OZ(SEw3vyEvmaQJjrmUWpS;ZZD|jh8 zJ#2Q&w<4H!yYxg(6!gKSB1;yvKRXGYjsHHwu}{$? z@|QvLo=uoqd2VR%p+A=F81vWHe-@$DYrF4VXun0Zj`B;9FNbGj6}XU( z^G}43zD$#8TDj%!n6Ml6F?821`4ri7CWFiB@?4YcV+BYWkkf>99i^p>k2vUE?a2YA z>t8?$g%E` zam?QAO=1C%)hmbV__NI>miu;| zP~Eh{igA}5_DO5(!GGQ^3|)0xN+J->3u3qMJn)L)&%2jl z<$bUo;OZdMQ__rfrTXVWCTwBn0#vGqPX1j&#c=?Yg{sfwdR2my1#6-As*tB>R=X%k=kn9KJpS6__+?yS z>ARdqy=C>zA)@o5NVZXze7(n4*RA3e_Zyl#=2mvaC6L=QF)TxABhsQ(`RAk$1i}c@ zb-OpA_?O4yls9FE_&NNa+#RytT}&_Q$d0mc)-wHx;)-?C=zZSUr9{K zkVO1kbBzAoXkDMgtrACF<^I|CrE%RpLW$*fMMD@Z8RW)<96x>80Y0l=lY-4600>O$ zWE6fidXSaXje0oU2zs<)qY#BH9xXjx;;{-MMCQ)tJ;`s1*0$9~Eb2t^kVs8v0KxAA z${X7_51YJ1Mxf^b`oCZ~&djOT#jI5gSOUDTheB5|Whq}58aUrMd1>MTW!RFaF(Fan zl~XG)G6x4AzMU>_@?lq>2k1#G*`zT2`|s(! z|GMNxZ6ObV`FIY+Fw%?iZ=6&_PUq6MoZf?7AU$!KY)5@2ljPP*yJS-CDfv1%PNvFb z0C0kUd1r@&Mx~$(jX$SH7YjEkf2pJP2)gE$>PEstfvO70izFU(QYiL0?2%)%l9nkD z>vfCyO0j_7p^-Kxyg9~%Qr1g(wND=QD^V8*R`hgJb*io_+o1)^v|l??+l8%oL|PI* zMU9Ewq-2MH>^yDtem2%T)`+wX!Xv_S^SCR0^mLlDJ>qgI3ueDGcMA#!NKmZ=+w2it zX0^rXC%(7ijEC@z5)Eflv23B`xw09cPL{ZKS`^B$oZv2}<%qnWlS`GSVKgH%xb)z#f|@~KackW)8xZlDXX z$O;w$0EfJ{FcM-na}-EqkTS?+Kah?@BjbK#1a`${1j?>zUzejDw-71MuPU7QA=86P zF>z(!F2dR%|K_Ft(DdcAs^2V5hF-)e$n zMaXtVj*dR}064)JbpSRygbRDPQI~^MlXk-Ez0n~(yn(!@V+qQ=yv8RfX^q3Zhm53o zZ@iu1US!f*eNW=FcxtJm7hwFW?ACd}(*Qbi{Q})I*AWXP6^{%TTD5N%P?_Yykm>)l zRzcZnta9UK^k6S@GoU%E=RpFQ02r+#Hne315E%4rC)sKe6{7kRqAB+j5RbLIaEf)r z9Uq+8!1ZDBY+3o0Y|3N-H!pkHwNDkSqODBG0`D7pgvw#{`q`LT??W~C14~;mi9gRc z{z9zO$??_oi#eQFz}N}}g9dx!>(kb8LcNR2>M(~q$)D>X6<$cK5yjU=)|%DO50p>U zZ07Pb67#9V2mbB0jehpC(`o%gA4LLKVJ(Y!WIdC>(C;rL!JVf4Hws;w`QVIVk7Qw2 zF~!<+laOPfBl0~UJyI|Oh|9ur6W4^FA^yCKhbu|MZ`$G9hls?E^F{v0g?BtwIjX@M z?CPl)v{X;)b%3+P)KGx$h-xi2Hv`<~ctq(JeL?YU|GrpZorj0tqQ@J~ z5ucwpK8`sFI*3XK(6rw_JN!_zQbqFDze7(}Vw!61y#fPy7y3)nS6EP6r?0sK=Ku%N ztPH?h5}!i3N9hq`d#hb}SD~$VGWiF_jKb)Ij3PI}Xs_Z7UIqHS3X6L~We(qNSRPv3 zD13JucBx`Mv4MP7;&=&xV}fC=D{%VFX_y+Kezn~CZ{%xQjw7mTewBho98GA2`2BhjeI}#y1UG2;<~WC;v<=@?kgb)QD&V zrc?rcn|1=32(0@9fOi7ehW{5~?-XWRx1{T)J=3;r+qP}nwrz8!ZQIVAY1^J@`{cj& z*{4=j?Nj@rKhL;~(E`1-h}PdvTvqI@?WKES=QmAc0H(W#p2&QW%hcfVz6*ijJ zjocrW`__&|eCql>$Dcz#dke&V@64pZmH%bN8*TV|gXx5~e2X>%1Zs0Zj1!UJh};|A zLGaTaRlY0ZQ~0!zZFyKHq?qmG&u6HHL-gx322eQADNuD0`G_OIi#u6R0@JLL3#D83 z*F&;$kiYUhF_C{7ijXziy0N z_LH)LzC{UB_Y}W-B%n_Vm_DvMaNZFKzd!16jmi`TPgCS0ECg8dHu7xsQs)`Ni8_2+xM*299H9zY(@$LFxf?~y$4K5j< zJX;=k-z4bSe4#n+9n2L0bvLVvtU!JfEtOg=@5e&>P?E#Vm!ZJoxg$_I z>rkLqa#TV*+yS2_?fTGry}B8qAd6G!R}~jcHv4bRzM0_tU4yexCRZ2q<|7^F&IO-1 z1px&=T300$<}nWdqX^GDGHbIUy(%g}t=Zup7Gi+DLNiE``B3`M|JgUBq02s^-v!57 z9!BOR!NdFioG8UN#Arzr7Xf{p1!t1LR7oc<3^KX^uSulnNnE`LB%@Bb62|gG^%u8% zeWy+)TJ0YsUt}F3T(9UYCjtaHknb+VXwv08DhSQP|d(}811EaVbnX8?q@F!B0U!QT`eHjEqds158}u4Z<(YWwR;KFRJeG@x!9Wu@Iy- z(vuY)@)N2={}snX*l-OTKQv6{2UX%bWn+QJcMP>%gXbWA?nLWdUg09>v~{n@i+}|!Kt$(~nwkKv^|+?cTFE}Qw)#RmdMjTKU+u#W4(Qtn zS0n;LM^*n8Z}A3wI%{_!PGfqt03zvi@Itx3D2>1upl`FRDTw-UNk5K zZz4jXYU_-A`mu~HI>#oKdhx|L3TY`H|J|QvIti?jVq0O|5PQOcbe|5VnT@YUuis`& zJVa>J;lbFu2WPB=sHKH z*9DX5(b$dcmIS=Tax~T~=E3Ty1GtCr@g`1qS$}ZTEVb=>Pj&1NSM11bwl9gyzRz~{ zXKs|3$eIbK>Toywxtj0iyf_KW;@@#!PH0T_4J+fD6}?>a&7JGj5eb9t$$QU!b{v}Y z_7~~UOWAE(){9U=7lL+f5;%vaolS!GL3|dndt{mhoc%T4hWZ3H$(QyKle4T@}Ctu?m=xOPf+uT2y!oBx7A|c`9 zKAYIcK(gpPmhfeh8U;s^4b5fTKx$@z3kP+#CB{z%>?Z#c^g+|g900(Ku!!SgOat{Up*rKUh{B?!M8t% zAf}XYsWr=~)uftR3(X$1jCSa9T(h=y`~%>etFj+D-@QsA;VPl%lQQ3~y%E_?7bcuu zgnH&@^6l&#Rd=O_xFCH*m1R=r!((&G5Ou@$`g3we&l?o)Z_m0lC5p?r@`W>LwQd;y zCJpCDMnSe*vkZuoed-*?EKnkVh`nQDvJ}l-ZanrG&^l~9AYh}LubY{VT;5nU((vYU z)SVC?eg}H4JE}xr+-)reWUVjlS`WnC*6j&@VYp{)&E z)>+eBaVSHGx%^4}>O=^-n~_S5tz0UK8oX(d4~OuD)Qwzz8vQqLL>-K1VpPMl@je@H z6p%|uBf`+weYR&}O-1xa29Dmuk;?9-U>zqIJd!*4lisi6#gC6*7$iq{OwlV_!yg$Faoo-qg}O(o<-gd*<)<2 z(G|gM;EeKvboZ7?gNi<$09_Tz?=n@d{j_0NgcQw}&+3fk!b-oy-4hYXA&K?Er1gnl zZ?^W<%&o$nQLQa2^;|Pbu*y1^OPqvwpG`+bD)o#;PLMlqC^@Y(sUNP)U*eTL+%L6S z1hj4w!nf6!lzTxnwFL(jIUk?c(n(a1_{$ZNaIA@-Lrg(G3$c?Qp9iPEer9mV2DlGT z;GxE1{@asCxe@s&F@3_tielV`#8sTawIn!$N#Y zUx-de`X_z|<<-A1rnRe(-*LAr^Ma*_4f}61Y6O~s2e78R9g3$LjyYrJ;BCDI7{0W6 z`jO0d$q-2`2tZ5HDta_ zJDPBzl22ukJvd11o|aMRfWcB$#7Hcfy6_F@!6))@qMGB#(}*AR~K z*_L4GgcRjkKp5c`XtvHV-6Ah>CY+h+Su=(7sZ7ACd6;iV^Pv8^&h#tJ+&Fm>0pwl9 zO%qzA5H7zG?0rSTZ1M4NAxR%Iw&|=DofmXYFgy>fl+$e-6<}C{U^jKV&57>f5kAp&tr;IP}eBrXeey{T&W2kP&@tXg-??R;&n< z74{Z6Rj+WxWBW3tp1yTsf$MNV07AIK1V7|J+S|vnSlanfayBscYg6xZhlvj|lK;T8 z$?>wM`F?YY$N`KitQ87kCd8mvYGN3XjF9sQ@jQ+O|}PU zDWU((BGb&LPzRN6tY^avjUD#}( ztHhm-G>jhtPqCKPs`zY&? z5Ta5d8AFUccVzDt@*khN5<{&+{Y~KZQnkl z+)rZgs%oapdPS;|Vx6{HoAZj3oFPN+uwqv2sSD(q5vbei@b+Q@Eu8C}L?Lj!H}-+R zX1Q#tZ`rG(ay-{tXL5FOx7sX;zL)1|uBfnbRR<_!rZqcZ5!YV#Lv~LC@js+) z{De*K^$I*&yY2A6hj3A*DuL(0y1TlUJ+|fXrEDjgy`Ik7N9~S9RpN|#;CL$&jKI%H z;F7FZ-KG#7nSPx!RkRb%AeW7k2%Y&fCM*qGS1lPPgLwzL{yrmV0%^+L*D^hdKknV* z(=&9Xz&v*pZnJ}6Uu)?s)o4H0_YTM{ho|Hx3CBq{O>rEdlEnoCS(6?%;~Qp?67o>J zqaX0{k&K-;d7bXCbFew)#6;u*W%|974#XBDc$s{K(a~JhZ*2_#5MwN>YH?)#V%Yh2u}-NHL{07O+A1N}PLwm+$)H=~ zlxWzi13dkr&3@y#3rQ-uQk?p_?s**9#x%pE%svJN61CuNeQcqHxHNXE} zZJJPeg2h^m*H+#aI<>i^zOy zygnbsI(|pnyeUiS7Jh9mi?Fy6>Y9NrY`iVoLg+QO(=It$`^&W-DWOI{suuCF-ef+O zQExer@Uwjs==tkvC#Io#nvvu~KEr0)7_@tQJBe;D-z*nb`p&lM}w5!Vp6FVFGIFY8|cZ zJFk>3+;i>7IKf4O+zF9w%Jjx-SbgjrF4nhxyh}bQkbaBt6JlFdV~QmvX}{C;GrfO; z2FE;=hY$%|=Ujhj{#9{zuuV%f0q!M;0^)LNfZ&Aq9m@lg;jObJ`(iD+*`4Sdcj%68 z#|qCiF5GSsTK<9L-nl-B>6VH|I3)a*`xK|#mHvJeG^(LF7zgZTi!KKTDFRy zK4Ioku{h91?r$HuPn@&pdK||C#?$+x?m{=~$^&c#&1IXUvJS|P*1>(C6Y{r>M08=| zW5MFvqvbnEvU5}P$zrN*TM?j|K8Hq}CGcSL)>x|$Kj?3Gz(oVzEqE?P>i^4KLrGjFf%@SVF0fuM&*M<>s{`rpN5ZGCOvydqAb zF(^Uq%`QmN%W37Q2}X&78=p1rg1Y`e5AGd?}R0jgV)!V1VH(f!LtP1EjBfb3&Y5L?l5t zA?nw;66_b{8@}SuVt#EeN?SF4Q3YduSB^J-)Sf9@_O75oXO*XoYQL ziI^AgI2SdNuCe*Lp|dgvxx%j9_~&89^fk|UtjEZ}jT#LNRrrZDYck;dn`z@caJ;c<=EoES%6x2N`L^TU{%!d=$p|J)E zrRNWSd*NX7^({}LrY3i5pXVB8Lqd(#t&aM!p&7bcKMBufRC%got+F=1%wM!cI-^o; zLTDe*T;%(914vY;@^`A(r`fiRF^Y3kezzpV1W?K=0pmU{J5#vV6aBz#&z~%16|j*yC%M zHzLW{d7l1ENLTjvDSPk%qp{Rk*G&!Cegh5S=&W+*Fei1zx&d~9F{?#FA)smA)rSuh zJuy1=Ua~P?MaAewfCAG#;>FjZfyL{ZP;!@lFZb1#Y(@*CQiFXGb2ziM`wtGGtyyax zeaebtFDv%Cf7darhIG+OskJ5H;`7~`SCX%7GzjFE+#?$z0hiqXeEjm$)nsDt3HqUU zHqDa?g?UI-%2aS#$1FC5H`C#fHWm7^d=+9qc-l>3i*{qgh~e^_2FdLdAeF{7i6QGc zuiU*emxP=X_Av{G;r!acucgh7D=az=&WF1B745UYk{YMvWW+u3n2u%0vy+rDyi%_*~$4)IV9aX+1AAh4p6-_K%a%x5&_iI)4U4%3M{47Wo?^;kt5(9H!+y|M3i*wl2vpH2?bD+$5AIKZcxPl4^}8&ydkA50{GoKMaI&6z3ot(8O@QV@QVRvyzIZEJ+{ zVA80|gT;}KcS0v$IOpD&Jb4rtiJnkB!j5%OrN#yrg~CAs$cy`>z4ndPnUzk?)sd$k zgGe_Gq&v%ddq%BnavCF_zuwMb&b9a-4CdoThh<~^({#_Xy{?HYW%*uwN_U9uvBTsA z1GBv_{ia#3r^>onu$MGxv8N`gFRRKg+tH*{W_R4Xx3A%`HH5@+)LM8dG%(Z z!oF37Vupti7l#Fk*qgIQtEmWeJLdWHqw&53=^qj7uA?@+-{h_e;MIKsHtLZV^?g~WqeT5Mg6tFIU4%7M+ex! zzm~62%hkghtIEEzW>+S_ch|PhIrVT?bLu#yrH0pet;`o*V3LkQ=S_iV2!u`X`dyyD z7B>J=H)3&6~3=yO&`FK-!azHGSoWWC)dr^j4?SJE9;HfLUIPlKo-q2Eei>06Ok?Awll2?uqU;_A(o zLHqS3{23aU&6ndLz|-(+v^cfvp_B$85F$J1B2 z?Z5%5lyMm;PV?q?{k3qY zl3s%iCq8NTNwRNivOB?E1#EoDoYh6^lloPU3f)L8@sqD@_i;rUXOi3N-y;}S@AZ!? z+8az7H`v3ccP%R7X=oyunWgC69FU>PU088EVD*}zNEmS1o(7%oHE0oRuaX`F7)HRF$L)`Mmk|oJ~}2IpShkY z+Jm!8ilFub)$9ohDsPkB(c(*xY@&kz5^K8ogZ=G{Qr2R5EVVsru4RX1c8~O4rO(ue z*!QCp?gT%iwI{@tlGfRoUp5!QpLoPfnCE)X{>6sSA2?Fy@P5HRTw4D3skO6g5{d%* zBItUbFI^;FZ*VrIUCa?l`(mG3r0Ex(nPGlsl6OG~n2-}X-ZF-cZD8wNwSH?h1acZv z{_DIUAQ}cBTMq^Y#*hj%dE~5KuO^CJTSPg`8@&?|Hon-2_aA*yQ&Jz!ZV;5ZB8zQ# zHxN{PYf7Q69?XI@=YRd>2sg~5MpRF>o-JMT4hCYg!NeJN$V_D5XlMnSiH|c}f;;0k! zD$Ew~(suiWg!VuxUR6dTOohk*L_gxQNJ$;#=+Ro70gIrT&RuvYOv^DV_aN+)wFSH> z)EUu#CuTMfy;P79(}+Eb$;8!&xJ_q_`rdIE+7(sB;oU?@L>5H5lW(VPOP#$pS7P&M z%x}`8#gz^D|D|YXXuSg1Ar?`pj0o(8A2r z1@s>-g`oydfB2H=fur_*8Jfgeb*_k7P|xb0(W&@G4qtX}4dVi(XGQp4qh-Or3*jW8B^Fj(+gaYqdXUwz}WSCN+Ys=v{r*Nze9r-LERpQ;D>0K#=>ZS zU5Pd*Xwne}gFA{(Js5`p>euVW;5x!l6*|eu6U21cBbn^Hs^b0f^5GD|hy4}wr5qo- zC@F=friJ%<9U8*bXkL^8>to{CnUdk;7asy52IuP-oTT!?&BZ2t=h}e{Xbta6aK047HX#9wvq_x_B+W zPe@>3*Bo)q{J|eG6o7^VNrWXs((X6#Ki}GmuECyR@&N!8|2+S}3Hz^%3Bvy$#)O5j zfr%5%|0YbtC``%@(!+N>Q-vM@DF)@hhxqSHb`=q(ASuFaO79b++6G#;TD*E5#y^D) znKW~)=U_~s+OFu&rr3cFOURn1*lP0q;;Ie}^Q8+9B9e8CKJ_)?BrALTx`?eeK(7hC zsN80y-pgicwK8V_j+9)YW#+F>xI*ecJY3oqGav*}9Wbc!!+7BVhpLqPu7zG)M;8#P z>?W*35`c#V(com+Kvl>L_zAy!jXi`qIi+hW&7lk@pHoq=@FddmoR3%#k;fL~<)iap( zKvQ5oG}?pskXam#RJG48Fi}74R0V`=rap{uhkcQJ@L8r~Tdk7g_gBUaQb2BYIWy{h z0gpC<##F?8-SFvOzE}qh%;ElV5zG(!;6Hq!XdV7P@ILHZoax+53|%cu-1N*1Y>ll= z9Dk5)v^ECzE(u$*1N`tIJ0>-3AL23Vx;bk)^#sBAXyPyo;V4#;&@}S>FIT3mg3#q| zW+i4lOpTu&DE;67rW|b=Fbc~MU_uP5lbBVL_z#WpCsSP9y3=LC~?1=W# z1hvJdz&`c*`uzpa&LMCwA@d`o#QI%oUGuJv{kZnKz)>u~R!ZZ^!(%^iraB};fZ&OH z0=owUyZ2OYXBenQG=jpUMM-OnRn506aX1W!*T5a_lMS!0y;2olDIl5++sTegGO#a| z;pEB_m_u#u6q{)OIg^S(|G|`B-eZG449Z)pte*U}5x#zljL^bogs0~alZT`6q&P1sQ+PO?J(M)) ziwA0Ny1@K;9)L9|P24yYG-t@n@L41l5j@mKmaEwJeHD%jDH&mZL-iI5U?cfF_uh36 z88;MgICg1ZZXZCUvOwAj6e9dvqLL6INXbey{*aVPC3F#vNoB`uE1Sq)9U)C1C2vH} zA(4a?CDxeajnSpbco%J$Op`yNuZXg;;;w;!n1KElVGTU62{r64*yT!>{F?CKk7Vp} zI#SxVo;N#Z(en|(dv<|@Z2hh6SpJ_tiWX4+gxq*dJQkJujg8#XY-sd)FDAhxk`e>S zIFy+T=J!T`xc(q7@_RR*zqn1U#8q~aVR0H(+8ggX`=3vfA78S6{nS=6O`V)qKZ&#; zZt1IGuSx_sG^sOpf;(y)7ShmB+q>?Cl$d!rd;;X=IcA7p(9$>@zCrepHz(h(xHm__ zW)yjzoE7}sRY>4O{9Jvb={isDYwzxhkcU@^t=L8jigw!S2f^N{e8WzaNWH)Re zJ-W!w(X^hwF!+LOT5kh7A{zLhJS1j#lehx-K_?al_r^Gf9d{?k!?u78NZQx3fI(At zR49PJO^7bJi+KsYU`*edgG`Km)52n>m4D!JCh=qB-nKborEyx4 zM2!T~VFQhZLSizvq>PYEsuE>w_U6}b!|_8~_20v0MRLWa2Dh*O!c;=@*v6*(Sl<2f z{72RKuW|f?Ao@2<L;;cB`^%k<(-!85XtetRo+UH{qIW3rpewRH^L1+gAA zBK1vOq5fb00DJ#TMAf-D@pNZiDiU=v^b&%?A6*eL%PNq~e6|7B=r=$8a_x`w^yQV(H5ZZ|O6CKIPL0KnEv69Qya5m8w~2PB+Dd(W;bnITf=4C63$gsaq(y7~Pt@=|F!a zz|Xn0PquHAm9SRtb>bO2cOU6P{--eeuQvW?M(00a_U|@=_Dewx&?AG+dZ^uoBZVYR(_Hl#B4DSb zZ%azb47`UEUTryLLy9LWDX*}ly+@Y$jwCXQ(xO!5@@zNPNlMvf;tOTi1X-O))z)Fe z7Fp-*h2K=Zn3ehcV{=0%6Swt`y^jB*&HsH}|AVOc zzt%NIb;EX@AO17V$0Yfu6n{9oy4q}(2{Kz&Hk|{DECK?NqMI*NeCu9TO|6Hr9vQG) zwEz8+-F_o=NqS+JNvCq1xY&AjApE#^IBMG9j3;LrLa1`M@#ua>JHu8{`t&UL$Xl6| zv|z}?`wJ>d(1)NInJ3&P{2mLgB+d|qdpf%YFe?^xGy#v&iil^t0m8^?M z8Ooa&TAibS;3a`-@K<@$@hrS|;o#^g?#Dl%?=$=?d^eCE#Hi;Ehb-h0Ve(H0jN%PWH$Gz{H{YH{MWMsp5^nF3u1q zpE8H)fMGorT`SLqz9bh+s|yuvr*Ea01UwkK;~o|(C7am5Fz4csh;(~H zSV~7D6Z@+~&DRFAZaT2TrkA(vwhtmIA}PR+4j9%nx2Eh-Qv#U1ES%id~M`rEJ<`u40Nt6_x#Gu;F` z1Py3d2dQ{Ue4Jsn{K|A0g&Qrg!}Tff+E9&eV~*rr?6 zy|a~2mIxhw3ZeznzrWZ1?*-@IleZaT!xn4wQAf|A3U#lhQHRvCXacG{8($JjsxApV zM4xOIhSk%^6cDqoCCPdJaDbmVd zDqvYKtY{QnT)+UkQsS&=^tm(n2_&>XKu%E3fT`jjd=5!w&_4w7y7}E(<6PC2i>}`= zGWi}hDYD`2o@?_y`?KOj_bBU5yYomLfn+LQH~z<3Dy%>T$FcW0$Eh?Rh@o8M$=Y`+ zg=h3JKtjmJIC<8T&aF&!9sMw>=4P`MSp!_N=2$fO9Xnk;!NAyE&fw2>@}pKbO9VtV zw2Y%9-P~M7^zYTE%FkI*EA-ET**NpeoGW>cr0$_o%Me`qJ4W$vKg0mZr!wD@Vlvm? zF`5pO!a+={0|c1*$z2_GXYsCDfiao46{_n!P113vi#nb*gf8NQ7K8<^cXn-T^w$p8 zfdHP*g$A$LD(2zdVm|)3YwVEMdU~+5sggp1tyoZ+DV${Btj(&bYd$frnHji)UHXD; zrxHr~Z@{Rk*Cu43V~X6&($rIp3Y0T67tnkiMDP>2+$R1&+XRG#jr zZIT31aG2&53vcJ1Ysf^3?u}s^5C|`^OtzuK{xI#*ht1Fi4CWdjHT8geot19eXL)^L z{{C~KvspZvLUT)KOsoYK9PgT#Z7P7r&BKu0YaQb%o>bW8&AkQod`9o>=?WW-+jx(X z(+9Kdf;qE^AmQY}`aA6)n+wTZs3OjIn-DLg~~z zhX_oQfIgbPZ8}^4r0h()9`dA@Duw+%)beFp8u>-_x4yh(SP>(+m^BO>&nqX&tUO(! z`RcEA2Mx-dVKWA>G}gQ})MyKULmp9WgTtu@R|ZqY6!LKexc$y!U`E>BXHx}-%~tY- z#<(H4;`h7iOVS1Q%CSK7X9_SuCivu;nj6-nN_%~-|L8pvT#9ya-Wol3+uK+0wH z0oxb?N`{UI+d@VXgRg^IE3`wcMK5(n8QNWxjz&Qhlwwdef4h3~aAhqCLQg@7Fgu$n z%Ab|9BkW<8#8(HcsCO~SKeQ%EsqX@yO_NmnqgD)%0o^RALt3ybnRPYbQ<@OK6!b$z zrtu-YYJ<-!S{($^G7wOp>|Nm$ZX)AnY*%$G&aeqinl>I?J*hVP9x5)cuanG0k|}rn zP0O1R9LbwAaEaP{Y+?mh3!@RjqM86X7U!jIK0Fbq@BuYvgl27!!gLNz8C17u?6L-F zCt%UDpBP~^b0jrt%xmn)A&&|yo_NBsK$SG`LHD_49IOw${zz5%EQS=3Rw`(;I)UQa z&FC?F9*h8-$+?J_j>Sqg(VPGoByb9BiK$?m(TBoR01{c zb~$xP;BBdA8N64lVH3sx2~KQ{#F>VLw+y-_N7wJ=B)Oz~PT6sv7^ZagD4B+&3;b2; zFLVHGPeJT;JG>dS5d=H^ zb1{Di$ri`>YiL!gRZW(H%ShLH7UIcl>%Nz9*B@u$^gCO;ojJpBs$e^0S- zmGhf2o>Md`b7lf#A@!a(;OhWO5;9HkDtCMgRrY>Z$%n+Xg2WE3l#R_G-lmTPT6K`qW}qC?}!YFxQlUrH(2r@JPULda37b9yY1{ zS`0*iuv&CKhjvcN&w?D>cj82TI^{hmLA8dfV(Am?j#+ADDC^AGvN~MJ%Kq!N@Dm>U z#`}>+dD5{DdL(|&yJ5E$J z6|jds#Q&TQtND@=q;u(EIx}kAaT6xO@lAS8&RKYkdw%^Qnzp$-UdiwiFwTCX?C;Sm z{K)))Cbz}sQtFi3tiqs9XsQHgEqXKe4umX>NY&3Ln4f{bR%UU%vj47E5gt$+y(=EX4ZA z8lBZO@QZTN`kuDHJ!kVcKm8=%)qcN$DZ84wIeOR`$qI<#jGOP8CcGa9$ z%xa(het|S`IUe*KL8QkZQz?8gbVA836wN`nXS!Qx%b0(;!9$*4la7tf$$3u6vt9nl zbaxuL;iuewt?Y->ttrZ&U~882*S%7#eQLAO2Mq0ORP-(`=bY)~fGc?;JJr3dBT#~f zP4V*Z5a9dugl?~)^e;~1#bBHm0p7WuZDz=~5<&BFm+c=;4`a*8*eI7}SfDlY_OX$` z{2-PWp_c5R>U{p)+%X1@bmn=kNxPIgZN0?SK~ z006T%|Gqi=uWfI#pL5^;w;iPWM;_yUw_2S|Z0xNKoK5IlEu2mMMORMVu-#yX57jg2 zBka2Z9nA*jFh&3sPw-U0Z(r-&;!;bsF+icJTU_;d2fYOI65rSo>61eEY=H11?W)VE1#W<9wj%y;!-h z-D!KhDR;6*536zbJXjXsswydW@Zq|8pE7&7d-6qZJviK5tv%5>2&Oj!@2uImIv#=K za_4kba&y13EiJ9d@za_5Ty0wr>ixRR*BdlinS%ZOe)VF@%|go$5DUqk+1ak^mUVXQ zdHTF{eluy%eAW30^V#8mN89SBu0#sSVaK`dZ4GS0YbgmUyT~4wai0=|#72urDxn6; zt8@UPbl7n`q9IDs;mEeKz|Gs=wkEx`*=B!~XZzxcJtB0lO};hfcxGFJ=JKw`9HREo z$u)QM-up7l$MR7}+G(yRQ2#(knKv6nF1n1S(5@frzdO9n&a&}C#RXXyKS zz|kX1=p`09N-8K<^&Xb>lb-o%!Qka=%B}OgG05crmtC}o96wa#jwiy977QCBs(6{n z5>;OL5yNS}LwX!3-*_bN6}NHN$@32in~W|)5>P(62UI$QDmx=1`HU(_vWx{X@NKX%%pM$DuwBL5|%4 z48-kpkSYN%MtLdtr7&skwDU})3h*#RL2+dz^5`rjE7TCFhVo&wa8>4}yafuj7$FU# zk4dOuk)E+mXi4epF@>V>S5q)LZ{_=6ao?VBgxG{#F73~7}BzLJno z-^m4wkWcquG8bK?Jh`e`td*1*n)Sc6)rP zyQrx6LAS(YAbg{u@rWe;7OxGMTvi)8LF@HBXRUc6yw9K7DbBKiEd|AO2Z2SEn&xzY z<(?jQk~KOW{rp#(Rx7sx1mUO0H~#bdN1Il_=|8KxkpG|7S?{0e&_AW?Uq617eQZsv zf3#k5e!5avZ16rSYSPg_os6uNZXA+XZ;IgN`+ctGVFmW&j;e+eBxr|K#{G}IXkFu# zQga2KT6cdg|70MTY+y*)L;dNWa3F%mw9+Ks7jt069Eb1-1)Zm1lzm=xjYJrb8d!cT zA}c3_E*fQ-RzqBgOXeS5s|1dMK7+Uv8d9FU=q?0KTiZ&s$e)GnPDr^-QGUs24l93| z92KSXUaZ0)PWad&6l))lJH^)8b#eZJ%eNWgZ9(7`H(}1`!@-E^V;@Hm9A&0dCucH~ zwCTf8C$cZ;FJP4RFG>&u+SZE7>~Vi!p3@}*8zA@q?M7V{kJ-02ceG{RL$ZmX&4p-A z5-p9=8JshB^yCaw8v82=-ZUf)1fLbO*nUk;i~)_)sNC-j>_g_A#AT|Hb?`~*;A5-2 zbN(hugbwZGtcY(djR$ok%H{}|*ymgp5O9%PBphAe$6wladusl&e)6FN^GC@5GKCi$ zU_ohRK^5Ye4UJ7Huh=;c0W>~K*bLAa5@-(sXo{gL3>Z?7b@PXd>P_U8f!!dfK`MAlBst^h_VW1dsG3#{vxU0d0`?Ht%!ErG=Xq(3&rR3@;rpSn{59fQXsra2*f>3QaR+DU=z0eQi%I|80{O%7i01bxPNP)|MD^@z)DtJjsY z=~YJO_pe2_D*9h&*Pm5dAoRc2vOAyutYs|!t(LhsTUh@u2`KV--8W+kyqq_vHi-kK4Szt!oloWphKZuWr7guLV%Z-3 z^x~6^B}=W#9;NUjP6nM`r%9}Jpepw8_>rxZDai#%hcOAC5p-hGxo*LTm#l@DeSaT? z?x_xJ<9rfi*ltyc$gr;TrM9hmh%33@RM(ztlBB#7jHjqRnT4*5TKz8UB2bx(QVeNZ` zI6j9TpS5k_Jcchm2U=*06C;<%70Q2GPKCj9F2O_kM@f{mu4p{kmL@%4UxUPyZvwithjH0f$5Gw$}o)zc`Y z4tf!~wlci>=4VH}ImttKv&_4OL&QRfTkO_yFmU#F!9leuP4?goM?eI^-f;rIPb#Mx z-@5N*NqhPObl+Peq}Fj44lfBNvBj2`4;KJqq69*V3AKuN1SiLTaw;n%*>2D%Odc{X9*`cc5V`}UbAewl zPC)4WN^qjtdh7K5r3~j!EWMN|4aAldsFda?_GJ0GV=?OpuE{^be#xkD<)6fo8E#?I z#TO4J7V%lsDqY4gWR0I0As7x*cu}bFzWia$zv=j9-pk^#-J_?-=Z?v2%S2)IanKJQ zZRTPcE8Np06>)e}X*R`7<{bhJuiX{O0=PQEdYA=X=(NKm z(ETb@P;C?3%urk7R3aSH2$zU(4VUd+`#e}g4jSMyezy?F^czr!KxPa1WIOSON-yOr|A$P?QOY4B+b#TK^~01#sc}^^p8CTKo6A7e> zm=w80=r7YPtD5#)_TdT(E5kv11D0Er?i&9bADO z6T+IsL3_RHiqhNd*j zxfFgOqw~hSyXRWfwlOUNJ!J_+Y2kTUKo}Irv2p1uf*T*{>0l>y{MNKT9x9qe2@H^BB4@5^4e$zR z6&kcmYB`Umwo*X)f^`xm$+snPWkD7VT4{LK;un3A(+bvr(BTURv`jjrayj_y`#xL^ zDswz0Us_2vKi%2jR$sD?XuWLEa$r#qE>CMw8bK;2^*^MX%UAMy~| z2!P+ef-%#$N~uXgs5%7&S6^GMg|_xxV$Y;_;D1s(P=@^tf!s1Ma!H>c(=jd?34W<2 zQm2V_3ag-K`mpa?j&|+pV=f66-ge~I*L+_GuWf~4DXn9$1kjN<76C2P8-OS_=w_L= zu{?{7s91!dL*MLRR_y6EiXLS~N#39=NFKC!#TGSLH{9%JT4|yBZ)qv7&5&DlN!2#TX4FGm4m;unq92Jo*qf2n#HsiEeKds%hiENiONcSW6v@o;8dRVW0_3le{*~>brH0gA(AFuVPNTEv~&NfrlI@wCw zLT-`V&oWM%&OTc8J%O$>hxPBiy`2_aTe1y0W^?^LCt1iVoKtvV)l(8+1ZHgy-DT~Z z5zPH7cA@6y7d#N%`_d=3mEw!_&|G?4ZULIBhT~Ea#T8%_a1edoAGIshUU3nH? zuZP+>vzD1;k(g^Cglw689BoLe3?TFD&P7rSz(|H^vHrJE6iqGnmu9NWy331>JaA4& z))5+y-3>3W(L3!cLb9_Qi&emo^+4P#iCI;*ewB9D-WOtfdcRyAC+JEUBz0DqQu{)} z`5x(`r2iRfZl?n8^ZsU^-X>)E6JD51CYKj6BAa+*dq9RS_*d-eZ9rwmaFBfGXI^Z^ zSJr1TYCefpjr`!_0usXX@(_Lm2~3SS?enlN^V`3cd2yTNCo?}$SaknazJ}!gju`%b zeVnsXOp=1tkK$@{=aJ$oMDRjklXuhwm-S6iTn(bSPUWJB%)S^uC&?tE@4cRegG9EK z7bEBT>N!bPF{`E_nl2uWD=jNfUbAVyT762!&Iw@hZq_%bL#1eP7Wj<~ygqg7lpQOeb zp<(zAw2WR1Co&3|qG)U{q%Ex69En*OWVvvz>TUaX%2Gyo#$QZOOjD?M+TQe#J2e^D zg`+K7R2iprncQS26Q#BAMU*Jt8G3zTs=*AnWiuTz!+QUaarz)x4Us=%E&G3{tNv@= z(|;dr{{;tK4Xl4usLm#Orq*_DPUa>i&Of8ANqmp(4}%cw#xqP1-61{*^4=dFf8YgqZspUPm?auZkW!OcfY# z2eE1r|7lVEtpC?XRnu`gnPa9gPP-jvkgL(DlkAn0^8`iU{YKok@4#P@ZB&hr1Ft5L zJVku0TN42OBk!!*BgH9Bv66E4z?qzQoG0v4``9bmXaCA_JwDYxSJM+8C7@UAo$_E4 zE|1r%A)WmiE(dtuS)pwN3pS(LQ*8g7>B`(W_}9 z+0nvA&(y-&M9{MkCDBD|gY^#wtLJE9VEm(fb#~fPpL6_) zu>GMmvV9OU5-7}`N{H(IPPBF^h$i$THl4|`CIudrgn<0yF*g@JT9)F?(Osl91Bh!R z=eRa)_?R=}!h`B+@9J)PO$WTmJvwL0k?qc_lY$)a&}VQ#%jjp~qYyWJq{d37s0Gq+w~Gmdmjcqqh^ zTHHQ^POHeC8c~xsX-YgWC~=Tn!`Mn-)fPJx=o5qRDi?ELl%q)Wtpq|3W^R&;)UVSzJ1dM&Ig%JG4gNh%jfey*KlG|tX57wk)A0ul6zS*4NT7TojId(TlO&jG zngGY-9Ajoj4F2D>Xv9>V#;wK4329>CFbOhq>+QfH<g-?%o(pfuSg6QXv~asncMsG^4b5)je+DE59Xms{5vjy4xkW zEC?rH1h`ld(y(#bytKH%77tA5&|)w+yi@IdPERj-aC*m4qr4oB^lGGb;##vl?(&?C z?0xj0n?y7PSwtgxZ)FV8EN;&}{K_X?2GPymSEVG-3|&X&Yc;)B4W0Uw6~dG{7Z=Y6 zLmgGK#wy}2YvL9ospCb&zj%TcucDx5P@qqTL&j$~hST{vP?qYuCcd@zMZ#wMNTZ16SphT<#$fcyM zs{`wt{VjeDLTx9sUk8KSvF6*&s7ealt7xiqJI$T6@RZK(_)wT`X_uh)oj{sU5o(ffLUeiHX_X7Ga5Y?MTCGXk$@5An# zynSFZUNPzy9>u4Z!UlCLC12Tbs7BqMthokt$zkr1R%}nm2WN)SM$u+y=rop7UYm1A z=A61e_UN_AGv_;-Ma$6KqDNd*x*61!d(2tS^r@#lm(d-WTJY(Mvs(x3t|QEZx6?q` zV%%6iu0HREs+!5yVfWZ3KmU_GVobGgOuIrt)W7x0r!%s<0UZTZst75XSVaz3A zBVLFZvKDN|IH!r^>2JjJl9le)x5q4YiZ#l}X0qhd+7>i7rHt1okz%CW(Mt%|=hPet z9!GsNcA9dEON{gW-7nJxbQU7;&_5<-ZTdP3Wo7KV^gVsREg^-nnQY)lgFUCSt1(v? zwg;leg}aH64Lge-nZ|+`k*66q~Ae*Jmbw)%_N~l^F}~3w?3ot7MiXfxESn zaga0djXm|Pj2(PnFQ&OTZ7 z+(&fX>Y?@a2?6|y4t$R2*}rpqkrVPg+;64uNzGJ71A$W;b3XMByyc6(=tFGy6m@kR zsxHP?C*xy=gxw@H8a4#|GePoNsd?^`QS!#@ALKAO8V$ky1GTwP|GgPcx)1+{3x)1~ zMh;FU&cY_91}@glBJR#6woVpywnBEcrWR&DjX6bWBk~7y`#h^*3lgj)rtBnj%FlBn z&+C|Do@&V-Hqa1C31F5{NJ;V)>aEgI^b((IlPk-$ia8x?k92Nw%(z2i)Wc7d1W$D# z{(drHk8$=o0Ohz9oA_B9X~Z)ynK9)YtZt#*PK!@x)2&oiz?3N5H1%BkAVS&I%$Ou66e4|pRB_}y?@+aSopi) z`P%))m_;-|-#$S#IMaT1Q<*Ch7V4&|F}$u3%=DS+!4rPgpCsFsj+bsdJ3YNV2&_v8 zP!7%|G}!LVoQ_i5x_+F$VDl5diVzfb))DY))k88NKa0rmfOVc)gE1oeMJGxZuR{Hr zWI?l|F_|?7zkY=^FV_y_1f^z8siKD2?Qe@tT3+0>81P?-31?lT3kK7>S(MT;^x`>kfuW zelWeG8SGoJt)dmha>Jv9?p~vi-E(HkdC2R+0PK@ZT;Y*_2JZ^_0n>M|<%bnXp*>c!* z^qn4C>+9mh8?;K@@APl_N6ft!w13{M3kG4*?;k`u{2xd^+T=fl>XiTUyXEL&tLJRu zXk%e(V6A8L6K?!tclvp)hSjv}HdvAWVS7QL#AQuNyjG)>(5#SL{-kbLg9|Buqtf7R zSeq;2Q*hZ@>hl@)+4mWVs!M-Nys9>9+$g~fJK##U(ssp-BP zEQFk}7l*RdecTa^w;0BNAi21?>+b8&?xn)k#NTTj6TOJX2+D>5F!3q~kenTDB zFvkSZSP}274v3Sz7=~+L%si9sl14&VUkS2*0M);jOhG$m4J9+{@m1?|H)soSl-SY0 z+GJ3=q%IwpBzoW;b>sZU3<`R$G@g;EfdT@w;+aw5-Z{!dr@h;Ls49!FqVf!+kjV^+ zM8Ymn*U3u>Y%>#G=g^+6_$Qe!#ob?iFPMX2botLK#>2GV*W<^2A>{I0K?v(Js%Uz{ zpl1@-uP_;)Ey0Po2J6Uf*lFbSMAs6PbGL$a-Bt8mO@YU~Bx0RpJUh@)%@I@&+gZ&# zb@5~^nqL!131Nc_Ue`TnsfZy-l?|-BFou(M(W$!WzAMZ^!`iSTavV(7ts3%me+lnX zRDilW@C>;l45&3rO9CkhhOpfM>=CvInJbWtcH!2(2N zLKmUngmC;^_`Si%4ip3@h%>9__W@~}5fv@bLG1Dl4~fwn;+#L)&q#JWMNo%Gpm1NW zQM&b~>uck@YNKkU&2F1`>+qtU6X^So%QG`ZuCAW8TYy7scl1y`Rdi#r5tBhh0KHgg zOLkF-a6kAS{sQ*TP7jPv|JXVQA8*dw4}ZPUieeNXW^P1{lLd4veL`MRGy{C^tg33^ zkdOnb*O#sPl4R>CO8X}5Pvg_=fExKI0};qb$V7KCg>oNdW@K@_z|*pJTg7H@rm%00 zc#YcjPKp(anN9mVw%^&Xm2{D4lg`17VJ)a1WSnm45Ck&q-%I*x{7M1~!7^T%8CgE4 z6|USZlUN%F)^`sCo1ERL2G(NW$KL1K6*=1Li4mejkf#ypa_2Sctjho(_qX;?BTzX! z$l#YCR7x0p^I9-Uoh(fjIm|r1azmYzN}RE~)dlq077^T8h}NKp1NXWbYj7hRv`$z7 zTF1=@q=@j$M7o!jFq0U)kfB*lQ|vqZKS-yInxX0nG=Im?lsQ0;nUWpqKR-E72d($#>=!t z4BsOrkzal;8QPCILEeviaO_&JX{*;^XTEx?)&e$^kZ%o=eN^!-EQ0fwx^CBhJ7A1R zi5)W$wlCIq`Af8J1MNr`=_+S?Aw@`AL;?dj?Lkzfk(0m?ei=bb%A7iLA}F&30Py+* z<~;h&_i#7+`Yyp|a#{9)m$2|IpK*)9F_l7PdN6Ee=lzn*lX}Eg#4=Ynmyv9ICLJx! zZ1#``Z@IpFR5>`$s4qL*;K71>y2J#|OdOjmxGXzc5c90r58zx$PwCm=Qz)CTDV`0Y3lS^QAF=x!nS8N!717@YlZtCBM1dB7XP1bHMRo zE@Va!{AtKAOKNXWKR*!otmVAH4sQ0kms3Wvt!H~xGQnW=ZEw_+B}QUn0H9X~q@?4U za^>5BM@{Widd4w=7dR@qF#teoWcCqF6*~3Lr0wear6Bu5=pk9QsAFn@$ZCCkNV}0JPY;nx~v_V8o%S5JiSkL z%l4d;OQShrMYfcDeXyW}Dhfixa*V1=l&zn4hkZ9 zB85>DP)@EEiK?i>k&1j1RxjD%f7bT2}V;N2bbvF{wP>R5{d;3CXG3MW z@SMw+RgCBNwkr(HY!4SZQy-LU`}|mAEtSrs)*?xow6uzbX8jSL>b z=Yi(5+nBVin9bXob`^3=#<&ex=md>+!KNr$kU(WIL3^);j?T_B>izJAYpc4C`WGxI zFo6H5CeKoJfdEqa{lmZ#@=>Z4iB$3-6l59=Xl-!?JxK{cV4r)FHm0GVKG-M@Z)gb< ztQwA;%sN6HN&@8!^A0jdDEboEvNSwW)_6zRMPVu_J^t){dJIl0rXnWOZez)gXgLeg zw7b*>C?-j(%rz^>b>Uuo%T8bdua+3B7!H*-e@wjiyjMAL8i+P#E`j_&dDPKqzZGyc zTyZP9mXkE@-^&ckvuUQ}Atlmker8-8x&W0FRcabU0HKV^vrYL>P2dIdON{w3$*IAS zS#SJBFzqI-c4p0mZfk}&t6^p;8Ux6_UoU2;01(%7)y3=!sX#yR@dm{AU_mXRSurge zKpSjur1RcQ0$Tl|%J^`{R3;F!Ir%?C0);)&X-B$6y&(3xCTDJ2%I zc^!=kcwccmMyQaZY414%s4jQ_h&$behSn2U$R;)SN+d9bq^zg+M9&hngiyrLo;TFe6 zt_8=Qppo{!L@y(oPHaCLnk1aiYMnv18g1@8kE0hCbTwaz*X@$7+(NNGHYvc&S-5w@7AONv+nBK# zyQgXL@@z8C5l6!v{H!2@x#fwbcy2LJTHgI&1W({rGWHfo_b&div7yqwk z4U^6=tWsX+-3N9lP)2KQh?<8RJD%)TSCvqDhY2Wf2Iepv``H28yDJD$v$c3xDdG zAq1Oo;FD76Z==_^=WKe3?DXcRSd{zOeBTo;Q5e!PC#y}OGO8y7slM82g@PqG;;UW! zC<1O3sWKr9qE=I|cgJUUM1AOiMp+tyJI!z&h+)R5+zHHW%VF(HYR=+83R6t(&ZoSZ zyS<0oyN0`|a8cSD2ec;J6>h-^avJ>UWu}_ZC%6T0^5SMA&5>s%l_;2E!n9eWGk)q6 z?nw*=2JGK?eO$jKoQ`?7zsd6!)?Yq4KQ|U&-(QHY`^IJ_7&2D{)_)6t7hj?EJuj7Qgy)}uy@+*w&mDh?6 z`Z#!O(!#ioKrSS#!^e?Tt}p=V0ENEjLrb{Y4KETG<}0npZZY2zlzxdV{HS5q-q*U8 zHsq?hj;tLh%l?>;Hd!c4f@2LO)JWP#7CA6~d@QKBe_|G%?rY?3xrM2&G5}Zn8Qz{> zes`@G*Y|y#MrC{9J{vYQU+u8+F@$RAO6-^?X-aYc`1UoRGp}J2s;r#-A`7U_KzPUV zdIcu?bMv8(-O$d_>^0Wm#_B4!;2Kw7{>Ef?weEc~{dgx&@cv-#bWI+cci_`^N zNqMY4uW(+yoZtpnAP}q45;|uMdWhJeSa$9lmcMi+a#h zlbz2@37HH40u36_gDE;mnGR2BuU)1r)Ioi)`drUrpptaKKBYAW%N&sN)OGIx&og2^dcG`i-MJqM5^DFTDTN(^*yu2FKLP+4Q&f{Q z^b@GFM&gS3t_kr5XZFVH&Xu>FJr&W8z=6wMf`4M(5>maWR z<_^{*>T#2bOPMg!#Ir9x`AAhzHKIr^gAux8Y*IE-Para>Q#Ob-6G-=1wXa7l0|4D> zGo26jmyZSxH14hsYNr#sq;OpCv%!FMgs8w937F0qP=ri`$OMYl!x*QO*?0=h%B;%tNy(;Grx*)7l3uxl z#s1>uAS1hKP!8V3TEV$}PT!h&)9)*|k|(QVV)po=&GcM$Qsr`Fbi40WF$n9kuomT$Yb*MNZ+9 zz|kc`e_bR^eCfcBIrEU1!5q2`e**P63=gmQln1aKzu4aSOa1t z7jxqy6dwy^wl6cKOVy<+kn9@c6pBGA$bb^Z5Fb8G5^3uD%OLO`6s^wizS5-?oSo+v z6~Yjn`!S(|b)fviz^++xcK^$x?vT9@AEG`?qht^3&}FY!T-hU zsoGP}ggu0{B{z$JCS2Dcxhn#8rk!itc=^f~Z9>}wV<-KZ2{b`uU=2$v*p=u!5M(pukFU zUx)d@E)h$+un~joytV@BXi1sKTIa*-M@4&h(R+E-vhHQ8Z5R1M%2I_TQ`hfAz@xp9U}!YdZsDJ+~iKzn$ApxerlnkUgYFzPLvb5^97nd5HnF}_jzL490*9iZiYW>t71&%s>3G*9_I*=&aIWCjJ_P*3LNmoW zGnQpHA+3++Hm^Z;tk>U%kTg8Et-;K02j#DVqAz~sLeK$OqvMDssiG~ ziygn74r9ftw!;JT8;2i{+k1QKdkH>KnW#aFW9>niDdjG+|FPlrJwdrNW&%j$sqr%= z{xb|Vu(r@JgSsPO;P6z^G8f2Uf)Vd?Gcq-@5Zxvkfx@E6K+HLjNHtMshfs=WECK))}uzqZRg5fc(lrnFBW!^oX zL}fO5^eKDtS3@B&Wsd%Wb7ckvZ#I*XfK+y#Hp0zQ-NKUA?U3rZPl&Sli9_ts2_0dDNl2%YO8oj&aZo2yxHzOvpQb=InIiuo>~(J;s_Cv zMN}IwJ0#fQn27a!^0@rwwFu2GEX^Ax-2vPs+}eDOyKmykxznj%wfb7;E%_+yut3$y z8<-0@{6yL^Z%)d_NG0zmru+`qbZ`iyEuR z&}@okZM_Rt#cY=TUJ*?TslVcCR<&mEIP*X68T$P$S>7nhsl$>@(iu2DO{MYQsg=_|{X z(>oEOM`J+DeiY1ZA7S;hQ}}**EK6n9;%R!!EPtpL4=hdqRV!D0Wvp<0PK)_s&T5yd z;!t)`pK1=@CaJkTb=tKr5B==&69+@l%AwnZ?;&M|$+D#x!oSA)Ax6SO0ffs;8@TB}H&lk%Vu8&sL-tIwG^P^JlR6a{-!W-<# z{2JEwFf7R_9MSi8Qwg4?bCu+#c*xQHSBEN{$!nm|RIz8#i<+16Rn@(v2Urp~VBA7d z4<`1#eyl1_yco9}yhO6*lGrZ1>gNtw@BM+?nHE-1tE5>b8CmNJql)lG@}SJQeymZ> z3k_Xa8#j-bGd@&qoeKfBCR`Gjj#cuEKS7lYXiDi%W{7ywvQ-Tpbu( zAhkHSqtLhNU}Xl8f|W3eShBq^`27u84;>BqhZPk?VvR!)tY9o2dGLBRueI~S^22f9 zGFY1n?7B*FOM@*roqcsODr=+Ys-=C(++`~iyw-4r{~fGNNnU!e!beMrJAXL|AZP_Y zRd6XPsB7j+=fa+GYG<*!zqGAhQaexTbuj%P+s;M%hJ{RQk3Q+w(+Gev-`4 zdtT;HRZaX8&!2P}#3)U4QF34fkL*(t)^bVZ5aF!*tn+07fqQi5^20OqEuVlV`7uvBmbV1QwT11V!kY>Y~rzKi&$57}kwKucc3xycij))*Dh9 zHu`Vyk6l!W^e3{p8MJ6Wdfuevca66~c8GE42~MtTy7{yqeM|)DxcGkkyo#_MiQtEwf!Y@+4Vpwy>u` zfpK~(iah?8cP5LoMqt;}HabB9gU!UWKstDl?1p!XvHI8q`FqD25l{F!3I#Gv$`8Y$ z=nY0N!BDW>2rfOS!@%M#EAWTXFrX=52CXz=N1*Y2R|x`3>J@AK19p2Q%`vUXngc3> z0#(+IizrV_Gg-^3#eOx}xSd7?DMV6Gb*zU{ta{ndNC)wZFi5DHBu|3N&E(f5+kys% z)npy4xPQ8}9-xk)+kN4Z+2^_Ud6?JUHPTRHg3otlexJs(*O(v5q!QL-T{!XYrg3__ zNHaUq511Xze2#F5Orb^HUtw?71ntVva8`biLWyJXMCS*AHZ0pPFCja*seg)}jGw4t z)HqwI;j_}Be_OmRkt`jR6F1uLMN{Lp*LLnk4?BPc0|Uxl#TTNDZ$=a*LRn~PL6p=R zNBRBn#78)3mP^vkoyWSqB9B|0A#!yE`7;QKFwgXK?j{FY2HTJ(L z`z=1JrRWKEToK&~bzXq@>}un(#rYr{bYIUbBjW@goUUu2AB<-|FkAy3>u~rfF(-Ss z(7#}h1L0J}B0|ulo=Dm;8v&GMP{U3`9#5}LK?~Sq1BONy4&A9fIE+`~P*a|C`|yz4 zUJ%9pr+y?lDc)gmf2@UsPPW|0+f3fR^cwwIB&AmBxVXCZcK%%$UmlZ&f^%x;Mo0=D z-=0lMooOn}P15)Du`~5=2{T!e2a_k%bDLcsV3Zb~Uk+)@uT?P9j!4O6l8}+Wehddg z+268P#tF#Sld`Ex!8Mo?r+vikKTd)}%49IzUf&#A*Et6WdGmv{KI-s}$e}+ydXjCf zluGZ1Pf-%Hg)Cqwb5Ulev$T!d>)>2D4dDe`z=k|PFj5H@)Yx0-86A<0p@P)Ffz~MO zHCE@4OuXmLe~>#|&c{@_cO-ryA?jqcCzN8flPf-Fskqk~)WJ$67&6v0V$8H#I2tSF z2>C3makh29blnCrxUjFrf=5J!x}LGkEU_B0i3FUMt}+i&XpEh>S&+*LmIu`U7=K42 z-9U=LfKSx-K5Y>((~w~5u9G{sUI2T~c!(})>*?V%d(^{%cDV6v@(`V`wzMRrRZqSY zT&myS&M2!4dGsV_!Qvoi+7nJ8unp#-v{XC}sD@9YeJP9g;}^hEJ?nb|w?6n~a#Sc^ zL%Z8Rh!kTHf*URq**=F~DRH=ZDaz%T;2Qn%%{218zwnGj{UkYKApu&<-7X}FM!GbM zSOLV^J=!$>v(p#q{*i+#o60D&eCL`+5-9qLR$FwMMZMR-v~SWBbHu>LmILR0R?&_S z1*VAT%6i_hicf9(c6>ZFmGB)SR9CwTUsxM(Tel!znBW!qjp9lLk>HBXW>tvz$s@^k z&aE3Xg=YV|frYB1z?cWm!VIu#?<5af+MZG&W@gMD7U}*|M2h8^N^g)l_*^5~_T^TS zvFd@ie4lH2l7Z0eF*ge)ZLgAQkIHQykb>Q1Ur;sUhhnE^q_5-6aclTs9Jxd22oYF4 zRZY>bgz;g-v+Yvj`&hNHGAyb)T8D7TcJcb!%+FEY_%5@i%=TvhXkUX!{jWQ>Oj6Wx>gX4avKG@)%wlGq?Z%I)1q_uP0EEOG(G3INy3@~7`E)62IdmGU~D zQUj$2kMGlo{+&AjaK@WshlpkvG}In4*{5@PPh~h7HNLL; zxiofV>vP7k&`|r1y6TIOUc1XjI;Y;vPWheMeUM!DSkIeSBJL|$joQ^=ge0*=?#+VTQ2NM@oCn45vOZd$mJQvyD6T6loE8VDsQ=|!8 zQ)2Qy5^Wn`YZ+D@tqrI-<&UAy_AdgOVwFcIJo(pq2&i-=jmERF8XW3I1e#G>!OA-t zW8>?N?8?EZ9QnbcKb2;j%=>nw-B8XOrIQ1ZCEX1WXo>e4i&Ylxk89XOCk}v}<|(4L zR3vmuKz+QGT(HMDGH)5-d^6RE*0>j6y8knVpLX@Go=e2{9qIWf9Dgf(vQkm)9+9y| zs(F4F_p_a*^)BZwarKcbCo@qrIzFI>N8(QRxt28;L<*R9lvsP{^@`uXpb5Ntvr}KU zNNYl6_6%P7nCDowuMDgpU9iZ0Yi*s-!epTTb~H1u7b*~3&zDjBCsGYt^ZDbtlMb!nHaMRXZdb{Q>eGY+EWk#A}%kv03l2;pmhj#2G_s(KKO0fS2Vn{xr4x2Y935xJ_#wdG;clj1no}f4NH46315%<`=->3mHa=PF z7^Pn5f9~qV^#I8-G2=myhn2Nfq}i!D`>w+c^FR;akH)hZOVdvNcy`{qogJ8mw@K9U zjdCn#5W98c9c1yjzUj#T*5(B~-AAJumw|n}AaQ@8W7Dtn9`O^)j>DnCWYedMK9QaWpLtW-J_jd0WweR5 zkQBbYVSX`e@eLdrnB8cYdJTRqTx|)q7Y4rKJGqdRSWV5M+Z-zyfUpKaZKHVK{=&Og zK0RdV=h#SZ$GGv@i7=Ht@AQSc4|bqd^Ut6TE5_q_M+TlrQTmqbUo%?uN75$R1yOsI zGSvbBa~!gMPrtFc7KRA%-X?=Ainn@FMJ40w5x<=@(p^`}VqJ{-f)GEk4(oyOyt|(< z=sK9mB(OdOdTGfs(6?k`E1>el_r!p6C3f<-xZEBD~>ds2su;WaV2sk~J`2L14 z2_~Pd**auPhP@ZTsp?<%wLZ~P-T}@390MS;dp#sC2~yvigIu1IY^bXaTm;FSdW%+e zE~)g*h&H=^>`9?^)-)ppy1bbb}Z1U+LgT)NPNQ&tcZD-s&p zG{0gJWV4}gxoO8K*oAQ)VOFqMVQWlN)}yaF75O6%=m0b)44ta{QJk_~4Df6s(= zv`1!_{=J}#@$aB-@|*4G_!(X8XHtz9kK_b{ku_aalB*5TA%I5bsi=Yft9S`VAODksec9F6- z7YsJn9efyWn(x#Ej@f`Nhy`JM_EV$YA z`u$cg!F53InEijP=mFc-HNA)c0Jz-$&V{}F7c2Vz!C3as6+otTjy6AP#Q#s@+M|AM zi`9YhbzR1e<<7%Y%ly}Mj?WQi@#i*Stuj?2@Yi49zeI2)w4KCh#}leoDc=x$26-g} z;KVR>u+4s5!{O^QbD!L3_c{@9g@t+9L+}V}if0tsuqg8GBbO%<@zTONXiMNH4uFJ+ z8W|MB$QM=HoR5Jjqhzx49tL)KT!FsrP)M4E@8-<`{Q|0evkAo{5jx{9XDEwbhlBzg zinf7nRzR)^2^41>0V=T)_|{9?B*@m)ZSEEiB~pY!Yq{qhlF=6=M$(RDs)yPP4tCK( z)s8h70@bXKoeF>=PN4wZoBu^SF2Ad|_?qz_s4Hy&N3}BvFrLf^}z@UmIFD_#2GSz+% zs%xsKJO^?P(RSrqgM0_9q=FTBcKa*xB}CPkP|K=~5Hg5^6iD~HL|H0Z2Q&gk)5YqjjoP%&el3gBPajn`hD5X z>Plwjb+6dFh!yx)rrwm`uZpgmy?w}-xyuQesnXwsgP0Ec)G#Z%?tL-mJ0BphO*J9> z#4b-uc=WtmU61^7zqn|B?%914*BV*(#~xm_gAEFT;zGkF)ZR}vfM`=rsy{>TvW{DJ{da^GbA_OY&iK>; zIdVHb2fgqTZw;F3LmXEMUVSQ1!-@{Kh&hp{xl7`tl!F z{bK3^B)7nNM)F!`!v;AphIE}0_Bg-yl%IViX%_cPXe~vuog_p?ri&qI)$7Pw(?_T6 z-QDI8Cq`@4yI2poO0X_%wb;=yNc9J%+v}I7 z_zAsUb^F2yZ*!W~Ku|V+Z^wPzG`d6|vElq~NbL(@w0%)=pp;h_es+r_;?M(+fVTeERBU|ZwD_#(kLd5}$q5LAc zF+U2C!3#R_W4U7jeoWb9W^T@8uSu=x!l~6{?d=A!fR39z%%0QyF$6V7HUiyFNdk1p z;R@CL7HTS5gd#^Z=pqA%Ow?8TEG2<{E6y8h%@2q*kNk}eW}?1HVp2wkLg#XV7$u^C z^{r?Qmf;`Cw#d=^)O7K|bkM*Y9DcoEZHtgG`T!^8t3A1Q_5-xshv+eW>ZZqsMfr%tzq zOjh`#x2d3a@^J$mQWkht!y1-zo(0fE5@u9FD-Euw-Fsbl63ehBt#&VE(f(4U6`x5P zC${P=@@zFQ@#Kqj;Se)Qk^rxPKp##ytZMza(Ar+>8#}ZQswp+pg256J{SdCNAcQEd zZhekVdgPPYP{nB_fJEFBaK$Wew|l;3yJQ??#E?LllQY(NrM6bEqV zW4J=v#co4LiMGk}!wEl~QW8GTc5fGw>tS&A^Q?mXD4QoMiwpa?D(8y6Mplka?q_Fx z;#uOA9nisq5$;W2%}@MnheTVnX7W%4-xng;hDRW;gUA^X&WTLPo_-;F5tV?X3G&h0 zb?J;og79-6)wcWH1h8^LM6DY(c54A7>otuhybU_NTk9z$J=ESXA~c7G<4Oe&*JC^S zCY<)7eN__8IE;Iy6^7<+h)ag@ci+E|R@^sE4JHTx0KV@8iT?uR{)x2G{NDjNYdbSN zS0^JoV-r0yYdb>&YbEDzIrKL;=Mu9a+5cBE!y8JdqB)TXex3OnS1XPcu`o5?9c~Kzs z(ZB@k8@JSKAyH?yeK>t?jkwapUyZZEbDmKIry?WlOo z^iyP(OF?ZnMvtk6GC!-w?pRnqO0|< zB{4H`*88WI<6opCr5W3K1_ZAuwMu{mPAqE@-8`{)c@Y(oQu(#O)WlNymGxGabA3Cy z(DKA*h^{z#f$(fL@Tz&9LGHbk^v0_4Rjz;|0^Uk*Tj-$K6)1J}T8m$zQL|zV_tqIC zEhqVPjGUBK`r*zYOeN5jmb8#_AOHl-A@)Mx3c0?^2v{|hoKQa&>ov72QJb18?F?{x z6fJm?QSto9OU9Ynk=a;K5=XAV*?H+eyy6>x>b?=3O)MI$BIsJ!1=!wPz3%)Q2oCiO zPS7`dljIY(;wqOVJS?TWKqq1=hf30gTTPBinjPco9SaEi2pe)oj{P*wLGVtNn1I+f zlb((-4KNxiuM&l&Ow8a*R}M{@lN zkA6dOmlX5c2$EB{qr2)BJYN>K&ciu?R;6Ay85ib@nuic@jUeIFbv~l0&Z1x$n4`4ovF7~194`7J#_l7n6*|wsjFv{WM$+oNdF-UI2dTmZ3(wWj ztEJE=o!O-6uJ z<#2AscgC;nMQz=Nki1~~dN)bQM3&X-gKOFPUW6CJ*wwWX$@*sKkF$mmWMLDg;954N zcslk4OQ0@_=1PEUUUa#bnzH(Y>R!asiFUpj*Cp zaL_s(f0sIO2oO<>_#40orq1+uvIQn9mr5iPFx$`w=E1fQjrb2}8UTEK+|kR&*uN2P zD{wj1(n0X0Bw@q0+H(~Wniwh|6enkj=((uX3xtDM6IT`3*~g+;=L=w$Ujfa9J(cc* zVcgo#W|F3IDTqYG1a~6zo2RL$pcnR?dR%>#nZX*5RCAWD8^92L+uCt-uG#`c?mXy< zAKbBSH$uQS^RHKZYxo!Y2t&E$5c<{Zj*Mk%K6-xn1#tyxR_d+h#ogJrdC z^BODM%A0nLr*lCS-Vh?ds##Unp`^Xu^X&*4#l_Mg^%kPAJs4xtrBUPY(kyEenzcIF zGiF??v-B0+@#eYU<@&{n2S#jts$$FMpt^3q*ccslSI}A4LaplxE%Gd%bAD%88J9_? zd(l<6Ym>-ew|(sN2|fWKLHig6mmhwV%TfHm6c~;91cJ60=Q2KF{R$#GfZAnu2@QFE zKQweNt6NkJ{7qqk*%b`@^~$c!G&{p(n_LDyr|n=<)4LjoW4Q83Yj2#ybm& z0u_mGmI^0>EFzpTAehC)73=a;`Ax~lgWztF$AGiQO3qJ0Xq6`*l-DX3$Sy&ka`3hj znGd}TsFZr9T@6{R8Gi1HaNU zInr_pcPP}B2}~u-xn8brj;`JJ>E%fz zqNgHJ>-i`AMJM?JtMt#l8|p_`MjXAMW1I!h1Xhx_ynE?BCFKLdnBL=k?kX|MS~8^) zidGwvhQd?J(Fj|pSI;cY67a{;pE*eEP49*vHF!~;t$Y(#r?P!s(OMEV@~;o!aW<0i zIChhYy4Cq)tulYM9Q2HL_bg`N9wk?)odszSg7A1rptw+W14ET@t z9}-|y#4Oh^3WQ_OpQ?kJN%|=Tg?s${Lvtb(`!t0G+=A%j6XB-RVj&eY)~%WzQ=hm( z@|?wcO+cjbwM;RN2(b|0p$im0NziJw6EJ(#{HX{)P~vFWe6amo_=b#@Ch_zA?_-?`0bd(EG`C#O43}rH4*nXw9&IjvxQB+9^ebo>2Ji zm~sBb{ZrEWyQ=PgsbK%ASKm%M4lWjsCdS`J!bVo#&YOR+`Lk6gY}eTkx~`O@0|2No ztu7jC_woed@+hYl?PnkLF&=3+H5rS=g9}wRv7qng!6{yYJQ55kB;WQ}<>%4YcI^-M z#@V;V-}jAy$giu39Io;!l1lRg9Ac$z<+-#13u>wyN$lp1b|ag?rV-~yJxx+NHA=&9 z!xuT31ZsK{$q>c+4!D#T{h0i<_bB2r1+eMM+kVrTH&R$aQ7{s?L+dyjn~T7~#0Tm3 zvM*zrD=PtLE0|~B=)($xPS%n$^;YE*vIj_-@2us132T?Ka>7HKDL~!(19}>6iTYa4;S*G62f?oy z*6Ji$QQPj+m;exwr-mV+f78F3fMOewV6^+SLz}*E@5PiKdQ6K}Ei7<-Qzv(NMR^wc zEyW0A&Gv_vO+WB>Pe5{}w$>?#U+bSRuG_nyVx;!?(7Qb3^{s&@iY=NO1+P62U;7$3 zl&(PakPq?pAV2hrC-?#HAEmbFSI;&MaDa|t+}DF`a3*SzpuffdUWOB{zrl57rPCw| z(p5=28o2aI!|$08aF&@A^nzn+SLB!lGqkITtSn;>SaU*{#gxYG6te329B(WHFAxk%M{qJ{CEr&UA@p%I`UQNdumPXe=EYKao%6q10gnU-x$ zAQfAIsXXC}7i>?XXG$~vwd>v{(Jr&H9Spc+a>#U-8SA)TNXd`#n&9S(+Yp_sFW2)| z*v{%sNC13lAasz!@#ps75II=@RrI`UGz z4gLrsu0MMpZuXAp_!&ii7GLJLk!YH@m2GFl3d$R|tvfmt`z~avavn9ktmg@~G^fOv zEt1CmMjks&No;fEE1xh)RAP!y?`Di;uj#aW?m4^*5NRPnIjVb~+vHj{#{Ob^Rooe1 z_VUwOGv&DJBWH#7r=U${A}_810ehUME2e$~a>S`UF-FU$>RC=t&O-7GgIgmRuQgyV z*!*-p6vAL?S5xU5J{hqtCf${?dSpzV^tg&>D=4%Z-CQdsKw z-WKeoie)t5CZAluUZ%OnI~1dmZ9!xjEz+5=W4iN7mbK`?5hVi??Y>#I{%##??*X6n z7{20p#9)1Y4#i{zX3_O-?*O-Tp1_;!7PYAS0K4pd)}!-0T|B1p%pPov^t9<4ztriW zcyi>~0U2uO*G5E!2(ikZ#Fw`ypL2?#-YzF^=F)&-hF=_PgKw((XtpZG!rnLITyd}9 zAYcjtqA&g+8Zsi*ZReM-$C0+%**1+)IQ#xy9i5Zg3&b{;w^fHEq&WI^WbMc~UKPNB zL(349te}?JydIhgMu`utQyFh2^O5HcauOMD2VD(Oi5D~?9M$*CT^hoj>ziBqC%Nxl zbrmO&_vUIzlHiUSi&D$bYEcSzRfvIdXe&loMAaC5lR4G-A3Fx^wzs8z|8^3UW;YWL z{N8>w{zlmc(*JvP|6gVz21d>nu75e{IU5-MH#g-2%?-!3HpH$crApp(;_`y&qhfYP zmsOVEQ-!?zIm;Gwvr#ZeQjkVa+kihtu+*5n!}ttx3w8VoDUg&uGse^Lbc_Y{-G2A@ zyafgimdmg9UHM_EXDT}ceHWpq_dmzG!tN1b;tji$%#UI$A++{DG>wK6G+n*MwDv~& zYBxhi*!(PdOe0S7HjI58GnEu^dIy$9DPc{6&8Dr}TP1PLmdH(fBIP$d>gOuGaNJq4wWjSW(dV<}46-Tba zxR?kh6s=?{C(S_@`6;zf&!o16VuA@usvwu$bZyG=ccK8EoueEY$ttMxYIacf``3Fn zmQ9&S)$8EMq#m&!kx%m>Vpvsi? zjk*Eh84S~{Mw*?88mN0bp!&SE^XAR)TwLm98-FE?*`3$VeVXwGfXvHPEKrx|){Jvtm?sf5@h%dYFf_iw>ZQqU$YBe;rNs8@6qt z-Im=sT_3?mYLn7{8=Vw@sTIVlG3&CvR=-z%W862Hht(N0I(w$) zgRB>afB2Z%yHzb%lER!rucywUq$vh@VevG{`@m4Stk&ejV!Df80W%{%-24F0&Ic@` z@yARjDOKtV}lx|vVzaG+@FNqzKn zw?ni2Dvz>e>nk2>H5oB)0V`J_u4|?L)uxJPik6k{p)#7vq@)yQl7pY0+^1_PbMkaa z15m^qVKAv!d-KBrGdzpxvmIuquB|uC53%z%baV)glK4@H?ED5I?*x2=10lN7u)1x` zIiLJY&}pdw;2-F02E9^};NpFlHY2;r$ilpyFW3%MpK!|c4fSFj*Qx1ZDYp&Ioc?YU z)2GMAw)chfW_Bz|X};_{ZT=D|o}vWU0vIZSK=amV9eR{ZCYhQ0 z>Vk)>FLFUvZqe7z8JZX!BAvZ`*g3`F;Pk#Vx9+0tSzIoDaQM--dS(1Lf8Vb=J%VJf zjD4z3bVmn3Y6F;H5YjL1Z2fXoh|E(0@EM<1hb8wTGr_2sYfqr{rPrupZ=@U)Xy;1HlPUy;9a2Vib zlQ-n!IFRAf;Q5or+LxwUC=D(!k~-W0U4Xl1eY>ZiuPfC|o?V?xT$+H=rsie&j6jwB zhcBA#A&PD41)YBX4mT(MH>c;}RLGOV+y(5uBqY7IKvG2G!PVljVFSK$6R@1eXZhDv zXZ!{Cv_iKX@6EOq7j&_-bh(JY6T2^j9wO6^+2_tMK>8q#h%BnwLEHT3DFFF>@ zd1MACrkicYYoxOMDo{~LrJr_6LZ=OQf$CLp-<4=f@lC3L@P?#^b+~j$%E_3nv0gLp zH;oua1yj}JZ>9dD1Am(iMRu{f833}aB7b>PD{=z zf!P}CuTmJ}Zpf?8d06!PNLbBn(VGI8 zJ6>}{aFAA}RN7AjGY~9Zo~3l6B_u_(msv$Cl~`TY%BHeRI#csG(fTdO8=Q;sr+a89!h8KTbRjI~z}hkr2C_3K~4a~!_yC%@^9%ke?9vv2Iu>%dZ2M-yVrvFl~a<23|FgdY=ZIu&hbzbxi-NnVn;7dHxb$% zEF?vosS}|rF{-;Y^aKBw+%maEXp*(Yuew&7R|73zKtm_f;q;e@*!?*4qFFQ_!112d zLMox*Mk@XN?x;!Gmegl}^>qu?lr$ZPMn-C3=ypvG39{q^!#dLdv+th8PIwh8#k?lI z=+To#vX|y@KGpmPTf36e_OJ=f5_`I3f9O}&9TV?|sN3MTqe`<%)!`s0`f~{Chlhpz z_i4dtBw{j(#`9zI7mM~tP4f85ElPQU*ZKQ8bHv0metSh(sz)^CEvrxDP%Y`A;->ig zgSh94$4)Rde8HmP9BT2EZgEP@jir^EWLL`Bj>tsoehM?An`J?Dw$;1VAgiewjrX4v z^PeGE^V&;>cXcV;5jv#w&(VW*HC5D{Q!ne&`rw54cX`glPDy7myUF@&YHi0>^T2oW zq?XREjsaKMx*?nuLBSmfWe1W03t=c%94fQBp4?SdL>Awf6Q>U|$;s5?{ZBlN-c=>tkrV|Trb)UyVnV0i{Tp0 zJfE8@`uD!*qZu}mjRInO2xT&3L~}V5JIJiGiGHWRfpH>(aSLufWY|B;J=f6~sH#cw zgsi9m^4#I<(!-^+A2Ei9nBK#-E?S$Nxw<-iM_fwi_$96D*HUz`VzQ7 zuGK%`u7yfl@5{jMLV(CY6hfO>;Vf#Dn6=y)C`c42bC^&u>B-B_dcwWuyp1gIMlyw! zuxS~eCp)Qr;~7!bM5VBq1t`n~vukwSvBYN4j>V(N)GtoV8lw>vgnlfMl{Y<%SySPW z9KA5-fm?N-&Cs%sg}>prnglqyFqaWf6@(f8>4W1>nD5W^)%iPP>_E+7|Ii4n{*V9} zR(6?M`C9$O1Squ&Zs!r{vr>KN0LhR>vi+fBfgN-AR1s4PUwhZyWYs2IDXjFg;8PX^ z4+pI%8z~qZ^xK6+TkTfya1@+_X35z4=kNwPGZ8fhKiAXX#5G1S!_NY*18kHu&2ca^ zfrpPeni2-frZ7MOlMLkH25+43H^2=SH)?YT`X5U|?4Jrw@_0NVEom>)O;t(g4vNbQZ%o8FLvZc1c|IwRj0W>8NwEME2i-r#!|pnRW^ zU~>^(2#(~)uFpWKsUazrw5cV)l?2D2m$VssQljQwR&>5+m!NdCr-}t4y!Pv&t)Ce% z)3{dsEwHX3j|P5D<}LuoO9e)=pRPzf(foDu^`ym;N-T$8$r_IiKVCnpG~lcjChEA0 zNmHdxdpkZlPPW-0-3M4ddWJ;yE*lg_(4q4c+mLbvdZP(P`tD@>uHA8E73ZjK_d^p$X&G1P?hgyK zZe6UovR5EBI<)+5k`~r_4`u&M^Sy*F-V)Xu5HuSt*P~Cb2#i{{1zlA5Y^Vh)MihrPE4Yo=PJv5p<~ad{9K~E`wVdK$IOrDo8@A&H!DRh zB1b+wk}2+%+Fs;kPzW{Ei@}2JR33Ps^E?$RtzJEED+xNf*nNM3*AW9aUHa(nCoZ)l zv{XNqK=8og;XAl?yZ?x9j=(yX@4f=0hZ^Uor)ZjgZs~Nkf&T)~XcmoOpV)4X_ZqC< zTN-L<9yLAGXU998)1^&9pwVZ`6hQI%ZokD7`2?c-iRG9@Hk2_bC^63cT<${`V%w)p zi`atrbQpdbTlJxMtR=g4FIr9IRrhru8LoM|az<#pO%UTDtOG&?0^hi-jTPLSzwJci z-)x`UoS&Ps>NDAIeMkvbXQMU;y1>9+8Uj9HF{jR|>%5ex-MR|%vY%GLdwSk43!^t2 zL4IBb#qusb$#b(v_`R-eXu9 z`v1i4=>B^7-9$91O2w{y54_*hqyqs8q3A&ynsr*tma@`!K7l zX&$@LlPI*B8rNiIPDvbex4iE1q&GOGu9?k&WP)aL6!FJkMP^+t|<;G#WAKNTy zTdK6hw1m4Dx|WhDS@zm+REpu)hViK;itZkm+?ku~adkK>eob<@HL+kj)T_%|VHCMH z8#Nebp-RO;R{8{nevgfaf1_}jIn`i7mQFa4P_31(Mv|JZuDuTs@U+$s_;H7*kVx+w z=gxz@Ajm)|nHN%v>Qo4sstqXya&prrWCkwf_l<5ytluET#Q8T>S3x~TOuLgbco{BQ z%muzkL|Y6?)eLOzzh8P*P_LX}y%L-6AuTs!z~Uul4hEscVhcs(=!0?XS64UE9^;#1 zE$E}>iw+Il^(2CKxAZ=jvOBThLFr z28-Etl0wkpa{V-Kl3P4~CFH922spPup`5L%V6=hsUUh$hb&`e8Q>jNEK^i#eMGj6E zVv`;027Nl@8skI!Ia=q(Fh(>$^CrjOs?|`-_+%byHu-4u*e|aKW3G8UM(d2$CJ0uY ziExM|Xx|=AiRidC?3AW}uF89Gn#runrKrswe8Z&Cm-=JSp`c2Szhfb4v`v;QwtU66 zwNUo0&*hOQiBce?(B3TUWN-732}~{_T-9Atv8pPnlY55iTRY-32z3WubeET}H#`j+ zg^S)J-6*M;%^pQK&2o%1aMg^D%E)%Ru(YT=SV2+`nlkM>yw6qN+chJco~;o)_o|0> z6}NUrP2-whZ9ZOE*6{nnEK+) z9iz-id`==m`_GiEEUeq23)+w;C)@(e>P|JsaaA$<=eWz^<$mrj=Eo&H;nJ|jY)JO@ z(kL6ZU3wF1-A2#^9A2`!eLP=M%ZV2>$lJxY9!uujt+{bHpT2o+#R)*JN>%DG`Kjf1 z?7zrvZ$ED0*uK%H^S@!}|6GR*{{tp8VKSlr%R@?4N$4-Go5i;Wg|&&1v!k6Yos+$Z z(O)2x+IOJk2%`6qnlgxy8HRm^Y(R(j4p9inpLS|-XoW{Z0}Mx}wqc8k63Ox~0HZQEYZ#vuId|5Fa^${kXf4n=`b7NoD4&>rya@>0-lVkVYPo--f z9PvrAHm4S`Ku%9H0i^q>?4xat$M00*=)}`#m8*+x=LZ9iOBA@BrX=oQM&(5TxKCf0 zc&ZT*bRkCvW0(0=99)gXY!h6X#B~kBo|>qXhI)SRc@YqFypeR;;-@D`Pimuz!*!eP{#q>6R5Om!o$MgP(*^xh8K7y4HQDa4bdRjnL({*rqD+0FinjBvOI8Wg*(0HtdU?cW)4VHD)Hj}Fw1p942 z`Eg{DA4`6mH*QGpH~;}Ku(*bguiEAeDl&@tK_2&-$^7z?U!{LylZ(|hyN1BKTTR^D zrL3(%%+bB&rnqG9aMfk*S^z6JGQfs2B%k*|)*D_i<_g45WncP5sZsM}q2&Bb!hM9V zYJMk(AT{OUQpUoanF{3oi)Hz z?y?tbrX(_ySkY6ks23i^hJdk(vAg!Q%(J((r==&ml&2+j^wc;crgNxOFf(+`yAUt1aGMX}yogEv)O6f?ob9ouZP|SB@k|=FM}qZT(_3gd2VMXwaoqeT_|} z+wE7|gr7+r^ZUl%Oc<)6uJYr-rL1vlLL!#~VnK92Wb zyQRAGm7d+>7LV+t?sgaUdQ&`JdAMC+&nJ?M(1NL|^x9Bl-G3Luv}`)XBDGUtvQ? zi%~^n!QorFTDe6N&Rhtr{V+uN|YZII^mWmpr*AEVzo~gf#}iLv7+yA5~sLTQK$8Fkt=o-5+FqR}{Gb ze5Dt4mMZWD@4?BJ6jY-g`l^0jSX=-jFwQ8i(KN5`0^$@(8FwGPaO3GMPZ#mCUUZCL zZ$T7?U5U!&z;R@<+e)y6SLN3R%Mc5q5I<9Ta6FSEeN%?>x&U#nN7L8OF@&a2orUp9 zynv%2L{sXf5#<3@7nG=R8=?>V2J`CXF?%zQ$uJCZ*=MaiS7idGcm1*mZP09P>?W_; zP*GdfD?$nhstMW4y$y6HHt)T)t{x~S4dlMxaIWa)0d1Yf+;r2i^qqem9%$bvI#bf) zsaYZu(d&3$lB6>MW!pcahfd{uFNVseP&;+6jBK=`+X*1Q{k!0+1tU*cByCHwD_8W# zIO%Gya-r9pRlqr;DRy!pvep*`+G#z_WQW$RK3j^!P%8Q=PJqJKlaq-jC=ADqxh^CK z`Yz~9Jwo+3Wke0&M2t%xpX!Qyk=5uehVzo*EB*6&ANl{si470CM5}duym< z9rm}#gTLpI+POIYM--{kf1qXm@y36=rn7XSvoWyO8Snf~PeKXV@q9Tvbgq41sw7gx zQ8q97GevNz0|B zPd1B0{UPpA_E}>pP`!QOKBjHZFt_hTy>!pqhq1oyGhNu?G@M0|@Ghnhny}9fvu>?fj*%p47Fv-{v z_FNYl7^Vz7sQ<%Fo-&)j1ZE=MMJG?|ZP6$-7#~D^>~@@4y`~_Mj0=|O6c)So;I+z7 z1(@lvdW>G16X~<^4*u6418sXp;rRV^-T$8#MEZZbp#KcL{@2v+-~Nbbg2J;*YDuDcP(h>q`8}yO+z2_V(0IB>I!O zVYJp`e90STPiYaoq>~G&l$5GBL2(6|#W9Olli%v$U8PsS$G+%Qs_hGw=wlY`(ssVf zNv_FlR0Gi{FUFJc?26;$a&j7c)WUkDU$20AgmSEGh?E5E@jL_s_2_NnE5zIC)C7Dp zjy8Vj3VyB3w;VuR@vvv2b?AVgdaCg}(f%(zAqT*mV3M>oe$)~GBU1XJmJn^si(SgZ z(_$WQS?y2Yusr5wdVt`Xql)VwuRwazLCJ`w} z7-E4rmwK|Gk5&cDKnmeJV4~dOE7sK#Kmmh0r$>=-0Ez!FF~FBCApGgFEU3@O48Fu# zAjqy0IlAp7@!*s0jm>fCxjR(MLbl&y7t>P8?>K3yKhW@X z_49=6@XvFjQ?f*xzJ6QW-aTPytPiG^9CP=|CqR0W}~nri3z*?!&Ydb@Y#ZeKcx7t>zFCtC&|$f z)&RB$u^|mvIO*P>xRl0VzB@#RhR}p9rhizyzIdm%^2ndIzdh8p_`LdtL6Sjidp7oo zn6#nPUgKVCpA392dM$tedf2xwYY1V4hDD;V=@=gURQ0=QSi{7kxB?I?_h~bl#cpIr zV3IvLL~to{Fw3-oo>I)#En1@~IJH>d>=ghvdRSl=t>*2Fv&bPL9XUCuY?p-s8Va<- z3YV{Ks?BHWgL)G<0V8+@725y`9PbSxO##i^cscw96R81DEPcC!fFdGv6h5mr$~u}Z z<>MZgd@KgFWTD{EzSsjC8@szgYl#>sd8WwJ3d#iSBe7G+O-Z`FlkLQBdYRgfbCK2b zWB9QKfu$U^djO%Z{S@3=x%T4Rz-JqCZdejWJJ_Y8pXVW{?P$1K&@z7PE4;_VV)dmw z6hq{Z;?s`tYeZyhW8Y7@S`{0&wCTBmV3+lfp5#QR{xnIjVopyG&G-Woh&x9cC@_#v zScx|UT&yY$3K>zgvcaCLpW8;2ZkZB!*qE{i*H&j+rdg1}W?RH$%Pp#`gsIe_gxUN$ z&dnYeg>AH7B&egZRW{hSD=mcJk>Gxj7i8vWybcaW*r5&-if^Fj*$MJ_u7TR}5wX?J z0+ZQx_nJ6SMe#f^0lvD;DjlLTt@;G!UlDYahnlliF*bIw81K1pYcbf$=1e)s-T(y6 z!HP#eN@`f274<~wLpHYxUgA%M-C!$rI#EY#HAukc8UITXGZr2vc1(gKn9Y7VJ_@l< zmc9+@Yob+fscZl)`j;fXk*S+PW)STLZN>v4{_y&$eg^6I_A5BVP6r{xVe8I_m-HOx zp87~kIEMf$+>DZ?EB4^rLkM{b8cnBucLj4pC4-<(k4uDRJ*{ineME2P@Hvn;X06jh zgW|rZBF4M*&%t?ThPhaxUsNe0fL~>m?=sl26P~_Fjlu#Sc*9ZBb3x~)vw;C*pKrJO zix1oQ6r@asBe<676%bd2BoitsT)p6fz!8;FgNR-U+Ungv@7D6>bc5Wcu6*MS5vDnA zTmJNIzz%$&<+zo^`eO$bx|h-!^5osu^eAMwFmA&{cWRyc8pWR&dGPg^AMU^*P|e!d z%C2f+vX9`PxXZLIXuM0DyTBSwTutCjK0?3>)hJNFG)(V5jyeqBnPE|!^Bga&C8m>* zxE={WG9zq=@YQcO83IwjmVWEsRA{c;Y#)M|)+>M=fWjD>Vpu0hUnrN!3uOBElwWck zeVMd=r8Myil$BiG2PkZkh!MQu%9Ee82+c5j3mh!;iJcJDd>U}C1+MlHclEPcEKm9F}EofDO=&c^?X>J6{>e!%^=+v1=v;bG? zys*YBtE@s&r;Tmv);la$4PYu2EoDOqm%Vg%%6Q5hdyPU~TSr0df5)@QqKgY_?2Z4a zP~uhw)xoNk- z)GbN5Okt^u*j-&9kS&7G!yHWGlNH^#tK`+S$@!S?`3QtV*WwUzq(pxV7OXLS@1yuT z>RN|RH!@ngr_5b*?NEP4TCHtl()51ep$~su5JOSlk z6I~PjMzm~0@=bIaJ4MUru zW0U9OJX0MP^o`k-k=Cv9*+Po^buYp$^LzVm6Kt70o0UV6BOQ#iC}oDN8e6h_^r`UW z1(x5Rvn!u5XTzE>^j@pP$@E0TgL09vWSsn_(3N?0XqrSe$m1?}e*l|eIsbC7Yk{_| z%4df$CR(PP8v-i30P->`v+-+!_%M=U1|E-EABTPL=Zp4ZLk7mNvh!b8UfmzzSOy6c zjuK@70CNV^o+hQGS%=U``Xv%1_8hNt;+_+O`u8bWONbfAc z=ep!BV?;g;hmI4rn=H{B#AA)-pwFIUsxro8}@}A6`qg!HKNORSrB7!Q<(BH^_QR zyV3@HP&FMAA;2g`S{UYBD@~9S1PIk#t~4!}rY#2?M;*kptpyG@x<|k5kc~|PI@hr_ zo=dx%Km5?om^wE3bQ0Rt!;ryno&PRJ;p*8CF16aGYtP8Yh1?yZ>jql_P=3yMA`MP@~k79z|>SUq2` zGjxxH^90y!5p-yJ^+q9)`~N{eiyjV>LL9{?$5>>n#22w=2Ljjz4LTExE2d;2`V#;> zPRu}Eo1+1XEEdBRh|+ODI=i6Sp;RX-(k?ZhzRN0sinTXWS?_7koE|qMRmf<+1H&5< zNtHgO&>iogL?nITSf`S;{7bmLpUzkj#cPG49-|RZ2zwki&z!1ZmNL$gA%t`mrOlbR z1vq$~0&rpC)fLQhx&8R@ajj&p&UTKGpbCF*QHllof;jDyCg9fe;}}g5eZU-F#KwU& zA#fWBdNGMbeoHACpW>!C`n>%m+R4ls2mV)!fk~j!a!(hi{&Yvj$$8p2n`rYylv<c`z zkZ2p53^lQq@l~;E0?CD?w5s$I4jCr3)Ech>i1Y?SauP*KLmRKN;MT6`uwt45J_-x; zEC)Q`P!zmLzkdAMM~x}Jt?ny7t*vXV7V$ZuEs>H$T4%xmvL=l2kYj`qPUzRu8BBZG zW&ftwzVC`f2JFLHRceHRZ(mn=jl&RB%W@qdvB{{iNWr(Ws~5AjLXjwlZ0$_u6m%a3 zkl*)(Rn36IeY1SMbwVG1sHJVqVS5y$qQlhpaup}oOe#SJd*jGd$a#6*kbsKp5pKCW z5T3BYo8IG@0OfBozz)HRtln3b1g)CFJ&n`^fyo?}l5o&tp-d#OND&ih$+o+^s+qTV0Dz+-NZKrm|m~;OB8e`41uD#Fp!93^({jh&m>)-pl zcYE5?Hn7e${PxpOgY_)f($_lJ1HG0t{%U<9rS-1OfDOyGjRLprG99 zO*$MXS~R^G$qBM4v)=`#n3KVIx3+htuK+`UFha!F3dpOEz#Y`~eoy}jVLWj6)fgiC@rCwodw^V_(MX>upeL@gk$!yS`pk}$R zgC4dBIUx#%0uM^p*Zp=SibwEjD;)B$&ExP}m5}8wR(D)#fCbD`AH8T8iuthN+BIh=0cK#6 z3+*83R1KqWcc1H#$_2(Oznopu*I3k1veX{rbmiTz;7fpi zY*^CXK&nAEYugVDpRZqB+6M>Mup7{x!ztotDf!)d{PNM(Nj0CYc7UAR7lM&-yWMpYtR+fb|VX=Wq1Ok?Q{R1cA z=4uT=oO-u;U3x!S`+k$HAD{CeYd2GTlgUAuK@+{%eI=8P_-RB}IDB}zPx8!@QzN3L z{HpET^G$5GafV|eC1H-KhzYwwdrdkn$_&?&e$cv8y>OWYLkHH3S@|d!6$l4! z6a_@FAx}Ks284?WC|{a%2|M)!Xc|G&RVdep&AH5k8|-G*NX)!U7?}*6QjsdJIWvRF6{iD#I+~izqO9Y(J90~iiS*W#40|^ma3EYyB6Yx_J zRP!N#&x=__s6OWw(A%p?wya6EeVKfChuVE$3H38~D4W&jDBFT2-8(qh^Bz*BPvs7H zm=#!wZULNePLSvo9$ile_I)jZ8GJmILkXRWl%Q^ySl>BZ`@mN60Bp}xm|ATM5p#vg zXP>XhdS|$9@vG{BX|9$g8!AYQx*H*n4)~Q_ zzEKUuaQ$s{`X`yGsd$~zAXVAtmJt@CPP8g|q2%S2rlE-d*1on*`?xiHy1u4Qn)Gf; zHF@1SQ&CkVl~;Me*0rze*XS<}#RFX9R!oTsa~K7ceGAt0G5-AP`F`u8_I5JcW%GG! za#Xjuli;DIvr8LqpJ7-Gf8gpS-ycIuM|z2hQ3uvlOt+kjeifU|O;;H_GJ?_#EEAs> zt(y={3f;5Fo1!O)#bFRxcu7ygHloLW4XebkI0uQkzlZ$Z%Ho3)UiT;AQ9@HSwPWJm zKS>i3+7@!wr!XV_v_1S^()9O&|MXP;FQn;T1^+M9l>I-UCTZz^hnlQ!|B9Nl@lpd9 zs1%1`Kl(+-2hoM>C!(#MKD=_L{)L*V`3;N%r9fJ?Y#ouX=t8J{Bz%6o*7jU)IfMU+ zn(PSvf|@A)9cmK(7ivN`Ta)}RsHvX>PL=u}sOk0}sEJE(MS)I4(fWx^t?@{sUwu;^el#qXsHWnC>d3W-;op2i*8YG{Om zKTuO!kB5IPk%NkRwrsVSQpgrOJB{49gzqcWX6#Oo$!7{2d37(YA4>#8@*YPRC@LFJ z!Ih)OPr^(1LMz@~3$i2+yHxD!G9=Xvb!U58mVn`cCp>)CVA@kzBmrqY&1AoNRMtNB zqpb5qnGyTv+9OCd#Q^D9UbL#aQIaK7CekRD7%TvHu@)dGoK#YSHyc8RHVqmXRja|v zoT`t{MTKdB24iALQw7tkON^_+(X|(kmQ$f~5=K8D2+6nXJ8Z49T_qY^j7Zslp zbeKqHD8W6+ou(kyyb-IkuMkEfjWq z^PnXLELTCTbsVs2CtIbSm=PaqSY0UCF zW>Z&;Cdps3>-idZ4nAA%+E_9T!C2bwK!lm>V0|>~JZVuDTxPh`%Zy0mr9TNhr6z0( z+}l^Kz|;bZFwWduLX*+Nh7nq&6s(#D;S+QTTQSmffG9y-t24QHZAn7WDl9% zDTvB-({QhHMupn0e|cZV)FxAu_CPQZH?UxJwBP0CO8)NVsdM4If{^<5UEMK8^MI<~ zi&D}_BT4p3@Y+BBM9}~&hXiA>28bW$kHa`REek=ZD!=TI*Lf@Qf*^Au*Any;@|WUs zc?x#|*?b@U8;qzVL_cr+@S6&~M{*fI;OK|5l;4JbUO(*;AZdLeF5z8}5yDkEOLWTR zgvkECai$J~(=q@wmpr9gGl{tr6rLMmpzI)9oKJp9_upTe+$$Pit4mv2&uJ z$8}&T766A-iCck6dAc|!r@UeE*-zu5r{G*p{-lh%OFxl)7-`rSVqTK#LY@V-5=IF7 z*Rb|L621+D_cXT$n6eaA>8l$MkE(mx{DExIC4AYmlHp|EbJKt+0C{BewL>9XfFL1- z*B8Y-g`nV-ADe-@5#G9W)^rDU9JR~5&m-4)DRPoth9x@8POF$#HZ6Sh7{63CZBbG5 zsa_Rf2pK<-in@SdKaf!f!lUz4!Pw8{3%yi>cjjf{4VH9v;E&q=#-@9m+;_HOLm zks!f^ySE;mLbKtiRM=HXoDh)LWkq6ORQ>_l^(hzjyvAKVv&!(!(6Kr--{9eCmJxot z-c;XqAdZ=OUalXDK@^`nNtfl3ef% zvZ%iMUT%(oiCpu^pql=|pcMbs*8HpE?Z31G|JBX>m)cR*QTlA2z0rG$CeTwb z%*>rswgxDYO*r?SU&WfP4G7?dqsSD`{oa_7Y|ac$z9INp($Uq`;o|!(#aYF8O#3dT z=qZi2IG=v>Zs`9s&)6$In`dp>k$-8PRamT=DgV|w6VH4tx#n*JRnJ4m8V9#%#Zm|@|XZG=-u~G7IPCdX$)YmEs{)s+pIao&s?u2${y06HE9ubtvMpJ(Q!fpmJQ7=QU|mjWiVgM~%Ue)(3`bKBLz8x1 zn+V)?IyD`WZI?-1*5HC?zBd=UTnk@~o3+vjlSlb4b zN};2rtRdSwUMV2~6btqg$mpurU7D zwe=7G)!%GC>HpRCGw-62A*5)oDa3m2m*efa(`aJ!uAepKcDb?Mb(iA)RaLZoT=chk zM9#4=(F>8Z>N3gu^*N{P=wd#iBI?+LWxBT}-BLdNi5KCEo@m8_ZPUu2zL2V2AI3KUD5=3Es zSmR>LM31%=%3b~$4~1I#vj(7w&@k5PwUUvEc4?Z)}QJ>tv>-5mjAH+v;b0& zvHrCFl=~~6&+3Rq(Q?x0%|mW!j3|N@9juP^{bBu42bTuNUfE}omjmU+D}-)jswjeq z;jKlE7HnCxpwNAOjFbZUnzQBrJJ4Kl&|2I(Pu?BO#>U9a9iBz0Dv9TFkdL)nW&TcQ zoMyA;zV<~OC36fSVegp%oZWK~cq&8MA$llE7tcmE*tEG8K=Wy-*Pgvv1@A2x8MHME<=1CtKLk`ZP;i|K)Z&-|J z9o4BUtn2!zV7mUVf>GOs_*5`?YNKJF3I=8AQ^8o-YxLxMqV@cvE!^*}HXrt>V8;Ge z1@mtWZGS45zg72tWXym3KmYOn{KxKzvW}F-Z(g21sO2 zPSRCp5Tz4I%|WY>NkvI!dMOr`|JI$TK5qgI=Miae;x@DWsCY=YC({~Nx#TU|T(-{l zw9Kh&*z;w3Zki(V(~Q9pwQTrRHIz^jIjDNCe7{k;A-7=Jq*e7`%4;jV=A$^!l%dg# z<05XEy+?Nxt(;Ahvdptyntjsq4yuanTo{LQ0V=mRjRcy;^AvZC2dc9Uv7;o*4O6H} zgOJ<~IMOt$V`1%`4>vKT02pEe>yQCjtMNeFD4S*y9B_$Xi5#$JfH0@w?1{ID55?64 zMvZ}~XSmm6`Vf$cXgnYF+rjAG^}s}Q9s2~OSYs^_@PelPv;yJpAwoA~S=hl#26{k# zh)!Yy^h-rnNZ0BJoI;*WhIe$ z92We9sbMNBOP3xzg7nJm$^**ghqQ#LX)|QeI~Nm~W0wqsUG|k*ADkyr_**DKxd2C) z9=I9U*{gFw;K!D3bd2tHMksB!4ZUeeLv6H?r3ZRHV3dDY zc9Vn<0$SzmjZP-5qR*7t9azM#NC$m<6j&N= zQ0qP>EoLu|)O2jriUe~bX)#Ok4D6fBMB8Ymw7~KSVdM%eA5NckQUt9aeTm5U(7C>J z3wL)4R;K=(kUb%~T>s$Y{$4e`fcMYn4$8M%1d^qO7Xm(3!nm4 zbxO${7YHbvlceHM9u>SXepg#!kMb9qx@=ZxR8RqBp1;0FfOA)zU8AM^+yk;~nW(T7 z`Jy}5`I&C34O`(hhy|pOr!arNXcj+Du1A%-7NN|VWA{wpuS%hgAGC>5lY{vSu8dK@ z!mtNO^3AMV$6yjIseK?8AUf@oJb_}CO~Eg=F8m>QXWq`-k9f1!8bi)B5*3GOxA9*g zI#9`SB6HidczeS7AsBxZSTA6~2gqYiOXT)>zm9 zTda))%4Ds%;NoWMXj+I$`_`_IZu{++ne#k^FT)%!-h2gH0q2?977ms7(hFHY&Nun9 z;e;K<+SB4&%iHdNw6QLS0OnLgST~zQS|z0u7nC7Jt=MS8pvN@ll=?XwhU@j25!G$P zRU=Pl?$Ki=^aiHN)TOs^{u^K+!Jv>=6et#ZF;|XuNp31!h1TM}6!G{%bDl1E-Nl?y z^l8(2{1r*G(ncZBtdjH~NZGzsc?%1MdUcKp=8aGhdyhJ>r02Dz>bCQRF2ZoC;*CBd0@AvCrBoSYwr0hNf!JhJE(8HG7A>$BS%{`B(FYBf0Lm6xW`hN zRdL99`XdPYoM2fYp?Zd*L-0;6D00;21cVXO-A*1JkZzAbqqpKJv{yS!VHn)xA_zM| zu!|C7f7oTNzpZd~j2803Q|3W!0}81$nMcS==Qm=~4lkZiEk*2rB$7o)xCHgSd_`te z6)gs6Hb~NjE42s*M3&OnTL#io>7TBYepgB2NsirEKOS?c(IXafu8Vkh?Y zvLxlk#?JN%0ET>zD__@sz9qP6zbNOcx}Q;&CZ{L+BB8C+f!Wp2*O1#{2a4nmJO@~%$+Wk*4bTbs1uL;Ed4DLICm}}RYEzu!PXA8wKs(7MD*omfIK4ySBIP4_pdD)0 z6v-NlR`^iOx-+=*YxU8^J-r?K8_>AHnC5yhE7j= zy?=pR$ijN5I|h1@%NtaW?`NVThB*^<%xtHEZ2ZN?C;^!}*Q2j1D1Ae}l~w=)kdfEp z%Zt-Pw#$1z5`z=;Yk6Ly$9g*kILbxZ`(lryW2y28m6vaYYRW@g+fw!b(-A;JGFQQI zes~=ck(8#aI+q2&hb<1*aOr4vM)s>+VU(*I2DoRge}=R!%=$wC3ai98x(?S4la?71 zODB5vj_-7nDK&Qc>7`cWIb#dAXlhi6ewzE4jholjDGJ5_(j`|S9rm>l+q481=HLwK z`~1vPOH0k~D^O`c&nrjivO&hdQ55alIa}&JI7hIv)i74t^BFiqJ)P z{1wx+A*WAKm}}rl)YRxb!-9f&e;xyW=XyNC;)RS9Hc-S6#gs~NZ18Z%IY0VaU%}g~ z*3LfY`U&RB<|>^vDmK!M-49jay>I(^W{=hC1N@I8YX5;wO!D)13jB-l=kIfIe_hb< z-<6o1y@~C=mWKQvA+~J0B7pjy;&F~9EhXt+!t4eZD?%z#NH11F(Pn`%*E`PaP z(8h@&{MH}j@_3%PU9&Q@%A-T8@|(D9^O#80r%7{Y?Dg=;Am`^))R1=Es9MK4%SW>& zZ&`Qwo%X$7nOMQHIm_*NV_Qt~v2bJfrH<}x>9A7ug#>MZjN^rb$&6FB>c2A(-!*o}4iOSn?8W*@}rpY-r7WUpX%1#DU5W;nk zKctv#7DyVWdJw;uDI^25w!8$fzQ|H9D=D@_qsT0#L@JHG&c{~-p{o)?(zCO#X^c7` zDTCxdfkN@d^b1n$ga}hC#^b$9&5GiaPVypu0qm zfL2Np2L^l5G(f#$hwxx=6)TPOb8^d8m9HJG6m9H^=DOBZKHqm-^}=fKcJjPKVJMfm zx6+HdBCcPD>G4*XYq`&4h|m)%kW`4=~N~5_Lqt)2H&8gH2L|< zAud@*gtu0oLt?_G8ye@L51aDDgd72W)zg?<2oxp+u5mJI(VFo}`8#8wwY}X>q8@f=B-E+V88t!dFAI8sEzpxFSM6`B?nv|{w^ayWzD`vq zNbtyTx`|#=)jt#~`K`c9dYusiR>@=TPDdI_Jshse{r-`6wvFGAuKcN~UO%r7|JS(l z_kyMVZxHman(A)_`w5GjR@q=bhs6TiJ2Wg++D<=*#g^EPS618a;;Y|d$BG)kRx3#r zi3z#8$A9}k#Mkeqtesas#}0snr$8V8wQs6}NsArK<3E0CsC6A%dBpDI@>oj%mIzA< zy6+3rlbt6)%=V@qVSA?ck4#1SfD}YooTP+#s#z#yC>mt-&hYI#2q1zIL|R>eWRvMq zkP<}$B+#5*!!s6+Xb>BCEU+==!m*?mbLXhg#Y6MYtu?b`hP&79R*&O4yRk3Kg?tkG za9zO-R9zjyuYwq|-xwT+jz=Ys6Of-nxrdw5M>UL|7;Hg9*-{|{7L<<)i3#TPL6{4X ztmmS(fngPmP?gyuR~fDKcMDcqHwp1_Tr%K;8r|bK=&xH_z8TzgL7rp`MrsXvBX-H+ zwhT5&d$&>*G9rnZl5cGfCjF}sD3hheuGy8NgY>jH zZKQlLv|2J1h4Va^FJqBQq{@OVU+n}zTWgqW!;Qp0`i+G4H!_+gTTer`TbIi&QD+<8 zB~z`!hcg6dH9aG$IVi-qP=>SV|{hm4a#ax||4Z2uZ$LUO4oOV2uE-aAw!s;OJ& z@;go;VV^`;GBmbeyL82@C_5v3(=7O|&T;;n*>y9PbDh&q4eZ8jAB3z=TeTThX)(<% z9mO&mhikTfFl=^=U_X5=q(+P&pU+8v*4nTZ$5=hy<<5^0^k+omXjHBUTvz$ z`W8+)1jb(Hh*)nWae#tuj7JY__jk?dHw7DXS7$Q`H|k6p(&`JyigwgsH-2HjDvSk} zwM6m{rS$izELA3qa*CNuHiz7SmN4N~G8;sZua4j3VM0j9rFfA{+5i;>A+a#kqGh7M z@t&l}dr^#~N5ob!9prY6M4crLc29ef2-&?Dm&k?S=|(tYv8ndL0OPvYLb&;Ud5{EF z7MH%=T68gGLGt~;&KVP>vO7gWb5NAVdI9y*pWsI+uo8|gV8G3Eq#?nLz`#@-58~wO zCAhbC8x9vr7ES#_(Sf$5wntSoab~FA?L0lWZ8MP2bwINWf(+`%r05KN+E)$!3Jg(( z0)>t_!vr7&J6T>At6zAq9)fi$yx9rip|C?zmz zY1gRBpu42HUdTI3U`n>U;!b&O<|g$Sj(E^I^Dc04;J2$N#=Z?>eE-Hw2^mRiuT)SW zz*#$xl%kY+(pmRiv5ZzQ_?QNqI8hBOWWrjCn<;yzdHzS7BmYKD zmYF!V_^BBJGxt&jj8WsW|6&A|SWwR$-vz@$6qP_Jh%y9XYO<%v;qVa`cp{6q6I=LW z3Osq4v`k!#RC#5oITfh?0cx0E=aUS{9;H2#- zPkX4a`)&@c;p)EamtLt^9%ntu#dgAQi6y%AZ)CG*>dwK<4q*Xf@O52T!b~rsDBhe& z<^(Yb_#{{N@6Q#HR;{h%%E{a%=h*fIA6Rcs(>Lrc0b)Vh1YfOm#IFymKx_hs8V;Lq zxS(L@v3@WFuRNUGEj+IA9={|N$nT)Kz6lR{=yarXz#;V5p6YOLCURkr(krj0X7WQn z@{$Oz&n*o4OfNOEwXm3yQDF@qFL)$OhnrW_4?tY)q4&^(!CcK zS(YeA*l_Yer;{_(lHm_r+sx{`3YFIib&o4_C5Q%$n(dciKw|UCMXTvr+LO`dL7{#t z@SQ#;AG(81b_XW1!Fs!x3*&#Uln0x7P+#LSf1D`n6Fs>a)iy3k;fle5xG%9sy*zj< zFikkmmDQhaKHL>FccF`<9#^2N!{bl-4YOPm79&kBQSx(Nt5YpmW>*c)4+a|(btb^o-`6rGmp-Y`*OA0Tth@Xa3AX(K!pk$`$sF|>BV)t<3Dlj*7tw`w z;q0=4pZSY}4ce?7Tb0QBKWG)uS19aHjg*S;Uyq!>5Al3vS^v!|`fnmO|1oSosJ^O5 z%>D_fJer_a$3Qy9=Vk^E>S?5hLtPZLD8o_>dLJ-j=mn^LXDdp7u?V)#jVJX@Rct9* zJf6d_IH)mZOilJ+{QA(M;h2N~G2+XV0S}1uu3c-VL`hB@^!DU@Dx)wR@l_l#ssF82 z-?Xr{VwpTQR;+u|p*vTJJ~g_>E&cNyY2tk{UcrxPWJn|JjQlv#R{;MEPyAH9uy-fH z7!G((6OlbI3N@CJR-2mbF+>Ndu@HSFzAHgMvR|e?6rGF2`BxYn1Cha+K?ihdLO=+S zfngl6CZ#7y5mca#@Rcr;7+e%DqhC zB0^Zk!o@X}fypY@-egmcE+Z7*9|JRT<$=~W8%0+0+-<9OHcE(&E+dKM+Bi6}L?@$^(s`XHLfdrb}dp5D14hjZlC zJM~&k{t@c;V6SYHS?+==#p4FOpck26tVvB6b_X~+&O-s*!qaSzkoD_w%+qTFy$36$ zC=DofTkz{lA|(yRqAHUCnGgY<$bOnu1>G!JE7wTRg$R**bi@`c#qbAg^2oI2>f>>H(JHd zq|m9iwgkT{5PXZtIucr9r4l3K@1EC7FS&a)30S9(I~vvK{-Xc+q4g6F{W#}7O>w!A6$pekLZ^P~NU=I3Q;2nf!(7FYZ>PziUU z7M7j5vOp?A7&gE56)!i@S?17>EJ@;|4da|g2wOXF!fzE7y5lfbpUDTmqPiZ-8*1yE zrt-N3oS^n*SMznPY~P2-FFAf|^{t;c$qX>etu+_M&OV*cQeOxHBakV4$uT=vS5ipb8S?3P`$B&2N#kwbX0-Id(*csQ(`&W1AM))x<2L^~sdpK0)5O?{~(t};+D z*3wOvQ~Aj1hz!5WaW=?r&vaqi$T;m*W`8^fPibli>L|U(b;dsHC0_G5LFkuVYn?w+3b^K4t4OMaU;N_exbSS2E+GAJ=GB4&IkB9_E+i!ee^5RYY1Cf{+?Q6-@; z?ZE;bH&~~~I(kQd%ZLvgM#;kofbR)%slI2ts_AwN)zZ7gac9X&b~t3G&NvjojI$;t z0P9IC%mP=j?=j(M@nBflc*J&C&arLs>G{Hk#(ntx<;+`%njv6Sarc`JkwtV&`z`V& ziWP65pyVi-d3JPS1{<+cF9Dai0qRcZ?!yyBq7crnBY82%IZYx@=-=56Asf9m2&M4* zS2PDm%p6(+jumR*rVp$#+y01PyW>~xYoR!}<}@?o%^c*6rho(%vevIuI=BteQpEWvd`s3yYZ;wXV|GQXgVV zg%aJ5Co2n6^L{xSCB33$rly4`kBm3L@P@k(^z)Ip#_{S>g!DZY$L*Pzn0S&4mD4e8 zY~dW1_8{#vzjb*GC^rYbJqi>Lqh%E)5w0mOdcpgrc13ONz$;qQcjGQ zH30qu#yIc!b7e3Lr??K7I0No1e-CNi=j0tgB|v4B{G&<}8I_{#(c4a7gWNR;`xd={ zKMxp#81ru;MHyAL(=$3rvGlrBM}>wH_Cx)I(_ERq_b zH;6YfS%dVF^eCj;rqO8lDYZjYT|QPOJfSe&nPyC>Xdp0fo4G3Rg+Ob$ zE5I(!f*3a$XwZ?x9>Gq<`h7`kh|=g5TL4w2Xcijd)MF$P>xseo$nQokc-`#uM7D+H zPrvnkKap$DhjPL!>60+j1;H(4(n%aP!@4SnNSle&L-m(~#lUC)%KG6_(g0EEJR7Rh zZNpG*Qh>CBxG&ai;d^Z6qdv$YOykI?WEA-Y=OLX7_EeddTu_G{q$cafNBVuDdxYRH z%^DCCMDL*)N$jw*>(h_i7CaIMQk7msykFCCw+bz*zMZCYv}MoJPD9LRyd@(rV`d%X z!+Bz{HlS#Sd*k({jq$Z|1=*1{B!D9%%%5q)St*^B-ZWahFJn-6o9PqF>ws+J=J+pxCW;s&^q7!S-5ICQI<&Vg|WY?qPB({j^`di zh-K?^ce6zNB=cq0Rh#b>cadQGIqag-5a55x9#KRo22n-*^{tZlYHny{D{?gkNuNKL z0Cg59sEXNjEnohjrnv>azSz?OJx!5G>u;~SNKqzq65oSLG1 zfeg~!uSs8)TGCzDt!641R(k{aB51hs><9e811zLm>dj;arJe*fa*crZ=P24A)w(^1 z8M6}hAW3-;Rg2hdH>|}qKBFN}&gh|~_rGD(n(Xl^gYF)syUvD2A^h!9k+o?oFkNmn zmXh=!w(=V>9ni5Yz34F%d9sI?3a#E5NwlrXc@^KxyrT1D5S!abJ?jbZc|_<3ijyH1 zuE}+veWQn`!irsDmg9~Ei!WeIL?<^4>ZE@~dhhb+J$6A~U!0y4-h-(PQyIY;w%u*$ zVmPg22)zWQkzWm->(S};KsQFgb^r2!1Al*Cy`Xx;QQJpl3_dugs%`BMBASUd@-RuR*_;BiK>r@IVqyos)k$vwoa=3!Yjx#L3*mt?uWx1|5j zRBoakUSEe0szNq>7eI)}2pb%ivr$~VR0&(k(<=#9SaQdRtD!xnvfEMerL+2C_FfiyLV6oTE2+Hr4TDjGqll)XJs51&)%s7_P{chwr|W>=L@FUdY8E<)n5W_v`DyE?bWC;A;Hr?HQ@Mo>mk zylgFp@-j+B;sYg9SS|V8S80Qrj4BShb7BjhE%wYL4 z%MhPU`r;Wm3WKLZ%wL7_BK*8TFM+COVKH>mbyjiTcRuZA6a8~n&)%6UjtDd2O<3Bqcype)d{Q{`L zzsEB1GlcV|*XQIlld42m;?^-?W`FClEo_)}r(H(y4Jfz3ods=G@PVnb zbZ>gUm_I-T&S&qkbvD^RME=g!S7RtYRbJH+U`KdeLq%a z?*M~2lu-O4t$H$i+|ZejqL{ol+ohNzl@`aWa1u#T#zZ#MHtS>Tq>rZYPAcb#6<5GL z*VXR92Y*GTbX!0CEqZ>W_v-e~m6xvKN6IaqKNRdQi{k$d(~16HJqp?He>?_6vCCKL zPMgKPf9~#QU2k@+EDojB2lJ%U&f=}(BL#V zK8d^frX2IbgeUr-+%tFK+?`8Vg|+(_VYgzzk)zWS7a@l#LEQpP{B&Rci8VsCy!_3n zvV2pe2w9m*uoD;T3rZrVYF+!h1%&5fp)Th&yLU5t6B5;PfxYY2cJhknh&X{j~>F`HscbxW<8bWiRS!Bo0j2e^v4FmDPhWF3J5qv)Z zg{uPG5D)W`I);)T`7wP{g&hKJW~M!Pw;Y{zaD?wgg4M7!9R1jfQbDsdPJIJ<}J$gfB^jDc8mVl-~jp;N;Og=#!vg zXadpe#}C^=c6v!MuSb7DHP)6r#p}4lzanceOT2!Vsx*E|62mT=r+Gk>bfL~(I%MHbul4`eW72%{Y%Sa)Xw*PsyeS~;%jtd zdde{xlJ7OY88ZcBL2-k>4#8gvx7q7B4m|__yOkxJQesSUZeFiTQ_xI+>tUd3T(IlW zI8Q7hj2%QS5W{@OPgG;U{r7hAH6a-tQjW;CM)d_j|mL#)!jxq*wi* z`Ytl+#wO0494%)&=k|PFwpnF|wUXL#lfBFbuKFA>VnZxE@xkjXfN%3v@DaY%?JV2& zh#d{e__r-ZF|RXslk&@D0v?}tHJVCRM0buDv(2qt9h<-qxDRdR93x?Uq3=83k52QA zvm7P#XSjLT=d1UB{+ChxfBKi5t8M-f^62}h=Wy*WCB@4XHSjit)>;(-H zlst)U6>%pqS{?V|haa6!qoG&_5B|WyOTu({(Qz5=CT^*Y31-A9cV^G_iwW-5BR@{# zEo&@s3~c~$ln3?&K``qQHdiIrw_%vF(f&bzY^cf-d}j+V(a6@ezdg0o~2)qHfEP*BY@7}I}*6l7j5c6TLu^YUx8AR_W zUqjtC2Uz?sX5@iIvxxD|vZ574Eh8HfV$>C9zCpX+(?WkZ^atB7posR~fzBBPIGQvJ zwIi1gsgcgz-{kq;E8^>ydP{#MB31nuRat@kUV1=Pzd#uIw%W zL_&Yw>NFscSQC)(N8)ag?8CPW0l2;aO);K;x93|Xhf|0TNHYiRC7tlaMsMr;e1L)X&rsMs( zXt4~EeGF+|kx9W;F-dMm2$04xk78;n+uP#VdAcT3wGE0u7$w%8{fBCrDb6c0wIaFh za2D;9qr<-}V?q_MWXWuW-o!DD6{BjV5r6w>s0nfCY!jvPC~>7(nl*xG!(cNJyv1rL zRe?wovNGXB8c5mM+KMTt&$yXu8jL5iU6O)fkJe>DssTJGn>o26YwZyt?;8tyWAG6aV`X^7_l^JpA$uJ48H{xTrECPSG&0|`4Dwu z@aZt+ebR2D=YnfOC89rMg)AuJIkEQTfg2 zjX~7w;_0P}G>h`ryr88L=Dy^BPZuuX=04GJOy} zD*Aobr+D@lXwFH+#UsR1XA+?s(cLa>@S2;nZpry2rr0-tA`{Oed7JG?w1f~Jy9Z&Y zWduxHqmeCTv`_5^2VvXl#3K5`neWoUrn11$%WtYDyYgQ0y!PuP5Vw_CC-@~9$fX>8 zG}Melx?j!%?M?~sxcW@sQPNRlPRM? zj@*c-aXB-5fSSxR;tSgSPB#n^pKF$#m+DXoYL$GVsPJq->Qh+!8S+Fuvw)7KrpOD2 z^`>6F+Iel_!KHz#e8S&%?362fX$-Vc0G>?&1!KwpPHK>nHz5z&0=$k4exE#BJ1s-D z43%LU?(ilnyE&GozQ&l5rHjgMn!0O~Z;YAh(=ER|D<5;M-998f61wb>MYck37emQ3Sq%~F883ooBMd( zgBkc{g#6Pz{9-)ovg7q)vS-<qJTby5b(P&!>yZSCKB~X2LHB+Z*;z=#g0bXJ`b=8#Q2i8pa_k9?bX29wbrHxuLwoQ`UZq-Kx#It`anpKQ*L%rJuR-J ze{xi?WQZ?1U)G%TRe?(b`zUUDJf_Ly!VbAGm-NgIABQ566tRP0Ei-IezylA^0~PdT zGa2Rw6$eZZlm|%P0W!b{c%Z+};IVg`81dk_QnarraUg-sdwf!6QjDoevMpXJCjlf!0wb2iv_Txwk3u(M2AT4VWxM zfB9t&W^*OY%cWi8&Z-VkqeUG`b!qK27r3R{=CuEO46vpK(ptahsyVmE+FC(7{eiz` zCin|lpZY{lo5@nS{3N&NcO%V2L;Ph}+~UOUA4?O>=#ogU=vXtU zKfMN#DLW=+D1;SymOrj>Ex+HNH;H$jihj3Ga}w-dG|u0P`M<|X{QF|=Qd@QWR5w14 zYLyFLA!RTrTsAA~Ei%TWGsxy-$Pkjn14fF1!@)3VC^UADHo3QSkk5N3VB*=G9j6d{5EUjIwrk98~{f2n{fdV&Zd3YWmL*;MZ$vdKqexz096Seb{0bpoC?@l3+4mC1vPROEI{ zcjVsGqJ%%ourzFi=5wc%d$=2KUNzFGS42JxO*xxSv5 z5tpd0k6sIE>IElZ@Nus?wZ7FLv8bI!T7_F8n|V#H?jg5xfzdN0nH-4Sc)>nLpxSAg zKAvQdG}TFRU=K!(OLYdrovi|WPiI%l!mF{}t*c^6!uZ+l_H_kG_T99qxCy?J^*k!I z>I2UWY^K*s4~*g0A1T%*(R&k*iwMyzwp5{NOASF$^XmG(Zs(DUS5zZW8U5I1Yt;gE z@htWfhG`}$_xA9!x{}mP^U^Kt7u0$0EGm>XJ)M_+Hm*1U<1Dlb1nKL#s-HVB801*l zzs0!O#tY_LS7XV{a^F(XD(d*SfudJs-9kF2nRsI+mJ%Okh2;_imN3g-p;Y25Fw4i_ zF9m4nm05AbpQ4?Xo4@ zwrz8_?cLgK+qP}nw(Z^S-fi2qZQIlDx%YlE=e%>yHxX5TR8&Mo)bGj6C$Vy^P^vb8ZHmqheB=cmu!4tX0tv5XC_T zq#~o_3x5QX3rA1eZXa`D*E0nzaB*FWocG+5_F6ttq?0hgveUTpn@BYEs#6(TE54(8+?>p5IBJ>Xn@XAF{+SKY zKPj5@dmtnbZGTSxxf<(HIi*U<>jD#|%Fjjx=}h-x5Hy#9yJ~E$Y&}07=ZQ0x=}YKD z6kN&#ol6?AQ%71g(~H6vn3E2pa0Y}YWY@%yS;W|Y7biEC*h;;*8+&=@$t!wUpUa-Y z-n@HhBIwl03ocsCy=5YVXg|1LAZzB1ogTfhKCZEDe|IcfGLYJBXl555A zOj}m8+Fk}euY){N(PW}FelD0y4EU__H(dTOD1kyl4FzXcC7Ybc4{`6_fy@mBgiV6TQ!F-?xDWw>zm z+WAPixN6ad{P9ak8S%^9Z1tF2=_1$pN$jn9-M@_0ebqfp8CR}ppJ9ogoOY(e%K8Ny zyeY7eRb!(AyZkHj!T#6a&Rg%7;4L$^mvyM0!B6|Xbe1-#KjL4mh|k{%jnZc&qM>+7 zQ%|ET=j13zSYz^wDJ@E)AXf^lHX*;J`dNZ(WQ8{YVhI-K+4>ZgV1AHmgd9keZ^5uk z$rfPR?BKIHTF~s+lg|gD6FlBdScD9Tz1lnMUnz)@MP9MtcM4MQPZ;QbjoKW4t4y67 z%`E?iI7P?a$iT?V*+|FA$iYF+#OPmiPO`ocKiC|9A%28{kRu5ra-wNjHv{!?lS$8& z!+{uUVLQ7cqX;$Lt~AV}N?5Q~z+7`lDi%`aDhn3hGq{V?ex^$$6cmekM-Q6WCsNO4 zl*qNVkIt?+-Y05H&2o3)6{_@|oy6FsUu+(PiQcXdwMlhN8sF_xP#(G2-^WF@vX$YZ}!^`47)=Cis(it^UUyP{c13-4K(!Z z;d1XUAmowoRj<7%mULu{!%27^5W^rR+ zBlZ{M@17^0{MdNsc2Tkgl5LW`d1 z4VUu>Pckop*=SVYrD)M~`SIB%r&oH=2w)#V*$Pq4RU!hJkM-@jlE+zMIt8x zGhHMli6XnYK%H50AIpg^8lIbn7&1t#L+LSAgiDgXb1r=Q5`w+*o>g;vHDf9ahLLvq z`C9?bDb+fHd_j^sCRrOE$R(ZgM{AuJkPGx z6Zd@T_GAsaE!h;hNc*qSU6VY{LAXv}Y+N0jNNA3af$(4wcf(5(9-^5`Q+{{03nt(T z%&2QrC1N$FfqPNMMfK)P%fb&NChi|%-YV{3e+Xys;vIcJlj-uZxz->m0AdG!lN6`g z=xSGPjux#f+F{Jl*jlJ~2a_rWMNX#=8E8}J<}F%3xX#(KQkpp}9s)tmgPPTyDtqe3 z-OBvrva))|tc>7+JRdps(pQQ}EAMRgTiR&E;Im##NiZ;IyRQ(gTNoQsvcU0Ko8DMz zop4t?>OuCy%JBTWiV7XEV?u2of3T^pq%dQo)2 z9J$;C4=GfyoG7^ZhID#$?PQ0A2Y+jQf(0HO1DmqB6&PgVbDu+o&wSnEB;X*OG}9}-A!-2bj*1HLKCUtbZHbMSW zEA39vZK2>U<-LQx8N+)XR(8lAPg>I`;E_x{5{M#L>%(4QxL#Zr19b30@H?j#LuJSO zQc@h$x`(W=zu*R@O`GK15G(PPOS%PS`{+M2AFeKvPVG3((aO^>XpaeJiSu$J4EH@8 zU8WhktUinqUdH;PJl86ACzj%8&>CgVN8EXS=D|a@GUxY|&@cEOggdA}^JlCCyiAl7 z(8z3Hg_7h@5yX%$c!MnuMmN|nv1!kGu`qN8k|`h?4FWO{s}Vm`^ZTm5`CFMPJTPyF zO(}r+du>k7DMm@YB)`{X$Gss6Xulm0r0~&xtQKsuqAi_H;N4F>-lG~hD*plWS_5q- zb-O?5uO3W$(>)AleyrS$;#;kDvd(^g;{7XFr&gL#2!99bwEu`3`nw?2|6{PORMT)+ zYew~cs%Cd~QQoH(&E|Zh_j@eevra$r@k8VFsxi@rI`Z@n$Qrsm)qSD2PiyFt*wpVQc?k>_x`#KO2e z7&x~$6CsVw3XFnAtZb#k15Ct8BHN#(y*y1rp+ylK>CoHx0PdhiW44U^AJT(v;q(pF zeT}=pQVNC0k3u8^ky8#rbRY406lrciC@)ACrwEaw489!cgo?Yb*C0?*RUp*(=sLnR zK~_B*i=Suxl!dedgrqc8z!C%aSyo;cpQT_2d%LgDk!!vzbQRSx4}%PWu&G) zoSQOj2P)$0J8rf5L6?Q5D+W*{9B_J}{uBYZ?;IEe3C>oU+E8NZ7|W-D_bJ9mKIjul zg~4eQP9YxP*FlPaU4+Od=;YAe>gBt&;T;qj&@K%C=k`+OxjVl@TUSA|ey#lK;uEKH z%hrbanfIC}mb-J{Al%A$o z?choH-YXvQK9y&PdOgQyL>Rje3ui>(G?+4HJVS5uL1uQZ4Ts9H7RnepN=EnxoI^Yc zeL@O-u(^xtidtvsWSOR?93F!RM2cEqMIR5Jk~YjvT9Y+WkihCNUS~zO?u;E;4%3vn!3psitoL z>$O>}8y9-KtFMtAMzW@bdzF|dC{O5AT%Plgu{m8;X&#z5@sJQE%Xho%5szju9en*G z*~A%#!Z2=!%J|x$HlNbK4K*?0=oV@72PtZ^gQFOYAtCIzA+5gX!M7-N@WBW;EfEOe z7;=qq>oSh7Sj{plA~Fc0&~PCu1~4)5Y#`fEZ))s-o)wYQt5=hiUPtx9n_x0rxZMRi zq&ta%e82KjO+gjZ*P^c+Ha(KDX1`VJ2^fe5QJQSgs+HG$&B`$gn;a0{mcfQ3F$@KQ zC0L(x4g}kqIlxAwx(IglgU#)+lf@=I@qg<$NHIshg#xF@@ zJ!Vr$21fZtfR2h>)QsM;cR?v5i+SkN^@!YEyy?)6=SG-sHPmw3iuMyX92D26c z+wT56GT6PximkX3Oh7Ot-#Sh%e8)#=)H-1!#Zor$)YQE~w7dfIy5TC`eANwx1jnOdn}_XjB3 zw*@psE$h~+Kb7Q?EO<5b0;Fxq>*B(+ena#Vut63j9>a;6HyC?0XOwGu-gD(eoImI6 z{oeu>0!Bd<={MfYcVq$0MEAgB3Qd2+c+jWv7f9jZI-MViZ5(al9tRx3mnBlyD6}Sn z{_$bY2B*P;qdXUef@ym_=@?6kwC5qb7eqHJz+6Hgl}B?z#jQ`vmnf2H3NGVF|5>D- z`DL$p#dT-7M-38gl&C<@{X-EoA2ZR!@(+0;K62%;LvN!ZbXF~dU|QaD=+;D3K|MSb zGb9vUGNRA`Qc#3ym0;Ge6Esn>oa`kbOJ|%}C&~`EAK!bh5G#;{Wn z5%zZCX;fW^f%;Vzs-I*2-ARAVNgkJn)*`rJ;DtfIA(PsJk!oKta`}oghL5%Su`Lc? z8236P%z-$7^;5Rj!~!nqW4Tq&oMSvCX5J!sA}wZ&43$P{&o7NCWYF0LVj!0$HZSuD z*L4dhMb4*;v`Xw&8b{InODK7K)cmWCsT2jpj`(}E%__@rw3TIYHk>-=-NHn7AO2b% z-QyC{t3y=0@iojC9|{u_w{%u{>E6b;@->ZnwFyY!y9~p}41T~-;$*Zi^&iJgDLjYv zZjd%ek!V$jMXthPA-l#9O-!e&KyM(K?xSgn5Do*y3PjqGyZ0|}=JnOwi$w4^D}FxX z`j&Gy(RN&xlZv}uwgpW7qKJOm~XE2f6XW z1cj!NGND3m0eKm>3`Go`dciXd&p(c%q55n%$|rbceeWI)SvRq9-vWpet7PX^O!lr* z?!~T*mBKpHv>(%M9(vr<+)CCwaz*4$0KU2B|8IWL2ye^rF3G_ul`O}q3W1?NZL zVn8I%dSLYF(wBd8GB;musuDg~>8`-{01s{DKIl~iXc{-FkKh6gF%DmLw=wx&vej~6 zrD%Iqk0{&~bk~MeD>+7BZP-RN@(^Bq-p|K2DY@f_RYnFtzR7k4ZGM1mr8jtULN=jE=6tF<3YMQfOZs7utbR zJ8j$*DJk{|zHxNzNLW?eDmPu1g&U3pDR}mbhT7!j20->4p-9iXxPGz>vYDc#`vUum zZQ6x;tU1-E^~*{#JtD#gc}U6Z=gt+UX5IPMUn!&rxhV2BBme-zcO&+HPon>|-v2v~ z-an;~rh3+fmPY@B0rHC1kO|;J2>Kf1w#k)ZkaOkaib!HEo+&PiVkrJW1lA*PHTY%i zOvz^DnSnW(X=9vBw;Je%XhPWn%wKJX6fd!MZH64OHq<2a8Xws5pdFh_q;WL0W0hPv zT*OH?+(AB8M>9ryYvR!nj{N5GR-Oyaf3n+GiVxyN{gZc(`NuHn)SWNlub7>BaF`@^ zo8D4LkH{7{tFpj8-vZ>H26nKT5u!kGD1y2aKm-)T_``|1d=|t%@1#sfc(w)b3RT5* z%a|sMQZYghAf!V6q*;LLMEa?^0lM0%`9=29|FDv^7&5vDJfb?G}E4qIxF({Ry*w2bwpWyA|wtaX<-M){>yB&ga5$phwIyne(>j*Sn=WxbJC zOIu=rNY-6=$vuh-$zI385AahnS?VH8N)IG*bRK8x*rpr(mV{T~;rpZ#Zbz68s&-$> z1on@>Tx+&Q=Tj8qu+syD^OpHto#R8 zfZ%ElIJa?Qp&^FclztKH`OhaKfA&8p?@S89YE)n~PauTIy9uBZ%J!MY=k-YTB&Y>T z6h@Avz^Hx~&6j3jn+{>$U&*7gvDuCSu)C5FKxh9J+*a?~hSNizK<&knvF)kv!KHRn z`Q%EwF_o3M^d-;AhZT;kGsaOgdj>;?WDOAn1VC0kj1wL%XMdFE7?sdZ$OVsQQ^J}T zb?yD-9hMlT*Aeo`0KFfq&A?T-J+8wh}>_^&qU3a?@70mSV=jXl3+r z&!C?a7xo3WiQmcnbG`mEhe5vajj8Vj)@pEht{rPx3HqP`^8q`r%A#3HA`-o&v&lf- z)QWxr)pK`HHND@~2^ZBNx#aD}-lozir^S_4LFyr-OF2w1d2&*EFXH^h^IOda0jR?! zVDarPfBC(nwufKmhU=P@-A`iEX>=HWt7{Rl-uKvW!Z<81U z`A;VCcMhI^IJ>i+xhQQpC zL1wTsG&4Ud)l#`VAGQtHN^s<(`$I3O!-z>^$4Xp^7K7EMth~TUr=`xt1h-9>$Bhn5 zCLwSU$;rvRNp4jxIf11Ox!YfIC?ay_gIe4&R_I?d^c<^Zap9+T(cK}4u z1R^!z8>Ea49tT_2oKr$*pK_4s$pv;(XkRPP2I_b}n9755_mkauoNa)^rP6hB2)RF~ zY!tcw_{X+R6c_~F`M29t{}WK~Uqj~Kr?mh6DHbV8#e5I9I?hzumHd7;&zMK>pehHU z2-T#pO2rDz1n6NjFxO#<6^hF{M@D^m@OznD0D+zcklGq=wm-2GcQJq%G>TT@dx%uk zZWO0C7wH6z2d)$I>%#YLPhdBj-2a%ozQFd6X`@SAEsfd6^>2?WLlp=6@e4H{LXMlU z-4%eq9%O(xo`j#6X*8%XvL`Dyv<+s6m^gu`$G4sQ?S_QcOex{d(UYM(jd_LRcDEY$ z&ZeVLbbJ^2ncy(qF|KvFX&dPszmb%fs?*Sn81$G6X-oJeff6J7n{b;TE7G9oAt*^k zcA%jB}6}Z67rAim-&@nLcuX&|1Ak+ZVrdwR_^8F(7~;G~ermle z7aKHh_HTjO7a=yA?gT5>UdD&8HYzKxI7rR-WeD|A92l)g!5eJ5PdF*YudnqPX9wP} zNs=zz*>QEj&G75y1}9-L1|L&b$gjw!7O0nvzi5?N)|yzVgC$K&WQt1_=X9okMj#%M z`B{#}(@2St*;lzi_<`^aB0OUbui-{CVXEhv8D>fwS}Ik?1{yIyh}NBl3GzHlRo6zw`}8% z>`)Xlh--V%l=jR$xe_*odS8FOl(@EaIog5C;W{n0p|D>DCPXLoTf2M-TLTUR94fO3 z@;pBn1xAz$R1_Nv668Sec5{!8EaJR&iK1Z2AuLcdvrcNej{X(A;WpTUK0BYNUUVf< zYY-RG25y5@FA>!*eKXe^?^UPGW5& z<~SnkhxUIh%Ux03S5bc7Y03YjR`dVpevbBLRyxLJ-#mHNdR9jN9l*3Ac%XafF}^{| z6Lcrr$&x1O5_SkqNR&kK5`|VIWpLqNTJroo2dQ4GzWvCs54 zZ^BwcATwLNWh<_{0()n~_juw);zkUab!*41=T|(!^ZtQmn$WL%52wMb0(}_qC^l-U zg0%K4@fVuT`_j~AMp^A;rufRr`#(U>WEx3Q@YBP?$S6nTq3UA8e|y6VuExrQE@A&; zHUkuQT=*S$UcTS|{zm`%MExIu=WqX9X=3azsrH~9uWbF&3^bAzjs7eu8;B}J@!twj zg<`3azbL(2C`*rT-#u;XP!Nd{$~dS7ULE_=4=}O!Yz2Q3+%OG^T=(0-s43}bzB<&U zM&$*x{edL!PDFUkN3o$uljLGUQ)v}S?Y*KFO3<7bZ0pKo8{8GXYxI={06?%O0?(l~ zs0nsxnRkm zc7HT{KY@QnDF5sE|9u1fA5X!-&eH7r3bQxTGyMPZ)eWWpE%#0X6jk|hZy7>O1tFj) zwGdcb9>^>!FRH%C_!sZ3=rBqS)XEGEW2^@%yFjRc8@dixF&rVjh97P9KJ``8q z_u(ff*OHFgU$>PYj{-K@AX`7S`Q5sSRJeISXBFVDQ%X?zRDt{X#>u+_CHTxOc7i|< zfbuft3gsk^<$A<|9`M>NF}=mbLnV2$o(< zDA5yy=Yoo2LUiG!=81E&NK3I2W?=w<6RwElFRp4yg{ySez7(NQHx$ zE8BhoYOWS=1@K&~31P7W0MUkVGpJVzCw=x@@u1lw>brJPe_^YAkkBa&KG z5ZX*sdCN60HfHp6S9B`5EDB9zfwKs6Kd#1>dur`R;M*wi8}|jMMEYiF6EciDaqMbKTNE`RhUn;9g35~r5On)G_wo#nJ=7T4VY^NJ$=<}jP& z>Q;7G=jO&)wRs5-e4yD|H_{B~43L&HF9jk?*+}jkMtWym7s{bdf{Km|OHg(xFNL{p zSb-UtujDj~jT_4sC`}H^bs;Cz<);GZN=(jQ&T?nFgs}V#!U2Zkx4Bawq0#RUAy7N122^^1FF8g?C7bXX^;o%=gn72J z;pJgLoB##1nx!y1I;~yDRxkTK9Z=WhHfS}bmsZVQJBJk1J&i777hzzjf0H6p#Lr2R zv`WTj)A^`^r;qI{Y!BSp2vizwz{6-!A5OfcHB_&tx7C7S+`uTHKs8VC!Z+7ebkBC= zOLW6qD)7wWqTq0@MC2NURu*Hx zzKS7eW($0sfWnaShew8S@O0Ptqi}9!c_JpO9@ZXl&5(}8Jb__2`K#6>?B|Q&h$CQ6 zz9NK;?d$?pgjgpOzeGjld@0{{z(+(`v5@?JOy58*yrya2EzTT7s;HO%A$<@5354-8 za5hR6gX7d&cO$JFutef~x?&Ocm~0;Xbqu2BFiIX|2M%&Up)VPXQTUApEPN?*ihu&e z^n?R6k_fE5U+-)B4UXQ(#JGSx>8;Y3c2jb!Xk6kbR*QC88VcV8WTh9nR&S}=5o4MH zRIa?dn!-fEFDNT&Qv>{mR6cCp05}Ry75ku`8@%Eny|tY2(AiTG%-=Fbuk4y*H1@`f zW#P3J32U!=hm)))Hmo~GIo|ItCEwc7htP_vU+?Q*N+X>)rO^n?>yMpnLB9@-2$|`v zLZ}%)#WYm|73>ojiT&a*X}1qb8LLSP?I|1NhM`0$lGHj4siYht!43~J)hk~%hvVe@4oY4j z^wBk~!a$6a9ojc>Jr$2gQROlz)m)Wo7bFzdDWsflm56`Gh<~Q0*#4QE%;lGl3FM7b z^#iF?GO*L6m@mZ(RM40I#;K9Oi&mBPTlMWSu3a0ycV@>c$WlWF&tczd1EMCcyK!@+qF&Ej-v%@;ES!f zPt8A?)XM#c$TYBk0JpK(oCtQ-Zkn7}q{HPcYj4B1c7)zH(Tt<@(Yi87>R9oFL1v$PdblvS`b{1v*~C!9S^m(iJ=bA^NTgp zlm@_jx$#ul;+6d|&TdTQQ4`a%_dNDJt+ihXVl#OfGtjR8uyN4GAE$mF+SUTRcDEU9 z0h*3)2&lE$1?D|i0bZtnjVt6v9C=e;cvWk_=5ancj1D~5hmC(FP*^FG2)(=4&(@9` zLo|LL)vtwPuca=lxaIn}IeHR@a2gNh5jyT=yz8Y0~KM1SfL>75c{*Mr8NYq1884eYA%%G z_?+z;U5uPmfA#q=qAd;Y9mQIjGsq7|Hi3oF=v={8<7t!A70k@bP-WRa&cf`dDqLLP z5Sw0l>XneIO@=j9Z;{Z+M-TQ=WV7SE= zqX#jvh_9UaH`NGJPi4yGcVttwauA)`0sn}Tvkd;B9S-Me#J#5U)>WVH>IxhJM(u6> z6ym#oiuHe{PXDSf!}wi^7`ZwcSv#27SkwJQ%JN^Slab>uBV#8^N1^}uPSD2M*v#a= zE6yy19_hVrN#GO?4ax?gnvoMXobq$)pjK3%Kz2nXEcx`p@{J<({;q0Ea=stLB=)xF zX>2yeo6B_fY+EOFWt4c3>PZ=y`m-%^FXmkgCq4U(5B3VxqeSW!NQD_6)@fg6Sb_{4 zSu6ujC_(`gSjQXoHEajQ*OW0c_XMTdinQnavW?5uW3AID3i`a;=>4fP^yJ-sNj$l6 zkg--pslY)fL5{p&s+xeH0)BT#&QKwK=1=W_zl3SqHd@#q$84l;q{#<#g?Ir|YO5C*-Qbz%Om6*-z z$7_#39oB;^v(BCMR4NY<T>PaWWH#xZ`Omt1Bq6am>Wl5Y+ zY!oKH-$Atu2fjyA1`~s^&DH`vrwOq0(Ta|C9^rIGjy3EJXxKUUXX}+bU=L|{L>#94 ze?XXB@?LbRJ8SQsfn=!d_9XBV1xFa5&MX`-0<(9=w|D^vOWd2R3371xWISphWM}sJ<0=o1GKS16 z*h1~N5qQ6)DP%dTi&5rN1|^{$+P=B3B&op<-s?)lufkJYw=_Q)+BC5{NnG$p_G(HD z_K`fqG}oDIZf5D^WH(@mr~B_j_nmf;x~-1_Vr=~ad4TlH&?6`N5^r5iQ6P6>#Ax?F zWT!pwv_8K-JS&mA+vIBCU-yt3dBOiHkWI!f9+-UBfPZP4|NFKP(|-zNdjB?(CCQCR z_wm8JqvuqD^mB1cxHnPchO3bBg$gPb5l)j$lZ1vmyEL>(0hJQiiM2nDyIOY5IsEw@ zQC?^oVWvFJ6ka-sl{GQzyqTIpMrEZ|Zm+!G<0U2Ov_M<3;-NB{u5+Ie*w6I=saJ3ybO2g*HCu8f?jU0&GWi}GqGUW5XS5oseLqkaAxUF# zZ#ve8_`wfJZC|8_DTAOvQMQC63%Gef3Nmen)fa|L9+Qe50uh7@#7?m2>UWlct03i@bybX0g(pV4(9=o0c)IyZH_4gK(* z1#EeGD~XZ$>sTAv!CRcaBa_X4obUaet@{6nO#k;|O-h&w|DN;>UU`T2(DVaVuWPeC z%g*9JjTBpA9Zyi)F3$+ZX__S(tI5A2c=dY4?=HWX&;^|ul1#{KJx#FR!}Y`^`S;4v z>+s|eBpVR2csCXcNK7GKQW=a4AQ)q|rj2y;(g&k2+a28C4Z8>S*`hR{rwP7Bf0 z3ZvHrqO@uh@L^m){1_;scg_ggbACjWuX*m1h>#nOpR{Ag0TlysNa`C+hc!V1l%=RDe8EJe|oY)ETMm4ez0#Xh$Q7x@;-KCs?0D&;|nVO}9W{G#aJAsg|=Wqy>BmTwQpG z!X8w$I#%S{9#$PE3_=?cH&WK52}Q0$qJ)|Xz2S(FaN8W=enoh?tK_JB6v`5D@W5y! zQRAB*W_K%7iSL$7PFCQd($vHD=yT+=klw~U*Zad)Q z4WOH1F!|jbNo`$p2sO*>Rlu;6@6OMLbXHg`2>ysp5$-E#bT$vS`HzaMnu2JMEJpR+8@;v3rBt2J ztuh;V$fqW6D)K!<#7;@l(7lET%g5llk?I%m8to1O$w-@Xrg3|DA#F;`-2JVHv^C=S zNG(nEC(vKkM^||XLHHe1j{oUi{MRn*zquFfovd{nzXkZrto1B)3~a2dzVQS9of#b{ zZOMEa->1%d_(CWl=OVXPr(vF8s1xdJD`XxLCxlgee8XCy+1HyP*93<(SSSxI{LG8z z)5g^u-Hn&rf|^?BOdQHq-GV^muSS|Gwum27;V-A0Gu`AHghE=@6^=J$)NJ}B zs}3~6Is>{0Fkt*zMLo_5mHyh1QZ!YC6o)NxE%8J-)k|u2DiLuIIbXhc{+=Y%22g(6 zUh|qH&7uOn(g%z{;$C7F@fu#Cny=wNXJl*Oa{ z6cd{4f!gJEFmB@F(Yu2>u{6Q~>UbT#F$LMcN6E8Ywm?5bEBK5-sF_oGF^?k#7~&~o z%{SFKByopWXQj2&t6nfIBuV*t+ijs*WtJ;#{h#OE9l< z0eUUVd@%~l^j%Lf(O{a^yHDQ^27$qrJaqQ;A^QW8&DPefa@y!u&tpS5!N<=8-;Pt< zeNW0=eeMF)5cb8w!oA`pHp?2lL5)eMOpPjAUg82mj2b7FIN5uog}B?Xi#5|hTA8*% zBh~%K?)VoV`NZ#QL)awmNzW>^B?sAuyg3+Wp6CyNwv$dfaeX2yN%|(#%Js@+rcLF# z2D!%Q6?>k_f|)B~3Epz$J2yd*QJ=V1$9BDK+?ib*uC&A!Ap0iZR)_s3fh~nqSenq( z=+8|z&zXx_!H0M}kC8;2{_dVlflNQV!OiwFBfB#$CNQsix8qfM_I$WSxL+} zk}>Q?XhxFq?;ww3j_JSRm%U=Ay%KFikPpXyPWL^>7k1y13fYn}7xP zjT1OLD^t+UgSaEKl+|2sxbWqiL~{r0_yir>zhg3`fI+^4%ovn0k~f4q0=WUzgBVvE zxN?3EXJQa0v<0h|0_5#HQJ~yl8i4ANy8_;~O_`4Qi`@J#?enT4X{VbHFjvPzd(DvJ zZl4V+pVD~0yQir#95Fo7DBw zj_WBQPnT(^~}sN>$?KtFutfKtC|i(%fS$vWWq}x>=}u z8*-@2cg=J3fUZA*B3?vwl-w=>)%Uj` zEBV_30-dCM;JZ=eZ%Whacvpz%fflpMb|^VG4d}q$d5R5?IM%MWN^%PTsDX3=<_4on zN#^2C0c7amBMMnZk~awfd+2m<+n}20mU-0lH3!Y~oPrj9&;e-)5*T!TQI*L>g57kf zNqHxz<5GT<(!c;}*8J=et-tqL9fua}n87l^$VjPexzU?zx~ZE-!}8{lhiBAT`7`i* zpZ1l-7zAws;5ahDfoAAU?rK=zX{35Mo^-M1aQCfOCV2fcn8O& zk*C3+I{5aSik?A{YtpGPKxPa54E(|iMw4@snzYoJvj9S*dloV>o*)g??Z5;e!4)b^ z7SAp{!~>O8)WaDEey46wWgks)0ys$i)UN#WASa$Zr7;k>36RJ6eOgIH}JTMW(PlL3Ruh6zPGj(rf zA%v;<^ZF=bk(8zBAiSS&K8#Q_*?MYj86j!>u^n*RX zbsu!Eh*xs!%v2DyJw1{ab-bos&A{fg^=<$S!g`cglAMw|oLJ#UKE^^O60bD&DTTXI zTiNKRC{$2`_F-uzX$NTiAGcCCW`O$zO^ixYst0ZUU@HI-!)f7Cz>mADFMuX$5UFI+ zvNfNXymGHI5#2Oohr?KvuxXV$3OF;Dhm*sPgQ2w;8=I|;Gx%4Ni__3|mz03H&+Gf! zcYA4xD2H$C0*AUd$U6~^VLEZUcsD_#h6edCooT~XtmR5$qJi(A z>0U(6D~O?_5d|sq+{OLG(A=lnm*w;0-1TEC@A0QB#HRtyYL7d_CEK1U@=`xIjhaYa zcJe~AY;!5UkQ`_!7=qx{(4b|MHtAay2`=^olktX-X{TL-*H~_w06OQy&keCZ&bEiD z=)zB@m#=dVQeV4-j_|EFS5YydC)2<7E<1o+KO1^l{EuV;nLmC9g>z1asXUoCFf^J+ zj+TF4A!q!`g+Ebf3at#p<`UVL&%#fn`$7v`vGbiYk7*sD%IxBLPiUU>WY0X!uLK|Up* z1IUjup$w)3+0u7?AENh1$<)ZgrBNBxNnurZmh z{n6hgBumyPL==kU45TcHl0d^f^T7l0foxsU%IrNJ0NcD) zW1K|`wI9o*G`lakbJ~Y#*HrbT{E3A#D|#Fl}B&2b#HUH;RW!a4#rYv+Muk>Wh1DKg+ zNxf~GaWv|TZ(hHT6o;K@s{E3@hK{b+3cdMRjSqYy@S!0efC`C(9Z)K$JhG;MyKKq@ z+Y4(nV~N+5Vh*bR(il2Z(^5M5My_0={-8^ zJ50mK61PjKI@Bj|emk#jQ}U)jyL01crVB(7>fG9x=cXJ_^tMsfpV5HK{gTpop;~=hG&;{^cIoD7QS6of=~ibpI@iP9ODCMz2el>S16AY zFau)DpY%Yr{hfU?WYpFk3M$vOUWY zj~1zuUhO@`H}avmwByi~te=vVAEk1>464rJYvm%VJaw0~nlH_qW>60gch~#2O%`0* zWWVS=*F3Bv&sDT~qt_h*K@)|7}4vkf%Qw2Qb5?)nd14@ED9RF4Zk?~9xH zma|AsugpxonU+T!rx5tnKQpoo_sy2TDuUbDyYZG;VlBH`q4=Jhwe4ek`FuVek%w?& z{w7fDXDGjldG5Tr-_rTecu|k8pq{H*+X&@TSmz|MlQjcrC-|ri^6o;vw|yTy&n>o@ zI%7CPIiz*CZJWAjY^)QTJm|Z79AQx&FXv}qP47&O$2?+Yy52_VACeHIdT;IhGW>rk zD{f2g@m{ zPh!^;xQ#n{QYT)tI(;D7KFff9^>=ZsFv+g?+;Jw+YI_XC6w|L?q@nMVhUfiU*ui(wD0Yb;$Ny4MR1<*yH|M zwq*V}buV&{{+Qy3=2@~Y;oi}5D!5DNYvO``Uf;Ga_YdB7dXa+7V9L}f;BRDw1+4(B zGCkPRFU>xeEx?Z}mqniE2Nhd7v@TuUcTZ61ZY^UXdQB*mN5Yf7R`|0Ny!9slfM=xj z2MLUrq1Z5l6iwY@Kpww`;Y$KufqB5lJU;EbmgR7XfAF@0Ipu!yw%bFlV=FbwoHN*; zmwDn8Cr;e;t-dh#Wbn685B zDTR5f5nu}Zp$UJ4KteY zFs6ZVBz=#^UEQu3MOLy6ORI*K0sOSKaSN-`PRZlJ+*v>m&UK1!XxFz36H?ceJOZJS_ z;ndD-!1Jxb)QFZW?s|UqtsDWMr6yXwEcbg+kCf38Ot^}Sk)#tDlhyH1Nk3N4Dl%WO^zOXP z##L^Y8#7>dciAGIu_}{z&ug1L_=tG>n&)>!sYrJY&sdno*0qK!Bi@qRkrP!$M%y&` z)+--)`)Yz0Dsz*ENB=dD-83;jLD6!|?!u&s^=cSFo@hTK&R z?G1F=q8EF4-fuo=j(FBeqKGJORiQk_8`fkET*7oYo9p}UU+E2kBAORw2*ARieyJS= z*+z$9#D>=@2}AJz2X8YVG|UzOwFHIgEyf3)YO_Vu>Sfn@nkdwEZ>~5hmg4mtjI>cG z0s}0T0Srv=wl%v2UN;?B(4joSYQ-26d}N?1m|{;V1b>Mol{lMV6+J=D=f{+fUu-UM ztLQ|Oc7b+T7%!bFHFnU2oPi_UR+gs4|ox=U* zW_6*ozICh%V+ZTG7IufvEbofFuwP7DUz;H6RmYrWWtMz;8kRC78g(}Kx3xAz&;I!C zYbEFH5?vESXy3+55+Z7S#sD-q*e+Cm0K4pnayjM>n1 z>489s88=E4Ii@@*g`@}@s73;Po5KD$P1Ukd6>2o<=GEkcl2VgSiutx#@5HF0gr7Q8 z0_{LoX!T8kb+9N+BIr#)%8my9P*Xx6NDK>w^?Fh|z-&#^KMezo^58%;espx%N>{mfrC7j74{Y5!Og08wTRetwX^vmh&?!h?3(LE8 zm`XWB+P@X`e5CBvQ=k$iuS<_AomYPc0;rz$y@U-1E9Sm5KKgVIbb(`*h3>ABXYnG7 z*^KK9ztGZwQ`RxRbl55 z#cbB!ItjstwmEq|^{Qy%)V6lJ&a|9JtLY|Lh3-=3=`uL;s0;kOM<^md)6?ZLmdxtA z;LS76d^~$z)0az)!b*@yl5bsm8Kbw71*=ESN)Og-vg!ZUxkGt4I8XK4P1p20&92RZ z>Y)bZdCbKvHlH?(oHcf#c?YsPJ!rpsDPo(+_SeDSS@>>nZ~-;A?S7so12oIIW@1Nd9^U+NhfY2DY?47x>!MG1hGHWXxFZ&d}U zcs0K5>^;1GJ|9n)#+)8ZASWRU+jmcfo}B49x}6k_{Hv00(TH8a!7lbRB??y>I0N8Fp6vsdHih7 zYO+mVF>@i8#-LSQ+UvI_3k*px=q;Z=TxuEvngq2yp+u6cfcQx23e&F_}k^i2+e(Uz3OD8QRY{*A08h@Z$T%4IDRzc!=E0D}aEJg=RW z$niG9Wjp(<^;oVG`TJr9?t6(*VZmej8n*KD1bXQztBJA6>ypX;zD&TjHiZ5(^P|>P}|g@Gf2H2en3dN*NP;)OV4m}lo8N5 ztY9Y*&jo67VwD@MY@y{AI`f?un^tfV1fg}$Fkd;fopF^$slSUWSpz#TZaCBvU*0|h zc|^)o{Q_pM<{5Q?t~em9V+Z5x)8sgwjb*OP=3!!>=Z)Cb6wgd8@wsJI#!%fDERd3% z3!F8G63LJ+NzPC+sXzGAJf^6>|2}mke1W`&Dxxr^knwixP|c>vrJXF^5mm)J2l$(c2^+Zc3g<6_pl53&>|u!K3Qf*WI>9 za#KNf&l?5E2o`78@)kJ?^fn%K&y7n2!uyczoDwaqj%)eEa9W{!VRd2~*w+eeW}V z{5NXjUv-K9X=wg`2DGLYdQQ$J_D=uMBc@a~Y`=B-k5r#aN(y}QpE=VpD}71jNs3K? zD&)##2ds5Mzl5vczhYdyF}!{&4kG!gPhCwv{#v`0Ys##OWS&_(O;%+)Gb|Rh?3(J{ zD%^>fvQ~k%g(^~sw_90hkn`wPAX>VBVtFkG3)<7Cr(RwexFpqq=4#Fq)UimGNv-rO zT5@dHEYeUcjsKDT<&OuF1+R+;+ROc8;+`R91d#vw0T-~Wqd;rkjUevcROA%~Pzwuy zjH@Cxz{tnUpQ~UbH+fD1gjfMS=r~@M2tS$`aC+UAkT0GAaR9-{2L$`fX}44RS2Qmu z;(<4gJccE7)I>-N13;HrXiIXRg#{&)RsCQn^$`DNu)A^J1cp7SR_Y+FSV3%qQo&U4CTqiYiVb+A#)F zjaw@YS+34d;L5w8h@rNgJ-@HIV#bNW=tV~wkdi}dZFh07FMY322OGOJoM{u8S^?Ej zJ$IJBU_e%~U{_=B{2gh-D?JFT&~}&41NNJwdC&ATyrtl#8ciQa1D?V)QJ;~n=19kl zV;m$EaDL|K^edBM>mE z&R6XI)^s3=sM17#D-dW3Pn==={?Z4v({^j`x0||)(vJ=ox z<>#P1g*S#ELO*Bl<8Od$(Qn^q(9c(v?}d_Nafcz$V!&C*$`aL}eQ^accp;-d2vd)u zo8%h#j2mvHNJCOY$#TO%7G}>OU7`fhcymz!P-dqvo#gp{uphZiWPw()?N*MaILnTx;}X& z#!R%!ghe#^;%L(KIX6P--+igdPcPTt;kyb%xeCm(suehpxQ9`x9vut&!KrlT54m8i zHT;QIGPB0ct~8vw`#~l@P)*Y-aqqaimUm$}Z^LvTLXq6YB%L){hSqMa`Fppecr1J~ z+;3l1i2G(c2mtIZv9{9?)RJ*WYo}woy$)d-x7aH%S$Q|nStd6*z{c^QSoxddrePRQ z!)1>`OgTa25de^$N{etrjwSUvji2>pDK#$V+kWg}ohKF0V*|9t70fBAUng$ehZLnp`1NwQM zOttAbjJGR-{oD!#n?B`65R9w^;Y@H!#E~7C=V`CZPIeK|4E3(h$;ku#5|Udgg#PSO zuQWFa027Q8B+8(e>^^f1odVMNIpFO4d3OY%+iyd{Os)DZy>Q!)8r?^kij_rxseX%{ zH!pllD%84`A^o@Bf%3a|cxs(59n~CWHlJi*NJB*Q>k8_bK;Db}`h*Jx$uh_ed)Oe1 zCp76r9I!IAH-N+O6D6vR-!hRl_%TuSsE&yKaX>eC(OzFe&4XF=CZn@c?-11v$mPc0$f7bcp zgU~TFEChnn)d=?dJ7}&{%7K+@2;{cR?2YbjRSy2Ch)ER5G=#?lyiTuVq0WdRyv?K@ z+|ZC5dJXB%*P9+NqZtu$*@lH>qmwFaAst}LKiy<8=M<@V{Jl-5WX}__5Lej0*S}3H z6|~21u!t%-77~!00Gbw+-gRE2ZD4pu^8zcMALK6CY`eYvWnJ;~U^G3{j<(GXpdI0f z=DpPz#}UF|Mko;1|9BfIkoVI#Qz7v8cv5nmNDI*50;M|o?>a*~lG&0dDi~5C=EXdYSMf?46MI_aQf>sxJZYyfNNroHEOnfQQ zb^VA?m)!0hi;OkUP4mY3gXAUFG{$~;u?NHTH9;wJs?k;U&`FD=M` zaj3pMixz*G&>seKjfrkNSKY7ndCH7ch$H+oAiwkyDca_43`Dvx3?rW}(B?_ca-;NG z=kN>J-{2@E;G%e1N|Tg(MH18~)<1II`nWIiPAp)E$X9SWUk!m-YniG<1bBj48 zH~dC)r0qoJulIa0UTo;rn=ZsbMPL|ezg?Q%Bkf}oPH*p0cEfF-=tOXwO?PDm;^xSP zh&XZF)1Y;;f=bvTJYUFbNx%ZIS_{`-MnJy#;o&Jlk`F8rsOq_rWGQI)K*9Awz(GD} zZ014f3n&I+6XURLF$J-pm~HyR5c>P+A9NtGCD4!FLqs;p$!Wvv7pMGx3QE-1jzmz%$Apz_aO$ znLGm6co@(2AHD3KsqBW>FI940fVzG1XI=Y1x_!=pR%rrvlO+1TKL6NWBhgeJTuje+ z#W(_5=>vPFb5?(^_-0&lt#y#S};l)iU)PT0OFOj&ju+&h(gLg0Z(f z_|OzABlk&$VIb$}kOMurkh2FFOjV#hrd-mB@HOkqpcR+Hzj6>GX zO*s512dv=!-j07llH?_RO>MelL(fp<=bwm~t@E$Sg1}_Izaur5dP{_iO?-$oqTOvE&TdAAR)u2d8#bx(vM5rfRp!}^=~pcW6hJ+0tT^XJQGMiEHV#WyWP2rhx&2fO(dj?w(JfL z*Vb`D7MDpvY7XB5uECF3VV^pv;b;ds5=^Csye~VMiXXij#v&RE<6gh~dO@sN5YK?c ziq??uD}FQ}Pea=mRP3wXO9EGv$7wr(2y=s81%t+2*+N&kG+4!C@W8m!qMK&}lo?h4 zRJ3h$GmT~K?@Q{)4EKNVnrjNoLB$WWvux8O6IgcP5 zmZ>HlhnIi2qa>;Nk>JQ5ZdZBqV+!;2{H@vwOKLsh`-beAzALW3uD1Sa#QQI2Qlugk zvmpwNh{j?{Ch4>8#S_`FKv$Q-)y4NJzr>6tmgun}c~6yaSaCnJfeZxD}3x%LDX= zqqBN4 zPJS>e>?qzKOAv_1G3Md8a2r!6FRuely+l;GP)5H`gL}WaonC5eCf*x<9FQkS1>^Er zy=Pv72!VCW$(b?mrAZiTj;Bx)M|d0kZ4|7ZKCTU1S>|V!3$QUJG=bQ9uR3jz7rl72 zg1l{{4m3?;jLyc#<%EL@+>v^GL`CgHzhR9@?Vs-@F&l@bpuzYX&Ee4FWpUX+H22-; z!jMnh_V+MUJaALJs+k$=G(6gJ_rv-=80aT`;N#NXmA_++U0)ODpQ@r zH|FHI!n5lB)6kWMV1@Cbi{dbbUDF8}Vud5;hD=g}mj|V>sfSJ3uczhiUjApQC9j9& zvPwm>`+n*rMKjfFMY9GTqXWiMYe~}zX7!GphrvAqEHVQkQIkm}t8GZwLnx}2 zR37YPu#_m%_mw))zJSkRN|$R-gklm{r>#R`HNOX7Wyqh>$BrUeS)xhG$+FcPU}PqFL8&43lm?=ru5k5LD0 z927t2c7LC_?(q$XO|7!`G-~$bj^^Y9_C_h4I4Pfhc_1X<1|{NHJauMQ-x7 ze^jqh{q6jGhU+(@y0zvlFI}HV6u$+B+rB2j>ZAD(IkvMkX6eU1Bg{&d(jfb+q(EJt zILR~9kl0iI@iF}AYsCATIVG}BXkeo)%}h_2wGAtAA1yxmx_F_lkZne`{`d;c-W=Z( z46Pgzy3qAbtw==9sPIBaEm92BXefKpu+YKcNO0l$K(nM|q6>${civp<_7B`8?1V!W z8=wp66Ec16gk|Yq9*}SR)1Ded3Z}ap)kp;Hk1Y_`LuD`Blh!imEZ~!UrW=h-pq44r zMac-LUBN?sUEjF^AmuXggeBUdco5P0q|4N%x!HWs#&Nu{P(bOn&Cqtl)ZU_2uW?tnf?3Q4aiGg$e@3n~ZkjAGl zQb=q9low`Y31{`X694QUbRF{@{E@aJ2<4L`fe3)dwdQHesHoA?U(v&gKvEd_4wb&> z(c_y`v+C^3KQQ_X0MEu)gx@pFf%PEc-CnEUJ(7~z012Zn!_&^~LrFqpOw#%w$~`T) zdq&|s_tn9q@l55Suur+O%OQgj3=?g~4nC zuoVffID%!e$@^q+uTg4p<0heF=o?qs3Uve#z!o(ngHxdWIr<~{9QD9T*)!}9Gfo_P z{b>lNkv|1J@2aP?Q5p)=V_LG`3jkjHV|Eq5$TLlOE`PL;yLlCFY!#6A0+cQMm**1e zblRxDRq1ly3HO=4e;?1#tYwY@bd|H7sUFsOfm&dhcTmXFmR4-HK9XTXbg64h zX2P>t<>PrH%<5+In>y^)WuVn2f9lvn)AnL_o8U=>^avVyMul}-pz#Uy#9nU6>rw6# zcPLATa~d%K5w)nm9Kxnjq138m=NEZ?p4PQ1(*bxV)xhb>)&1`CpIe+)AC$TeD50?_ zCcmZy)ZU4I03#1dDiLKv-w4CaSQX6MUNygMmnD(u9+*;72okgmBb?ZjEewEo{Y-vL zx;T+tba*V0On*PZvgJ(F^=5^>J_|@rAA>QAWW$<1Kbn5#?Vlz7F^}?7xbT|U%>Y7eQIwP?iw5zdH+{}6D zi8K#4Du~x*W?jwTeOymovURob6&AtHLe^oZpMe!k?{gxSqSz7KoIYoZW~|YOj@_M? zM(}w^G1-9bQGGjV&Dz9f=pgNU(?j_(nR(pI*@;TKd~iosSPhb+!sWBjmkYDt;d*Re z5zVfIExX=zvwp)<^1P`0in;F#x2(KS^f`zgq*%qs%^eXzd99rA@XW0YEAHQyn~{}x z9@Lue^3vvDe1mVP3s1t<(#XarhYzMosQ*Wl`R{@i^4D)BeDOc>E%^U_JoVq6rCVG& zi5sGh-w}%IQNJP7wPziQ?rOb$H&LHCQq~mENR9KHDo+s15)Xrz*)stvMs=!qjKhf^ zp>5MixXb{c`xjPmaV3{u1a(EGpPiju)5%~)>Sx8bWoqkP1P6qLZRXm)R4IojTeSuZ zCeQa@`+`4wSvO|)%kc@^S^gn9roE@KhZ-waXiL;2@dVqzur{szLm3i_1_0m)I(AIe z+SV2ziqe|!BNF)(%DUPEd`}^FY7Y$PkfmMC%f-$)dKf3WU@E#Yixm=3u7;~M=axax zqF$5@u#7ub>%}^ghdcK}7fmL_ekiA*D_)kGsu1a&V8xPTB|0zGB9gvw)Eh*33f1HB z$1e+eFe_)ZSsu2KSp8WR(Y~jx;}4c^*MX6%_%E#N1HCQYu<*t|mcuQDD`>G4+8>%f z&fPL=wg;lc_V*cNw2n2Mvq5GYNHWH=cCXzh$ZFkJ3|*gm68nKOCuJ2K$jZTL^uc3k z0A&MLt~uEs+Ho#z^hjHpSg)Fpjt4VeMZPjnIf-e^f%2cvxwzF^f7)J$0OUU=8vdy< zj7;f$o&_J-utFbjyRHF;qO!ryTY`bCl1(4m%UCxr*~%NPL}qQLpAb>0dnlxUxR*_< z6l`)mdecQ*&%sabf5^dm(;KjK*Ut}<48bvI@>^C#yB&a7s-g|w*3uF7OmQ90jr?Tv zEE4!#bZrzY0(H`WB`>2=#Gqiyd3btJB5S0m7WZGfcf19LZqB-c8{^#_-?qwVa7 z7Duajuz;Ru)07{49yig5CcLFYEciYWXAXCPxT~AJ3i>5Lcy3yMe&J^m;VA$GNQJ;^ zn#H3w>WpOG@(Z(@W7spen&qS5WjMJRnjFxJ>{-`&^D2S=oFSZk^wrDpLF`9B24B}) zdplZnFc!M+Dcg@gd~DQb(G&A3aG!lEzruuN7+w1JS-ZxPTHeo9JatT(2yNln?PXAn z4lMQ-XCH>I{Ya=6AYcB93LH&)lE591QrCI&CXu5TC!;xj3TpLAdN=jB;;#)W_hKl< z0L58apkg(ubSVWFe_nRw6c)R>rqt}TfYC_g?CqXOTK_qBA=4T`v%ETeOi(Hh3!G)t z;|D6AH7PaMQ)!yRqUKV5%CKVA(^>djLCi@V7yq8m5x=1M+R-LT;gR&ADBg9%iXVju zF<+f4Ud%OrHX`BD*o>*JTuAPL1tv9yt-NGTk~pWJD)tYZc1$OB?+RSWZbsRF=j#K`;>e` zdW;mEZTE_}#LwZWN>DBhmBzSG$63o*P%=|wu_5d!AS%v=rUIPxC-d>!rDa6&Qo>7_ z5bU`@#P1R(MK(Dqy@+b-_|$=+bmn!-E=qG_N%lb{DxmAhh3V=`gI;Cqmj20=@XMIm z7S0W{10&1enp1LTbfo&i+*%PZf+S<;ab#-Z)Dv|@gKRV~a_4;uZ>dbPV5mC!E%-pQ zDj%d40v5$0&qT>C`Q^3#gDLH0Kh^<@O0AY{N?{B#h<-C6EC~j9kU(qY0hWrm%{f&n zpp-iPbnPQcjRyX~87{j#Rt`i*2U6dQg0o@ZBHqOav78oTYz2LMZ$Z=1IsrxIo2%aY zTV#1_Ci_I>O^p#Ja*8?T{Wd7lC}B5^i*Z=Ny@M}tnJefecNJ<3!eyF5;$Q%f-Uhr#acX0p3lymf z7}!cbGKwaYCuq?&65mt*lWU9q6DZz7S+z?)%abDo^djRK3iMAE?S(_M6anJ!OUKziw(`F*=(boMFJmfDu}!X*>$*8O^&?T#TK^;9>A)gd4ri z?htLP>$$4RLlCrLK;`oS%<{`q2ut)mOV|ogty`1943=TC8Y$wAFK4l3;aRXs&z0P1 zZK`NaBC3&LF-^Wr&sTSTEk@J){M6*&QLfac5_3d~SuR9zjn7tksdGT5>Pc$pktu>*+cJW19_gFD-zB#+!75gEv>T`woI^~p z>Ah8lPhjRDN)j~gP853+A|iIX{4;LKRkL2f(@uceW#Ok*FaYxW@p@!DsHuQO<9u`% zP@SWIe=KnJ^3as1KzIn`k`XKRnDnY&tqs5)zki|@$exHT)tw?`p_L77Qh#94Q_L8D z6IMyr!oGi;Y^RTeZWYiOm?TKZoQr^_HdYs_c^3+q{-K&YvM{06Igh|nIcIM-a!ivG zowXPsHN;pl^Kt;ei~*ynFthc~KqE@~GOXkS===ikQBaYJ(Ci}EK5WEHkSr$Hl<2x1 z*)4@b6Z~EI)P6Z>1Va-AeSv0|3b)f}odE&A+pkIXsJrejo&$J`=nohhLFgwlnLaWy z3lAe`N=d)zLaQol-X<(B%^r#%_JiiG8K_cuYEL5@Qdh1?7dhSU&HiMaY@cD1Qn9{D^0YBk&TT9`~usC1fF*<83a) z%H|7C0dHo#T~*rxRBBkEkaX_^=uRLgKOV=XrOKCyayvB z#*YRih8~iOkUPO%kG~H%0v%<0F|d0oPKuqFzeU67(5AV*^W>?S1keaK2x{0EplD>5 z^?v@n8GO0x&(qW7)RX=-hGmNjZx~;AIgsnKtWbdH75h3x-4K4-c-~$`Y0MrJ%SV;O z-O)vBVS>cQdIE8XR&%-rK{TS4w5V`_>5%@18CwbPD_xN%ZJXZhnEHEZk>op*89mIf z$2tLnw(dBsSoX}GS6i}&o$rSHYF1-(-W4i}YO`UG@lQ?rz7S~|9wBrLN#SbYHLR=?WS0s+jp)u=6>vA8WLZN1=aG$PsgvBFXXHn zYR{c5chKwp5&=76%TQAR=%=Z?(3tG=}@SA6MlBEFdYgGcC_~NN|%j-$*k4SR()~7Q$JS&Rn@ZiWm3|cl+ zP;eCOOyc_nfQ`!0xQE*MWhcdri1F}#MU{ez#5Z``zJN&~2xCUA$S%!B7H2)$mEj7# zqQ~Mg4g-SX7(v*1o^FO>GqdN^u;y*Y3ue3q2xyTQXwyNdgmhZx3-32*?g3Jo5z8JY*xOms>pYZzhe@^n4tE8kT_!e?e9`6?>th$SoPavjvdw}p$N{rgyu zn>nY4aUnjM4}^?VE(2mdBPvT+!Su*OgWwV}FEj)ac$T-%66r5Dcc&WXiKW}g{q^~N~~Aud*S9e32BTP z1$N{SQR#~6i92GTP-_RZXN9F&;}STapb~08FQk4%uek=#$nCs4I0#<)MlV0I1Zb~- zmuFCGYWZ8XoOXzbNjH4&hc^e2XTle8f;^6Bi-QD*ggmhT!KG6lQ5-PMwc;$DANLEA}EqD48^%oF}LcrW7DbRj#^1ut?XRZfv9~Kb2ECoOb5+p)@Ir zGp;gY6;21Hwj~~cUTbExT!iFGLBQk4GQA*?_)B`JE00?`35b`v;*BF2$9hjLKPq$) zJ+-|?_&8#jM#e>YreQl9IdIOBO6tP=Vrskc*f@Xt?f0qHQ=hgDxT}w7Dzt;!&TBp5 zclOe&7xuj=Ko?Q!Z7B_^!(!CGC~#CNLOQyfVm=pB2^19LyMIns<6?|{Zz0;2Egu#j z$Gd2j2kQNSJ999`WOzetA|K@eZT+jy1=n*Dp3zf8Emf@a!ST=BbQ{-nbj}6 znG=Bz&-#YJK1d5A3yYqS1jfj|thk1IaGw@;IvQ8CM7TlAC9;(5T$EqyAJ&|!aEKu- z_qMNDEok!~zeU%?Gl5(ufM*+9q=3QUWs{UNy4eNuvtr}CKjV3Mijm3YN=BCz`1(Rc z*M8<(Y>-fZNBhHD38TnYwU?i@5W<-(j5WaTx%Vb^BOzci>+sPBr8)>i{4UCpf8FyJ zzzg(*a8L>v0olw;X)Em=bvg5PGgYTOlK*JU8z4~_BN_Wu^-1_Z4PJEO+&4gRnC$~c zJPAQx+DZkKFgIj#3A^=uw}&?U>hvE`%Zh$e*>tjblB=|v11mP`yHJ1hb9{Fs#ZHZzl!NHk zB}%6k-!GQ$XLa%qM>L6-F?&NQSOb0IFd`O91Dx*-&sY>7;X+30Pl0#x*}2hr+bsI3 zLAM$nN-fXl;}VXwD<2HLoN>4Ti}i-38KiNHsjeqi&DPFfkP)SJ0}Wj_ko@Yzhdw%WN#kw24Z}YJbT3M8c7ndB@@WSD!8uHhyYv06xduIr z@0;p3!Ccgc8Xz}9BW9|iiJxFiYxxdRqmu(6*T}WTlcj)ArXfC87!pO`?z5Q)iI^vH>&Ipdn;(2Ja1D)uY`xTw6@snf6GT82$Adbo`UE2gXN4yfnu-v z6x3ng)cR4gOijkmsNV`N@283?pe7lPb{4jg>z$Z$eW7+(2zc8YuE}Z^cVo{*i)Cd+ z|8OFNW}H+(=FP$2-iUFW{+!dHW;vRlU0byR!y0V2DRaJCe6l5456N3qShQy)`&kjn zp!Ey3v&65(p}r5p7nLQ|k@-m3hUVDh#GOLk=gj`?l#Htk8llbxVRz>n;*T(ifS0a{$U!b|LXP0(S^V_CR1g1hPHtY0Wtf_m@K{U(m+Sq~e9! zx8almNz=(EvRcb>OZ*Dr4Q-p!a##H}so^gX`F)c-c-b3bBY1y07|%TS0!4K+Wb=>P8i{!AEf9j^Nsz&9Yd0WT;?Hntx6-1=)&Dfju{3jB(DAQmt%4 ze^9ND+^Q#OQz>YSQwTe#Pl|GG$?%94W->5Ja7m~X?wav{GwJwNSF;GbkWD;C>l%8CXK`~)^YZu&#~ zcqML-b5HGX{4lXn^Ie^Nft5k!s9PO>0pM<2i^x1ZU&6VueN3&zrsNNO{oPcZE+nJ3 z@LRHN_zp$f6C}iICVD?f|F1D7B zIJ<*kjvZaU4b7%&m2UiV^G*|BZS;aGQttC>yg%B(VUFlE;!O-3xTqX;9D73~$C;D9 z@dJtd+J%316fdAGGhpEczm^#PVJuHBnOMn(wKMqXOHK#BS`JXjRQ7^H!dKzC5~USa zEQbx4c+-ipE8y&8p`o$R;Yn}Xf*yL!x$b_!B+&RI+Bg1Q;YM9+wB?e_ArkF!PTV7` zf+c0Np)P6ME6GyGG9oyZhNUlcChMUYz$B{W^%(4lUe28it!T!PXzs zO=PPx>ydYMCW7s$wWK%hZTNNlIJKub=(@WCTcf*z-SLSeIgyetgxA34jN1Y$Ww3BY zW-5f%Wd^Y$9xTOZ8AasKXMB*FfM;54&tANjzzS!MwG|0iT5#SZ{N|ojbOG?g+$8_w z>qH>?qxZ9ghKkcC9Aznk*Q16{VbdH+X70R>dT}rE9*XlLmz{PcF<(71<^+&%wI9wv* zoQ<=tigYve2Urmst{SC!ieP(M&3?udjlr|SlrCJ#(BmZ2tx@$u2vy6w8$~KinaExt z+`LKfV(PRKZPs=ewtg8tF?X?{&GIMfFES8mb(8iX$?bNRHe~lCCx685*@2#V zG>-)F{>)kO8S1GV0@$ zL(#Vo(OJ>k)eE@i6zRT4m&!Pd_khUYNQ@|adZ+5W8~D>Nb0fas=WBx2R*$f{pPR7W zaD6reh66n5~woc?Z_mE zwYqCaJ_&q0A&pq~bSy+jrJ%C=lT=CpUl`NTQSlaTC74T1xu-~(kcO7wa4u!aW+rff zkXRWKs_m0?uFzX<>IMN|zHu4+VVaOfddu+o?d}nsd~$FOx6+v!i7D;?HpOCDB}vD}if^F>RwNsud={zPW(| z?Jg$2sIyvgXxWPG}qoZ2_fw)IitgLW$Q6vLw;7a|}bz5rcA5 z-!K3YZUKEn(YxAW?>sUsX%~nSGUN~7 zvR}98Kr-0?#is30Z3`%jq^rjd(;^Nl zA&9Q#vx%PX(1i!bsEI@hbPA~sdmVpJ-SY(u;Bb_m^$*95NFG%cDE6JWRox?E_i zPzI9=vs%p&o{RQkByA1btyx*9bt=$$Hay;Zj^ zYfL?=jjP#NaFH#AvC$+I7PX}zs%M>gu>l_JT2H^qPi{!eHA>O<^gd42c+~0&8vJR_ zY|}^vNu&(E@WYG5(N`g&E|#^&MOv?6J;R{!Q>m0=Ag*hn1XI``2SJdaK1t7;ove>k zy7o!4g=QVC8XAYCjn4M_ssp!e=}rd>2T~_@T`uO&0XSvr9D$)N7Y>phJk{6R7q$!+ zuLnTVBTka07%6r^(KhSP@gR@g9rIv{>XnBlQ2->#wCx8p##s^?Tp4WB)-^Fc-@Yv( zKyMR@4%LXVN;qE+w%13_C6 zF0DP`Obb&BM$@8&t6sS#OEa{7$9>3lDuVIm0rADc9^4bMhXAj0Q^KK~*0`qov5<*A zG<5Niu09U>Bzx@`k^$ek4JhE{3XtVG>7wZz4K^~>S;3nnrq0* z221X2-S%>?)YqsQmM=G?)XQbdd_z4DoZ#dsCx=EL5(^bHz8#=1#NzIw1fkShsZR-6 zkoE31{M;BX)i{GmWqVvt&$^{3HUPp*=ZwvJl^uJS9NQKt?)GZ+;XzqPgJ$m;=3oFd z7F)gcPDE)(ot&?3YN;xpdd9hK@k=ZN(_Zvr$Y%8 zu7e#;U)sLg{-oR5*`H9qNa|_Ci0goZg`M4n>hdM6LgX1G)-d8|)^ZhPn-#OztVDhK zyDPT&PhL~ZpxO`Gsxl(l{YG(l@GN#I&b?!#o+wfCG@IHoS*F&Nr4~_OQ{w@19-Awr z#$Wsq?He&i3EOy=7v@y<-ShXgV=Za~7Su|(I|Fdf91EC=%&;IKqDyo3yA$vrCIKg; z!OHa@_CJACosea^ot1a2f-nwaZY5DIfaWI^s!D-dB}_U2Y|rD~<3dQ_f|3mdJ}>dny5h|-Qzx4tafA}d%8#_zre0aATd#A7#yyjDY`mTAsCRJ z<}9m}yN^vJQ8}nNfCHFJm6l&Fj0?uz|KuNYg!p6G4?w{Yc*8w}Xc@;Oa-@I`3C)bgv|jL5 zWhdLPx%q6TQGU%sq6AS%&uA37V0@jueGY~~iVxKQ+2)oo+}(`cpCoFx00Yqk8A>0L zJ57GGa%v?`YzaT_?<(h$hKnmZ&^*%u#vFjs{Nb-#pG0O!? z5iq+ue^EYklPQz7+`!XAC+*yC)I<8E)wn*VmV$}g)cZmxoaKeNB?9lLt}t1M-s=& z?f#GjU;Rw{Cz$HiN#uRxLBV~&?aSfm(j1yv%AI9}I15=%EQKQN&p8Mpo^dBmaf`_} z#34q@ZArgff-N1#c+Lzd&#zMa3&9b*64#?&t1iu7%JMljx~m~EDyC+lZ@VrEE~XVl z9!VqI=7?|wmySDWQFgL~R(Z|T+aWQ6l;mSFg?MpQ~lwfdaO?YaJq6wh5#Q(kp+O&$}@>!vn)KI(?`#a4IwLun~M?N=#*YIoc_ z_ud7baOGQQg{qXSiWa7ji*{Z*Qaw4LEq6`6pk#dvh zL$wLF0W$aEZZOqj$J3j8U6mQ&zbRi^97m{hbe-w41^_dR$C@TRnM$X;Ja+F;bCx&P zb5`t7V8Ym_K^WztGsD^J35Sd^8+))YL|7FRXg7KAc|NV18{6`x1 zFY?R&@&|Q^o01&hM-F-Rh>&uQ=TE=F617(VX;P(bmnliiOmqE(WqOqqn&6gtn%lJa z_~(t?;szpHr-Fkf;m9;HLnOq->UK>bEanXw4u|6jNqhqFBd}bbKC2huX&mGiV23~b zp$KBMkuK-}exLmPF^h`3nR&rv1d37oVxOh$m~Il2Ov-I92R0G_fXp%zxe;#dGd{t1 z{-5Y@oG0FiNIX6a6aSdKn_58XN2{~iiE=l%Okqn#Be5AGX#-u?dk-<$iduE%)){^ouo=qB#}8$nml zvFhiCf2VuPAPJC^ik5ToQj;hPZ=zH5j!P>(5hE0hY<%cR-AqqI&3m?=+@79<>Ck(K zzogPaMSf1(z920~v#y(z-76<7F6X{lxM-t>LsrsKL+(*T7d1dvd1L0py&%2I7ZPzQ zHmq~`#j)U8x3NZ8LtfnX1)dft6)g?cD`5c(QtM)%+P@6&+)n$Nv4W|-5@O9v#^2Ah zE2|E0)?M7I%2sn+$T7>m8ytU35l2P)?Mf&BVJ!iG%D#167|jk5{kQY z2|J$LU@QF5P)DSFVH$__m5vl0P$w31F^L4=P2?iT8mDDJICfVv&+l6PU7||+HW^q> zpSVn8NXRv<;d1`eMh^o51<7{C821>4JRB>qxEI;-?X*mSijx{4ckr@OJ&itn1OFR) zo|08~!2W#zMgQ%#|LY-O{pUmYYv!CAvJ)O8FO1q@-P)CDDxW!s!EMbfQH6Dk!7*DK zpF?og`m-=E0AS9L`Lz5SIbRa_MSKq6`B8YDZz=_5ga~ zYOiH_dB+HJW6Pm08r9eZ1ql-^B5wTQ3}FHx0x^UV1P%wlkBv`WjW2;{t{e)UM{lIB zmmAInH$gPO83N*Yh<&yt(Z$v-DD+%YD;r%Zp4l7N;6AA1Vvv%ML-Yqf3D^^`f^q%2 z&bOdJl+e2U6g7j?kRja({d+%@#f^PS@SjBAQFAa;Rq?+-YHoV5 zB%nUJod3Yl@WM`ZtLNl!(DP|4-;SCDVX+HxLDWLjv=GHqU77oYjSFj72(A1pbH20Z z^H0pV*8h_^@9sZM`Jc>r$NvX&?v?g$m~)SB<~-o<%=tz7Uoq$Ie`C($|Cu?@`uEKF z#NU~7yO@8^oMZl5=Dg;gnR9!Yb^M#8L4>^hA0&s0JN6XUdCT^K;%(=ULHKfn0_Wj9 zE!(&6M@6c^Zi|3DSHx*xu@C<9OaTcM#S=)Y8e=!%ifSa3hTG^(h063jMNYJ?;WO!z zWLsk)>G(FOtB@F3!Q&4UjzI7JZV&DMojFhW8*_et^POiMcG8~EKjgxVQn&ldtrY_I z>7qcoBpPMhP-7a<%bFA7=Tmvzy_TWMEFw|a{q7lG&(|xHcc*pO0(QgFf`&EM8;P*S zK}appp2~uNKeb;_PMJ7qI2;rfts;l*M)iitarX66Mc>uxq3|#?Hupg3gJB zB!4G=51)?yBXs^32D)Y@&U$VphOQPSZr?__Hh-H%{qNEsD?vc+J6a&*E3$@5GT=%# zVWHt5ns89HNU&6s06A`~T_%(Kf3bH?(V1@Bx{jTSZQHggwr$(Cjf!pCb}F`Q+o&X! zoXolQ+Iz3H&z$X?yK`~=)^hP*rM3SXZG2jfFA#mUC{AI%Z zRBNl+AoAlW$TM{C9QH7eggny!qzh>2aN|O+LPze5r<#f=@Yf4Ktr@0+mt4-AQ?WNKr~PWbB& z7pWBs5TKSL=#ark9W0vMZVChy#0q4rak7>ZYJtOOCk@Svw`$Oo#8T<#3HD5@ZcPkD z!y(?r9d6A~WzNmt1V)NIU)4@-umR%?Nu3#6e=cOd$sk0>zL9K=pLQ^l2GcmO5D6wL zm5YB?X(bZNpj~Ka=Hj)Y4M>k6xIs6bH-Ck%f6PYi&etderc89+-yki z!KaIy%=o_KNM_hXo9C4)+aaWC=UF1pnXMLky?tX#B-I#JW-k=0 zHt^Hj_-XQRyXNY~6h?(b*+g2NMQjPKlMSZ}1eb**;qsnr=VBae`LhrJu-CPkPa%qh zm?{tSicVUf~jcez>V2BY<@#+%GKXSMY_?jRY^f(m3K4Peo! zLa!!DWr}eDCp2TwZ^sZve36<&i~?!+ZsxvIuHOl;n%d5Aa~w~fzEs&Rnd>qk- zpe0GVmawZ)uFz7G6~H8Len3-FTx^_Q8xJO~Ih=Oq!MnE>Z`4h3+h$-tyc`}I`bY@T zI2H&2G)>R6bxu!ehx790dYD|iS2c9ubLdvReuDr4i3Ga!la)!VBc?OiAb1QQh2zlr zI=9%Q%sPb|Av34@i*u}G$-LHfN5Qb@+aY@#5&TxUg@huoBL*bcEFtp)_2z1PH1ujq z!>{1}X>IVLpwuw9(QTYPdozOjB2yHe+2rFsQcq0XF`bC~V4)U;^K@$`J?&5^QXI&a zA<%}_YYt_R-5*~DNR4T#!`z-ZGYP_e@158lyM_6g1nwg;X&#vr?KYUt`3G?%ME8eN z%jE^>ueFYsEK5j9N~oBb#oNIeEb9xQEX8Qq>bIcs4<3w6SFeA8+x!sM6P+!NJJp{Ll9ouLxVgftJ>Fm!tOAApWCW&~{ zT;l=)M?!8p9}6|M0BdIv{e0eC01Y5KydU^2k}M&r}WB^M~Vn7<7+N}5X)k(a0-4{#D|{*cy*D5g0_!N^p&Q&R!Oh#M~VvCfGwaQswi&S+oVtT`{I zRK1^alq5Glx4xJ2syc_ofPdbO?}M8=b>hmhS?6|Y$*4d3;F>KaaZRi&mW=KwFyhdz z8DH!q0ggBB{X!hvP`ZJ6!3WrY%0-J*6l6X2WiwQ?SF0bd%GV%ukclmE1_@*Dc3~7rZ@_bvNcW z+`IAul}n#I&1t$rN2*2gis}eP(*`u^ed5{>J7gKLuIgE*j+;h73nIZ6=wkv_jq9;K^t*)01c-%;c&;TB%1VQOw;wNk`Rx#x zMOy;DDv)-?Gf-E*=SX^w&>jGxXESJ5l>E>T?b}f+piTTenf08p04rQ42(9Az%5ce| znraLF!Oel~l9H+yvRq7>G67SS61ArUT^p4>9w>EVlVNWRhX|QaN!{gw=bdUO*suT2W667MYOXjWx+&YL<2nk=M2XEQBsd6Pu^ z%cuwOE#xO(fK=ahD^_<-0y;}5t<)LEJe?S0_&bNe6Q#OgXr1sGZLO@*!g`O}gTtzw ztI)66Q`>>0zn{z25$->>K5qK>3_4U`d)=(xOc~Uy|o((of{5AFZ5c zG&$yx@4uk`xP4I&bwg%<-Mm8n_I&midX2wZ{z)p6Hv6pb-ER~oi$M7RDO0!}KXx%` z;`J1XHydqcfii-H6b&PxLzG5-;1F5n!p)LhBp^2uuh$1@E0M+DKij`dM&-{Dxj9HE zFynUWdI^ei4-_%FU0eCbG{fjZosYl~q)*RouU0Og!|tLi38th1wIS-KM1eOEJ`-bi zDP~u$Z)sK~srP|+$P5FUN0Y7W7*yFYO$U!MxBt>i^&2==;4nhK%L*?jth=AqK$yab zsI*)}1jC93(RcwHh|&V3ju;9wHYcXAe3fG~huwuHx%pzoL)2A?R9{92H{{~IYgu;O zau5nw!!~gobAN|R#yuT^Z*Q83BBB44_k`Z)EqkyF?T`x4fu60K#g}r@ z?0gVJB1+dWAORK6K`%Ac86!fkhzWa2Q<_xwjerr=i^37VZU()t=WEs|kx1(U#HuW_R!|0+Dch!LG=Gmi+yNQCJOFNWqG6}XX$ky#jsh9 z^F4i0t$pd;TMcrYIX!|-lnt#9H&Xz32iv9uKQ z0Y-)+>8u2h%yZIz&56rvkG>Grt+WV?Wo@RONS0chy{J==yprB#gCyaSCO~#x64}5x zBsrg#kgBV~kHo8d&tPqV=^%}b6GV2N#LO-d1;U-kNT_KowMoXc-6(MI3Pj$*R%Ej7 zlIeNtU1`j}0aRaUl55J@FNDmzDWMhK$eeD=F}?QP_32R@r{OY3CR_41!C7ZZ5O;OR zPN=nQ%=SD}v1Ss(qx&HjLd*2_sDcnM5v-nf9BQvY5GqBJvSU}ooi`9Qz!E59y z3cXu9K8QJ$=`ClIXB&uZT`eu*{XQFdOmE<=WSPAzawuaJ-**=-b=Dr-`ypTXPY~{NL@b{sdtNV#^xZA7iQ)wXI$QIN?(Y6Gfz*2wRR#LG z8@2yS0{QPhFwOt%5A2<=X@kWEAN*BR`Z9)!h4`##LW3zF)4=D(z>-Z>3EEFzF&2-| zn5snRp^peXV7%(N#|L!88$%1YH{rM8O=og2odv;5Po0^mZ&dcooOK!<0@*5Br8)5( zEwhp)QHWHa9C9XS9h*gnT18*GK}zG?GOMG8Mmny~@V=WYTDx~FlZNp1qpH5lKGoMU zgymndslco+*0c)lZD&bh#~ww_kDAp}qoSdK(%yuRD#rj>NA1mnzvD{gGXMqp!=fdY zNh^^;@Kn`*M?q>NuxK$J$^9O#U7rbzhec*LmovQcY$io1k43UnX+TKHhGa~YVuvE= z^%#^8)xe-seT6uVI}eFe2}wXX27&an)+#4UfWRf#u7n|pt|ptHSJ_^v)s}{K0^P;( z)VJ_GgB&Iqy<<+!q{=R0x4}Wt>+|WF*m62TFa-Vj+0FOfo<55NlhkDA+4d8rm_xu& z@KjxJCEX~|C-%|jW#7h(-`!2Oc!gz(RcwJaxO)kH!0NKV+b&OJoY@ji!<7^i?W|HH zvG{wX9zN|tw%bP_#US%!mR;Udr|AHU)kb5sMB|i2N-AVW;7N2s6z4T$t1~by9t`Di+sfbrzO~Ee$CY+Yq?RCxcUp$Kg%xR5P1M8YOogBH@#3UHRD`J+ z9gr=Y&F(!>VM8+Eu=%ej?EwI!DZvNqMT&e@DK0WEl3kK=M&99E*E@}~?6bzv1p*0^ z%Wzm>smV$+dGuBA$Z}|*1s~@4{Q^TIZq#3+`hu&|wW}B<=%0+*wyV zsUu4a>RvDcm6waHwM(zBKicx;u?l{-!tK=Veo!Bv#jy0 zDIpAXzlkZXj|CkPWD-ATd;0t;mQ*lTMm^wRdR0&t#3fngq?kB#QuHzrKfGXJm^*A+ zBegYFPY~TyPk0uH+2@R@sHpO+RzCVTtzoIcK*{K&&}AB98!n(!kjDM>Nyi_612ho~ z7X&yD_=Rrg){_O2JHmespz%*^$OPsv1%kKwR@fhl??R9P*sxx}tbOEcbFR`mMhPia zfefy6Zpdn=D2@vFqsyvG5Wf)=It;qSF+D)1s55-&L>?ll-~SrOfI5TT0Sk>7{yIReBDBkiwGoI@> z{B}!hV5t7<6V}Nh;_NitALq)Y*kCo5|B>qd`^NScfXe^P!zfZ&k6CAh{|bDtD}?b0 z0~9U_Pzd-t03(_+VCzp3^sQRw#7u~P(2B2GvcEnDw5!!u0f3%?>zag^PNhK`*RX;Z zHi=cD(L8DG|KgbaN%Nc1h|(wqy?gWP5^uZ1J3z%Z@O*uPr`s)WFfbJechjIjszQER z0if(h$ZtPvrvczMvV-OtwvXNwz4NV|C$n}m++Twvte32?IV%e&N(K#{Y!TGP=@Ztx);NgGlXfjlFUdsWs~ zqR$Y=;cuiZf3DqkmJW1aq{=>S%r1~n)%3lImi4PKAE%?(`})wS9Gs(CY*2f~M1MA4 zU+wocRJpT#i@?SYHRi8CpT(#HaYJ$Fd~WLDne%|J(T$J(EsvM(vbR&OIl@zCsj(k- zQqE7^t%-M^-Pse3iyUcD#{A8wEqj)klZyqI^Br)_zclbYAqMQ0_>CPT^~H4f4yk5@ z{RQFo-b-AuaqHH1v=}M#mnqHGJmpGjha8iVB;}{p0=w}^V*S*cdaII92D`2!PHOQZ zmktaveYZ!&(ML0zp_;B1w37;-qSvr3uCa0@PL!ik6-wvFY9-E9CKnyBq?pl63F+dD z?)jiWzlJD+^LnHC{GX-{wC(`@=sn-z-D2}qaRfTO*HNm~B4Ly5xuw(01b13N z?Z8(?4qTv%cQ1 z?S58&-gt(m1)Je@hMsN_nl6XB3DvHdKnOB$Yg4@hRGB2WXzX`QIwGRy8St=EDQDM6W4TraB39!jXMg$niOdQV zU(Sb{$2)R69|$Ab>TD1GjMpW}^kY?Ir}bu1*on$OSNuU-#$bmlUtg&P*+Z`@7r}i` z&pS#Epzkpwjdy$<&mB4A@TV?$>r9t%v^ti?W01ryb9QIZgwp2Wq z=~`jgI5kSF>_j!#&N3PSqkcdHQp4uV*&&IB_jp06*k6$8dTz7qOV!j%!*5loP+-+s zRITnnpFh5K>FC-9_#}&rf5>MkHHc0j^079GP8s-i#l*Ln0F&x``l$uS^K>9$mvpyq83MqY=5l!WKkg^OJ-ZY{(XYk8I~1c5l4h z4FJRz!Pnjo?O55q3D;#d7$R58GJ7B#a;(>KKLFmaw5swnHkUiwo&V@i#HyYmUgVdolt5V{TH_rr@aCccQwiANW|y7D5sGOIr#M`%(B%~v z2?Zh-s5fnbw2Y~`3vI2VrZP1LBt`DzPh*NDEV1vsx`hH0Nuwb9j zEO}%4Dt^KCj&&@I^yKD%4aR=x)lW0BF%y{19T^d;wkP{-MQz@79Dsy z0a07!@OAMFuHKD0gpaJ`F3U|yCD^L*XN{Ys`n);1e)gXZa2sq#Wz@1M;@b5LNaIr< zs6T)Pg)_{6oG1u>X68Huw)R z(XG6CWU58>$=w1esF)hadO8SY#cuPTF7&(xe)_`(c2U!+sqCSn)|Nr8K-1MUvm4+KA!YFzgSg>j{vv9hxF#C@by#T9X<|jWEL*zE~v`|m0#iZ|GJ;Zoe4|%vb zGo4x$D)@_bI8thyt`n=8K#@cLi@2wQ)hu)6d{ap z{GF9zc8P-#7a$a(`^(pcr>7Nd=QL}cSLXuCrmk=}mqN|te~1u@bBAl7Hged;Qp zxp9qf%-T|D?KPbP^TY0=zJzoPh~K+?i!v`!~_FZ2tBNh(Td`a2e+ zTdch~JbLOFQCOB_?}NloCX!%k=VmC#Js}F_RE+*aIyoznw%W+{-qaFoq#34(diW{f zD3=n{C}SNXGdb{}Ay{&waIiJX)VY&h-yU|pKsBhqe*SVJ8&zZTh&lc-CSqNP9Vtxg zfkT)q7a&Nc%GuoNcEeljRxkqTBtt3kD-XOR*eLquMs|+laf-T+tsmdM2(RR%uaRkY-^ zZUJHOORA~fcVbjjL%(Tk#&w+Oqpw{%zZ4)m zCNqK$_*?5LzFj^Aq~)2pRII_4q;(pmSx4LXwy?)*n|iE=Xm&ths0P66S0UaYrZ?TBGFnO@Z)CNMu8)9ntR%@<0hO2ap z7~WBm?bXqq4t1`)s!7|Ltq(K>N0^%xV7-Z9F1x$5y2@!DXruoSnRlr*+&Ng&H!2hO zNgkG^L6MWK;_3&XfP?tWT&wc?#pTkZz4_dAtS9}Fi4h%gUKgPo&W=zw+XBy(r(2vq zQ=3zlT;0XknxMVDkvDNu1Xgy{bILQVP*=6xaB7P#SFH#h?9wmS5f+o|i_L68wcNea z2+nc+=2#NxVdi;ni(R$lwj2Y5eNV-0Zb?C6dF&)!tBdD$4|-S8c&qsCKd1I*KmE6#>q z;L!lBG*8US*qsO;Y@r`sX@Zle^+$uOX!dA>DuWVTI!n`|I-Z+taxp^Mi2j6_k9(}d!nF8>(Pc8+636q^=4Qv2sW?6}f|)C9mOtY9)R9oc;5X5i{7!bX zPD*xk-mqKaS|y|K#2T7F_(xKS^Bu?dlmT(NCxOWJ_nPJF$JasgO}gn*$4{PgM*`eJ z_R1&hNBlvbq~lY4#jqa`AD@6}A=H8wD4@OL?2Vs9QUw6HSZ&b$6EEas>WDXrY2y{~ zco3}z<4N%;ATZ7V)O5_lqRQ_)c63ajMwDS3Hl-MtfwYa8K#Cl|CX7IY7{GPJe%z55 z%(=!A{1Q(!9I3T?J9fP2W2q#yji{!2;DMSjc;Z_?EjmMx^mV96h;o$B;AU7$#ow~x z5RQBXxIizI2IMI-xWST150y`fj4H}TbTF)A^uRF5HCYPU^3UO0zja_bJ5^Yc4cOl} z>$5;O9n&)cB9;k&AKor}q2n+g7C$rrpr^-^k@&#y*+4GZY-2i6rIALw}01^RW2|-p{d-oQtj-^ z$=I}D*{5fkL7U#ilwyfH`_>sgI=tnuFq&;48R{a5-rv+#(E}&aZvm*0V4q+Y_}&qs zI%s3K z6YCN?i*!Y^E7jG`*8QC3i)9j?QT63)L~m_@3(wg=4! zzT2`4TVQogKbl5)P`0e*9^&!MJza;i=g4YhXo9>3xb7g-62=nRliZdjV zkDjx@=laxMznC7eG4*W2u-IY;+^ab7=}x&!^m|OwFvj{OX^3_CqY!r|e&hX(d}8a< znA30DBXIX|h1)jWf%AeHpFg`HS%8!vkkrQ-czKSDYYG5R?`QOesZxQ$tf5E15`k<6 z+B|L-UO$A%KJDS6Y}2g7@VTVL}>KldDM-K+`^7=Ac?HT{XH*?I$^BGr) z7gXpaa^L*!VbKr%a94!Y$lFO_Q>*N(iM^OIFgktk&{V&Kqsd3T(ERn;RrIt<3&Y={ z(-+~XLzA@WW;pR?=~1aFpE%FoRFJNTAoc2fPElnJQJ@&^len8%qn36Q?-|4@b_N;@a zrs^pC4)<||sbDm~L>H)v%Jotek#b7@W~~*g%18^|O^S#HvTBs=Dp+_R*>Xz5V1+7^ z8>p?>vVf+9jv$UL%94`a8`rrHM~`brs=u80ap`HOVfS~&pIDaio=xDPP;H`ss-C)- zunL}yO~SFPfuvd&PQ?e>I(eo6?qE~=STN=rd7#ncy;ycEmMjbPQ-Hid#GLe)dB!RU zBnw+tc_LhXXS4m+pRcyPgNcIYJ5!jX?2g$0T*T|$-_34q$m&R*AGU|`f~#1ofW7oG z`^_bf`mpLrn(n12%!=rw_w$Un?oMDK4n*+jYb!yQHx`%doW9Ly7~W%aYD~1wP65~G zKNdohc&8_D&=nz`e;j3c*t-_l(dkeWA6p!aqsh)4Jy?-XVm{jZ2CdX%Po^8na_6i) z0A}133`lgsm12n7hqEV@cL@DfNUAw?2U;r!)(alHCSOxK^a7LGYKq+yySQ6iUL*)u zdZ;OEcoLUj+2> zd;1e`p64^6TuWTc$|ju zwoB>7zQ!HV+sJO~WpDacVq50p>GpR=r^%AOfx09S1L_5tQ?^oc_jl+h5M~IXw)Mb= zZ$X7?6Sb;+Qht2n4C(f(HnU&K%!jn_^;5mh_4h$}_?L_{xklf7ge`l;{n6BrN4hc^LuW9I z83Lwq^~Po~)rnqs#J4a$yUZJ3Vw5C!sT00|5)XwK$`67jj0IB+Jm69@nmS<${g#}h zt{{g5;7bzY*(%*!`5;{-&J2WbkE@QoA5IMid8CDAE#UMZHMiOwOPAo3isubLR?(F%cHQnNovbo2mu0>?3~wq? z{ybpND?;h|G1y(uN6>{cOj6_M#V^B%Kk~~c$jPFWw`b>Ao!?PNs4ht(b?G<$;El@n zu8yFC`wQ`!ag1k&VeW{E>gMfJZ3$WhcB8l;7o5E-$GA*q$=f`pMKwN7bFE8odwJgr zqr3i>3n;#bFzPHlD1^;!_Uo{S5jS`42STzQ`EsK40vFLQBB(@OMBo(GG;*Vq2gD}4 zuX*a3MyF!2@UcHkg-vrp8BF7;T}N>~LN6E@NAG&UsU*Ac$uBJypna;m<%9H$@_hJx zXu=sbgL4s9I}7k=8gx-T|JhwEt9h|LX1JqwBa2v})d*;tepPeqm4{{4K9QM8cGoZg zvP3CCUil<}b>J&spCC5ka5r|$t3({Cm*^%dSq`r9lt7S*wRs|7XR(u7f$Pe(e4)!X z`{50p`&(!4JMCrpuPj%PFZKLHasdNWJJ$B+Jh0QN@L1Y032`c}Ge`kF9HO{QjVxii zKU=XpVO*%ly1BMiKUu6>tM`XN%r;->X(>#NS^p%E|JzW~ys8WgWsO>v6Ncp3C8-%_ z+RyGyqy6XaRc-w|VmVX$xGQ?>bcJ_j35DkrrmT2cMf(JTYdK=L zLXO=a8KSzYbtZd9b&37UZ~Dz@?~s}1)Wa>6)kRzH@4I*va%qqDN7_DkcMp7jB=+HU zjzcnE!NL~8-@T~+A~4Z6bTW7O>dw`5(l^jG`8ePzZdw4(6O{CPzz9m0$uo?OyPpl%7_LhMIq3FHu8 zN3|0H%RzrI31cw03cdsU2H|C7tw)&(LX6}mw{2SXA!A{kJIRPYPXwuz65v3%;l0FHD8*kz+ll;k z9uZSNKu<*gvviOav++~1PVrY_hJ5x2<6_do87(_R&Z9;au(M%VIs0YUop=*V!Gje} zDA{qA9vq@u9J6Pl4s5#x4e}+r^mb>HgF@9ZSp=0bcD;&iP0_uEqnxX_HbtkndkN3T|=-<;8d~VO|-Z zt{IBd$BNv5v+kLwzoltO8~;qQx3RRg=dZR1HQ%cea~G=a6?Ao} z<{jgT%%)vh3zBj+8}8Z(#l)1|^G__g1CEse6!#bFVJR-$hlD&5i#I!fY%;GIp3?=5 z@gFsakL5NCm+3Z$uNAmxE2^rRd8pg`w9^(^knFf5?J+)c5;Lc`n zR5{63!{39)whcT9%*V~W-jXGJEwSq9{C<-yB=D{Vz-!!*jNw+IOI zz%B$KNe;7R>$~)Kl=gSHVO-}F`QYU?oY^FIn3P$yi<*??-|8eDCxM+==Wh8F<6QA` zr>_rp4Ye;>9CH*D54(iWmT4pR8CGW|r)VtPUpVS*8y)pDV_Qr)qMd}W!f9N{0fj33 zvJ_KE;m;!VtT#H28sUI%nAF+4F}#7XLQhYH@-S$oQHzNte06eDkyqV)U4?LuT|MOphV_T@v3_4qG_hxc~P ziLugF8Y7F6QW6?t6rpCkq%nnpdC`e}!yu?>I`ISnJs5qVnx)Di(OvMb_(H&mV8=Yw zc$^9YUb8`SrvkbXPfXZv4qsjLdvzF6Q_WI+R;W})U_HBpy9SVo5EBuWFK1M_J@SFL ze*mX%EIxpTNF9*fK>7&L>UI@C93V0XDno01(EBejzWmbswLTE@r^pUJb^@TK1arx1 zvsX|G|KNB~xQ$9O*SPF8#bZ!5_y%yQa5E`@5_4xJI!x1Gl`*U3V*sGZ%n-3}fB)*F zPhlKY465_SzC>oT$|kg50k1=b?w&y5fq@RrlRH9{JHTpOU_ejWhfg*el1s`#7JpS3x_9OIU&nbxE;vaDmW&Z^KPgJr7-`cb3S+>92+O3bnOv zK+vdVrA56mB(LE2tn<`syaRtiV!?2AwHlkp7_Ri^+3}aSxhszmoHsW%*GAbgmQ57t zmk$(2oK#X23dx0$5;%}`4|j!_TR%gA$Q8Ku-`QFPrvFr(i(QGdt_)FKP9W+Rq=X1- zC;g&$fUVjlP?#64nxa>wR$HSFQcKf#^uwpN8&FEfQ%|0?3ku%eewoocyh=aL%eH#? zUlZ@BxSJR)i4xlN3(rJI53Zx7EZk9(NAVLZnCcbsTuwTw%;iToaso!?nJc-BH7G?h z;QR-Wai#nQa`Z2&vH?C{Est9tQF=n|PaFHSS1PUi74^m1Vg1qjB@$dv7g9oLhB*vQ z8->t=5*n_Idf`BXd4dEE$udxQ!O01%Fkgb@6-+22VYe9rZCBqxm%%{GN7bo=S!);T zq~ME1!{N!_8IGX>{fXd8zqLMcW!iFFnNX3&BQIXW(g!;@Gh4)glWZp!aqEMbMk-xB zK+Q6%uTxRl6ug);?@&yEtm`G*r)t>mf(HsZQkeX~Y~YMkMX$-Y;2Ednh#7YzZipJR zZ2rEPINwkiU*N!?d6UMP+LU_U7(uk2k%Y{Iyngf=Ay_dEQ_vru=Vo0t?H18atrYzI ztx-j6!!ep%hpB-uq8CRiACgOuKkZgu+}dfDSAcMR{bwW!mdHM;!(}jx)~!-sXSzq!wAu<+rq)` z8JrqHgtOOe>Y!-y%{>rhAjb?K za3NJ7VJCp2xvrvWR;(9Ei3|;xp2tqKoK9vQ?B^dYr7Wb~G46q+rlC-gILe{5dKS0m zfj^LC-R>?U!b$AU@gekIQ_|P9D~&_)`5n=2s3J##tHw|!lcWraCnXosX&9`&2k2xP zwvI4qCYdo|0eahCm`L87nw{=T)a@sQD6&&@WYY%dPb$2t zSoL9;j5-_3n1#sn)lVDakQBgrRp2jK7#R`Vj!y=laL%(%c2WUOGe{gWrhjSfvxr2n z*VNhZ;6~5B5f!yq7~Jk8fV+@K}Z2I3u%MT_O)?r#F;ckr3*E=#mWoaB^#!@eI=X`o~J8NMHD& zPRFz(XaXZCJ*be31t7&;!od|kb^SEUM#We(7xquC;Y~{_qcwSL=&CKQh~~J?8!PRt zA`69-wdd@rn()k5#a8#K1Cs$3ZmM=sH(I9<29&Y4ESc9fG@ZP84&jyx-{@AK8ntA7 z1se~>DQ_?w;S7}=TEsZ91^hySLLx=vP7a_z1r~^)pdQ|isM4%2$Wms>sGp2*TP{(Y z&OLR3N7K%;^#F!5AehhP8bHpgLACF@q{ek?xGK}Y5!!EQxjY7%jJB=v@CYB1Z2ART zhg&V`gB4sR*-DfRZe@vbh7B0bT(;bLQ(y=#@LY`x^5cBpFk0-l4_()vOZxbVr4+Vp zwdPjBo0&6;J#kS}jfQHqN;$RN1*4~Dt*@Y&SKjTv+C3D=J*PSfuTA^Tt7q2O84O$V z8XBxYP|fy|cz$R4Y`Q|f8)Yu-nGYLgMeG|G+^@n}xuRkDQg=#e@C)IPT#Wv-iy&bDJD=0K%$fQHG%SkjyruW`p3m z9?q7MFa5%D9h9x$l1O^9f1g~W%f$KEu*bIG3Zh&*b=oLMkLXHZN}0Ch-fi;51!LLO zFL|)H1dzewgkO<4`YM!3vs!GkHBh9+aC>r>Mk>)}-%7sT{jm1JqGBjO6Y?u}Ca>wp zN*Blo?u(X|Q4m|eVij}fZ{!(n4-h;CP@=q}E0`kUpVy;=)#cYz>Eg>_$Tkq{lA=`a zBHJ?{xI9mESg&;-U!$u?{GbeBX1smYwu2^*k5o@bR6Aupm~Irr#O zO@`lz*R=;{SHY}j*9^q=rh6<{h~q-#WNOo0+86eldT+2m5(RT^x_1`p*OauIU03CYc|rQ+_BwP5Ko5y~lCRIbE8P zic(<0=jM0>k|!ZDSc4m~ZcvK(f=l~KlDS+|l9WnfV!mP=Uwu&&B6-W=hG!yZYqed) zZ6KR!?EY1_%_w;qbnBgf77Wu#MyzQPq-<9(f%Ns-s_l+9Y= z0x4{9b~xiSv~vd7p~L(=6A|< zIbg*zuvi3QcC?NNhK$sJqry=vS*R}gB%nYx;_EOd;?Ou^r46EW-uuly<7_9sVGd9{ z+t6)DB;TB{cvz*yQYWNm;B_ON0)Z4~%%GZ!C$`a(LJ8ha`vSLtET&ug3)a5>wr21F zNv1R!-RgF)fKvbFLH^#vh2jeKkqE<;87<-qK;wwAFKKeTe!bP1ird7{%@XM|GaF+3 z4?GAyJ}A7|*KpNO^8cPI{Ci)~|4FW3WNc{uHDvYA)=UL$+l)V%3u{Pf;gzH}%q?;U zg}?Bt67wk|N+oB7o9+F6#^k?0k9eZ-hm~?qUS3U1Zrn*s3vZ@c2=&$F`!8Tv%F`eP(R0s7wR8kc9>1lW_bi`W@vy4DvX84H#s#hf%UJ$Tr0J_lmEv|p0Np6zxYw2J8pE&9FWa)C2L{82&<$%dD2+3u0q3J7+y`$d9`#4qRV_ z9^#q_DwG`-xC22({mu(W7LkdZnz>$w*pPwLC(lP{~tWh{QKwbzG&@=^kHM>XU1&lRR zoIQ)gsBVtglUmajv_pl9qWGW2a+aE8jEjnKhsz6#dA5R8wd`P~R8Cy<{=zMJk0sh_ zo|rm=ZUu+V7eH&Frm~09EY$!8+g+?2us>_2ZBZt@6EycUO~aj80Pjji#py@=Y6Q)C zN798M248$5^$UE_)BG58VE)!E>f6*sqsWxWGgJd4Sw!G88*Ql}d?sWwhOD7(tP53W zY4QzfF40(hlP3sZo~hV8#KCwu)|;%crkE=2Dy8D1E}RueXfaADVfMSHdfQ%TKlY-Q z{jqEHOJC*>8+7FBNRA}T==BleNK*7!UL^Azk-WMo6X^h`B`1rcLILIHEMsnQ_=wn{uG z(=qIT{v~%jmQZ4*3$DSkX8kuhDKLSTo$0 z#11DEEY%QS07=&9mKJA-NrRF^Fu6bp!|Pr;g;{F_Sj{LlERkvs?;Xe*-UG?!PR`zN zwd|Hu20GrWrdmKV^d^xwH;O?I9XwPeS7Z)(1H7DmU(nr~HQ?H!iC(*ZpojixJ^-CL8hxQUq z#$u00Sf;>j^V<^eK+I0&0~sxl$oh=I`z$yGbv?Pxm8N)SBbev&fvZaw2&UgL7^cb( zvcMWT(Pw_&NI4+5%uC0PpzP~z^;_OBANdkz2M1;Kl*$x4^@Rxz&USOA#i>S}M>7pI zbieDuOse1h+3#m3K2C!1wb_{e3+43RH=O^;CwBM`d+9$g6LkMZ^^qL-52_EKaNmJ> zy=!t<(ZZ`jp_sIxR1YojZ^7Fh$*Xi$i9Szu6I;`xkWIQZV`c4Bmf&Tn>p{kXxQIt; zu9y4tREvhHxr@WIPdIuYtY9g^9eAoI5b|`v>EISj`gRJ5NoY`NC6EyXdmv(NFq_~nv8*Lj zrP5nDTm%oOn+iHPE};7aDVP*CNgN!9d$jCpB1>-8FgzpL6|lGKqhGd=bVuObibhL* zM?oD)=H*bF>2n$ite?M7veo1l-G@Y4a48PUoM`l-MnPz-H9;Q&#^KkGG?O0}2eV0+`7$(8qz$0WDGITp#U*$u>_1>uMA-@10$(qJ zny(&!|EmB0`*Zo9^x407F8?3&^Z!9Vf5>J3-vIp}S79MKbRC>FtZ3HkrvHmzc2{9b z=pTaF`F{vzXMJt|5X?$eL0p#t`)oooMC1K8!7Nh3e-q5s==sQh31-Q^1hdl}NU&dm z+3NZPrhf`%0k2P-kL`H3Xix4aClp1!C7sf+Nq}C=L2JuI&)G zFIGjrXT5ihL`kI@Fpb4f%Lj{D|)eLf#eU))x|m2j9;lr*fkJb8xI z4?*jTj`aAv?O*fx`nPzbmgTJ*eu6J7S#~|XQk6OzDtHZ4NR+-0!)=oZ8oQx+mlwpV ze*UTUuF`;2N&6ZhIRBTPYelOtt*-&b|NQ*VqrR=3vCTh0KXm{7%Ri6$N~<<&{K&sk z+%Hii)8heTO|M{*B?}To%q1#H^G8^|rB3=QmA_suYGFGiCh0H5 z%(+p|vKJiUzwC=;UiCVr>_en3Z>+Ucb5K>{fmW^({#tS&0Cgmb#r%J;2u!<2W#ybG3lo8a8qb=D=Xf z6*~_w+81mqMN&bTu;+0D(03Rd^kTWtjxz#vU`Xa=?kYRyieE{B+0d5NOgC1KxVu<3 zw16GiaerW~nu)R3)=EwCPaeF;nQ-HT0V~Vy@cC!vsz`KUtg{LHAe@3U!KKBC>hTad z!s4K(EZE3nl<}3oJies&wP>yHE_9My!b>Wdfp~pU;B}>!zysQvr1umKtSZcO=7A5! zf*Qem|08O+&65-1*Du1f!C@gG8x%&5-RGRD0aFh$&xSwnd}3svE?IV^Hf(&BV|vh` z98;msWz!j@bAsLpVvCv~w(a!LbVH*fd!&gE@qViDKzv?|)n4+LpcPW6)&&k)++F_z zut^T@99Z+@0fJUf^-H2g&OfRWC99AitBp zE#q3Z)Ig*}59jfpl6t#0v~A=OI+My`EWj{@S(4GbUm>4u-3g+1wtNU%Gd%k;6zTnv z5oE9vuZ6<|8DlOO zOMEr^6&bvEWadb0IZI}+cjIdLG_JiD^U7SnCw>6i5m-mn(I)gJfG!it;4pMDDvlJ7 z^b*WH+>kb^Zurb#102kj0?xni^SFSRU``K+xd72>E^-GDM$r)ECwurBqm|xX{#x@E zA#S!)I$S`#Yb*!-O>%rF%36$hKD?1RW<$8b&mTKEZXO1?~v&Phsvc=#ki4Sy zpbHLZM}?#)UVE6{b%^++5)+oL4aVFL$O;q_m-dwp>;l3b@sK1aEP+<3@>vmfM!1Gq z&^_&wygAdGM$BJ-90%30>c4|-GAT5;O)*P~X!htRR@gY4vwQ<#vZ4ig>1!a=qXqc9 zPW?33hc!9IYH_c2`$o`S5Rjs10Xq?{h&V6(tK2<7GSF=V*7_BAE;DVw+D)leL0-8t zv{VD}wu9}g5m1!0^IvHq_Pt+d><8p=a3VcgRFd?}9kmIJJT4G0--~0x@;lL=+^}3f zG^XDbtkIl*nToqmXV8#VT|$(%q6E795CU6+Hs`VuPwG=j`>4!RVL~sXn8{$X&*^Up z5o#v0Mi7>D2$hEpA|03HMKo>!E7uQ-fvyrM6#$iWGp!*wv28gx2-2?FSfUR z-j{&S>PEjpDgaG0#3qYLu@eF_`V&(CJKrl06wk`y)U#KECi+u={J_6`##pKJUXjoY z7`eWdU+ruV^f(zt+`$P1u#t{5D6k$7kc#6`jC`XQ=gxN1{!+=jp?4_C-=@UoxRNH; z6veZZrwgZL1_J62z$}9RgW3rx8bgoPb)ByQL!<$JfkXB%0Z{&KrpM(P9uMYYpmw<@ zJ0Tn-R!~Y@fcz>Y6Hf1y_@o4doTf>3tMWhkGVh-Si~IJem^C{k(WwI$7Tu#JO%NO?QPxkGD1eg zpb1deaS^9LsWUw*l|tEoEfI}}cUYd}l1~jx+MMyU1`E0FWz!n09oXP?OV0BA(xqH% zCHyVEM7I%2HjAqEE3nZ%#BU7lPe-N@)2j%wCugD=L3BJm$@Rm>OL@3ub2ItRB<|u1 zEW7+q%=hQ%TXrWu(SRKSSxarPn?p+=YyY9TqXuj)NN9S@K8C>6$J6_Tr*+ecp#eATw&XTg_%53>Z4S-^E_71*pBpI|KcJp?Netk$a)%*d%79?esz8n59Lpq! zD}!toS=%<8Qkk7mt+dT2qHG1beXvt&-TTAoK8gx0ihqV#bMir@ku%hg;rHKI&uYI3 zmemM$jw^J;i};P29+aX(VDZXDsp?qRk5IE>_f;%!)2p z%h{Pak*VKu(AV0^5Lol=N^_$%is!p#MxTKv+f>>#yk^);Y^^vjq^ri;JJ(a!c9oq8 zI48&y1>8j6=sg(D{Mf>pV2+(2cc}~SIWejoj$+!%HWl+R(bQb~{@kq$u!UEG9gSJk ztX5t8Nip3LVY}R_8Fq=?xG$cw;K?u*Te-RWv5noI*xN2Y)P1Z?r$d>O7llQ6qX7sW z$7M}u7KYV{j&(}wp#Gc-9aR1|5{JAXAQfH*fQ2jQsu--v7e+@`qwBw}WaB3XB7tnw&XzA1f!#|>c@DqRVuI>3 z)sKrO)M^^-*J`*nRiZ0drmh8Tl#xny>rmv^YVFOJmoHjkc2$6z(h5vg)f9ma=3MMa z{itV)MLD%kgQn$wP(s+FmT%jM!$4>|1AfHrI@38j=#dx8Qb#A)bC4>6#|5xHzItKQti!lfs98_$d>Bg4H6uOYzwk4cJmxcvgoQK+kJ?-@i2$#zd#l2nN zzPgQaB_O!vrjN9B8?+>T5uwnIqPM49cV_54(k^u^_Gcb1-JSz??cq?Dmy+7&u6@h-Qix1`Ad2Jm2* z1S#kQKn8K%;iaBRZi#j&u#2PEJJ%@E>pPWvjZh_bPD#%E%zF!Y< z8pB(f@xV3dETouufvc*eTB9$K_d0?T4hpI6-2_#TM4v#Mifd@CS-`IMrbejhJpodf zxb-7Y^qWbDfHj`k6Qw~t#U$%<vGT|xFb_zrre>j zh>winLqfbD5eG{i{cKacjV^Ny+St-!wU&i~RYq9ou3`e$T!Z-5d`cpS3gTYl?)zY6 z(fc7V6BJt<9}A)gm=EjY?85DQA*eXAVePxH;D(f@fx{Fj)FuTd0<=dM(M7O(ABHLCs|pv{zV(*+6UQ3ctisj{qh!M(C+}_$NL`u3G_1qJS_52N}C1UP6Z8kv4`o} z*e70%mZe4wNcRYK3lRMh-^7X15F(Kuvqs<;O-5N_TJ<9e=i!pdy6-HQ?kuo_XO#EI-`P9q4>)|2%*^!s=8-WvN#8LCfgiE%l6 zY(Vy_gXr1dtw^oH^0IOMf#XVvSTxdGOXU!LiMO?Q>N4W&k{8cy)9oLzPIo8uNyQa z+%-&BsGeG+(nCcMCVv?acEoia$em9B0AG5-W;dX_7aXeCojB-m!5qZqR7|KiVxh!d z9GoN6)457l?NJ~pFBg9*TDM$dOoThT#cMCUq*(C~>iLlFAme)!JgePu>Yvp{DhCis z%s94ERVzed8v0<0lu4e-i7Xh4Kti0{~a z%*#EKl14O~VA>Ey91q#3y9f+^l*pa%yN@$3vuf;i{BHGEn@t7+RH$rYmy z!!M5#eA~ZmEk_!@qr929qbFmV#n z%;hv{l2MSPebDy1Nu#vw<1lu!X(xyAOH8haa73Z*@SbxQ{NSiIGUjf#^l4Qu)+5js z=Y(QkD{F{Nt;Ps#jm2E?AZDhY>?Ol6TC@?>NGhp#+VD`E_rx0)`00lCDw@jPJ9CI= zm(q8{ynW5xY_Bop>+_h(x;{bb0}Ow7w|LddR|~2V_}eJl7cH=oq>tiyq|a~X+{mzA z8zZnT;6|_8Wj~C{zi&~Nj7keeo#vEs^D+wKuulx`fA7OfhdE?`pq@E9hpEUj9Y zX1-wsA&o>*sE@P~)6ZdMN|w&KI^d#9;nmkR(>sC&7Q|sm^hEC-$AaeSK0=A@=n{eI zKPDQ`A(%_GEW#>2-24nCa1@&ku_M-2BlOpq-Zl{J`zET-u}j)ziw={58m%=tFO%4;MuHb@O&HMOoZ5a(si_ zY-Q&ihjvz#ZUmsko<4e?HH{!N#6$#6KGzehM~y#Bm?XAaQbV+gXvkR-l~ZS_nMKU_ zJ6(fm7Uc7WYx-dlOwx*L7SnMQ3%4toCimb%@cPcjZ@A*)*gAg!`Di-qsRHh3zpFSX zh&e|*D72fn5M;oKrNt?ySf%)>cW6ubHY-$jj$djf_0V5m-Q zNYAxte<%-ErB8R|x^%4|d|DZrOg1nq;snVS^RP?qol$%4g$<&ekF<}lKqSHtO?ik_ zfP7u^?4_f(@La4FedhY*nPQ>0K0D99Nw3Eha(}FFCH?BOF6V3KQ%4xLG&SYoj{EYI z+62BrO95Z(4nEx^8rc;8_5POaW1F$Ciql3}EW>(HP4?h9^s6;kgB5#@tYnrInffP! zr;|IN>6C7kxBV`#eMfJF*q6MKTRv1$UVx$G%8`rY-e4?P0w2x|=3xZf73&<<*pt8D z?2q96V+zji_1l`fpQXo@t1^Pc&T_44VaQp$%vhiT5O-T1Rnv8cKR!XxJ6SUbYlktD z!p!<=;NQaQ9#pY60(C*dJyj^6D42D6UbX%oR)bT_|=gPL?gwxb>lPiMl@t9Zg5O4ZJ!>1Kk zjUk8tlq3{6ZakZ$VVM6YpOmI$_!tU+W-7g3#;=^xkY1KhYb^WN)!E-Ic+`&x%{uJ#riln@V3pQ9#pjCxu^TS^ z8f`rghfq({RwgYAi3Ivxoj(GW@kwm2+HsRat%o?uY%%}b#x>nuj&L#oD(`$JDM2+_ zqFhe)p&DtSD(bTd!v|oIJG-lGomb)*49yJfdmpd}&bH~YV!=_YLaRg%Qb(bsjM3I0 z$*h5693vrO#Yo4sZqgwBI6c&*FCKCRq{D$u4&7K67t2B15poCOtCl;5;h@W&C0M2o z+9J36_4EndUTwKO^A0ot9Q{T=Eo8TzJ}<4y17`w0GBX2+)3e03c6~K7-xdIU5lf3` zJ}D=iu)_Na5x5StL>54+=59!)O+Bqcq{S%++J%V_G5SXQEYwr7TqAJFUBj+UuTm6j zk$+xMuzG37`pg#?-|?rOnZ&=-%O!ILu4xOVo? zhh_}#FzpO+29{5}qbtDEdK1E7{B$|h&}CyxU|?uV5T-9y>i3!fR3`3|4pPoiU$872 z&d92S;6f&KO0aUK?o0#go8mzI=p&pk)-QNUe~H56u8SuQPZe^M0>|gMmlJmT9!X;? z-3zq7^qd<$<-+>~BlQEa)hBIGAODBYjW-+Llg@J8^2zzPk51~{PY*(Ydvp=TpwM`) zTR@i{ZP-L~r~B2C1I6iMb<$va8QfmUUq43F)=SIj!}$-f`MFin;v$+CFY4c`;I&|H ziWJij3^Z%=x@lO5kZv)KYv6!kN>T5)Z=4cUGM#d#t&}&h^fftd+puk6P%V9Hr+-RaV9)F-0#MGkAeRn6NMk~fsOXv zGo;PimONIg56v8`k^aA;;u@%(@&e6^jpRyIXZ6rz+(_-*03oMn=yd7v_+4b0_5k$fp z7|l)RPu{k{!^O%NCo4=9h!>(k_;Y0#d&TqL9Q6`*6=yZR#SQx38is!j(*N0?>u=EF zKbmye)5|QJF&~Q@xw)#O{cLCryl|P3#!OL)2DssuS3iRjTx0S9 z;krj$yvO7Sx0Ac+ch=Utse2_`8WGpAo9anl#lo72QX`j|ra`Sqm*z3Jp+?y8yk?jV z1w=0a#DxuFn&?v9s{NST^IqoSY(gnrlh|s4xh9*8GCi#b2?#(<=!{e%z^nPVp&sRm zc(=HU?=E5vCm<5tdg^cvTd0uO?$@F~ZZb>(w!-rt&X_kUP(|HL&0?{2iW1pdkd%yq zsHlbNItQ42&GRe3)6a5AgH0(tdfZhB^nvHy8yHuILt9dKzucu*AYMwSl7%1!d|AK; zPe0D6KD@7PEg-mbT|>_KQJ+vH`=bdHe&>S?DZbmu+|0FdmM+`LmsK$#{OrFTPb6hT zeAM5XhSL90)9^2*dH=&t(V@0xvnKkN$)R-We1b-7f?|Okg(Ck2hd4kRWLkj;BFIP> zcO09}rHylPYyY(-{+oOb{wt%z{G<$VsQr8RnY(dEUVJc&uTQc)UT%}V|DCZ zom?TIGB0|@Q_0<-7(;MSrXOHPtr}=WD71b?g7pH}+_qahcd{8=zX>P@ClhvPRL}Vj zOwPwK8sbxS6G)Fy!{HcuXo%ODA$KsI-Y?k-jg$7a2j=i6b%hXto>O;dpd{bO7MBMa zX}da0duzQ4g`-m;a@VRmDj^D`Be1XF57wE_r2sJ{WfVMwIJX8i&()k^ge1^mWuppe zHh&jH&mutH)jMf=qDHeQ^jhXA`}TX@z`1*Nz4e1R?KgTTi{rx zLay4l0+O^)0dC^5Q2&IT0K6J(Qgkc&xqctTF)4I>5e__3u^w*`-C9O?--KyWDJ|q$ zaHvOO`b(*9^esTu;EJ-zv)4!Ay^DMnu$HU?jMORB(B6hVrJ0KW6yBXWBN~JQ4mW6sp2Vy*>BU@@Ug2aImD_! zVs+o}&j^~#*ICD!AaEXx3xr@87G?-bLRq})i@4uwmU+U}W3jLY$sen*;o>_Vl{YddvJNb=LVE;Mr#NJlzAR=} z*GMu#sO+@_dh&$~VllWpg0F=nozbER2R4^NE)mP^iHNbnk5BLf;(dA!mT`lLIjFd@ zvrfUpo|CNm4A0p-APK<3~6aW>V{ zm6VNo>rQkK+y0p0Kox-~k%WdU46{t2+ydP#BKj#P+&?lH1rEl^6SCwKmg7L2#wx|v z;kN5Jf?=@OCG^j4QxTHwvXP`t<2x3IMW@RsJlo_U>~R9pDJ5xIFM`Qcd$-U^c5~`@ zxzOJC; z4z{sY>0LGsRva+zjod1%3|1}q{XjllyCD7~FBbS)!WW{rQ9F%d)UHn_G7 z*+5(}N+@q#R8%PFA2|1MP(oVZ}lIG+it!Jum_)Qmn#tNklJdJYJl$^mL_+VNH8#Xe=H7n4eoo#_k~AO8VD8nioa3H z`}~_Nb|12u2Ix1OSNdI4h`+vD$|7+pii zV7DY?0({PPu4ki3`Ri@bRsFXCXPbHkysT-Rvi;A%&svVxy5-f?&DB*My2&P`KN_Z% z4K$r$2CLaM!>S6>uXitITv}*i1AlQ6=>Edq+Mh$+&zWe|C=B16g!(@@iOt_R2^}j# zzOhMFeb+gENE`Z~z8A6%~_ z5D=!aD|U!<-dYR>HB#wFF!ZV0<82AFwQ->L4{JiVyoNF9d~PjSzjB3Nv4?zi_L>ln zxI>V&M`;q7<&WvlE)N;e@K7MK3a3-&Gr*4ZpLlnNksE@mlXNh1&NLcp&DL6(HkL)Q zX{N4(O`=E`g{G9bjmCSk&40EWNe3DLt6(K)BN_^T%8IXc6@iiqT<at~`E*F!yE z>dfY_mK58Vu$IgN_Y{G~P+Cye4j@mGw_m22G+O%a$tM~E(JQ_Y&OJqwVBLx z$tU+XlRTNStW(_Yj$aKS#72f60CSBz+fw~5QS6d|3cwp?Llu4Y-FB06o+>$}yZxLq zdcap=yQ9{(-%m_>#=VF|u`tX}Bb@xN&sCU_B7MJJ{-Pw@@xM9knXO47u{X%>$v&`ygCr1!#?t^^&hRckj@omI`k z>l!`B|NQ|AB=1-WSXDMK_a)u>8r`pojKzK78FUrGAU(^odPLVgt>pNX&>i;CqnX>! zxJvpHtJ9*hITVB};@pkvTUA<& zqReUX1d-k-g_UJYoHZeCX;Na<5N$=NJB!xkr?>VQrLn4etq;&jcteCry3I(zG8Cl0 z3ErFm_2jZ(D>CZ>YIPHK4+94Cq(Ep7 zsmZVqxa;Yiv_DE$!hlc^?zvv|N&ZxLOH8A6*A@>LvAkknZUnBGA zh05~i^Q)TD%~tXt*h;m}mzw4)vYRp5s#`Dhh8W0?TfK@$gE8=d(H_RCM`_2`bLyA{ zQIrK@vh%swm$cye7Rfo2?Z&H-tOs5SKt7YgElut@=&LDj0DBRP#wj#11u+VkvS)_T zZe%4Jp3bca#0)3D>gX|^D^Q19hoVYP9m!@-$0-Ke>0|tr^gboa2oQ@GSR%2YxLrvy zZh50vG4z#qz62Dq1e8xgFv%D^94>G9lU*gKnC=AO2|Tz-d2hiuLOkw%22x%>$&{;? zx<8^K#pyjo!QswFg?dW7kl5)lx&Z7M{@K8j6^I;l*}$eG%=Cu@zZm*+4q>v} zcjH1t>We=aiFWqxAFUfL3Ux^=R!*1td*r-0^PQAlh*l_U&g*6_{*FnW{*Fm(#1mH# z=a#&)8V3Pmr^#7p{{Tq|~8T^UcFn^!>X?Lw0?DkiRQ1E zvD{4*v}noH*{jDj4;kofMdK-NqjRHRzEL1m1}b(25UQs3gFDA+=9Euz^oK8xJKa5z>2 zGT5PcfLIp!raB-7=O8=S_t61kH1Pm=eQseo6#HuHC+pB!6K1X5btS|`BtZkA;jmK6 zVgu$={mi1?nFx=3wd|a;K=36u(SprkTK5Jl{45$7u+NeUYGrlWGqW1;- zP`vf^1ula=h%ySFdJu6C8q{e&?icP6EEkgE3WMYT*{~p6MucA-Rq_0G!CSVj|EPCN zr5a&0a6rL)4imWnYUK~+3YVHxfk1bF!QlX%cxzO#9gTy3br9>0db{UO`Ur(S`)ENQ zrPA9~@nl)61t(nssn}qP`<_2W^qRO-wih8)=Sv7jk;tFC+=~12P>rTgPK%*eDxz;r z6vG2vSN<`|t1s;r{&BjDH?!i4_wypFH%|!F?mquGH@XGrRxJtgn2+MVvbwn`f-c3% zRFl!=D|-X)T@Q5IIHEF^8FrjSS8bJ)6SQa{%Fbh@RiPUey1Fvo-#QRCJo1?#> zPRtYvDZB4I!Y-))33U?vul~c8YMPE~gQ(s|)f@)gWH|)BmFDt!)H_3eQPCF`dq@=x@ke9(|ENh~n>F7QV?en+hHsZvl0LQ_zvLn?~Ym?iAe0R431@tZTMB?ZF6bMO=1X-Ys%s3ZvB zuPhBzt>*v2k3J@Rzefg94W~~jUsl|v1sMxI2y;NYhA4wzL$sO{bj<<)m?i~DXCAJF z!BW|dW1e7tPJ0lRxxd3=8L{hM!Zp3PqfwlTj@x z;!jn+N0Tjk-T^!S*I^;;UB?;X7C==`C?Opem|Tgg!pemgx?*rO%>qBD=RZEU`u_5M+Kv-=gtW*YkksVLqH;_izz;N8a289vp? zpccMw9#u83ma@5<)Lio0V8t+LOMbWV>3rb1C`g$tGRnkWY833KCa6QMTjAloY9T*= z%|Ztsv(kcYK9XoxTpD*qbgw~ZTiKG-bLi7w4yiWlp$alb?8j;nzC@5>`Bgo9e+TB? z&W0Bk0Zof9zY=?^xtm$o`S`p)byb!{#FFqM%pfPF)Euuqgz!2dV)C$xh1Zso|Cgh- zgs@Bdl{Z%zG{ZKWVpN|(TMd=YJ@8zWO8fLnmFrBO`m(P3hW(BV+PuF ztKnSove^1YT+pQQTa2v3WPyL>xSL-LYzz{_yQUB*n37c1set~AW!@sagQY>VOVDZ0 z1`|9~c`FGN{w6?AN=smR~F% zCRHIPBof=A_I~^hB28x1`f7=u0;9K(Bq6whvcG)HNck5Egb!5x<vNO)kz7z_P ziL%u;UltOXhiSt@bmO|SzQD z?_>E;7S09>5wtw{DMz3JR>b&N;H5Tec8#2UQ$7n_NrL^4WD0$ngG$gvrA9L%m$M6a z>AJ*?X}j96inwZ_k)gfpeEF5}d_RQH&tlqJX&95m#JW zrV1|4*&VA|EqXYVKIFp)@;V4-Dp1~hBzoQ(x>Pnh z0;wZLzYd2LRn!!@-V(_N6U-=V_}hhmkK{!KeohFTGrqmQdB0rmvD)YJ;|Ohpt&amo zVZ-dyyCMG+Oqu%Q<09ngqU6P$0UE~R<7*^TF1QY*hhm<@Z%X*U^12KrfMp`R8d5Vi zaQm%Xv$@mL=ixH%M`U|o?2xyi-Je+2k(tP%E3;5`IYs>gHQ*1diLpUaj*3Xwi9;OmcdJ4gz` zRr?8*yBv5r(!e!^dx$q#l0jgt8yEX=<>aDD=&MOX%nQe)2TNfp%U#J4{Xt50b2R7a z6<}|%^G~}A+E)WWIKfrLtkl^#R=oF73eNW$xDklw1oIGB)ZY1lo6$md{x3im&%gd~ zQcSLmp+^(2^Aa6*O8oMt{)rw?mz7Qo3l^^pNYxg8OjD2V;O-+NzNkgj)s7>}_A$yD zlB&!T9uv<2uYYKInPRgQL`8bPkTYrb84`YK6?{FSkT+)YZz@ zGEVuc-{apo&uS!|sEx9K!ep9aFX7ll?Dk z4As`&pw+jHxcq;!tNq7`IotnSyG@OM{ih$mcch@Toz=Is_Bv~{O=QB4g((UvpyW~s!nI=D)rRBO3x8ZKT==;F z#=6QJi9QoC9++9{oX%H>6{_#wHM3Nj6N;m#H(;gXtE)iivN#dGXXh>r~v*ITfBpmMFaoT|NSI z&0%CHLV%zIB2x6_;^)mdl85Op0F-&^?hs;z953keoRoeu#XZb*JO=*w;;#8Y4db^H z>%R%I{z*EfZ4C_X>leQkvZiYcMO>7T;)UZIzy=tV-f|IF3@Ep@D;SRsq%$lceukjt zc*9*l1Olab%(NagnzcXc#s?@zhwYKoe+1!KV{7w-Rqi_rAP$VD%m3Z9a!hIA4>NIL zX4#JcTu{7`^Dqswx|hY#$ZsRe~-v+VljHiV1HlaE_vWOe&Ib4Wt0|<}l z2WEt&WKA#=Q6_}Qp29{oQS=}zfUl(Sa!RzLlX`+hAXfX7OROO`w}1bXw&mCg zi6O_iX?JR5?b5dy3Eml`nuIL3!#|X70$moTuTtS5YisFgOr6O?QPedfV&9(!wPvH` zex_|8M1=k%-=r4zIMqhxr|-1Jr|b4X+*9h znH$te&zOd=fE>Zpt2W0g03fV`h{?Eb$lG$smFv|~MN+F-)mBY+igX`@O&MZ0Lsu!d z|Ir_@Ah=(&88qzSh*l9Su%DSSqL^2^(RAKo=H{%pjcO>+MR78kfe7y>2t|*aV+X*T z>;!Z_0Ik`)g4z+B$#U^Z=jvMbvM6ZQ9;C+xk{LgwG#vsS4P_cop10tKPZBWE=j&30 zstnOrB|Gu68Iu8cCc+OmjjW9VbHOx_m>Wrpm_2B%J_ClSCo#BXR5&W8Dl&-vMpK0J zRR|j|O|xfL%!1mvz`Z%{ctoWDl5JTz+p6~1^zcqLq^5g~b3g7Xx$e8*vRj@%!C!Ao- zJU>);S@TdVoG4}LxW$F%w;tCD3p#m6jumHz5ng{>8@03(9OGzH1x5}qCJmOPmzfGm zj<2t@#jE)VK;>$-;{QDUfhVv|2a)8lc4~gWROlV0Q8Z8d=R|Hc?Xhq&cK`bGZe+-r zAq_xCbM+Dkqg0$|WJ@6!{fXyptv6&_+5LXZ)-r*V7}H-^lqECYnr6uxx{N#;n;~k4 zzHBBc9e4vN=xtl%4>6S5TU16 zr`CfPuFplS>qLSt8tYdAqh^LMZp|hiAV?<_=Czv%Wprom^O-@_sa5Q@|;m&sPtF!)Cnx8)o^uILxe= z+5%5cw@*gg{7yI5K4B$P)Pi^LzpmAGkT$CTTW;xTEfN7G3$1m~;}&^#CWrNk z+7Gp(yNxy%7kV#L`jhr?lb~Zy8SfDA~#BxMAxGOcXByEWDx5kJgbr{2MY!%02h&8jf zSj|ZwG3`J_1zE|@**DloaFr+|7ukwb|UR$Y<(z=bT(}!qWuM=p^Aaxi3 zF;YN9(hK1Bg_**S7dU=`KzGZ@Enp6GT4vyxh%sFIhzzSDRSrueQb3X(xk2O{Ai+__ zdU%TEgi)RgqNc3u&>M`kGW_Ye+}^N!q>X8B+|k&Yw`#d1sNLa7)W8)m zTZ8qI+1G22;1yOttGZ8mB^)Cp2#*@5xyx}V#Cl3N7Zaq`{@p;dDk0uH^ z$hQY=qZ*3@Mdqwc$Lc=M0iKXtfd#I#ObXRGuB@(8*fH)+-wcnMGOt21*{hbUk20?k zJFGwjtbA@S_qb;80<`XBVeqH0T%FIkihBBG6|5`Te+lW>uvppnm#ENC(X|k6yIxfj z!4!y6=H(>FEodr}m6pSlt2!xk<+-DFeSNnH;1DIu(FcLwV(sZ~DaXHV8~$0w@n4Vh zKc4Sz!=GA#_VsgfK$GA`#eh43EAldR;WE zzr`ZB{1GhnY15j-Ze&Mb65ZNGa4EAeOSOQWl1$glTOuhqHCf>76aY86Szs3}=WUHL z$RWZVI60_nmWBN5^R<2#EMHq!na$J%_QY`lhVcw2wgTik-0O#%0Ghh+a`*|xQv;q@ z_;dvVg@tJ=d{%9gwl`kN$2=~1n-6HpLcybbvHLqTbajT*5HV8nOp&SPmkQd2V<(ZD zkaT$^+KS)wFtr_LBdh8~{lFRkmU7VQ286=)Rd8+L+KX`kpKZvxVTm7YXP1tAo`;~e zrQvEuOXJ^Hc#n$4>it^=FeyIm*bnuvzcPR)oh^%unp<_9L9k1^Nl&uERNRf@ESXc| zMAL>~0&u@GfCc*F3M%lXfQwY5K_SB`S2oxa^|D*3QZ16g4;zve;aY2LN;UG6*lY@! zY`8^#Dq$+MD`7Uhj&rjIL|_~47Yb@CZGQ(WUmK;=3vF6A0;)Y%ZPX)^(LEJ1uyoa!mhUwJDsQ{wj3bf^N7up#Egc= zi5`<631YLGj*URg-R%^nQAg{X zav#>yF?1n{f0;#~$idcwmep+Q*S18+D& zdM@z%bT+`B?DOq*fAL`(pMsRhUtQPD`x|=-o=* zjBbG2#F=lrKFlP`Wy_Dg71*9Hqzt!$Sa0m0T<20cO`g2#njVD=7sh3n=uWj`U%luP zBL}_?^TQQ57^+DN`=_(2nCv4sDDE zJTolHuN;Rk&I5s(RPs zUJG39Bg#{j=3MRoUaRdGE2gt2c5)X8%7wN794#TGV~UedU)_ij0{KbnK0eFrX!}QW z0#Ey{J=S}Ku-b}w(0!(>=WK|eQq>fol6L9&iwSVNHnKa4y3nyu%o#V zD6M6KQle91BGCj~srAGfv#7KTPM$WhsalI1NPTNvzL7!h{gliO&W4p zU^J#~tojAvgGC8a^VB6txlCc9gV+uMLL)UB{ ze56Ew3>Kt5eebRKC*u0s@+CY{tGm=yW9?9HMq0IXWYXk*;h`6QT@Xm4#{5>REtD@W zL)F=V9Y0LhKJ0K{O1;rn-OFm6t}GfB2!o~5iw*|htscHE+=avg&>FY6VUk_xB;JN4 z?C!#gDcc8p0d*gCjESxh|MC;!>}|faqF9bgT>TOMuM2-?vcW6$`;GYHzX`|vFN&^g)}8~#UIlc=)x?ML|Sy5ltg zrRWe+TvsP0IY&WC5h;%<^1GS8Ib|7vwDjAKFe=j2T5#@G?;^tV$l-82Mfa3ba#o^U zege4CTh=7jqRgnH`D-)(nXomR<}zQMMT_(%FNrQ+|AJ9jqwt0cQ*_C`T~S7PxYXiP zzCoiyrTqVJ_Kwk&c3qcnC8?Md+qP}1l8WtAY}-DuZQHhO+qRv~{k-Gr?&taX$J>34 zamE?f`MJ(sd#}0YT5}eSRO7PbzHV_>$U7D-=+hqooYg15#|{h`B$X5zct3%BtPtpH zX?z9~1393f%XDa}hXi@t?Je4E^zT!BR8Tj8dpa;YAvI5d=%n!t_V-C&F-Ne zEMLAou1)pBp?Tn{WvBG3Z^Ga>h)zW^CeCn}%(O5W*|okko2^JE!Z-pR!g5Ccha4q*5TBhy2s7capm(tT|7qw9g9mvC9Rd<)ds3M!TCd zCo8{ZjdnC|eRs}7Z_ENLG_xvuwcF(q{eck!5CgQ-Y?aqa?X{@dsApCtUXe09GgD@t z&ZzW@rcEglKLPtF;aYd{ADci+K~z~-dX~SqQI-!u(k_u<<;bKF(&LYkYOSSBSlflI zbhQane=Of@Lg!@RTy`nMDevSEGhwa`m&XL{rUS~kFkmL9f zQ88g^rdu`#u29zvLw*r9M7u#Eg_x4ycs!syXPqDO`s#QGK0AG4FzGMAdO+Xg&SOaA z8N>-@_HqV3l>Nk=`tf5Qc=v%SS(@~ZnJ;vS9PzfSuIDe}c06D$Fr?y`B=IJVkI7VE znhV;QzsjhF7Uw;20MsXuKX%s18)ah;ZE@ri{G>Fmd=On? zOS>&{A@W~+64O|_L{9cOAA_Gpq-^he^bPb3^s0t@T&%_|67R&AGX=63nyBDw*e)>* zGgd0<%Eta^dRk`;bdx9xj)a`(N=;aI8hX1l@YDcDPixIL3w>>bree#*OLk^q>pkLP z%T+O!(0~zj81#ro)f(s=%0z>m1VA3km*i)~OPr;%W%>m`rtA0w@b$Jvz5?$r>8ONi zY>k1tFr+xNOGR>NXtqSVZOLClNgR#LQ62-xWD!-g8YR}qZ0&5FTG6ioMY&RX(+3oa zB3dAw_<|UQqFlg&Vs+NKz^L971p_YEM}jvSi=zi&qMuIFqfThSm>VzK2xurqh7r7s z)wU_W(7S^p#HXN&P^94~X)mR1)nQ|m7n_YqBF;u=GLtm!53ZqeoMw-m6OcBs>yE=$ zb-B|ZO_948F4N1ui z*RKqYd@9)4vSI=qf?mi+Pm;@!b0%R!nD$^aceH$BCC~QSENg4;f+bMc%_D1C({blB zYO;qkKw3rGWme=5;@b6Yi}m;VGGeIcN?q_n%@coA8R9Dpv$TKu;v9|OfUiplL&=dH zDJ-Bi3sC~#GYqNoEulKcj*vt1zb$DAfa_JFP9@dY6RQI2=Q1XDi58f{$II(wtX}WE zbDa_9yr*ydakj(*1@7oyLDpi*ybZE4X5?afb&8tU#;b(gDA3xP&+KLvmmjbl8}%cb z3u>DYW5Xi`5lr(KB)Q}S136+hY98krjD3<=03tf|(14KwR@5tcCf7)H8z^{%sbLud z3R9&?H6y4J7zP+^`gyNxFO^tV%UeOcy!P$UhlY%))O?(~on}Ad;o-zcvmds_h|0kq zY95)386hut66-Bmbt-1h?14+7y79oyTp2GboG%I!sbt}&H`QK^K`qG%dK6_+>DDd8 zCOF6Hs7OX-9XD6?&)HwJfG7oP-cTa6d#u|CQN2Ez?bFxOhqt!1w3UtEv=!&Mm5GZ3 zlzuqKMyh!|B?wl2P96Q~YEtl$3}gsRHdU1dkUUOJ{Q8!8O_J*>?{_3(fyt#~A7zNJ zBuRU3GQ<(_uRJr9z%(bPC2a@K?R zQQ#oPUlcsb56rkwG9Kjl8SNhDGp_*-DrXJP0y$^{>&L2H>29$9k>qvm3ySc zOT}HX<_Fc$mlD=Swjij;%PK(if-WXDPrM~z{5pxKSqcJB*!Hp`l1_z_&hMuog&nIE znCdpx*!J7yxf%ssgoM8P5T)c%n8I}NeLvP8=Rhsvgl0{Q$b3PN+>dobGu7(i8^xg5 z%9GWCba|+z%zjT)0X<_|aoUpe>HwB}?d1 zTB^v5Wu0oz2qk3+af3T`h}pVgyZ;lsFsa1g0hli{b$rjk04;N{B&1tCj|9< z=Cz`*uk)vtGS36<8Q62B*HQE6e^W-F_lOCgAM=P!Q~KY{(73&#bjTy!Na5E8^tQVK z*)H-lvyM@Fj_jh z3qd9vHkV$Ms^dxDTZN7+YPB)kwerdfdRkDp=8=cxkvCqDvO1G?o^z|KGjg1Clg#OD zFt?S~$NxFSjrO%>mL#F5R!O}AEl!|f4%6|Gw=MFKDd5OQ#5K|VHt92;^i4PJ4hKcR z1=-6k2QJ@*8TKHg!LRsvkGGk}u`l6P;tD0*@*}L9&dWGx-8HZ-U+}h6p1+YBh}6ru z)o0uvAP-V-nFEePzI0i<#2>*-&#BO~l2r$z>ti+D7;9bF>o#7DHwy!eRQyCuKFW1&Yhj<4odDSny_otb}VS7*lRs36^U}YD_p>i$+-P>gVJHC@elzC8Fv^wcAK&cEdl3F(xbd; zz@mBz{FTN9lbdagaurVoTnZ{R<#Rdn>PdYSaa=)*{|H2?aM4^LX>*UV6Nwg-HkG{) z*TrIkvOM!$&55uY9dmd(9m<6xlH8JMRJhQd#VVQ|y`+7_EJI3HdOf3;{n)UEjPYoG z?C2O5F40@uexkHFeREKH3cDLF*4f!%l%6YG2ds5d(Z?kR?{8zY{1dF|eKmcZ`36S7 zP1DdMu$Dk0eQxjm0BJ(8_rFHQT^9334caOo} z{~h8tD6UyyGJLoFb`9$13I9fN;l$;l5FjTc56h*553y>Y#YZK~KJ8M$r8BQuA#aZd zXJ+C`+G9%M+a=OEiaQWwt}1xuNh!*unBBnFn3xmolnjnArOh8sT6>`P)TU+2rI6%7 zo5;$Y5yy-m)`5?^r~FNslcw1&RfBGL{z5Cls#-w`kfTk_eRzQXv5x{ov;k~Vt~R2o zX410M4N4XIW|voft2IIcs&P<;Nf1UjydTB|_ zQT9;>sq#cSM0JgMbd4BX*FRZ)t5fJB4VszW>kV(7Vm;`KL7|&3`L(2s#Y`h##Q(|x zmz9y>`N&ERsb`0i$eshfzp`EaYnYX-7Yn=_e{h>5E0ts_-kHL--Ywfd#{F;FQI_t6 zLTnOLGxa!5wnDP;&vC!>#dacB17m;SE4X8!H{yuo*01p(PaM7I7K=N=*#h3A22sO6+|idnLETiiW8U1+l8Ya>QkeidL5u!WKZHlfmNW|8 z!cvw&&d6&J#q1}fv9$9y2gVwszx&c4OqL2$4;*Yefhbz&@#txR8>#4m`B^&x6aJRk2jS>#Y8`I~w3+oV1F0PVmpP z&k^``Y-u@%oN~&St3OzQ4PBN$fxdi4hAwB%e{vEFP{_!uajw^cJCh>c} zy!bbhjsINe1pl3dUZC>ztv7@Cxh2aW=N~IP(r_l^BgonK`y5p~ja6hJA5^nX%~ot) zbWF?1nOyA%syVos>^u&6Y%4ZF2!I(xV{g>?a+sE)2IVIy8BDb}T6Owrl zG(>X-BMYiafa7_?e6n%Xie0~5A#`fD4~455_|oBPDsvK#Gh`cZP58!2IB+ zCD7CnOfCFl>MK zT|6nr?9Y5FpH3e#(6%zy-@7P$g`mKFkLftaOe+ou$$u-x5=v`yUJ za$@V@h;_B5L<*QyO+{)VGs6u3&4R-jfb%bWOmm5ypLgDe&^_#BN8NP<$_dYxjThi- zY8J%SR0q;Gs|wNKcoDoP>=?JkT<{M*Ce*NHll%uC^YF<1T;H@ALq1JcZt5d;(78~w zZ6IC*r!2$aPCo-8FL?uzsXvt^06Y6* z^8cV?50Rry&J$1YKE3{H54#Wm6jQAz9?5d^I7E3*+~nW*z&WT{{|M+{#dPJk;wP3% z|IERN_e8u$jmQsHna!{1{il><5#xEVzBVp`ibK#r1bU}U54wbvRun=K`8Gr*M%ETx zv~!F*dI5NKj{2qa=Z1QmOLrni6YRWPtuK;-~94#wfFc2+!Bq8Fd8)1M1>jTPM`qP!VU)WM$=XX*bvP zwx51|RRz7APU5!^BsLd1=N(L(A^Oio-+cR_4y*%hQk%{4qptb6n=hvZgV?&fk{1av z29`9zw5S0Bd}RO>G;y23N0Caiz=7w49f#9^yWmCsOyr0r7JyIRC=9q^TU!aO-gy8a zMoL`?Ix$6_QV7Nz6{ev}HB-f~Qd*Ak+%HM9g|)R4{>gYpWW5sYt}B;5di9qIlpAez zeW6d&T~gPNC16&Q13U0oehgYo1dxB=tOoH%`^9zMWz=Aqr8Lt|mnb!*F0Xo|i6%|N z`|_Xz!(NMqsb@_9+bdtK2Uiy(a2~ylqlb;p*jOz%Ru)9Lm|>U-r$&UE+wkA%3`C+v9Q9LY{Ds z5Yv^#+%%e>sRqR!EuVFd#nKcw-q+3dT3hU`g!S7Se$Fiob~0*?hav^}(u)`|=aACz zgl+o^+^MS?^!cEO-i;G~g#GjqkU%w|OzrKW{eIjskB;#3sq*b@7RKq(JLuOJ={5!J z{@Qt`vAoA?7e+KP$)2JI3r#~vDl}G%v=2>_b86)DB&Z;CYiuFolNsz z)B*07%m6p&kPgMv*5>;%gHsWWV}X*alUTo zp>7VmKK(ntr=}`F@W+2%1}b30o*n#XQU>-z#PV~OB98I2qs!-g4&ip>c^eiuT@PS9 z{8h_D$noSA`46OEvrzQyv*R9jd_sj3?Xi)6KrqN>IJ`pP?93&zfr0pt%*Y}l8S`*@ zX8(%fkNX;TEzRy$U8ekc&W{~ACl8xN_S%cZXG7J_qiI3Lb@J^_(xmMCgHAzAuCc1I zuMcZK++yc~T#=7zG|-GNl~i290&R&%)hE&pKLT?|W`hLuBcGz3n##bP8o_)*D#f;7 z5jNOjSV9v)>5~38Q_e~PQt|#QV?_LEskHy~o>-JT0gmGpjMj)`iJI%dE=C@(V{E+W zJQO(VGuiSw219Tn0CL>5;@AY7C{8_gU-Hv;1eSd_aq@wxZ$J+Vra8k>m~4hnV=pMV z@EWy&9~uZTU_U7_i6_`{m;gtj`{DVMZqz&@hS_Zt)gzvRm@gdW`4-d*or?*pzfUDp zZaBV0dbjdtJwbKEH6{hF%Qsn3WwbIJHDcUr1 z2@LOfWRA`A_m80^H!#R}P7YH~D4s}1mG8KT7Qy(DeaM-lO|Q%D{o5hczI+Zi={)l& zwxf=aPZ#QAH;1$_^v=xIHR6@;jv72Ooh{Y@7iG5CZ4L$(bGX$!pwYt2X0r zBO*=XOi2v!E^Ow~XH~YncZ2{GsO=&VQlYWvA->)67MG7qb0FuX3$on_Ha*gCi#%(rqZeWu^9V0JBML#Bbv=a zSv|_`wxKLy2O`f^>sV(Cr|0amJF$HaC>@bwdf^9^O=B8VZk(;>$|=v6$7jho!03^b z2T~LVSE~h!N^yNeD$d8d)*ZXnBrribc*FyGN2!_jr?rlhs9>D zbfcg00VZxhpfafP{E46X%eVF2AMn@WK$ji;*7hPJ^*!7?XWEIsZU(hW14P~Y z9HQ~%w$AdlK5(A(XjA*A`yb}jMnt$WK_gI`=aY?>G*&9D-;i0mjmu_S#q{FeI~<%v zh4I@&O@ES=`z{NM5(~?SmE8qY-K}XXrgHQ3+rZjw^KN32O`Y@F0J~p@gMI9)Q@P;J z;mRgX2SSf5lGcQ#6Ixg^*$xf=UmHt(&J)3w0X4W^gDyxILqE0Eg`M?o0qcZN3XEc^ zEkNO2co1<}awWQON8c_mAzFK@BtWS&W+naM3GI@x=9;o#IQK`A&koX$`^o(y{%Pi# zTewBU?^K3iTx?Mi*bs4e)Geh9yskD(yh9+CqusUu)X%m2&XY~o;P;ixG0Ps^XzkqWk#HtHynpbW9eXh8omacc*@qSm>& z!AK3!+aesn=UaR;e_9~fk;j(v%O%&^t)lzD6plb&1&yp>mybvj#ZL~o?+LZxpg%=Z z1Qwyc6#WSh(RP<^N!t*jqk!NvDEk+uEAMJ(e#a(*#ZkIh}CBmgQYFv}ka*bLxV2nsPG6=e!V8yo=)-mZrcREE}__2UQ^+wNNE$Zmc&t z@=`I-wL%(d;vaTJUT*E|-J6=bUOQbp6I_|Fezo!!C~D7juRSe&3ua#?0p9+~p3W7F zyB`NO3z3M;M@O~#lknQS8B%z)iP3tJ zEZdQt8{vE4a#)VPa6wg<@o0?~_R3WJ#I$aUJabwhD8P|~q^Mo85%y@M(QPb~4+nh{l(Sa`PU!IDZ?vo1<$nqME$Peh z5PpN$ukWVQ|8-mQpNsI{`!oKV1%iRSeT8C=)fzoa#}SnaMJ=jaD)Mo4OOw;GsSw>8 z&}yy$VXcX{-ERGH7knc!+wVEr;0@xi{NX2DSI{Y>A3m5HVU}Qkww=}NMGKWZo+KGp zFHGqc_TMrGvm3v)N#iu{X-Oysz?AeSjFNn}Uicf#T*08y2BX6gFbBnBI$`}`u%^a1)fAo zBItzU2qy&6DFf^gfW5jCo|;JnsX&GKJz=v{7x|;iwZyC+oi7^R^Z$#fD6S`n-&%F>^W1(6J@5%B;zWMt(RzWf$_oV zbT2ba$71Qq_>fzZFH#mi95Rsz)fTIRcl{DC2zKu!lu>okx`Y?|eqFZ)_tg};Am|gw zOlQsCq?Jv+e9P}Gs9*_LehQAIiP!Ws+Gyco;F&Sy-aB1AVh+4U8|L){rm$;3pI{DS zUVng1H9wTaLL#Ef_S12AxS-E1>uy3Ck7gFoXU9~nPhrLxs-_f>x}HLBOW(KJM|d4{ z8D+~!ba({5Z+u;G5(&9k$ZN;&igN{cdCGk1M4M=~Q!Nv;;BRyf?dmHq;v#g7Gur#t zG_#{<;YZl_T7UVs=2N}@=tcU!D2BgP3h10nzbB&Xos1LWza@j&5rTC7b`y4Af)1sF za2Wmq6_0U~!*5w>+u%}3wA4ePs-9o=d;`4za~EIR5bO@g?j$(+GR{6bafL1#(&J;X zVw;k+Mg#2KgoyRrRBPEl=rQnEZ-BbGW4?ai>422P*Rp#%R&(A{b)7ApS#34HT$k9} zpa)mle(Ws@aFrL9*m`nZzD*cE-#&VwH|_0jFIOFD?FG;qgSS;~T^TSPi(#iMQVR#hN{q|BZMkc%#&$+hT4e=XK)c6LqN!v4k(*>@b=$msvN>a}xC6MBw> z21xm5Dc`}de$X>t&gng$OgOi_)%iQ_;j)Y7lj8@8-13C#(}H1R016hF%uxR*K494I zwn~p6IC%hy%_+cZEu37U&&6geJub0g;UC4v4WxpbzUI3A*be zAIBA%_8q1tyOVB+WX+X)RD}}gF@XwGo(xVC=;`lLNh*csI}Gx)^|$NrWgu>$gH-Z` zG00B9FM>&Op`B$Sl|z8Z_m3(r{DaO?xI_(+sQ)LJ7QWoXh&NZx3L~&~h`i=i5;%ZC zu~rDZP?~gf;S!j20y3e%Th1f)aIKGK%b_n7;6)DYwi$Rof337`QamEf) zTJY+iB4d9*Xvu>~FFtz1pgw3Rt#61(fi@*80#v9mOggwhcszGWuC3HC@>zSe%lL{| ze!2%wg|Y#+OC-8bMI-%^T#T8mepN9dPfiM2y=psQ3|#!_{O|k`)#__U3GeM$g znbGL_8Rf*EOb1HHjoy>XyiB5q)?9x+D$)p?DA3EV7W>Trzohg3R)wB#LuG-#c*u#$ zZuQ$jz32D)ertIRk*O4e2HEjS1Nhu>K$6x}7vX2XvPTb{nyiyc67TB|Y>L!7KU`pt z68}o$sU(|UiVV->v5)u6sYpLOvtJhZc_3vp8K^E9258F0VS+N31cG1K8?$Th@Z6l| zgNc}7+TGfvHW0ozORIStzsq^pDwyC5zWE8yOb&%AImze<$2>k_ zA31Zk=k>3+|CuWUpnUTzBj2C@b#nh_+=c%8<>Nnb*R!|(>tO$1;inOnV;5(amooou zww&)USJ`WBB!Bh%3ftBo8`~s5`B|LgA2vZ0P!1QpEB9v_J24bxNJPKL5`2&FWXo$P z-A&aAc*Fdn;flvNoKjyx;fli4tn+?fIDsiij)`DAS4aAJ>hP|g8N*X=YK~q~|Lt#0 z^(i5LvPd$FY6TftDK|JIk9~@1q!1$n&FjGc_N1S{Zm_Ru2TU)%3}txhjxMX7fIOb? zxP+?vIKCmK0iO$Vxm*7r51)+s=d|GhW!X?2g>sH}+90umu>otuGP{FjUoBzccy2Ze z3{l+Do=UHth|{q$B1&@S0+gycM8Ry$p7w z@wv0icQeH@hI^de0aT?jUknZCGTd9`B&ApX@P2gm6*kFZivW-%{e@~1w&Y(9{v(O)ZR1mEf1d$ z+=RX|mhkvrfnBb>QItoH(SX zM8|@t1C-;PlWO1Hdj=WGgfYPYJ+>>;@X6SSOqAhZuC8{2Or69b!`H*L%hKhq^x>k{F-Y_8DP-IXPm;=g%Z&fo#r|GUh@l zhC-jJv+fIDtpx>;0gXO)?fA8Sn03dt*UtyR6g^O)J{HMeKb=z7t|MQYb}|Nxw{kjH zJISqt_766=BIle0xBK9RiN?;8g)L0pN@2M=VQEO`$kPWK>r{&c%J9M_>CzLlEYG8C&qaXRg6~>d+{M%SKk%mn!|Du78QNh)8K^K43!m|071rlUIT94s z6%;%W8r;4LDS}orYV=}`Ctk>U!uHui-v#XWAhnEC`*oDukl{WU05AY{s#rZDp9DQs zV(pCdYU5%a&4p%q$&BHSsO9PEVHc%0qnmh824<^9Lf2l>9KD#Cu>6`kCMN3LN^v`| z(64>6XzutCuU}^!tUO@HwE&SU~1|4?!VBQh2u&?Bv zi4}(n#3{2K%w{t7pdZvV_AMW2s1q$3Tyw&XICFxRgOINrZT;1DW2Tc6T-WR57rdwi z`W*NtPoI(K{g4N*8n-!k7G72l^LcQbDSEe=ry2qe52~eN5xQd3n6c}1nG%f*tX0FR zPTxyytQ>M-f)jGjIoTu;fJ)}iPKs|NASZV;4(X-3VJLyP{Mt#Sw|G}^9wDE|o4)k= z#icEzRj=Xxb4iM5N>&2>kC4-Rbr=Z!xUm`*2*Z1UK1+Bs36{E7-|V3+9;v$yS6qXn zeKFwc(*i`M=_F7Y31R!KqEUuz8v53-@gY(pU+Zb_lUkqTr<(b-LfoZjOx(f;y7wLF zmEh2i-Iz}7n>oFtFU{*L`**cyrdKk<thD;>hlRevQqlspZ_AC#wuj;kL*Tj%tpO&5{6)PUkYSrT9BYuA1NczZN z&!G8ZHVR;YF<3k=(-VUlwKFZgJ%m`}9nv+;cfJh}LA`htvtn<2HfvmKosoSUH0dmQ z-`p~Ak>8(9r2+y#e>!=w!4~71K)n@b1{_K3gJ-t92w;WKIuOZt;-9=ZsyfsyyJ4_1 zFa_1!OyfnRm@nIPRT5P!_wI)X97K;ggB%wj1q(>cp5-d8Xv?t|h=yO#JH0*__5<4| zovSyNrei9gHb=_{w_;WjosrOy1eYl{jJxKAn$YmnqV8u=3O$4m^9o=jihS~b)T@Tr z@IsS$C`Du0O~iyTP!3i6Wo!qU0+tbP8}yho!0ojePw%eIe(*3D1pPp9M%&ChQw*hyP`d>ss}5as|qG|8|>18F5@&?;t!O z20Op1UZ?8`gpYviP^C_%D~l6jeV2yiCm@iIxl1zjGF3ax6W~$6Hf?G!RE%|2O^li7 zDRenuZa(xb0PF9eg=F6SF3?pf@)U=DRoaEV*m?udi$S`>G-n9MCc!RTOzcBV{Hs&u zx0$j;-@J4`-A>B4IAN|T9cy#~SP-Qcc*g0g)*I04R^RY>s7e%xJe^bHW~`zCFl*>g zYz2x*pJjR0SuKN&?{us*QM&?(qg&P^Hf~f!scnr0O zG>WM@yYFxBnPe2Lq~ZOtS!IG^PA1NZ-TjSLdO8&Q`=xfbNSoApn0nv??g8d=>wIF zZ}*}qVzWEOICf(6czT!2D+Bi=Y?tGEc2ByW=xvNP$xZp-myrp?w-5maK=XF&MvfM_D@~~Tv7OTC zB^_cvhsGAK#H%lLfy|uS@>EpqegXU zi9wt5c6De()1w>zT~`MoY;sZR%c$<8bIRu2FRebJh^6ot!=(QTRZ5pU2j5H%tx%ws zd|m`)V`$+;4O?(QSa2Tr$ZFlkmrt0Mf+>+2V)}_9M&b8I=UT8hDo3r~?ixCTQ_N}9 z_Lvb8-=+ZGX4Z-EM}LYvm$i3om^$D_whCC$s5FcIvXqX-a1M?fm_7 zxA^13%lql4!dph&hCiz(a$q{{Q(MR5%E!vVh{#j(Z=K7l8(w?wDLQO_C8Rr5zS1du zr*YDqP9}5)ezI+q1#pC1Dm!W>_BY_PYE;;?Tf0e5I-5ZU4yrD1pk;QL{Pd8-8Wk=U zsAC(3Z@U1Uzl?ymQ4ocrf@BAI*JKix>fagcMpgr=S5;U(Ki}6~8Ff%k{X{A$Vuh;@ zqkdNXAcq?CadcHQa?=Kxy9;6Bi7Ibk@*>CiHApS72b`tgwY4>5!9DN4Lybv~0`y*K z_5e{CueivVmB!W-zA;1eJcc!au9QbjUa~4GHB0vUtdMrffcEXaKmxSaoVJl@v zoa9?hOVlE*W)b2ztE!2}DQU@uOaBbZnWkd83UG_^kh-qwfho7yM28McRb3=|XKp8b z30_C8FK`R1_WYsm0zw!o*N^Rt*OU)-BDNEERU1Nd->J(Ors2^=8)uqzf5xa(Hcjy4 zr=s_SmS5HI%rY*7O|aAr(3h_1cbsol3&jXW`6Hw^7@<_Lx&Lncj%*SW%&z>yYh$y! ze`|fjedg5kE3D3|!)>waFpgJWf3XXymR)a6hXa;ZpWn|sE^|BI{BI;&dd zuB?2YVEGN{H_iy)nmcUJ7{6S{>U4hQ{9Q^Fj+XQJ?Lt%^<%-koLwiFpMlwkpWr846 zDARvV#3G;W=+O@dLn4!;MPAFI%^Hh(fW8G`ulxRb1sQPlFh5JH&f!^{(pU<^Y-RP1 z#&UFRoso!7V;pg)b0{lOwkDq1OB(o2G6}vnYaOy%k=s;CIdADGBh}&`{c|36f5JV|#GcSuFt{o*j+^3e0j88kXI%N?g9P=cc-6rv!CZN~gszlO#~X;ATFhz`A`p&GylKcf!N@t&UDSNg;S^fl3 z%Lmc4BMh@Ub#0ZuCN-&c&(!GkSxBg$lh53cd3@! znp?$PY{Nik%UPz38c+CiM=->F#`qYxhp{^fv>3RkBz=5{P#h!m#OR+;wcfi4`eb-*-# z_uB)hIL+C(HEU;nRpv&|yV!FzRN-kJJ3Ds|F}e|kk3mS7{Yd3x(%z79qy=F$s%qZn z7$>{6<~bB6ndthZ9qJ2hACPJ>0wiBv>AsTCrkgz$$)|EO@$8{ovUX@#lXmjR`xBD; zq6f>itytrOLGRS9#Wdv#39sqzt^_VSp{T{Q{nX6$&1+ikn+d%A94BXy_{a1x*ar(cT{m^HMC+ zy2~_yt;kUIfOF3A6H_;jWqQp_pH*kVOX>4C#B*B2d{l?b`d#MK>Zu$ZteCBOs zIc=A@NWt?fZB!lP#L%eA#;`=$HTY>l3>xciOi4T)-W&li8LJFxWT=!Lw|eF2LF!2& z*xQ&ygByep(UXeG@4~{Or;6rwJM_>wD^JW9f?~7BWu(2dU6PMRMI8Je@onptEvIxk z6{oSX_nEOSO0j`b6pz0Y6^2lOZCH(caE6$dP4*E~-Q~rDH!kd%kI|;Hb@)Mwt6Eft zwf=14&YSTLF0?Nrr7Z~xoL{_KsXx*liYmTpVNC-B>AaVoVxjLc8cY&g8ivvz+W74J zd?NHlZeLzQEl%_)IkNfWs?72Rywe`&qb&}c^Z%>}cw!EQ4qMw5;PU!_RvX{pm>#d9 zYjxi7%^GXfyc(JUsY2Hp)6_3lav6F0Qr`2-DC~dc#iqI0(Mc=yCT7|IYrLx#Se}}u zADw{XX3@|bFdEHlvSV|<`WD?<9V4Uzx;$JtYqVv;p1Y>&az01(_NABAe4Dvzv@vyL z4(|>J-!9@Z2<_L&jY=W3vPPMIj$T17yLB^5%MbcV=I#EpDrmXMRK!oib4eiBFBg{S z-5ni%5~VIBCL;ThJ!*rg@{S(pC}^6|67)A~X7F)jvL-J4w9gh@)F{sK(@uZo3OeIP zwRVaF)6>(niv2Yx&_iHn(IwXbFaNo9WMB#F-FWVBZKDvuP--EFhf{O7!czRn#$6${ z>79@-zk6!hENc0R36;!qXz9vraSTMu92v;CCm}0*{{4ssY#-H<*R^2cxo*IFb8R3o zYx;M^0h!y_)25j#H#);KnzpZ_VHEZlkK4&GIi)Z5+5T+J@|x4Qft#lD%JRrC!vcOF zlwiZ^GVkU~qnCwu-MPVQ#Qw)&nrlVL8HUAjlEa>-z{7Tjr$kyrR2p7WY8ET&Lp+VR zo<_k*NB-4HVLm0@$;~SXM-E-5dDP-ksHW~CE=4-^Bcxngou_nI5x`RdSxs*#7259o zU@fxbSK)m!y}hUmH840xLfa=~CLvR_1Mfxh%ZV8u(7_MmUfYYbzd#HX367xwqoE?C zcP|dSY)L1uV}xV_FF1j9HE$cn21&T5kf!_6Dpo8Wf5i`Iw90Q*M_oirl)E{qNs~RQ zsTp5PANAQ9pj57HG9I^9`0fh zj;Jt#Nm`kX3HxK?t|Jp%QYSu9$D-!-ikjy2omK*&3th^)$1-LZ=tExH@ScZ~CGgDc zw_oUIdyaWZuD1q!CFo~$jv$Tql8pKZI~LrPAwpR590CBKU4Q!G--dd$?xoe+BT?HP z@QCB#7%$!10z1u>)BTm<%PySh5mY5epkCVpjzV3C&@}x%oz0J9(~;u&XDg?OG)A3U z%RYG@-I2qcI5C+xF`+my=3InFPQsBFCIW>{{xBciJnTGRQbYuwswD+94&8UA&f^Rz zF~73hlB{Tdi!`Ld-yLdIHWUxtx=W|zUF5aqQL&1&Ut=|Mv{$kieoMGZm6X9G)@0dnv~aplus2w1}8B zYEXyprVUK{T^16LmBptaY1qdAQPLR$nkMJTo;g6YJ#1Q$p5^^a?`BWrBL1L{T4V~0w)6N%{C=JxNh$O3){rOFlk zx;ehs{F?ms!~rdPkH+4A!76rX^B{&(+Bt<-c^fpD;=Ic$M_l246*CXf96#E&tPxeL zeNjWb&-wc`t)>va2)iR^`cL0i?Yw9h+*i>8VP|G?kmfDj?0P%+G$*S7*<peN~3D>Ax!hsm`dQVe65VYHJF@HWq zT)OF_Pff2$CJAJMz$bz%sT6|8uQR4)0|}E7%8%Sl8AkCZn8_y|NBWt+JC294Eo{f} zMXf!uFw`!lS8mE~V-lBCO&rVR7%j}bK+79^yK7%c%bU{5-ypLCoUe-n*Fq|{^Z8lc z(dKRIJ^krq>$b|(b#*WELDe)v{Z3kwS_px*G1y?O2hE>b(479#}C~nV?U8L z)qyy0nLzGTC0s*SPnDU<6qS#BG+4%E5T8f}!_ug(rqwK7%~;wQ<9;<$eh`$rGJe`u zvp29%F?b}4{{ci&so0~@KXzA0P0_qC%nhTTdNZfieM8+d3wi0-dg@!dkOjUOitvarpIX0ux}= zQ(h@|ic)FhyYhZNGJEJ%IN`ZT*$!%?DlM9WPq@}q%IrGh-{|&^dqs1ba1w(%p)Odu zkW(W3!`sBkup}J^@`p;jg2fQZLdYiWMaX%6QOHjGW4E5zE;!R*fe^m&sg07buc9x^`NJr_!@#OM*KcB>lkDMX0;^LDR6(+y(GjkL@_KAR200Y^ zg5>sHi-r3b7(oGp33&IqH;CW!W4q#&y+L?O z-XJ{su3GhO-`&mU-fC|UUO~~s)4W0aTs044A6#GI^$oZvI;ZzQo@Yf2mt4VB^{J(! z+l>DdM*tc>jhzfUS|NFYzblF>aZx=fL-T~#>q!{W8q$i!;Igb|887W=MErw{&&_B= z%DqaF_{8IP%kk)}i>IB+G->W*EQ-yS=AE+DWdq@fY9?Qxyx0p{ja^}!457y>!1e{0 z>D8qv!YlCBx}i)MMCP_Fw?VGa-cpEHsFZl~xe1h6q2NqRm|+l)!d?iLx`#@I-b7m1 zGHfl*fU^^8ew4k-XsLh57L~i`PG%nf{RB=M=5qsdS4Gp$Y{)5f=%EGNgj$!c9hjb( zS(fxWwY2+oi+&!+31$CXF#*}5(SM7BPmbw}u)(+2n#6Syhbx3lSTYJ-{_WuE5@MQf zptW{c(01zQn}{-V@HCaIBS>$2xrAv|=j6BB%R2&pIA{8@R@2D9AErk#>*aENor9=s zBrkxwJpwBM+#bO6NqjM;KEKMZytO073m5C-hshYpEb_y=CLa9U5S}$t7ZkB@K68nF zvuS&jM8S#^6*dEoz@5aPQMi9ACs?np3#p1}k;a&8!!A{_YjVVXwHT*$a2z48S zOVLZ|CXgFQm|vlBd|ltDSxQB-`BG}Z`bxnsKt9H)PWAg($F)X7d0=ZHn`Du%OG#fX z@;$2;?5*fAKWG9*CYs}yDH8`tz?6jw@-=kAPO>giNva`fH+ZZkkv}o5`UF#d`7JOj z|7ki&#oDoc0so6Mt5&ny<{j=!6Gm&zZJE;tRe;l>`H%moR4NrG`G>V*RLpJVE%1wF z*ek$||1zu{NJ2}i{x66jW@5LbNM34FZeQpMSLe79J%di6K(LO*t? z@dlvL;urHjb8+})ZNz}>)UaBeYPAFNH1xe0`Z-iSFiUv$SBjIq8sBXG!V-*wH%kO& zC8Jkh8vvK#+a_x7N32@)m{8_oG-CC5I`$LuAOG#7P&|koEe#S)e@YJT!$EUe)8Imor?8orqtV6dGoOi!`hiLGqvD! z$w{>$afA#DLH=xf5NeJerDmfT2RLBGLC*=K4_b=R!^^Bl+01Vl$kbS)cz{as8{p-Y zr*bHi-VDpu<5gLo^;!xSB>~Y8^qOkuJK0dO)|90*mlDP0M1xt8zai2#n|dqMmCRCP zmpp(qa=3>Ci9Ag+aGjKL&JM7x*D20HY60sTFB&BVwPJ6I&AcaR?|=LUqC>@F0U8em zUIjO6yYi3qo^%ni4jA6!yExZYI%R+6J&s&4`i3ehxhNzTwWCRx(A8>=(zDm=ZIE9LeD&*w3kY7_gCpX2KHC=WRL((|($U|`$ zS#sdV@QK5LBrN&PZ$qxI)mJz(ltipD(_$1jpo)CVF}%8e%{(_Y-tQDrm<72Tj)Ok_K!x+0hN1K zwdN^BWs%sFD#{|fA+?Z2c#DTW$?&K0j@JAj*1alXQ+lM%8bpSCvN zZ@pI&q9TN*`R0dD9~+;Ws(KY6%9mQ`s{Tf4tFGvri!o6484Ia^PKu&$?L=zr@oF1dSs_gMcMQ1QHkTiSLW7R*d zP}0=c>CoSq*|Th*8L7ue#PaBfS#~;~!|Bhee|RJnqEAdrLHpdYO|0yXE8=Mx!G+Z7 zf_kgVAst-P4LjpW@Y4a=Vf6}>=mGeOcB(ZH3uV<>My|flbUp`Z*5(EXW2=ByjV&&n zwRSSQlaKzBAVw6+Q6K#3A7*)otA7***s5mOhP=S9CF*9S{f0zwyR@vcb+BrX`+?jA z)Jp&VXnFt3%Q;(r&o=*COS#r8t>Ds%EiKT}dR)EyYR%H}t2MRdcg}=0gGX5+mjg?- zx4~?jC2D7psFoiX7V$Lio(W8~lyqjmz)WeQwb}fVa+M5jRj!j(D(`N>QKpD|bDAO3 zSoIcIeBp$c9l**%Uf{XTk$}dFw;-V8dfg6HUKzHd~kH`LinHv@f z67YhC0`5cqfkp3(^?gR-JQm%H@z`!2yDx2vc*<3tf=-7-hRZw}cpY%n7b#JsQn=F~ z5kJl2&lva3CQ_dAvW}hTQPiwG;erdqWn-4Gigz0%cSHqZJ#eK5F7-eZX%16{iFS8` z;_&j8U)(eutvWEYf&?^ca05Y&m-M!q+|B1HWW^{@<;zvqGR0HkS`4Y$z|%sC#rG-y z5KjD}R!z#=C7YDC1ej6^TzE7k#rCaMdpk>%`T`aS3KQMr?k!Cqp$OF6?w#7t z-+r4l8vBhJ{vLebKc9H;kOvQWaO3b0el|aH;LVQ*{O1sY%|lGxXf*a~{PzHVIPgaE z6Q=Grc<`_d!Ocda3BiMpnD_8APdz-?$Kb&s4;~&K-2LCx+~0ny)f=_X*qXhMSZzbJ z;sdXC^N?4&)wui5cZNld@THZ#q<|9F`r&gbys7Uc#IwL1i;Otp5l#CtswXUlJUe>{ zV8vR)Hjl&?aDp}Nt)kBSp?RHv#s_X3Vs8OX*GL-EVE%8$!!p~n7 z;BNmFlTJJdfGSgly|P%r7)C((7JCqGI{?JTD`BfJYCuH z-oLly=_@TiIX9t^hOyq$Ti*#ZI#w!zt$JTVRXNZfm>4WQJ)w0&>A(&2wEgs3op(R6eGVUwgD~UhMESI+Tz`;%)f;x(fc$E^f6~5v-6tfTz4#zo5W3@yY`t+iU zu3vwmuOr@B9Qoh`y`UTcD%UAE^Nkp}%E3s)P*LKIs<*k$rjWju6{IB6@o-sYqlgp7YY&f2?9u}*<^J&Or}M8)G*ZLrCK$6qJdsr zv~b5rq8T%6W9W=y2HOJG04iWTw8}_#%&abl7Nk9E4a;6@YHThyCpqVHxf4hwHFV}C z1JW*BY3+igSV6;9yAyd_>sb1j1_|;*=nC;;4uo+?EX~^Vm)qY09&dS~SXb@KVKPA+g2)U2zOt-4y#s4J~aI4+25S8AH@TC41j z)}SVB(y#P67db5J1vg7cQ>0W*E$=I8fPe;SAvUw@lz5CExdPcxf0v^jsHVy(<;s`Y zqDOl>J769p&%l+P?&+OgTkDa0>OGckhc-`I!kXT{aV6vU;;cu^A~;AI`^uF>MMiaB zSg_01!!%&gf!IueWI=<+!g%0nO>xKy@tpR|z3Yq$q$kiuAwHNA!!9(hvoOWndCTSp>cbnd+Lk7NMe0-d_LWWm}qaBNM zs@0y17kxUH$!iUv`^eiMQHx~!80T&G^tNMnLB&k&g~0HJaGaM(czvCf^+|-z6vu}{ z3VDTKMs)5h1pySLUc7$VA3tk%mrQL;nc87d;3M!~+kk;%P31x>&NbI=DkFe?FDWFf zSeAM723Y}5GTjJK+Yr(f4}=Eh=M4)<+pgKO5Ujb~lR9}N$W6;?^=J zoWgXbim{)&;%q%2;8GmalsT9O|{+g!Rsw8y9-~bFl(}gp&!KwzGws8 zNUPNpccrl-Vu8gcwe^uj_QJzr#I+l&);?iDus@J|CDU*Me}Yn~E*duZVSwVTiW9>d zJ!cS8c?ctyMO|?Ca5_t3mgq6(aL?8wu6#EcRUX3U!!di7znv(YO(Ad^xxi-T;Xyc_ zO+A={A~xW{5+pJ zf%*pTc^KHo+OK*9&!_4*{JHxI7958^_ryfzpM36)!=F9X>q-1t36mIePvRTs z8xP^k@=rB~JjiE}f2(QdK{4@@xRXzp9>6K$5ocI@N1N{}_VDN@ueFh<%8p*KhhJ5Q z_f-KDu$RZ~YdEaO#3Cfi6rb4lJg7REM~RN|2sOlpP=huqhNYSITsuWZK$cro)M^H5 z3AECZkz=Yo{4gfI>%SJ+AI1Zfz$i+b%AHp{^3>&VF@VlHZwWOz% zbWKqayq?B5d+}j+0tzX_<)VS&GQ4R+mT&NHu%QGf*0$9u95qjiK$q(B{51I?$ZV z>e1}Bb4Qk{?O4?+5JX_yU9BQUbVyHlpOIx;@iLY&Us)o{70GU|?zD61QTj3Pv>suH zYR#NGP_oZ*f*|Cs0c+0_$@m+D<1nfT`(?=}41=ULbOuY|S{x0Q;%1S*6o>BYlci|9 zvGB-=AH$<^HE*0vN0NuPR@T2+Yw$b#O@j)-jCp%&I0JabZ-3-OaJ3*JTpNgpJ92A` zlF9fG-a7=B#Udt|wtt`bPX@v78p8l2X-dbEl?6#{#KQP%Hb2F_G(#bE4D z`(SNH@Uu3BZ<%m58#9>@!8azr)OSH$W*UwWF8~Db!7s$F20rvb))}wPQyYp@l~sis1`bdDeP|*iL7;{W&J(p#F}YA|7$k?z#2;faUmF;bi9meFq!_;S zgkAT?EKc;~n!}?MR1$$7GX)}od2%++i^qUW`UY~BKo$NZf-?C^VjiZZIqKmWK0%Wt z{>>M6G*+jQpRVS}<0yVV+tW<;kmZe}lJ!2Cw9Ol8Lz5p`cy&=^9o$eAgWJ zsrHd;0k z<=-_X(31y`eJyF?>q$uJ=85QU8k0d&4weI_U~pZ_sM=J<>3|m_fAAQvIMyK(6$zkI zFoi%G&>%ceL*iK^24T!7$4%Uz*R;dk%w!HM*xT#)Gl6w43fv-mLd=^9y!y( zlwd?@N`MNNV-4ThIBNvDOw<=8NSq!S5F;~hqzzjkzBqP;Bz*vjd5WW0x*Krl@R8MA z6;%Y|SB4^-h|2+i5*;|x9BM2giXiY%brA+*a-jT5l7mh1xExR)NrWnmrM$o704W9` z8ScEh!C-{51c92vLo)Gz4Z=vCM+o5NF%n2e1%xSL0(ypllT{t-DyF8L?I2q$uM`zm zoNg7ZPjwDkoaR~JgD15;-}Mm+L$wD8YRP9#;4v*d!mt2H;y#Po6P}#JwJ9tcPAEL> zj;AB%fhGRHAjVV8$%B}DBFuut?)h2ob zf-n$M^0(Ij0)sWi!yF(=cHO7%m>4Cv?`A3`-*z#vuT9aL67^;O;^!C1Q&$sJU58vb1Vn_^ zj`72Ja=0kj=2t18llgV(Z`?cI$cZZtU{}W6ic`_xE0<@ziUaR=#B4AFN5O!uz zY5i}OVQc!6X)GPDcioaT*wiVw?Ex*X$YUs(i=%;(({as6V6cZ##Nug)y2O{Ul;jD2 z6|bZMgHPwF?dVExw#Rj{8l1iR_eQCO*QdGkA64N{2@NaEay2tcari)=P&ngZw!B5@ zpd{mpocv3Zri?rYXAfgm z1k~cn;Kw06_Zp_ba?DE5D!t3;k0GQ}7;L0~ck~ zc$g(g2s}hDS78zXfsi7kP#RuJp=&*bytzL8S`&R9mVKV3ilLVl-1HXL^TuYAWKy#u z)w~rVj-L;x@*d0&h=P}3p-nFpMczs)K0S^aB*euP(P0~G8|9;&J<_2<5yB5D!DuHK@jb{6Mg`#*IQ|r?nCqj1 z5^@UOggkh2ymRZ_p(=7q7=xuX?hvv^o2}k9*hy8h+qBl>z*n{2U8@J+s)4j4v_3u3 z-0tl(Ydxv;lW!E=XI)9}k!7H4BZ@Gj@(pwZY&OsnC6D5!+|?@ASI1+$xe2N&s7_63 zvmxWi=EgQk#}RVJvo(vNy=SF1wx(NYp61b-dec7o-BrQN%+)Ty0gxZpxhVrWm`Mqb z;e=5)h!fi3QFyxc_;-NP7XI?{l}N@6G-5m`{7YT%SdJBfhwQ=QYZcF0QWx|$*3RCu z{q>ZH;-P7dhu69DB%Dr}OGTnIA#lx1Q-pk(^0Gy)@&6`5a!f6%XB#B@Am2KfZ`&F@7&d|C#Q`=ALU2H>0iz>h~^r zdGc9mH;Bs;#~<5`g++E}3;^BCBGWeU+GLoK!)Knu&B#kUh!_j5?FQjr-=X>F67*Vq zLEO~w*tPgYm?Rqi$}-3YjC%g*jK#-;m0(N7<|BpMQjZI ztN9{dJx~RZ+{VnS52J7*PCz7N^ZOU*35Md^E&$r4@)iV6tO<5|xpqS(@{QQ5=g=l7 zh7RFg1%EtsTLI5Pcnlgl=ClpX;v-!fX7ZDGdHnZ0{<~#+Z8~k!1{r45gNd{9_I-b= zec#LN`)+$}IKKaW3RrOXY?0oK@!3CoCNE%sfX^ljS%m0v#?hq*3P}eN67ZxrK>#{w z1LOffo=8Z*L8ZU}r-0ocZ0t;9=He584Kj_{%vEy&J1$etH-34){$3FFb_m7YSSdwQkleiNF-y12jqpg&{ur5z7!qa6>NDKiLgWY~if z*+#`6JvK~iV>gPz6g~}dITgXnsX@+wu_D4}oZkY(vxq^;njEk(I5Yz_YlB?*fo+_g z8|0V;Gg~@yg@8eJr_;C;bv}qfcqWbi_QJuVL5{^b(W#eN$YMUE4UYnZ$>jC{wHn;dUABWBNP@`**%@4M56oPDJ z^J8IXH$Q1ZyZN~|u3L@5sBXQtjcyP#5EpEH$OpIyeLQT!$EIx@ZotQuZ5(dG$9vm2 z+=7n}wsH6#K0eyU;RpEmWE+Pc;p4My9DahKYS_l%XZUDBferY=qM_^!D7y)TZ*AGe z$!x;MqY16j=W1hP%QlW#;us6^4(4TdoY)56Nev=K+BU>~3s{jjwjnlHgW#;#hTMb= z%>e7?Otb%3I%=iCV7vx3jhe6mmiFJ!|LY2R~=rGv@F5{sHg$ z=}Q>J_>U};?dwC?5CLYI@GHFv6>(QtsxI;aRBX79ESpBaiv~IwscIr9UV+6nS6#dLB`>L(>s6tl#JMvIf=-N zRKu!sQuZtz7zrEr1u`Z{f!=EnQ7AB4k<#i%{=|tg zJP8s!2|Cb_OC6|z@qw09^Xgh0U6Jo zSpZm(u4=qN>UW$t#~hI?a?Lya13LYyK6n93`4~4yICjP7!Xh_3!>^Fx>x|Lc&!o9Y zHa?QgjXUzxrssod)j$WFTu_GFDYQxO`lnpqx`l9(QFAOV@iJVkn$wIbHjWO)*$sc6 zF<#RJdrnGKRI6*#j6_`oFxQ^i^Z7KZRzGdS-)8d*on{sZx)csuzgys^I^9+7m&6j3 zMulHzOleqUa#ezp2;qK6tzzZaNCJUBo{i56h;ITy_X+4>H)kXc!@(>LXUddut?UJC zO?N{ScT3_He#OzBJW%e1(X3YCmvpC&M-rPBMuUx3dZRK1`RsyTg6wA81^#lWb7}~1 zUxepMHpEK}F!T))bgi6?-sM6Q)sGC@hv!t#tycZ6cqpOl5Dhz^xeFiVUZ&YpF~!kR zv)J_ceC?@St%_-flMxtcz+MARn_#-(s1VQM&%Kt$V(P>RGxUa(M*xjrvbxyN;F$ov z-NBdG??6jY0)U<(2jF^=$kD1+o7?DW| z0Al`*X1^y*pm-y8I{cV~ZX&>qR?{T68Q zhQU4_k%mPY%IyPk>_C#+e>QUnVhqFw;wsbuF1Da>&VI2|GL~*w>}+9iZxNobdYNP; zMshGhs`#>RdPL{LzSH=yH&R^sqXC9^%Z_yhUA6xBsuR6Y)G69vc5_BN7W~lGL(gq$ zgaIFC?PNgt;B#9%DA}c}S^cKr`cH<{8g+|?^{PbBC_>i+@OV#K+JlX{bpfCoMlT-P z^tsK|b01K8FzeEXHk>UhPpJ9)^Y-eaD<2`Z3+BWqZq9JC9*po5gBD7%MNaInYr#B; zDborWcGXouCv{-NIe))eefMlmGD}X}?Oki!H8V2Fh(}OFZ;@Y5&0qwU<=O`7kC<}s z#h>&Z%wj(y39@@zj>Ul>BHU*iUniZv} z!iGGRUJ4#r27(RJD@1Tt1X5^@ueTMBCLknG7zDoGm2AByRRcOSz3riDz?$@Rl97%z zpRYlmP;VX#<5XdbWhu}=lC``=d0kxqjYYLU!lg_Kq*JG|*%nHj zz4cTVl}XW>w+(aO`$DCq{R`x^Q^K|L?5yT3S|05!n9bXr*TJ5XbN(h8_#r4nNa^dM zsJgL81&?=u?Ju|snRJUtS*>O}h?(G9#?zm+M7^1{rj2w*A(EG&RcP79fO`Oo6*p0Y z!59}p6M&Xhr&51zXKl@VH4$vZn;*bUK#^gBbBoU?Nn`GUMe8fkO6S67(pK>e2*Lhr z<$gEObXIQJRx7Lc;0rq#;DV|jT^#qi_@sb1W?H$E^i(e8j6dBLBv+ibD%l4u5>HUTarvUm6Hmw`IDe} z_KR9HPu-$XR$AwXfiETI+5~oCEBL&V+G!EDTKnz!JejJkcDhDk-nf|&O{OG2+qjyx zA5?nP>P6e^Svx)Yg38)>AEO7P6cHk~R-NWn^YX|MBS5aN6+F8K7JeNhG*N+#j zYKuB^y?P!X{PUD=T{49S2_EJmi~8oVDuWhUSmX(In9O|22#&{7Mth_O^lsV)f|s`m z3Eo~#@MappDMk>BDNH`9E^4JM{WP~fVL{plJeqcuXu4yO(M}y?wz~Q%ug7u~C-%FFeTK6y~sqG&rRXjCz{sviOU0I1%R5Zx504m@}O1dQMn;` z{=%qeAxnR%UC`3!Z4gFCZU6+3*ovlFv?rVeVI<)PVag2;k)u#j8%e=%5t1Leg@S2z zo8IL#7T(^v^w8C;)fpo7MJd+T5H~HQ#R7e1BZdhDL^UijT8fuB+@+L(M63O7DTTM| zyemx!NxMxA=OK)eiZgpgmA}dZ8-@|P2t9AiD!eH8>5rXE{$6myjtX8gDuZztv&tYB zLskaiG^-3|NyUvE5C4F@I{!^r#J`?>p59~56T`35Cy~Yt*xe|cR@|8|g~n@1g-xaj zJe1CYL6l7s{Bq$he`qC4`kZwybO$SV#8>>_$r<}@<&k9|41`~l0>H=Rv;r?k;va?* zVetu~HCG0Ci^gGGu3#edANd!kH}bF3St355R}-$%SV8_-WeT#<3cLV>f8b%5sVo-9 zTZFJ&@r@;mZzx-SLh0fg%8x=1dj=1Hi!np@Gw>HI`eVjG3m$&Ndo<%QgwbJ5MR;kh z07Hqp0k5E3Lo^G&VJh*1kI565lgp}N6lGQtjywp3?M@vuMW`T;Ubhu*wcGqKGk8|q z-!z5ake^xS$k^b{M0W!-Bgzlx&u2-AMhqS}MxD#TwNi^O%Nz@8lseP6s9%YBxl-Da z137+VF9DhcVx&P{q#n>(K@kYJe*FC(dll0+9U7ywsmwozQtL;YuXH6-7%Uxu=wldR1Pif%c?J_!hbr!%J8P@3XXHo8l{C_)Eku z`0i2pXlEfj)VI54iti0*SKDvTIWsj4Z-Xhc$s_7B%Rkfnvqv7=b8u6KZt`RNq@L!Q z+0$LWNEqFva67M7oOD`CNawlWBj%l3xPK$0dWaC#Yze-tZXl}iv?U*OQH^YA{%Lv& zPV+kea*C_`J+3R|Ia)krFZ|$xADk<#?}cIufEKv||IFZvc?0!juQYp?oT&uP2L0H7 z@W+0VRh#p<*#Uh*&@i|nS5#_$=FigcGB=+&5{CkUF_LeyF(c76W+l0Va_& z0N8;Lz0L0I9^XE}8xjr?P3P)~4~txJDURlv^jU0u?;G1cGoh#cGouZ%_sCIQDy=s^ zy|*llSD=PDQ^O3(#ahBrceTFeLN|X}@C!T~X|7&{!mmd?uABMDGO0KmbLJ4&T)|1> zpS)83t!ksWVljR(P7C8z7CXr`KS8KT8$^^d1VyJ{HkIWLHBhls(N8?hh|syk2MvOO z&tjgZ@FFjdn&JF?ov|4!!tkQ<8o)?TYC*@dha_U`aO`-Z-D>>>4ATc4U*X}yo)MA27nWC^V{g^!Ese2^ z)CXEb6^2vRppX=i#x6EZ#}w5{fh4M}0%%opOFKom{Uvl->PiWnO1&x|lXzL23cF1( z^eZ5f_isX`!ZT8riXthz($wIla-OaZl9Q^qk5#K?#As7I;;u=N3QsN5Cl_D-B_09Vs#!F~^nP;B?p6+4yL`=Vj-{v*JCQ(_G)2AMM=U^t8=;3%d9Wi!KatLyZWLa~c`nomTM*Pa-zeAmyj<&jG3(~) z=H4%7+%0DOygK7wSKg7Il(A0j^&r=m>HwUnJAsNoY%=ThH@>c#2A2neARv9f67bq*3;b zT&AKQw|ZO8%C%xCTXOe`SRmgT&SUJ`J8|wSvKAVp*YPrtkMnecVQ4GS91jz5itoz; zv9n{W)H;+aYZb zUub&Wk7<+aj=>Rney$2S&6(cDc$Iv}i26QyhB7@UP@CeOy3L)3x9t!B@5e-a?`q%v z2rBo)UGIL}^60L-l5cLn?Wbqenyp@y{$Vz^w>uU|*J)E+%{f43t#@F9-)wB>TYjh3 z`Cso_SJdoPAz#F-T2p@wYQrMEFJHijuv3G-(DUu>yuf+7z1^AjU@)%MJNr)F$bd`o5a zM=i@A(ev=OR%?fMe1t{j-SO)9`_=KIYZoY zc%6p<|NRlcW!({o_ZULxxUII&_s!3`+em!-QS3PqWUKj!G`F3|Lm@}3gk~z{wt1&k zSTTBsi*;=SB-#dU$KpMu=giy>%?zyh$#GkoUR_^Kzdhte<|SfEDoSSXwiIlEV7X6w zM82Wo`p!7?4Etwf8iGF$D;tBrKZlTZWE=i4$~^_jXFf2%CJ$g@06Bp(UC#If9&H4u zGXs|ucJ77xTc*3A{u!CyK$cM|f$uH62EoNFwQV9FCPAlQ;u}556f=?68p-u_V-C)_ z#Y>fN<6PKrj2_M0bkX6hlP8JQe8So?)9SF zph5O_gZK$#f%E2^Xw#eq2y(OFNI>~E*W$#(F`zoDyG)i|&3pBDHboWOqs-+ZlPf0* z;MPUyT4O%{(Kib@Nowtwz4|nq!s=D-wV``l0+de+Db5n`F2jIZEy;WU!8!PtAqQv& z?lKIBp(GdzopSHq^)NuG5=~=pv;t3RWUyIe^LdP}LUb+76QvU6IXNH7b6Sc*bbyT@ zsKfW-X~m{|$kE1qNPo4dvhh&>VOm3`DMt_v^_;qNUY%>yO{GR3=)5_(N*FNTe?(Gx zh|R^V5T3A7FP8wLBLz@+J`YsJIa_e!BV1D;4xWk=7VLr#LD#^sI4BuL6Qf$iZ{hC3 zn$K?@g+@#H#%FN$k`GOSmV5MpL?6_FCTM-&S}1fB2EVt9yaB90gFxbs!(igpy6{u^*VzOnr6#BXeU9h4h9Ru=+# zP>a0%#_p__D?PiVw!k}<)Rm|*EXeegQS3`z4;tCDcA{hIliJEUq=hI_B%o- z(ENn!AG<2bQDU?58sBQ7tDL-*S0G2rTX~f?@~YTIyjXh{5iR4b(1sUVAjdvpa?(02 z<&zqKTMDKn8%-(lz%^a~Xft-8U6Qkz3kVf5s2T_s%kxDnk6%Cu8orIEIlg&CCnp`6 zkt;a0I)%2aUEz<}5$sU@8ZkcQYhA%XCMQBc@VAROMBWoQO$`kt3k&qs+4}U6`z`1F zDl!)H!Io&t{gSn=VzX0VxeGcfV&WYXaO{+y3w)o0r+_FrZPD{dc{Q-!p9FcW?vNQMkUy4}pFgt{q&On(--_Q$8m-9$Y;u`bH^u ziw(gmO@C~9a)lT7W{n2myL+xZkMI7$GF|rV(?PweZ!Y!Z=|Q}*fS@2l)*Dwg+?eRz z5s$m(H<#$r;P1~x>9I?dupL@Kj`_7zdl{yn%w9UI_~W`S1Ia%oh2GmKfgW>lBy>%C zw#9n|LmHnft93s>@j!u#E%?@r632Q$JUO9!847;FfZh+d_&+Op0Gp1ORASi$T`Xbd zKV}iW5m$;UJI?WduOm$QW8Vv$F?~UmE_k!4Ny&cnm{A*TfUQ3w}Y5h_glil_|{my9CjxcCT$t((Oi=6(tgVZ;Cf z`)@j8gj`AX%L@xjG`Lv$7@+wZ{N z%K(^ovuTNV%QW+yRN1mfO&GL#lDWS8iex^IkSW$Bc{1y0!5P? zDI~-CU3+~U*wP~wn5SKG+AX{eecI*z*lM+RZQkuPQ(OLQnr{@dX`QzPL^5OWDGzQO zxa&5WW-ZzOV%L=t!ji8=vq8|;qN(f5JjoH_V{!|66R!;c))p}*4h5IEI2au@7#&z4 zxrzgfgEpnT72T3t0h+z_Vwl+=@H&QtOkcfTG$&HUM(hVZk_Dym=F$#%t2pUe<a2 zFX+;f`g!Z5ex5IGK1hAq0VQu~(4jN6bM+Ku?g2e7zOX70l61QYyesx>oY_lPUP&}} zB>5fb(v=5y`L49%*}b4Xg~wpreP=LY+Vhg)&`^@ZALgY?@}evoBQngb-$%NtUTA`< zu_%z_RzUWFUph;nFxwNpNvAn)@&jo9{GRhOw?1xJ7P)@T8Jt@iV0`#YUyAr;y)3l- zs9&~g=d(|^L7_q{A!<}8k@xOUvEl^-1f1Tbckm!u?jcJk48envcpnn0I*keExxgcF zqGrLo%&X1~+!3`ob4)cv_+JLw9*(2rC-N3nN%mwFn#8rx5dN$)9?QKzqcxh1#AozO2<*wZuE}-L!?ac>lT5 z@|E3@E4#N?SPRKe{x?s>f+t+LG$W&_wrd_C$tMlG@JU@i@N?HdrdPk8IvKEYg~v`f z`gv(-d7oIRO}n&r?3hRxS>&*5x>Hi5 zUe7bRbD@XFDe9VWvH{tDVx49s&AqQ;!{hDEl<1pMI^0p)%*J~Qoihp3Ri&e)WMRVg z)FL@6jc+fve7b~f?wzqC=C6|a$p{qXiXW&vS<=cGfHwrG9Z|I6LmH#dzeeZya6lcHSG&5&a|P6#q{TqFdAT>)9h zMl3v3%CQyM*s+bQAVlo_>`!&iThB-iS@xXkzUuyC7e^Y+Yfn#4zx(eO{yy|3803Di;hpuO z)$APXJ;vuG>1u*AY~pumf6T6`R_|LwO%pv%pJ>5g19kM4^863pDvs@RJEI?a^j&dgU z7f_6mo8KpvhY06anGSA;N)5BU%Jf%P8RZgh8;z5pca=ekG?)gV95Q9*@Ju{h`t0K_o`MuYygTIZc-tzg_;xO6PBd56S?jg$C&u}{4{wg<5hzpKC2wTIp?ujOcZp?YH8g^kSg7tU}) zPk59NdcwCZJ>f%#o-`Yi7+8wEZf`#n{c)Srl%!8DO-Y0N4obox1K_7UhlPuQ*%U&H zJB*7Ie@p1}1h%lxoXHdfGRToY2D!gs)DF)OS7MVrEeJ$? z@Vok}oBmpvdG}bA%mkjGB~Os10f-SBOOkb5b6`Lg@6`ByIrSUO$$dAS~%KF z3#P3jwamB_gFFxqR0qyg2W0CujoiDMo4lqPO*=6&iFKgYH%6?{8P){n0aEx#b%ghY>k+DXFI3f^vqocr_XDW;3W4%;XQc(cIz`iri{rrzn2|a4u*1`= zw!_nmc6ge>+i9lNYHo)x|Ijq!kq3pUU5PVZ=Fk>?K|2(a4yBDooS7-sFQ%EeGbUb~ z(Vh1u3&aCC`EmVNVrwihjwLo@!NskbKaNMnwHXF_JOZ6-b>NEDFCAJ(u3W3yXzjH~ z1m3;&0-Mc%Jiy50`E+A!&1O5p`7FU{wo3io9dbM}J7hMK_FB0|jz{<2Bgdm3?vdkB z?J^yY=rSFT;O+6q>=8NApV}OEOw(*8cL^Odo6Vek^0zkjJ@?7oy`mdtW8YGnE7fe7 z+05B8;=#}Gs~>HdXqec01|HnGY2M8$o91rW4}K~@rmy&i8C;_w)f)EITU$VWMx2xg zXXe%qnC0(n{}CZCqwt7-8}$GadI42R_+UKtZ>2g*O)yAh_HCVX{)k>}vYa2~+8;-I zN&J_z2tV#8-ocKPWVx}UN_{6;g>dUr&n!LNnk;Y6JIcjX*;S^Ho3m7^)U@sg@crLZ zYit~gmT-hhOUZ_kKJG;uln6R-Gv1`~;8m4}Q`}Z>@EVoJ-HT@{H||(DG}io$n5}2cIB`KeY;X;fFoZ5=NH#5xef6TrZ>VJsoYw7O_RTEkn^idC;&b{!N1hu zd*@_d-|M2LyMC{WnlAl=i`swYE{^J7ap5MqNKKpjJ?{?M*|60VjX=q&_O<2{Cf42$ z)R$_E`Z%#p2C!eD$wsnbhcwjEDeKNvCQVsW!IM!S0P7I`(B`3OCbGWGAb73)1Z5w> z6?C=POh&660Qrh zbUr%lFC}1)@M4(utIr_2b}|fZr7=jzN^zX_jq(_-~;tmOd6|MJjcwifbA8y}?CR9Y@O1~eNfFNagKgE1jXx|i5qbd-8 z8MiT_yVicx%9)vrbYsF!d>*N8dN;F1TexAW^sod`2EPiG#8pc7vA~nR1iTEBC^IER zl>ulDMEhWfwt`~-%f8w^2+|S>KtUItr6g%q!Axnbun{WZl^R9S=(L`6njPtLs%At+ zZ$d<0s=6kz4pt<*wP5cc)X@TU{o~k1jG&#U_>EJiZys4?!S^BZ)#Tzl#9S=|V9dIN zR%n55I9Fb{nVH=8G0H_v!Z6um*tigde_%R3I;w`a(m_oo^7o+hs@pK35 zk4p1RDGpbB+AZjwitgA`p}U7-wP~X2ripg+@3kBGub`Y#1S7B}Pdn07=9QO0Dtph| z&m=%7)yRQ$jQsrSY5=wJCpnx-$jCRbKh-`lIKtJ1lr6 z=1A{ObgL)c-u7!jV$vx;P1sG&&xKcfSN<#S^BOfO<~NXAK)kyFuqb|>U=3%vMek?k zmgAk}{4BST7!r6=>HikT6s2CO+dIoEOLUV5sp&wa8h)PmDA(A53m3qMG}!?TR+F7U z4g6ezUqGOO+)cxr%b0@3BL!8o%gUS&VOa7NdhzBx?<8vsbGT~^^T3PrZ~qnxHye#1 zxC{&yjfMxy-Sk;?a&S0e12=K+rirzA)8vP{*Y73)c7B{e_;be7q&oyZUQFOSlNbOTb#8fP|q+C|RCQj&Z(V;4Ca<|dp1U)rbyyTLe<@G|O0BKG^?!-b6(qlUZwG1oIz=^$g1g!T;$8K`zHhE0@zf|^;#^inn*Sz%c0$( z_dBf2>4SsTlQt;2AwolO9r#mmKl7A-9Oj>bQhI+3b6-V&sU;rf_g!P!P2v=OW}HxN zfPQ$Hv-5;s*TcN=UG4m@s%+imI9XSL_^@6G6kZ ztY$3_4~T8mLufQS(RD^PC_jgU@YStfZR-rOB9q`I*{lSY@>x1s!SSVVBeJ9dA#;&a zq48w}LE)~e))UA=<9D^o5)lnv+MkJ8kl@l&r!yjD*X>JUF2u+QGF-yq89vv;)s_t(<_Pgf<*Gm1FG1qYm6vH0mg zmcLqPPgN2L0p(5y{MT&c>IjF7pKYk2AwZs0fMg)_@Wy4uU+qBJ;QsVYHcT>+nj|aw z*>Jf{m$kMeY@B-*)!`h|B<&B%M}Onfe4ZxxD9N^kLdKKvP>ohw-X>~Bi<&7dg~-3v zg&XcZ@=+JmW8>LPvX&9ZsbssT?=Q9P+FmnRk0E~jz;-Guxq7wMRq0Nspg+7ONxc^} zf8q^kz??iO`M$t>T%U*V|E$BC>>0qhq*8%#IZCL1>ebj&E~47O zv)!UzneUG^6RsvgQFJWOB1|f#!bDvZBA`^{EdlI^j|ItFQWGrwn+~28C|z<2q5+R# zkibU6do@PLQNnjg)~#2W#MprVk>MQH8iy=9;fpQ_!fNk52!o%cSC<9+eO&QDX3;^)d4_ zG4zU=O@Sy#`Xc?2_bM}`Y>%@a80S^#}Yk#rXxv_;@34>K@i)sl8dnkLL^M0 zuczX+I+x7oH}s!4X7T42^OGoC6zIlSF@#r{!zf;lc^bSP^Vee`aHs6`*mUV=EVK`W zar_V+d_{Z@x)yFlwddl*O1Wegl8vC2%lWK3qgm=U#-nSJ?Kklz>e2!GHU)!$iywO%%}60?p+)U}GOhy@o+ zMJl+FrHJ2}dAK^;s5Cln{f1aWv#U@VWjrj35nS~U>aDSo;b`c;X?|H`*vVO)03!9bE-kT0Xc~J9TL?vHc^rJ z1O%j+6|J97T${(2inYT9>j7yZLW$rl$TV3pe47k!21zDi-$6fX7)eYlAeOEX1d=LZ z3bIRS0TJqPrZwy9($vdC9uxZrvIVG~Q!|t@wfL@384KQ9ss<&Fg~S43O3`@(+U>I( z)XP%cc>#)0SKSHYx&Yx(zCuOk1u~8cP;?ITAHLF=-sE^~%JN96M^W?H^v_9@$a$i4 z%v#@RzQKgzOGsKGIAkB!Gq}lj#4k4LFOU1F$~AtI?^q95V!bneQ8g*M(CS#2gr))5 zg)tfJ?G26x*J|i~p)YI#HKBGW)@1zGhXt#vRDvl?F~30VeC!8g#xHVU0}_X3n4@xR zn0Lkc%f5UbHX4N&GtkI^y5H_g&+0%R3yOIds(HYse=rd@-~^06|7WISSTh|%Ivp2c zIxh0AS$QeE-xvik{uGHeO%qUYpejuh1{crR)idfF5j)F~D+5@#VimsRM@6@?sTtY( zLVao2#W~>jQJy8gSvyu)lbr%oq90xJe5BK^d?N8~6Pw}U0ipS5aTgygYWb*wR5eLn zSjaV+JzSWoS|`Ixi>lEISgYc7!#UjVycl441Qj8)k~CFy#X2I!Pw01Xd7Rb&#z$OO zE0=vJYv!C>FwDBdJ}d56h>tOg$ke`fvKzk2SSaQ==AY5&Q$Qt=1K5#wnt%vYa6mJ` ztyl2U^VOsP`FX``wF-R~TwlT;p{CpcQfG4XFr`8~?oYhmU+!FvXG7HHqH-klF|QE| zF>B$hzgUjuxFuGrELp8ykM&M@J$CSj@_yP7(0Y*u6KZx2*!9AD!fuDjGSB9v#QRvY z4{pl^NVnoD7tJGM*j*r%5k) z#D0AV>02Agq2(>{yB?+XI41B8);Hv>UMBJ%1>B@{SBe;imZG>xLrj+&;yg$JHV4sKn?Uk@OL1$shT#aY_ z>9oYhEdn6pZhX4K0r32b@D8eVPEtJ0_%=EGFL*m(6%G-kYpQL@538u@qz?r{$+pno ztdXq<3f>NAG^fdt!b0IW1~PO7O<+&x(Ex@)p1(Fuc+78=i854Yb!yI9HeQ-ciI6nx zz9=>(CFsXb4x~+%AoQOqAa+9rVf5YCJ7-#_1&bQQJG29!!HK+BoL1^+FTAwJ;h zjnAMfv2@6W{=}*)vblIeYh$OY;y~X)~ft(cn zbkY+f7g(6j<}&M@LeVvsYPb9vK~ej8pMfVE=i4u~wpT0hYr7W)>W&^F+HSStNPaFq zH31I-yevXpw9q_#Yyw=QI-&8LtE5XR$Z=2tX4p?2M$5yR!>EKrNaB!-SivWUL?4jQ z9LZJT>=Q>cy4{Tyz4wqCNATl_mtEO&iP9uxb)-@`7c`rPBhpyLo;#%P!kX|9=33lS z*~f^*EG1J~C?q@0QplFSIjmeFiY!l5WU&k)Hl8g(^e1|Sjl#c3jb11H3t7Y%1*ptVERfRiG=)U+^7JT_ z%}2fy&dBBqO9MYT)D{S|3)xda_;bevibjFjkVVSeyW#c1Ypu!}D#2ur5)2AYKAMeh zUTFwdFyfVuw41AaVT9T55_`5$tG_??BIeqHz#P5wdo`Uefm^W154?MfQWT|rI`Y_B zcD#e#C(Zr6eRkmBW%Vbb$h_m>rgGmO!5#sdw`#p3t!!0egm!q?e3z6)YRDgs3ST9I zisxNIUZ$kEQW81s%GsTc{zVbfDDiHy4+8y8RMbeYGF;jc7;GcUH}EeE3K2L0Sa-2w7rInrx-K0|^SOXOWn z0J%~B`PI6x;7%;j&_{P-srhRyC6sgnmMr?%`sDYbkIhezmD1i!A5&I-vX0Zsf6@VB zYNm~AlOecDh>UvG8-H4Jrxq=qAohM7W7+HIS?;BP>c17pyCb*IVG_72;Yqw znUd%@Qy)z@oi_IJo@0^v>q`F-&TqpA=w>`SqzVba^bdCy-NT&)m-(d+{vG$?;6SM| z;ewp%3o?W#z>px<3g|MG0Cf)FQa%{A;Ho^nvK97Tny~W(ZqlwycAnJSM$c=&jBaIw z1EBVT&fV|66+s+lIs1KydO8%(Kl!;a-CP#c%EAKc?-J#9eN!Rp?G2l3$LC6-)qlh3i_R2^$ z??wq7r8-IAD^|e0hfqavNY#uR_r3P8?3S)q$SdLo@~YnR=0B>md$p!cJc6O!uFV-I ztecMK3UyWaALwI2`&iks35X^2|H0p8*KDrvwGneTDMx% zv^ukW)fg&|dlz_5LmS40$vDFbYlsCT`SjVdLpYs4m?kSYIjrgQTN4sTyhKX({_x)! zSyyYuad4q;r0Up>;Z$KH;&_a;pHys~`}m@)GlA-KFuuO~XNgl(rkVmklS~=xLfZfi zXK+aD-f%9$0S{q;S|mCbiHAehB=)jK|yF~fJyOMWX7Pl(JQ z*L`-gOoDL-{!yX!!POZ5lx4(U(!){w@$!0+Kt{i>$w_}UoF?*d)Gy~Zxm|L$Ofndh z_4HM8J(oY#siywAlD`Bkh~LkX%bQeW)KCwuk}OjRRKzo4m6A1-v%&E0)Dod85;A*_? zJ}-ClJYxP6el-?{$KkyeMaft65)8VWnyZ+5&HBXBHCWO8BaYzYB9CY;kOS&)dm<Vqd_J2p%r9O*N^s02ZqkeUc4qL0 zV2Iwn*nU_(+v?g z4<2q`Y@6&s&LwcY@q8Ri?DKJc=$?<_2|XX{H~5|IH|m=GlN_t^g2ca=9WMw6Cc9$L zY%=ti*F2$QsN!7PCw(%hp7a$pNX_Ovc37lf2t+j4FlVgbw_~A@H=}U1i$9~NFMgn? zU$fEVK0?aZ!;NA_e^M)El!tXE{Nk`8FQkY1aKAjHM{K{NPLk1K&1s<5L0E8qmXA~O z@i({|RbrFw#n_D*`3@V*N8;;t38|*~vu#K`g~1o)CYJvGrDRd>4)48tr;)pv21cb8p|gCDH_u;emyNU1pk2UM92Qu z(A`ai?r#1r-I-ulN`YXSqF$UIQ|5XPe7Yx@zCElVQ)4D33XqB-8~h$XtU(6|r3(lU zsRp%yH6|fT(_}@_QjbuH2QuNe$qYyJF3DZ#SNbTHIArqs4yxm&0i^WMaQN5<*%9S*V|+767=S7X z_z+5!>CnpMXnr#t9?h>8^I0;>B~%VIUvDVmMWX(oG zzu-f#8ekD{H-(tW@?-P~Lq7%d0wycO?!osWO=2OyuL^?69zt!Y4+%H*y$x#&Kk*c@ zaMlDxyh0<-cN=l>4L%&qXUq9C*-21nr0-wWeKhFEjBq+kAl;eI{+JE=H|Z!x$+KH{ z(*2g*>J@mG!@-VoIhd@KAvN-Emq~s$zE0*hIgMZtf^4*=9wdiaXKMWHpz$NpbmSEq znl41s499smznKmDSs7>qn_g+Qox<)EeGKpJV`%kpQFSjsM#2!fk?%4M+Q@GuDz?;t z7lyBpHso}#X|V0-p_Q-`fkjy=>nHwWFAiOEOMw<-2>f`SWaF>$Y(NesIP~BzmE{o>ZAd;MU3H~bUbKPgG*)9T zO@i(1wPh#2sKj#=N{6xAe!PD`!p=!}i0j@E)p$3c+gU-(!RBn5E^ux_22LXdH^5W` zf>h;kCHB$Xmavbub`=t~hQsQebv!>PYEmmK#!}i@jQK9?0gV;1_n7Ii0)*f`E2MZ7 zq6^}0-+F}=z7^nrYJ;>28?{HRX7mXTJy^-eXAdTLN(1K3R!f2hwgY`NwtDh++lP4l zT#LgB3ZkD)03Cgq_h$oz50NE#R!T1c(oNX>wu7mNC^N;WhpBmLkF}6vbp~4jR@f7~ z$k*qDF3w;f;S-_N(nvLgMs%)81DJ)A=F5dHwGwV`-)E&gv87q!EzVyZ!~Qkdi`#9V z-46P29gNmK`&N2Ka~Wa*u1)HTl6 z&CEs1YIaQ*LFyRJYd7l#%1(LMcoeFwhAv$&%)%OGio*oYZM{_xQ?!)F2jE(f4;0Tr z;511ET5j8P(ok--TE#A#i+{-XH3MI*wysBDP4{BoK-3j=>s*+14*BV!7y9hQp%*gg zQHO&Lk^UjtM|x+t;K_q24=P79pSi%*RKO+rPL4?pW`2}C$iKN8PEcuuwpLhiSmuB`X;gMFn z4hFin;i&P4q&QMoSxyz{*o3n6?AVL_MkBW5Ya%xnNNRlph%7-3TYIb&$v$HC zMTW@3VLWLME z`^nHsD^I?lELj0=C6V7~h<3SXS?vV95GEv6&wmPeePf{gA9b1JSFWsz6Iz;9dta8= zird5S6}q3cOkk#1oQTIv&51(mZM1e<&Btx!#wvVXyOLn#xWwTixjCy0{CYxqPIBm0 zq~yrta*6K-+UgRjglnhfiWF18JiNX5I$n-1$J23M1}%0WNBst}t2;PGxiq}YWk zTCBm;buAj%78w+_H$Yfo4s)*9YcDo1v8w{CZF=c|Nkm*Px1>w}@{6?BT*$+f#GF{k zDH7f&m{&k1>xy{T_$yYSO-)TfScT#$YC9p96aFs>q(<5?T$9JG?s(8-=vsF=pHG!5 zq-H{&zd>Y(8LnN@H?K}!Vu)}67`ZHlXnBj4wC@eq{bH)un7V-+)5z+DLs@G~i zVdmsEP6t&UrZpPabJWkdoA9*=&|v~j?lTG$Udmt0e29+7UU(^+%u)C!1h0a18(`@W zpHomthiVKCG9+lp5^aVWkJP@t9S?(xDVu*yva9L52%b&Xak*3R{Hn2&7q^NS- z6#N3AUyJHtTd=gxOZH+W9ZLflG48-GE=L}9ZEG{jAHp^2~TrznL_PT6YvzaIFEPqN-A^>@(3`S5aT3Ee1`tt;%7SP z;su(_gF@nrcL*gh5mqjdjC5Q%uKMQ;e1ZETvE-9Eh)0H6-@@sUqSZlf5fy*fe6p{p zVXe2)@xW7aEVxnRa3dq^tZgw+FA)_8X>@AG#>Wix=Vy`7y5hmo@n#6 zr>MX7oLHtIr&l!q)rCNmjzoO|Q2NeZ#=4jBy?Pnf^)hy^0jhtl2&|6w@q(egcOdov zpgMH5nwM%di5l38`E?({=K+uabX{O^jcee%v>iu$Xa1H>pz?uW(y^Swj9*Qx4#zBZ zO@h2c6f>jkh(&rv9x+*GC9EA7#nqDEuGu+GsXJEa=GtMs{tZwJ}!fA%)V561O($Tp%&k50}fI0bQ~|(@-VZ@pnD||_H)Q^(8$d>tqz>q$_TJADU@5EQ-BJVdeaLrHdBEaN zRx1p7%>ZTcH3C|(2&D{@MhtR6IkKE0k6~UVotsK=2F(lwBJ6549re80=`$?jA_taH zt;lD9ojDz?R?mgy4MJ+!FlU%h%=dfV4=3**ZTkOJJN=*RML(z+%e^U%|$M^_PNDD&J_n? zRqny=;2t8(qRMdWwn}6ptCe;8CMiX%gd)}(U-O=HgSe8SxKizc&j7=j@Sd|=@E**d z=KoY@e8|G~g9Q^ye4nMNmfXm)s&rG~S=y~jjPGvVRbSuclDgUrOsuXxvi-?d_t+Bj zQ%qB`iRaW!AR25OTZ2r@=qNZ)r+NP#{wJD|NmqWzj>}qhTvB!nCn-P6{~wzgaXx5G zZ^WcFfkjnyB8yk6sOQ<|NWmk5Ho3{nOgk*J$gwn?de&Xnu!yLq(tPo%TGiaw#Y<_t zh0DHur?0)9vQ!yZK&7V@1yrZSZQCaK#kvmT;MtD)WwTy0 zX^hujCnRCD(WR$Emwx!tqw17P*ZIxLQ)AR}jlYVZ$-uoaUGWb~YYILe{y^P~iM6Uk zlA$6KuYbO{22#FXoAYF=6?h~;p)@@)0j3RVI7^9*GK+3^SCl42c6V#l++lA7idxJR zct2J3*8kh8>U`AKV+n;+qp_z6I4~Uo&EIGeL<HY-yr<9I;wM*?({? zOHNi(n<>P61KB5HJu;oRSL*%|_KEzBY+#w--C1fT)ij7P$_5}|DcaIw)rWztP>23IR-V{v*d-u8%~@uXcPR&8R3 zZd6S&=|3^a;I=j7>)2-eig8Ae8`nyuF3R-5UoaW74v{u@Xt4HI?e{@chnH*7$&J;=68^*}4yDQ^0Nn=$Z0 zk>^_qAS~3(={(^T&j3h#A-o2V?t03F;9NQloG0rb^n;Lt9D}HIM9fL3e+Q9yLg9a7 zN8%@cljWVU0Nr!u7SH!1ZrM}$uvO+4Q4sM>Bk&XQyT|p zKgbfD!GawBwcZ03#NlL_ zOX~{2x8voZ%9I?GOk9a{48H#JUEa?y@Fi$sq1^)92Rxw1m^Tj-y9D!mm zh}Quawn_aQ>fh0Ia@oXAwH1`&5ju;5s(S|-0ib>H3!390{zY4aBo2CFe*4koA);BJ zG3Ogp4G6|Y%v7N%`ep!}0aEO=wRcOJ^gPT()M%~RmIwqJrNLVavw(vpQ~S80sPQ@L zU6w(UZGk_m1<~ht?j?c9ld2L*ll-U(&{5>~PHTm=MgwUN&@HqaqCa}#*S)lJTPu!i zcA;WVR&HykukW~33{rzG zCmsCE*=(c%vnR<0NQsPLXtcIYQj<;18`tH?I`$RFVxvUn*4t_Z)okNiTV#$f;W!1E zjEoy%4S45nFd~tLMp(oQS|99+P@8(MxrzsW`+y10yqQjL(p6D<>IAH)4kD+z zh^P*g5%BGRmin>Q@7fsdND`}y2Bd&iQLboRLnbKwT%%N+H+6Duuy+H9S){u zT7-I-ecXLD=5^5>f_sY6;G1SDY<3Rz9`DN#kO=PGm$0)i9kJilY(dQ$We~0XKqnuv z2O>f^PKI8&Bjd5bitMZ4pHxFISjOCEkkP*9Mf|-~Rmh+rR`U2zqavcz=La&PsL4ux zJ#k)|`R7N}z*JCi;^OEBW_LpU4Q&l0WxS zu$M9o=GNS2CEMQi4IpAEXs)S z4zy@LVDOI0Sr6d=5bP?8t^((5<{0u=5rKA8kcM!1J5-m0I<^WrI^1yju!)4?O9p^6 z8mExv;N$c0C*V;{>6U}vsa7HN-E+;2eGK2xH~|r(F9A|lfK01)*S32oO=en~0oC|% z-sc>YPFV6Xs9tZ}P^I;jl z4|wyse~n=RCugrBfH|2Lvm|>yA0Tp>EUNT(J6GdunIEB4wMl!|WCb^|mk|k{;YGLT z`Z9KutGL!jyDL!OS@!_7YtcFf@!}!Op=Pjp0?6$TA-{!~WbdW+zS^#mqzW4>oS^%}z=_ogZFD{pGaV|ziCw}WcGaG< zvO;+j0lQO^@?nC|LA?k+2#9e2-=K4&nWNoyMO{iHF6EE^ZIqB(WZ|v2~PC{8}c?t8d`8xHw?uOesJbh z6kM8dRNWL{3WAN((b7k>j5WXeK-U|yc2iVpKe)5FwTJ9pwSV@*CY3m>zR~NL1Z^>7 zvbn}5szS9jb}p0$qT7V2M8rgd;An_O=Lk>An)vrh|1}AGzt3{CG#~kLui|SZoQBf`b6*q#1tiXy7FkaK_2z*bI4hA+I|wqyMy(?+Er-n z%gY$KdA=SXh_^l;Nk$keC=27-;i3q3A?0?1#|ARiQfimArRwqH$L-cW^TNjN?%rOf zBd?*MxYSZsdcBw?dE)DD4_Z&!S|9%I)bs0J$zZ@C|Lq(5axBC9jGK^X{xQkZZnD*h zO$pvT%e%Tbc#+a}<82LQFe89?Of@~gEHWxYGxt*aMsy4=6xx`S8JlvY-Z5$F=A zFX(`QBy$0YWK!*R?_J{g#C^yZx!AV_n6L=`T&bsF>vQJIyLze(J5qlyZP|fnWjxj3 zB|_6pQuvfcnQi587KuiUx?YPaT0IlkDom=b9?YlH{$iO7w}Zm%LFAecin<;|uE8ME zCo-5kuoE?162Gl}1(B_3C1^0S+TkNHG_wL!WimqBHyM|eX~&ohiWLv# za)uVx13a&HA;4Ex_Os9!kV0ch=<0jnKWdt^xTzrxeonuGyKG)WrxGxOGljRs2RSf=-drT>%cUkus z4k`=B3$oI%X9GON^8^!E%lVMLGqCZryR!STQd%lRt!Q0ErTD7R@a7Az^n0%d;5SLj zImu*+GK8oJL7yQrAX-kx?9H(UN1Qv4?fpO{Ue;Hh+FY4Ngu$K}BoI$j`8&o~z{xBA zeg`J6&`96DAH=Z`A%tQ-TrFrL`A>Qt;7tx2{o6^-`2dVJ-L6XA7Y?#JfZ zM~zhkA_Ui`su@=88f|bS54=h+up=1k?;AK1vo7nDf6#prwD25oIbhuV7hb3YW>b60 zumc9s&ROFt97t z>=e5@^DO;WyV-31Yxy=!AAN&Bu#r(u?&^ zzSTs@;X637$M}Pbzum>Ucelbj`xE->bu4v-G3pAVu5eyKHMuz4wc@8MT}7oU${u)+ z%HR8b49O{y*-*@DmYA(&{8U770g4Tb&4gL`mrJsh|^gs-nX{d>${23 zr0BCzinDjBd<)8&_klI1Kgom@1#fBctwUj}<;ZCEBWIsrz`|3;4m5J(R3qhellHYq zSlwtsno(5y5JWt*>sY69$D|zG9?;AobeEhLtCevG1oz#=B1@Lb6BU~g_p_Ox%B|*V z_4$;3jt9NeHNuTv!OuJcCm*?S&ysIBj0}|csvFi>y6F%Vt_ejohJ-218Z=N`pTC5%u( zqF0;R{b6h17yN@ZK#hw2+Vq+%*jw6YU0Yb>IZ$77j(?gdDY}#Mh{8LXHB)q0D{c|Z?}N7Qn4^8-YRLlOp^(3 zSJeTd{+qlM5ZP4Or_6b_vlsY?`{>Fv8DNBv<-cxXc&T5r@JrY85+XohJ=#bZkO^yz=N?E&&%Bob`0Pw@A7T1jM#QS4t zsRTPlo9yb3Hw=;W$-U=Ns z%G1Upc=C9Kfy^T5wWDdLT5wa7C#zD_n`*kfPvvcCH88hD*_cpQy4SA_p5egD6`rq~ zhNY6B7m|X4z`On@lOk>nqRpBMnuWPjC+q)@^;0`L2r0+BvBj((2u@_d?qZnk4*RJt zo6RT*ZsUegY8tv>%)a>b@CVysHy{*kX@x69Ij)95xF7AdHXsKy8aP8vd_wivlK_{< ziJvfwVD-?f!sh9>KIq87k_mcKy1C5kQzIgo7Kl&3hW^))6gqJLM2|y|802L^V0)PD z1_oHA{%s`jNV_V3h0w?d7|-!+nRg=|BUI#$OkB+)%tZp#l1wC^a}~MC(!{_0HuDTr zI7Dre5nhd|DbwsRhWh^3i|WQ0T4RiPD8?A^SdB5V#whI;5sn8UC(U3)`=n#34Wop5>6YIFj=&CkQ>R^#sY{WPELe=#$C2wZd<5 z@>qh$7bK>=SwMc)?a7oI3s(*dD$)H5=(k`QDTH6v*i6;p9kp<``l zD1XwrP#DVs+yJlOhv(NA8H$}{Ht0q0e~!P!lXppu%9Ld`SSC4F&wO{e_13ah{diJk za&(Blj=+Ih%?F~4p`oh0SM9S?nr+b-uGG(6^RvBAem`zBzK!Gt_sw(S=r%!sEnzI{ zc7^uhzTwl*EBVZ)v8ObI8g(c438U^RpRPTbA7qR3ee<(*U`L%-hbDEBt}h1}wXf`L z5aqowwj7LcTUrU!)+3`#gQQQK*p52bm2F9d~N*NHm%hP?Vl^n}W1rtoA)gklOi~MJsCNym030CkDHD zl)9T6Mp^sbjB;!-Vrorv(_;b4GCqc>3Xdyy`gxv>FK_Z>*$sE5$t=xB;Pxn751y%) zXvqsdHa|gVnx}lp(X^4W64_iK*<9?hxmf05eKml1kT)1{`D_CJ@1H8?fH>(--X#{` zZ%;l8-X%Hf_r-)5zg~42muZddSg-dJ{;~tNB1DusgD6TYDGwHrDn84%F~hMq#c!AJ zBuIDcA}pB=>BHmMa4jex32qCH>uhZ^A9B4(Iplnt6suJ+o(<=P1Y|)F$#<$YC`ue$s3FBx0j7!BU^LG(PI{;xy}7yq94}Cdu?bmzTFGxd9hlBLSb={ z>jt;*IP*|ye;E18U~Y84ljt;jNVm4c!P+~ zc~^COeC1srrl|C-$YCWAWwdBC9zFzwXEeoNr+tQRVt50f@~DP97jI;{6yQs3c_E}; zRkMgX{jW6CPRB5gILCB?wa_#~f8 zzt4#`F0ER_EI|F>6G>!St<<2(geK^NJmtQQsa@@xre(BGz9zGLX+vBJ&Rg(iw|JT= zmRCG{=!ZQ0SbRbs->aSR^z z$rEK0D;((=cGWmT>~hJy{Vpi|H-PAR;|y|`L^~IDu8~@_X+`oeF43IXF1>Awt6pJrrpb?{IesM^>JWV>5ka-^V#+NwVDKJWii$-vkTOe;${%I zH?Yx^7;R4V<*6;Z$OvKOm04K3!KKKT14Kw*QKQpnyeYjs9Vbl4loS#+yTX#pl%h0) z3upzEU*A}>#HE%jk>)^gJQ-SboSXb^S#f`^wk8QV1So;~kn!F9T1SojPNR{WV%TwG z56pTmOH#_#GTPGwU*a@boW_DbEv4Da_7Bu+Chj72Zd)MJi?_9^j#gcPwbToN2z2+T zZM2!v7*K&e#xNPSF4jlz_iq= z^ktOnT#jc$fl5*M3`AL(@7q!J;`N}YRW7equLca9u}f}3nCkV=tJRw^3;C;o)W5zN zcV7*7#Jo3SUix68?j7PlA*Z!oL*}Qo(K}r$ z{>qp}aBk+O7&@#j*W%D5V2$#DjrgcE6*6dxuo2zT>qORTy#M64k~Qj<2$q(7W<%RM z4=Eg?o!eJ+)osvCYlc$piR{62J z^V!k-`g)wd7+)rtRIOIja~sNee`;m$?YibnXzvGa#;a8{^-u|=hrt}m?iH?K6>5L< zC?JOc?jU+N6hvgT{L>5HMYbZHke8p684LNlW%t`io(phOKABk!;3Cjo|54J!@jg45 z@d!$VUF%?{tr?GB-6m6uY%10jv6C55)xKNeK{8_GaDU(Ar#Sr=z8wtC80hI#-~BtC81XHu2jhDire62C+nK zrlS?=tRHq-k^B@FAo4e~({2Uz&)dP9G4~?=X6&z4_2&(liZ^2(IYO>}NjN?psVW4x zE)jveE7hShT9ID%>FWD%d!ffGN@}?Lk`@cs_ElIGshj^!$2K4PaI)X4k0x#yv`Mvg zsa-{DyMeMESJZ79a+?6MaO?0%ieLJtJ}dS5YgYqXC7SM#G}p|jkGvu^Dw41-C7s

  • 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ⅇ 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/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%0DP0lHZ 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

    YzW9%Gb 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%0A9d_sD+z>lw9 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%0Av9I-h@E8@s4aM%p)TA=a7B{p#YI z=gz77u&Qx$UA!L=wiHUAHA^GbE$lhAR@iQND^Z!a8wYN-3Bc$WV9`>09j$FLM0p)5 zfOkL4OjTIv#RuW;k0BcyRcNp$ur;15I^XnsMS3$O{%Tz;V9)pdNs|lL^RcDid)A z2?V%!A(5$P%fis}$Npi+gYF6@aLPV7i)mL z`p}dGe}4a&$PD^Yk)@3H=&4onrQvEgGGFSE`O=KemuBtxQm>vb<1lUJ%UDFXNk?Z* zIjSSMvlVJUfqQ23h#Cqdb2H4r$Y@>0Cdx$PuZx-;ZQ91O^1uG`kr&{laq^|&%Y4Q2 zb(D5hmBse8-gHW$f8P{ST5S~Qp`-*t57%06*tMEiYKF>mLzW16&y>oxNB>3r2RW?gXiaO(*q zUOWot^_efaL7cqEy4LJpJ2l(VKJosUA*TwcR2)_=S}CM484|kG3@70!T0$f(;jbT2 zq){bx&G-RVjj-1UDT&-TscME3=+c871-sg$p}`G&1hSk{CSrm;!U(IL09l)SbLX>x zkjbv7N4u^^x<)%z46(Y#ql$*~ z#V=?-f%*SR$(Ol;&0A-~;GU%qwf~LaLXU#1@0-`%JaS&&94^av&U$19YQ_MYOM!19`Uwx^Ry*plZB*xvvVvUyH@?xes49kxZl9t^# zic$8vhwa{7qutXBwtM$t?Y{ETHQOC!zk5~L<>D1>Z>i`t+V01zO&4x=a7&^9_Bq?# zu2uHcmrB{~>arhSqupC;wfiQpfaj4f8}CAu`%MwsvA^6HT4kqrK@Xh%uzCYzGSQGuQ+(*{$a{KnCUbfDGl6 z_`ZO#&T)sc{UmAXna_M>P&bxBBT!z(9_Bb|GdA*Y}qo=q=<28)50R=QuhK<5Z z>)c=IQ-3A1@4y9ua-=KDQ5+oPRR=Zg`rhHHz+xt;^hi?23vro$LCx24S$VmKR`$Bc z13>8}QU7WhFO|(t3c^)~CLUDl{4BdqE(*O{d*nF-*0B@x&9iYfTeat*!9Tj^nHt&i z=+QloUVG0owdS5D9o_T5t37fWxQA7F`PkS2O$)UE>^?v1S!uWSm|6E+V@3=XJv2ww zeJx`qf1YC|k4NG_xZs%S4#!L!Uh9xL^E}5)K0ao;7Z@{LaJkgIFJ^S*r-eV=$26zS zqR%@cdjGj%P!=gLe+!O3Vb$OFC>Mv)mVBbtnA)89lAM>-- zi+y?aBtm{HOA=ljR6Maim8gyJu%8Hi5RcEu4d5x5fTQr6@Ugw>zq+S<9|EJ_V)pwN zpFAbWB)#55__JkZX+{H7jT)fEmBh{Ragl@-o0LSxcN)tB`*ezs8F8<0 z`J486m^pT~{3gt}mM5rkLs&%WqS@!C$u$A>K6ZAO>143Mx>bSTH*=O}Jdr*dIk9i_ zGtIcKX6r>WIYKw=e7723cOzG{{RivcUoWjE75zUe0FE|xddvQ5Bj<(S9j&-!mVIk)RX?2BwFLtnVM zn{d`7&wBC6cuF^(k`LQW7+GNL&}8bwW~cu$;dFPEi~?zLFP*)q9)VE{MXo`2ANKj# zlZ{WL$KmBKKQKJ!^7!L$>~W~RElQXal(CUMnB3kdLGCv0py+$j1)0##ZrwUmejlXce`3Ob`e3dLf?QDj(PI z@@=ax*K1zBTW!m^_$R(I>y5wSAcodgXS!vit@%!V*qB9qvgY~J;?uWh!3rIH`c8cM z4nBS6b_rdlu0clh3!40l6{hp;^OfE#U0qV=U`O0kE1^5mLd3`{ELA*c;EbM*&gg6O z3}oq|hz}})W1OE!EP9;oKNYg$j9MRCU}&ExXu|K2YB4jw>9gKeqiz~ejc`P=ngeP62zj+Ycd>^t+;Ld#G z8^Y38-u%Xeklh1R+8f^x^DLd5W0eU&YSUz3@=IuHvTKzRyxdA^g5J?XLawXNWwUCOTDRTWHGa5 zQ`Pb*d^mrpu{#IeJEMx003^AuYQa%gw!ix4(h_VVBAb%1^tuJvT(xHBD<(oB+r)S~ zFBoWOBwFkXsrIL_sAci-ak|~l6C>ShU1B$0Vpo^A)07x;F@2PnD=mJ|GSBVjCKp9^ zvt{e6voOm`q|UIkZgw8o-t;r7Naf)`HD+&QgjF%G#$BV$$PvRMZsdsLk#yupN**WF zV(A&LqsWQj$9ir=Pu<9J# z9&w-;`a&0-zjA@VWFufxeZ2-8&WcQId_mIia}PR^-Dzwa8()%?o;BttT5dH!CQ=W# zKUrVLD!0#9otik;Rg;0C?@s-IPWZV`@&TRU1Jd|_4j+K)4l|#WaopZE)s1{a(`Ae1 zeTM92p=cF4ufCZ%B7eLd*&SJNON^UuC7A&;((v#5z%%2s;uZAC7q{mX_3*N5^d`XH z7x?2XILKpg>VO+2>8Xtrre(%931Vh)~8LNDi3615tl zQZY{vsvermTnmvhx5XB7`UId>sZWs@r%zN<*ILhNP+jSK)NqJ6dYlB6^%TWS{M4Lz zwG#k{UyxwWbj8Xz;GG!haM0Ov!b8Zy#s6U9X~?fYG>$MZF)z1t9bd@ zIsgVO9J^j`0*7yxa!ZK)^hl;VD1KQ$gvd+m3JKq)s3Djlh>iF@Ox1&=j%|q`iPOjz>MJA+0UhE#yF_TD2+6`v6+9Fh5N*XI+j#}4u*{1hiYYP^vi=IhoIE1%J z=U7GL&rAuP1Xuhr78(wPZkS?0Gv5t=hxk!~T6W{6l4MU?$%dNk;$dtRnOZgh(L5ywnUtI#V8b3bMxS`A_+=xFIP75N z!jE=vQg?7N-oX$EB^fYOox)bkGQGa}l!lF%QV_J)H~yxc!RH>*#^c+Q8oI#XufvS! z>bPOTR3rUwDs|U9SlWHu%yuhB6u-z%gk_3S1FdE60YF=AQ{8Zq#8uz7uv>M7N6UpS zsM9}BQ-kih&tqi}NU;+}#>pl_ro}+tKo}xqt?-iv1xGAsWn9E5aXx%m-CdDckXr)U z%aI%ysiG=8t8ShhIUz=*gm6LC`8DCooUn;gBJvNMX`8B6$c|O1y!fp+T);WP;ezA7 z25u%YT=1g|mqe&^>Evk1aB0;dbQ~@@Q%8`Fz~Pd|;gSomMoJ;GlTT$dkOr5Tx5LrE zY*`r%ytRymL|%77J(*AB7>N3kUJz1uUHqEEoJo(kA%#I#ve0(HqJd#OW{7AQA`osu?+=Q9N1Z#FUM1ND%bN^6-3&dNY^;#x_7Judw;KtT038>Dn4kl21SbI?d==u# zNq7o92|oJS-Kq^vAwq$5@gdD|ofJQ;#Y>b%Ja$`5A)v4EoJj(8D~-BAGjObKE!2%_ zmG$D)4xj!67q9kk@yg=#*eiaVo(P^7?0U>9e-nmR$K_-2TxiRD8(Fy4t0 z;#aay?GpzQ(h6xLYcY~5(4Rl9=-Z%S+=dQg`x<@6O$_w6uhFkT{8H}KH#_>KKe(x9 z$t~vQpQ`~5_FThIM}HHd5-17iF|W}ZOM+c@m3e(%GDx?eA-1}tzPo_k;o!)yRd@Mz z_$RdLj=EL1kG3kdyjLP&W0JfLQqlO;oZ$#cjeu^?E?lb1>{w8*_tJ=TdbP<#Lxfa zvjW@UP*&b}&!HXoppkLW`2--CVU*DLI2%n3$NB)WMpBDa5IFvxA_nm#pbR016-I znO>73;5NsM6eEjmAt@|fJY+0WMi~fa!hICE6HmC-VyAA`T$c32&UX(XOOBspoT^9>#5|G zhQA<`+i{V3k49Cn6t)Ff;p8%N_Fk#cTy|pdbk*KzrgJ1&i2SPdZ4gM9vt>ab(b=lN z*>{}qlebG(;~tZ%Zvi%WU&wHAz($$kQPkTB-v<4R%i2q#JdP~u=wJeTr8F{1Y-Ab{ z6~36556@F29zGkmgfsoa)|tLf0mk|j?syY=l~nOjJJKS?+wddqU@z&qoVq13pD_-V zHpf&%P9?11wUz=WF}qc8gGjs!i^X4H`!D9(ZnfSkU~$`I3L17l#%gEP2+(!XnVTmh z{8?n5$cWlk4ap%)*f8|dR(7JN?C?J&?#h;c6FZVD&KqFr7>NbYEulc_t%5ofRPmPv zMc@J1IMvE%-H|_~^lGQ7>1=iwH>dBfCL@S7wB)?W(?kt|)!IbIMT_(zZ(73J1`?U6 zmb?@#@ryyFy+4TIkmikPN&8fjX!ZVyxeW30ync{ozdvWnD^5aI z+*?@1>#V5e556q@IrU1>VFB^8@!bI^sR7$btdRPne>V$rIczaYc?j1xn}rr9@x4`b zg8+HgPZp23(o*-mnjrXhqHi2AguO@@fm6HW4g>8?hum9iaUj69FdZvt(0KzvaGCit zuasy*4bdb3TyC7k8@GgYAoib-rlL!x63izT2YTk02=vUKA22>21IAyt{1-1^dWi*G z!~bo_<1$h}Gv@z}>f~c@b6$IgGs($Ree-Ktua%E%^QuUk2 z4KVnErnCx6q%>dhrH()Hr>%T(!;*uV4)m(0wCpC9mfWqgUI%}8w$zbu<~^{pqF?Dg zW1MIeiQ!RCA4$WKuxf^pnVOphnkG)(zY_LM>mya>_1TkEdaYGay2?ar#iuW$^$mXA z_RC#8PsKz833Z5gL;HkJUnvvdlUQ_Grx|bp)k;FR3$Jt`L4NLd6cTE=#*5M6vwP#u zh;HST>D4W;Ind`G7jBdPRmZd%^Q%?20#}3@Q0Lsf&?#+rz-m`ZVW?kROLnG+iZ_gp+3W^Rnz!q>setJhfNy0rxTXLK$2o=HiO67ri) za<0L`1muULKj~cuG1*EU%1_)t-Hk+{PFdKv0OZV6Mkp>FA=&YuBV(!*k_EJy))7Y$uKF z1P_NyCfUaqby~HKuYVHU!8&Y^k%#d>oy0JWZdTEjO1(XYJR%)o$V~l?M%5O3n*ioA z8e^T?+{rnW_|BZZ7qQ{@=&G|gr%(9K$-L@ZYj1<$r26Kk^#xjKr^@Ie1Z8?~o(%lm zdg+z`2RCe;Id`I}A$?;fz<9p!j?P;z_eCDtg|AP2I(~h+;`%vvVy%lS8=n4K6EfeK z%T}Mj=At=%_5=-fsZSP9tgRhx0B|bQSGL&f)x)aSC1&`TsiU0fU^pOmT);?Wcc0$egp!_(_odaoF7GY2ETU*GJ9 zn~_|%isyl`Pcoz?nIV<#R#Vvc?KE3M6)8=NbFPec!V1@!pK!_;#UJH-Oix=w6<*}^ zY`)WcO6U1+Sv`s1pO3Ffy^Z7GzDD=uq5rbS%!%kbk4mos^JMGZ8UM(s%?wbXYdkeHCvNa)uTvVhzd{X=TlJM+*bmEF$6%k8{D}i}Kq^-1GAY*Ks26e+lu+^h0D8Dg^ z!3e~+#njK8Mnzk8Jg}AoFXM3u<8es2WkY(Ckc1u&eVl~Jj;q3*Va0Dkx=U8S}zVAKZ^X%ArcYQ8xlG-L7t$x7YKXH#z5XO zm4C$wo9@F}WHuudf&5I86;^RMU_K@SYD=2PQ?KAEE=r+EGDzl2xQTWmB2EkSf0 zqeKoGidg+6se6VVO7gC?ZX$J^;W7^+sHlu2MO#TM({fO<(x?_1e{fi^z}8U@7i?m} zmE2jozBxg!%8JJ(^<$Iq$Cl)-c+N-joRZu1nDFLg#XOOF6`v_DPTf`@@ixMm!clIIzR za&bD{C~yf-lpc%}W5r`m$W}-tOK;OixFPzPDpDV4MvD$fjv2P=B%C`ebX&WGV`GQc z;VFf{0@HjQE5|^{rVEVminKXNT-!F~$hAc@8_%4^WM44N@hOeiq`IAOoZr)&Kwzra zzS&p&j+S&lu0UBC<0oYVc^T~R*GDAB`Gy+goEEMm+B}(Lm4m1vrT}imd*pfTbOa4$ zz}HL*(^^+TX`K0(7<0HHoCL+|%X-@sSh2uSNcK(SMA9`i;bzGZG$Qs}R5g2H{CgY! z&g#E|F34hnkyf0Q)T`#)zc%rwZgC?%eDlk!q_ob;pv%8KmO#$lgqFr7e4lKjmaK$C zqxpMVF8mi`1<@QE!=m#cdH%Cn>k+;-K1KHQksZ_QyEv*%T_UPYtw~#{SI}0DoR#OF z)4IiS-e&=@lG5GBQS(_d)KhKAG|600;W~|EdtMKD2Mu?Sl$W5c5oH;ePDu) zfz`p*EoquB;^!!a9Q(&QW9C~RbHzT(?LqB z&%)W46(xN``o_p+0bvO()^|zjt9g;iW*8wAR!H1dggPacy~?(!cCfKc-(sW%DV3B_ z1kRvq7pD6}rGd{dE|hK!-xYX_UA z*XH89ANmq`Kb}V(yRfj2X0Q|Kn&)59vVzAg25?ds2pgpZimDZUz%7IyaOg#|O|28L zZ8WcFb+wr9vXRs8=A57?f&4)isi@4z<+i!p@?DdJZ|3w`Tpj%xbm=JBHd9Bb5NoL` za2OW}7JU*M=T)vB%87!+{qIV!2vZ#PF00bYK~TYIbe^zI1QJG27|crZ5oF-b81fC zKd0}j*3H?I7rzhhBHlRO1J3t#rw7zyT30VD!3^?pLdfLd=ZvHvkztne*#QwyJ6Ta;q8XovSIW4XX3KO`a#}~_NAWje3Wje)-b8{^yE`Lu0$2HrH>vT<{44Ua))WAC zNE---Kr+hCq9e;k=IATd;ARfp6ED>17gA>bkYO zlasQ@K1akWF z5+EQmPxNT#tS?>$aNB7iMZhQ8h1$!VdB(0Xq#xssl1< zZ1p)z6{4uR*tT4p+Pr&-)aKob+lb^#8=bp*;#5fUPm;@f%;bff7%gZgnI**g6|dYV zvF&L4M)pYha7WZ$#PlE)py2dOWH+I?UG^+?P&bPFpoYys+oKq8cc{tUN@$VJlalik&n>0Vas(#c)-mF4>({Wny-^kHmBQEPiRmC zG7H<`mC>*^c_gg%(K1Hhmd>U;{}X4DMRP*zVzarX)!a$`N)xsZcACv*F<_*e{WG|Q z{Gj+OsHw4dpAdig?t@~`hphuRS?HS_g#XOb3!bhI^~^@$nYQ~?{Eu7K@RCD4y>aYV zyK-T-MCks9K7xfvh4%2mr}v5gc>HtozEj@)%5wbc@VRB7sg}@EHarOg%^*5y?){Hc z7~X&N4_)?&-~Ynj?ZxZ*Uf`>mBX`b<(pZ8!(GJ|&loMJ=1U2>1w7b^H8U8qdc|9{DJ;TUHB4(4DZZ;ot!Ehh z1+&U0iQq_sIwbIoguD5$i`Z6t+cO|fw720up+{oxnT=8~+OT`Vp1a`wOzt8QC8P|? z^`uH=gtGmmUI^K--D)c)bil4kRY&l~3J*X9hCI#hXPkD6!$73CCbdMEw1n!YOkobx z_4|}MxFB>zDbrKKIejbP;@Pkb&S?g^!UI1@Jr4wFD0(M7+z#jTLRexRi6f!AyJfZn z9&_)4PeXeAm|SpBE-=Fj+`bTTE-TKp@mxE0u3dd@UYA?@Y#ufuB*nSZ%gbMrgiE@U zm&jl7yS7T@>~v7d)F$}+1GNC-SgT|!TE$+dRh+bnUEL~(6s^%JPFlr2pH^|wD)#xe z3bx4^uxJ*oA^;n-ii_ij?nP`<8K;e{f&(0nEn4#;f#^X@85BX`fanml07tp5V>9`^ z+Qz`li>NNeT(7L&@!RN-p)))@rDA3lgm|7(1G@5Vo~_(j68qJzvKK|Y3$k1(p<$<= zO+}_%uOb0;{!$HQ!7a9^3_h~g#F_pzyn%`78+@oaErijyW-=Qq1P{9=n!*A$d4zP`sE+qzrlm4#oo0Lo4o`rmL?H^It^TjI+s& zNdqcD53He_Ri6;kpJYdetvzg>ph8w`#S6?C?E|Rg_s)6KpY^GHH}AnFYx^d`JUnXJ!q*{V{WYf2eQ_A4VLdw8T|?;9yuE61N`Wx9&~ z_-$~J0m)l@++C>9=SB+pD| z@wgn#qIUd>>)-Rtu(P(~CU1X+)$M~O|84T!KPMs!^e z!tEQ-zrrxb^xMG)r(fuS6|a#Zcj5$Ws1JL35dK?K^@5uq<_534x^uycJG&)n%C!V* z2!mbWGcC;EruaQeNdGoCft6C|vsHeAz_ZuLhTH4n z)ifd+k=xUQp~MZ@Yzv>Gn4_NY;#L78b?aRSvbjIuDpp!crL$P`IdkF;*8Ar^W`dEY zH8nmneZ4U7Bhq8!F{ohV3;Eg`Z$36&YzJu?NwOVl9`~Hh2Tt6RNYw>q)$&!^Q>4scWaS6%5NE9Qf)$uBTWKllHx9;W~0oLW6jVN!jM?9k^gsf{!8F)bg3sU0ZZ3P~wu^zI=E zh!8|nxnh4w=>AM8OxaBEDE9Nv0B~Dx2gNx(G~5QG_mT7*+^N{_HFHvC2oX4^>(i@L z6vLm^3!!^#chr`Q*9flP$ZmzDXph{n>Kx!MjK5-^0$Fok461cUm|oTyRGXxrZK+w4A z-aL9umyp6@f3@RL&bUP>TW0?LW~$W=@w^R$gTw?VZ58HTM}d6vW!i~ZF^ zJgcbI``k|qu%NeY>ZN|#cl@l+{02-YlPJR^%250f9MEa$m@D90M|zloRsLMXN>&sr zS+iKliee>e6f0qY%9k%sNkX5Jy{8~iZ zvJ%uan29AXMY*`RV# z855Tkp9I`7iCZ9lCB=gQRVTfWzk;5#`t@m1>wTktAu7!`jZfl6pSQJwR#b=r@Kv4~ z)S(nsy8g|^pSuGI71YYRF)4TDos;Lhvn3S!!aX;AFnD2O*#&np04n?dmhEJ~ku3{+^{rd~9T%zMDfzHv#% zjU%?wFRHa;Dg9Y*nRW5vXn#vQRkqAZw#@qLw`E?FEdOiXGCO#4iv`vQo9Bp{|0eNh z$1Sy!-L!Z(vu=&sX?|NQw#u3*n-x@D6rix|%smxVmrU3=5MCZhO-D4j_^)~+_RwAx zAJ+92@V6DyR)AtH!cuW8`W}{mE6d-gYjCcty8}A+IiIs>i%={u8qnpp8B;)p z2%o;B8VGhwvN`y-49(bTc>4K&0QCnRpTAb?#n7U^52pq@z^&b4XeDDejKg~5Z@uDg z)6~tOZczUF^ULhIMR#J1Tt%D+AF5{N{98^}mXX2MLY0Jn`r{8RIT7nTe}3;m_|jvW zMX2Z5Uwo_lFf*rK&81B3S8CrYzEpnkk>yJ5{}Ne=!%gRdV0+kdRj{1R<_U;BQ5mwnl1FSl;T9) zLjUyGQ$Or(BFJ+8n;-wJ@7ezCPwhPw10=h?tq#cSdThDc@T?(RQ~3?eAUd^NP5TW^ zzn`iud#Jj6|ID`iulQ2=SC4!rha_>*8|tvnBg@su`Q>FRZda0wtGUJAI|UBK_(XG$ zy%)O&nq=Bv_E4p+vx*Ek)Azs~`=PlVZ#f;#PcF=dsl#;kPV>sw#nP*Xs>}U`{cpJ2 zzT`))c<=S6{ItLPA+H{KsEYUU<2U)2huuDZc^P@nE|(I@rMMSv{^${Z)w|yO{nwrH zm;33ldr2YHL;kXduCtPs8^pjjG)bicp4*XbjIA7gBAc&lu=8Q&d#V;8Kk7y>uDt#(@b!1YM?OtpRZFN= zh!4yMLERD~?L_kA^DKNC&LKG-&-RprKhZotiF!{@eA<05XTJ7D|NK&iGHlx*W9y=d!T$koeDGZgGGix-3YN<6W+|nBd5GtE>$hgoJ9gnZ&`A7 zq4n-y9LCsahHHFxzMKl%@i9RZO?cwd4xF6baK+)W@GbU3yvNm6l`(0NQ5HdV`ZPQV zYmEF}b=TZ|!zp%n{pX`7+p|U(h1rxLn@1(4m#N{&xJ@j0Y>E#jjY9_r#l=+k5Ig z@vA>~Y8k&gYpUJ{A1Z5#xkXmfPW`Kj+^ zc&VrBt8hiQ{Cjg~5F8aPGE?SFA)eg(U0k&zYqX)PoxVVGfZ!i^P#6a5ec~3WLYB~y zg;HpiM|7M<1ilu@)A`D_0Ebc!(yZsLs0{+VI6q;uGC7WFN!XNHb8mqvE}*6WUT9P` zXOz8}y1qICl!`S2=w;+M8vUU%vcQeJX_CeVMMRj(M|)N51qSKrDD?;&Bxmu9p#`$m26RD8+jVYUrRgE34vSah?ru;ZTxbE9wFI9s)u+`8fo z$F9*HACP!_#Y>J?yvnY&%b!QSa(DFI_U%J)l8N-V%etPM_=YDz-3W)wd`S${$bHA_ zh#E>QM(^>}H*z`Fg;Vjnu+5vrebcM$vX()E=w~z9>&wl^|uJL z1>v^1K(II>aEtbCc{e{YLMSy1Rn0i(A>v!H_58X>V_A35bylrtPt3DY)>U(7a*1>2 zVUFq2(zk_Wi8CS$rR-)Ln|qOIXn*$=3;)d`Q`eS0 zXK(H4joc$W$SL>y`QJHjNs|`NpZ`hu`qkBWd1xUGU;ll}@5Ri|tJnDb>An12GH1j2 z^Z#Bf-1_HdMoxXEvFhSQm|>e+dWA!l+n!UHw@(47EdRIvn!5&D_y6*#M^5d3*Oxzi z`?gP?ePsF6{_lC$@n87d!@q>D3zxmHGKWZ-@Nm|2Os>cN0v_kY~zRbnEGV( z-*=yVVDG8@f782X^G)CXb9*Z4qP3CxI-PQKopSb#GLCf@Etw3ktSL*;NLr$dpCFG zTTY|Xf4g<0=i+^y`1mjU)gy~hOVZT?=nLo7zoN3wh*7Ii5)8vX|Mjczo=x8q&bQ_% zefr3|q-VW;Xm|ns9FB^I`dd$VvrMSjSIy!lzcTld|8MUpHuva|l*HF&VLo+=!9UG0bE=ZF zf9j)ee4_oX$M&Au{|j&Y(HH#2!tbI#-9P>0gAYFViM`9G#K84x|Nh%=_|tWN|KYu- z_J7*`&QIKV@HcVZtAD(D`{pBmh_64+A@CPpy<~YAW%Kr-<>h>mU8&VrbbV@mB2!9f zZH#r2zEQl5^6n8RY5rGb?br)v?Zn~~=S==D5f^+kAs%fil_B)akXDeEOiZ@5k|`oIPJ1e*?9kEZ zU3g@1A!bjgZEBDFqCyJ=DPBM>VR!s&u}O0NQ3wc4JMzmZ?;=+Z3)hJmGKAmz$jjQu zMEiV5D4axR7yGaa{wIKqx7eB6BhS8Q$^vn9d_dAH*|MP($2HDmmu44eVSpPE3kkr< zVBPBka}RN*2;PLRh-OSLh7e+LNOU6IlhC0Szh%w0Zu6~ZzD+mZW}0uCfEEv? zVZuXc7J6i!ytHS!0Fxk(5a+RSH+P^-;cDi+ZroP{RV-O%X|-7Hqf|+T-IYleqCAUc z9N-jw@-z_zK12B9ys2CqekJh%nW%wxL3QOP=luO-ew_hT3p}iucQGlosJh}$B@ad~ zl0CO2vq@e%-)nN@`2U__XcEA4R70yKOrgD>$z46GL(Vd1RfitO?bI7-)0p$nW_3 zPEsS|%vRsr1}29ICg-(~%X6on6h^An4pY1ugdL23u9_cZppMLs?UDI08J!=Kwdcq7 z>iH48b`Y>1MXa~SvW-B`nTT6<2OOo~ktn`wHb$@Po;W`c+bR9>NSz0o;%+>@lP5#>fw~uoVlHya&%#su=d3&K% zwkY4_!c`#sFE$}W;24L|H3_>A!FJ^%BfNI=pt2E}==x?44QpGxP^LG@39qw5v`~~5 z%!LH@jj*I?0lyVpa)h^p37652SR_M6+?l(=XZ7H0aTSVXI43tD0E|t+I2yq?8o@ZC zh!jfAYs4mHMhg@rWhkTIH|A#I#LYgD+{{FBGhN9P>%)Zdys(s+3&p~UGNcyMXFz1P ziBv<)u~>Hr!IO4Edn=Cpz*sr?YrK4H5=Pn?@K)-&Eji+)F*ijT2qpa2zLo!JVtNhF zQ^Zx(v4wF#I>Rknynr4U^mY>IMs}Ll2l&10tOO-3U*>uM zC}h3Ao=hlYtwhWu`c}BTG$V8Ge|MOVWVVfSFOzQA-YcP~ZN_wB_A9CWGeB{RLGgX; zX}w$ZYNq9w%?0hIvd7UOD`LeoTgB##|?Y~-xh1>0gV zvti#zvjj`8{U4PFi=7}ES| zq&49}=H$Wnsc1$CBh7InIY>Kz2(s$j!o)krSEWT6pWuCGw(5lLU3g(y2beG1Azvg0 z&~eJphwfe2iFfDa)v&?MbCzTK00=Ts?`-AgY~D|dZg;I@w080Mw;D?0TG4j5!?50H zKZ@itIHcp`D0MFr1sv|=A#vRMfR@q$-~E%CW>PAWSehxVD(GU_FiV$HfbpjIVY^Z6 zS6zG?LM&%%iGn-vN?ljSut8_pD!y4F*zS4_nvB-9wx8D$O||~_2&GI?9NFlT;wVkM zBq%=M!lz3zexoBqP^oO$5Py#1^g=g;cjm$*WjhtJe$8AbXr{y$54Y;J$SNEHg-v+3 zE`F*d`MqGSh;$W0Zk%DC%C3jLY!bSfzWHP0_029GeZq+Kpm&-lj9>;$-+bI0;oivf z&Evxp9ybw%w&Vzl(#4CqYh(!ivt)OhI*DzxTZ$VZixXj8A}&fY?f6o^SC5goaKpfr zDcDHDf}v;#eiRB883=+DyR))GpoH~WMwrD2Bi8X+E9Fwd)VZ-CQyd9TDFV!jqe5sS z{JTP-=xPeZf5=TP;>;sUEB6cX;;_8Bc+{}rW&2U%Ac#izYbWs{ZfXdmT&zPLafeC8 z7t!%%69kU88PDXMUW)vzINfD@A4upF_o1y2CA#BR(B>84P1!0_`4epD-!+IPqN;4TVkb3qt|+b#AOC{MA#hV*Zab&Q&IjDUBW3|a zTY{}fm|P;6KbZnMPNa3Iwb`*`Jv~M=Ey6s40xbHyx z)3T+h<-&CBg0!%<_%SUQ)lJ?OAJedwaFyFPr@ecrF7BUu)6#uQOH1d}n{OjS;=eBQ znoSYa62%eM5C~xS$?z&78DSUd;b95VE_$P+`6mN8MK6$ZOcy(H#E7xBt2mw7Eo#^8 zawH=$#TKP*j|FI5Y603S3(y`2M}mzU2~vi#9SY&F+@=WZoh}`NP*oC&gFT_$mjN&! z`7ZL8NDB`B{FG@_JI$T+s2B5)9m9hc-++{Cpsyrj3+hGUor%6?W)aotO~8!$Zt(-H z(sij)6012RYZ$9)wz?jh^U@9*D8FC>#2Q<`aZpXn>HEt`KjDj4^ic}sad-vvr> z5#C%yw2x1?1(9|9d~-0IR|^0c;cM%ju%v;8rN1AC&J@??xKo!e-wa>Ais2SSFv(E6 z!*ox8DmRNGi?iQ>7#tps3=DfiHp5m-Aq5RkU7o|_k&x-=wY_wOqITzj*awX z(u)2-Gzf}li@il3<&okyOx%}y%ofZ~Z20XX(oo0+WfI#Z-ghgJ9|thO?t)8v?|+!Rvc&IVw);vAwP_kW{AH7A6Dd!LPs+uOpXwn zQ|qA0yggj&VdTQ<=W32qnEGPzZ-ylrxv+%ekNLpZ=}^<%NgfU1GI3m);%|T?X2L{5 z78>#P%iV4v!A(!+63>xDd$L)k6j_*QhPP|LBiI%}OXr0oT=!AHh zdm;*JTjU-X5XH^TP7_h+M&QxR83C&g zoWbG~Tz9RViOJHscqWyARbO^zo1vn0OWY!sDWEu!7Pe_NOHZj7{7yt%X3BMV%uKmn zOkqyY>-_px_AEYLE#0!tuYY;Z$Z>fCGJc9}&!!jU6Ku1jjb+0nGM}+VSyS{c2oG@n zJ`=IRbuv!zHZA3tmTaAiQuXUgr0V|~wqxHAu7>xeCTliM$q;-@UNun-i(bm;-4tIX z>HQ>5LiWp6^d`0%AP**FZR7kkl@Q&ugO>?MbvlAHFJRbaG|bQE@C`NU3^A2@4U%mEyP>nH)JQrX#KB zC^sR=L}?sX28$z25OjjLNI0%k99M?D)SM81*PQY4Tpr@aI?MT_c}((ZAqSVvVl#5E zWORodsyoZ8{MXysEjE_5gd@!J68konIC-sMoUAp2jv6OYpyS_Y1=`NpE|@4-#mN)` zacsv;K^;nh$!ldwPoGP1bfeG`Qxw+1zLIpQGCk$|lLnjO_G4&&7$wb3Z}lZr}iv$>UyQV zGg7Z~tX`t~>^tx+*@0+lP;PWTi20GvQ^mEfJM2svBdzCpOA zT`7-3bOVZgzBQOr*Q%(}KpwL2@_RE3PaC@P?Hc9R8v|y(V4Uad)A?L zCvyk9xgzhJ3v|T^qZ`>6!aM5c$=#c0i4RoH`3at*VxCop=RtWT$zH_G<2dCHa}!Q1UJn+z#{y;XUV!h=BfkEkYk4 zZx?uu5UGX5K;c41x#?n1+Es5(#t`2H*6eKb&B?xQeliTJ+UtBb-wMomWXEL)^Pt;@ zh#cs1gF@UZtAT8F>~EzDqK^F0{$t25i1Uzcm?q|DB<5!j^UHlI?AkHj2a)fwc;DzV z$HRV-bT%IPGb5ot(}e!S9vzMS{mQSByn$^LndwdBRmMjLP6RMibMf4!&V9l_xAWX5 z%t4}nGcGZk2gQ%IHd4k}>adwL*kaY`vPF7~knzaXR#o|a!PfujW8W$9Rix-P2fyu3 zBxS^d&!%$yoFbmegmn$)Fh7fzAVAW^Nj9&OnH_cQ_5Ba4u(7a_|{liXYXrC}BO%yITABlbg-dVuH3@vO-@&4{b+a+b4V{_(9bZ09D!LtIEe@&6LaR zOz_v#rXw4+i-H%Nryc&7rbjyL0^Ta@nkVsf0d}>peO?&Y_`th~%F<+J>mr6RDHG|| zLD{a=9pMY;U?=s&B;Z&*hI@O$(iRki*TH)bRCpFV1vqt6RSdO05PAd}%yBV`7;7?- z5u+dgI^yjbtQ|SoTi&twQ_@#e8vbBXlI555z^B396P`uF z?7GM`Q+{gvnux5Mgn7uhB^F@h@i$R`Y}Kt8NEp3U7pq#=7qu2PBRf?p5cK*6b%ZD^ z9uy@mIjbdSb$#oe$a~xJX-JMUE}jeIr9&;rd2g^)2RqhJwCZ8hrk01xAvqjjcq#Dd z^xtonpyL5is1LjD3cHAUbt3cLs)ee2ic#3DT7sjMQS|(&Kk=a$=@Q6gn|gCT#i*L} zqT%LqjK&sm_mz%#*{)!l@wm3n1*}a0*p3W9oHfJDhqCaUEw;D~nHM;a5mksnw7vEm z_rcGDfzi&?ZrCY5NzOmKs2%dF1T#2TPEoHp_&_;4Z+rnh1~n*t&<-cM1X^0oPXv9a zTt}d;VoEm94sM$&dRnxw4qu~P_>8)1Q01U8DSJ#E$f1x~xq~8G0AF+upta(VtYMDJ z+beu_V~?23w3f?B4 zQP~?OZ* zRl`=DK3mR=x9SXSXPnHYZ5lS38HvB_2D7y(w?S&Ep`PI7bIM;ahtyWRFzeUP-dk;m z8(HHwG#l9s^+wkC4I>*_vw9;i1oZ9eP7LFcJHy zUl}w*Pny9s&ERBjbWVB4X6UUwxawvwYz9Z5ya@k{HiMC75RMr_@?*3et31XQ^3S)a zI~i^p7Haxpg_{046bb{yETT`2`}N2Y5PXXBrU9*(8nl9>u-F~=x}rOrH)qEB!_@sT z{FXUxNuoZYByycItEs)kZs#QJbI$Dsf153~fA0w_DNz8yot?Yt zeg;$VWlrB){5=B;wdNW%yZKwS!Ea#Z{h1TR-;-TV)!;|S>m@_aM-d+TQ6pq)TWVg| z==?CNoFAsPJ5$=78AAAt^8=@^4ut-5Y~W-`(y_i(7SYV^Ot}H7GW2f`ogbJuzFBTT z=ZEnd=={j)&D_dO67LE(MLJ@><}hgTXwZnY=_=(5ve)}!KJ2mmLc;xc z!bs7w3l`1zk@XBk%RMXWP_7BTZcrDko`KPL*>RtZ*hz+IMm}3rc>`~2ltLY2Q97Z>kc z1E`mB=Y0WKY&yDrrOz7{%Q+`~4p?klOfZ`tCPr<|c;>1gi@C%g%Nk4TTG6?&rM2se zsDgN+?B##}>VM84&??811Qmp+9$UtFx*L+PWa04sVyb(K!#%6vCLT(m$i?GGjfkc! zx>l?>gS-tp@HtNx1J{|TMy2Vq?+Q_qtGx-18NqPm9|i@^f#|)b2DWT)qf}ZJiO%TZ zfzqP9>cPxc6G7io=d`9V&!Hh7n2bsM;K5C$q)`vkp^R0>C%yv?H)<7A;d1ryH{ze; ztB*fS!P7H(KBjH?Tf9JiA{Y`9T&Nr=;v{R7qq!>_NxoHA%gUYX z8h09A0g@gN&K<5CWdLE&LoW*Cl~}Fe8WM?ib-2>ANU{|5S5@cTWFnkkG0##Ube48F z$P8i!(i_9nwmPn>g^6p|T~$kz0V`r-T`Zr^Z|qqaSC$kEB{%R6PD1e~!6!KGPm22? zmkWEtuDdAP=)x{I4%%@J6Q`0Br;-z=k`t$r6Q`0Br;-z=QW7~ zEn)5xiLmEY2dfB^F}Nknn&bjn3>{e`)iAxjbA#jq)GG%V+RC;F?x2(dNFX+uh}k?H z6Wp14*O+jwHsJt0j_YQ!+Ha9~2NSMLsl(ZxrNlXI9aH?#C}26*G{g^YQ@bM+hpswi z&Y0XRO5^n*?i#e9mDNV#egz~=;dod`RK)ZSpFl8=!gGBBKMjtcNNDvRZAq&qbVf7j z|29#E7LfB!bB8=#Gf&5-w@TrTGBIg%lb*x6U$aMWdhvput^2}CUmTUbcm;mHjafqi zegmmlTC*D9H@47ilC98`N=hs)_?Xqo8Jq3#d|LvJe$bMfE$%nXU*?Q=XYMWThZPD= z+8P;)9(40n5~Y%-s}%ju;l>#}MN6b?iS~1hP1?5|*_;?5O{hmDpTqDoV}juJhFoYe z(inwL;3^)vS%xh#IULeL-he0?cX85vTPx>H?7q!wbf39!_lb|CQ=6Mwd@L;VR*p(^ zpBZ+a87Xn!o0Yy63jFOB0`6Tn=Wwip%JUB=#*N~fhZ9I0?*S}!r{I=Nv)adbcn%pp zc4Ye1dGNUT{*WB6z=|rG4q%l|g>?fS_WgqCI~@PKLsIE?N0e-x@M66rkf6!z?3uEK zCTk;9Q)Otf7Km=@CYuoo2-+(dGsr~BO!Nw~8w5Z&+%ISm!oGwjbW#1dan8gu8{4KU zPZ*o!RMf0pK~c^-Mx|0{R{q9rJ5 zV>=a$PEru*9R_)@HVThMl#7P%XjEaX&a+qIJ5tEAm$s+xNRk%DATENu_{FyAHDkC( zhDRls4pscLuGWWLVY_#;B&q=92q$C+xL{L|G3~z|)d&!6qMxg8_SZoFR`?;k(`=74 zLt7>4+zM~059+Ar)e1jcA9C{dkHo*lQ&vPvJD?M7^W5dgOmLV7Dsp z-fXdVT+7_biF~-d&Haj#WukkX49en3*{_tGcZKdI_Y-B!E9P5BrCeXUo=W$dRsNt6 zT~AD?h_+`)`@i3cd%VuAQ@034#=GL59H!6yP$Sx{B-6%;+D5&EL(O-~~jSyb_lnvkHmE;(#n)P;YQ zsFUA8JO69ef>NurptR^d$=oS=kiI^~J#*B8iYG`;t_uGMX0grY4ZTe5}0CPN5ru_u>~lgPqwSCxN<)|_m` zORI}-1IAaz;+;r#7tX;(m8XP$?!XW?j-sMRg{o(9LZ>UKjeED$)@y3^dp(hFFCvRPKVM>Dj2xYD>FQ7)? zuC`fo;M8Qk;+(rzo^$spI-Hg=NCt$r;G@#ZmGSzaN{4syu-D;%EJ_M2H(ca6{3~+V z!}wS}#lC%?99oWt%!jJjMH z*_&^}hO2Igx9q+5kxF@eYDng<7Ef_ETA%Xt-V=|Y(4a~;%av_f>pR_v*aSoNdGVMJ z8=+9At{b+9@^*weKE8|(Esq@a>Y?T35m|u|Nf)KQV>aaC{udH!i<+6@f7 zBgpBQGKyV)^|f2l(d7=WGLXh3SQhmlKuyfSo)u$VA|!{zM(uj@5{>Czasl%2OPYJr zG8LTt^gv=*$Q?@~00!WjGga4j=k&c%ki9$CKRGw;)7i2M(FI~5eYeywx2_nSMgYfpgYF1|ajZ0&ZOp&}*UBcF!py9fl|sU%RM zBv7J8JZ+j-VFJ8Un4!p%%WjnIp=1O6(2v5kc|~;E0WmPVcN;CWm9v~gmB3=b1}hWa z4vTOmwUJ2F#R-^-(THWka562^P2H$U(yAi=JG7O^#|Ek>yHJWMFgH^P_6_gTk#cU6 z7xKAlwD;;@kKIy?bc?I0H#CEj62ie6(IO!)=??oo5AUP*$b|o>qZn&?y{<&RYO~5e zC8iehs}9uqiLZ~P-llE~*@A3$u2HiHa$K)wk^jGo)GoE6B>95Upo_O_`mrM5y+tNy zj3r^8rMIUoJV8;Zu(+=3xJBPd>g)*upn;F}U^(5UfS)1TX{qbzQ#~HhNOx6itGl_M z2%i#l%CwjfQcbMZWF$!X=Jj5&b7?fdt(S`5$B2(kD3`;h$d*&*!eObBIxc~Cw^h6@ zCic9Z&yM$V^L2{J`uXq$X=N4-MmM|NMQqBac|R@X(_W47LMsW$O)&PI za-+4n{(ngFBCm^?jguFvzLx4+slJiw{~@YBnXkSx3H^h5t{cO~#T_M9IoAeD^bb{f zedH$)F~)j(=m5C}2ql-~Dv~R!L}I-;xFUKIn%q-OA#$GXG<%{eF4?BmOY+(O&)mB} zS$36YVteoNxaZt+@2yjh?yjzCq$@0o#t=O|z zw`7NEIz*WzR3#)cGS+}R*csU&VJYx^UFEwBfFfhZz@!%Od#=v;U*iJCx z*w|n?eBZzKx#w2hZnXv+TP(V&?mcI}_rL%B|KI=p$N4XZc9yFH3D;rwn<|9I;xAN6HR zn=+r{*wzM_bHH9lSCSEqYQ}bD%$s_U{^DJ&@9u1UHm&ttSX!gWmUkyxPGci$T&pA2 zxF(@g88Nb)VYaQ+vaWBLZr(KhO-5gJ3F}>Blp0t*YWgYPBt%3%3|D=}g*C3N@ykVH zxfm`NBg@5*ejBTnVw9$9gtB0PW2c}Jo0T6kwvep2OV9Rs!NQWu$)yV2G|_O&OG^t36+H% zVO|1|u-N73iQ+9AB|gSej-Fgn5a2}T(F0a}rsX2?Wlqjqj6`CQdroh<-&NW0? zGud;e&~u3{)3BY7yFN3m>*6n(=sH1#yu0>oxBQryHp#z@G}D=lZ)lcd8D!CDz+jG= znp2Mlxsg-P_){;JQ;&t|aOxSHdbwB~#-|>emik0ytriY2t=5cJLDM=>xKe3dDsIeF zmOv_pQpz*0H*Im@P#WBzn2}W_r;^}GQCyX}$3K{Oo@;b_3x6lAIV!jzB&?w?WO)na z7XeY4-KdIShBB}g!uLM%xedtk@CvCTP)^@zNh{;~;YYmPpP}u;ZE!>VDJKNMka9q3 z6TiQxF7C+>CgL}L{DVm|iy~7B5Y?0Auy6~bf{GBFCX7Jl8S6TX{bM_LEcqmty<_Gf zw7v7fk9Pc{1mnn2>DfwO;KeRpw1k9?AJkJG%#N9dn!AL(hlO<|7zEiMd|*16q;>hF zNN(3(Q;0L=ks<-naHw|3Z|R=D8lAJL`}o!9+~yhC2X_GZCE7?Ihjf?Ph%_vfOHVlW zQ}6gpsHD}YC=zM=I8M15PK+gXcD-XPYcGO~GndIC$mAHy{4pkOV~h5mm1f_Mo!F6s zI+LoRR#l%zaCe8=GMj74CnMRPQM=BFbw;v9BT<_pIkqD)L`ClNv_v(9gw5Kn?PH7; zZFOu~CDO4-4xwoMW82%?WjLZw^J=lH+&>T>Z+hKwr#C*8#{YpZWTFZV*tA-XBM-!j ztE4NHbfl8w?c={)@=egIUsTC*Opx&wCEpZUf1>Jg)~EO2^SE|&Z1;vL>Q0PP+?r%C zKleAn+U)@`c?X>CLGs09m3f7C%-`vgj-oYkb78O=_D$rnyM%Ngb-(wQ+;YGFm(jUR z;VisE`f`3~7DV&)+iwP&s{ie7zrsfa<0^WO?3ELeW8>O7rFk(rrI+~kJA=C~iyvHL zN^(26p(z>2l;l&UWZHE9ux3Q_i`j0WP_I=I=F#CG>3ibSPP;AJ!Bm}H4r3L!D*T)x zx%qgk;&z3x7;U7&SjH-r4H&!6DLLW8oJNy#8Z~noH8&)GvkP-d&H5kl)o3=Lfw6Ty{V%gN5 z|0Nc^JBDw;V822Ijp6Ok9tY0>io>ZH`@^s&Y_H^rDW){Y-DJDCz`U3S^`${wX;4eb zL_4HRJUPBy^!|n_ilm~>L`991nfbP)j1E!;YJ*=pqp))DaC&Uw>L+f9iVmEz^5>Uo z^$ge(6D%OQv4H3)77%YzD#WJJMMdA#5i;CrZ(WWK`s8ChWN&Az#S$GkYDGQZK8!D! zy5k#q$%(y|CPk9rwfI-ytOyCs#_o!w?XGA+jD*NOX}d03s3ZUFH_}kxZZ}5E%E|uw zEXi87pD~-BQEX8{=F2q>;-q z=jaJNc1}>?y|4^Q@LL4~skbQ^cbi|y+F2b&CuC92TyVByWn}vQhDCATv zt63(Ssb+}2ChA|-GtrECL@u68PQ!8Kzpdq0J?g}-Q~a?#AIA{403$6IWN(;JB`3aMd5!SIYyQ}^GM-%S*@*xPXp z)wb{{=@8XIUanm|8Q8QX4X5@amwx0T4Reu(xtv(JH^XM*8zf6_-ym63cYK57xWlT| zm7&kc(LHX`XUOT%sAri^r{~+WTC=ukt|R9%1yg+Z&JVlf@!D_(@-*D0DSW6(Rj;F7XPT`u#6Yh zw8DeEBAqZeJ*ux&=-W_e(%PHT3Ju1rbfU$+?6>LhKJfV`#_zhh4F`ZI6BC~iphshc zP>pdxdE-J#D@1appS2#$raYLy3Xv7E4%F^$aT6*TtL%lwO3Z-GChU=@hV>^+Iu9=N zq*VESe%F^l!mn=Y>qyMNajAsjG*HNmiH5S|WIiBj`(I=xe+B&njECd}i0Lz9-d}QvGLD zqvqC$usIFBuB{aBi z)9au1sg#~e>D`Hzk5BvV3m=X&(R=dH)}wmLqq#TI%XTCX2A>@i>1DmiA`{%?uHE%Y z+G)l!alOse@ie-!xnAjQ3G;$W&v=m@O5TZJOMn$zm#+|Qo|ZesWIf_tU|al{wA=J+ zyjZ?Kqjm_=SQ_i2WUMOjBsGmR}c0ce%Sz^8}@P_=ww;92m zeD+_!9I{_xB0@y$LIr|ZpldX6?O;m@Ms?7ldbFqsqKV528dq0F&N`oP{xIm}8h@nLMg% zl^uW_n}GcC5+d0`N|kBlL=BRJOP-oTl93eg9dj&LV|3Hf-S@kvnrC z80B~)kWPM6oVck#mn6em(-0`m+Zvj4h^X!a{8{QZ1+Jh3l4S5Gfy#Yqj~ewQn*d-X zEd&x?4oZcdRC(h@(;4W8R7k;6qvQF~~4V0x6XuM{Gu9;O#qBCoe zK8M5Cesoxde;m7dRrPVRiLr*jTpCLv)1f&`*%=a?6D+mpw#p|H;TlYQqN=r#knrNh zf~E_f#XmN{LXuN95>$Eu>fw~|NBy*RzY3zM=heki`e`j1x$--WRBWBvxP=WQwFlnw zL+b8!j<^698{}FmV@w>SxH`BVNNCP@j3q0%8f~J2LjJA{6m|dABb${Gwr##v8{!?K z3(Jx`*0_Tka!P<&B|g6l#|WOSjmMzg#~@h*)NH-kE7V^7Oaqt`eJ(eIDf!Mqe%>K_ zK@zzc;z0G&n!%rMK%kbyQj0TG{s0jYC#&UMdSM1|)z zt9@2GJA#qb9UN7QcFyG+)qc+m*+-71#LjbdFWO|;&Z2HQsw8YUw)0M38dXWbfg~{y zeOR$gj%Wow8}xV~K5ZAun;fk7(Pq^tT<^iU>$7#od}L32+U^-YGK1_WC(0#Zz>+|v zRKk{0(NR(fTcV+HP5v6nj}jlARL60dyBeL+wN2d}q(QT(J38V$-@WS#dR3`Y>ZncK zkA4B>{FCY!_SrGBNFR!7$kWK5rV$+Xt2RN4Se;wszHY2>I&Y%v{)3;zd z5}KGGTeK3tAbM(*dnePtl()&rm)jW(GNyTAh#3_pEli|^i8LmW7ADfdM4FaJ>yyyJ z#2pJGoP-hPQIW`TmXJ1SJi@W0C{*_}e#+e=9LosDCk$bh5sqbqr!U&w zt95a_Xs4~#Fv2tK5#AFx<`O&OM>q{5d<-k7ysb(YR!;Y{#P%mbmKZ1y2 zZactIlBUirOCG!T975+|l7ga$pDL8OB{>0nR#(vuGMq=P-_Sx-9O3mxpa z_h1j;)-Qyk+fQvjZY1?8NN#XnFK-hRGd;Ain)1@^7 zY0W@dGm!cR(x`znY9Or{$jlBxqXyEbfgSjn9k}=YvGOxJaR2KcD?hV?>(1<~l68L!eHCz0FDkz3%bK7@jB8l>TpOaaZZx^;VhrLL@3p=6PJ2$pGg1RGb^eO_%!lv`F4PaLnPTjefyv~IE? z+0J=Z)q%anWgFp^N8bSN4XnWCGGXKjN+cVgd_WDKJLTJ$$iEOS`5@^?u~wdG?oH(@ zQ9;RE@c0p*4-y1c`PUb9$##*(t@OY%#oyvf9(A^0J7UP}&}fe5P#$|NOrv{(g^=+C z(DFEHGc@ZpDom$QVLD*fj5nC}tiZ)$RL}DYBSt#8jWAhoQZ8fhba<}GEkemI9N!?a zLT*)X-1HdO;CJtq&DTGp$|d0gkTEtg#zw}`$QTf=v1l;11FK~p%_|$> z03$B5{hU-fG|8H>W@?@0j>(3eXoe=V2C9IIxD+g%6QhA^d^14~ZOLXn5EL|g+_&S0ONmkT82WriIk{uD@)@GF2+^yvVz3Z@{e&s01)oCpZR!*otcJwTjR-~gr zV2=z-W@r75o~=S=K%geWn8XmAeyFIxNN?;6lO@eK9gHg+K$|1Vto(kE;Uv74>++{G z>~6FQC&In+Lb}_H?V5Qx{mgjd6tZ!OiH%cW;}kxAUFfn6SGH-b?F(ULtFW@MtaB8N z{xvJRz{)PjDAY{;2K+eh!)j1OGTD4p|EwvvLT0!$XUbZV2IaVK7PjQCWw}z=PJG%A z(|Kmed!0mmLTY|I_GgRx5iLo*MMiE6Vk1#;QD3=7weXg{O+%0CiCwctZdt#w(Y!?o z2wt#z@xTF_xVLS&N4IRWd{SlbnSMn{MzzO{?vftkh+eSzh+d#i?TFrsKla{(^KPaA zNUiEcIDZyjB}WITF&X=>R`n4$0ao=9!Z-0tO_b-6+R&4?st<#oasyu-u2UOt+y@>U zpIjPNPtv{R>!+DmgtUyUh$ED_>0wQE&g@N)o44}oTMUA##qok%Wnx_q?|iNyky0vzze9bew)O^*Hxob-tgFr^C&> zr56>6V*rTzS$%f7V(zFO&xe9TjqMvM2kMBn@W!4OoP7+AGl1Cj5naPi6j}Nj zAe3e{&yW-8Pi1&Dla3@3GJ$PY6hGTDy)8{H_y_9#sy+fN79xo9;K4^sOn+4`)`L+! zLtnmXJZ%|p+LAw|#BGgU@!!$-m6tZrBlG8~S+gbSLG7&Qk+aYv8`DLg-y~GgUxf(e zvRz(~x3=#=k_>d1EB1)uR6Bk`eCPQ)L)>>by+yY&&*tHddF0(468 zTkXB~*(Bhi&9sp=(ZcDJXyJ~`MI>|anTF{Gu%Jj(8>a3MI)vD5TgY0F?v6xQiL-Ot zY&LnZ%Q}-p)hntXQ&1$}!8+L?bM4gAB@wZeBuPtbX`=HWaf$Jay!7I6b6BiC5hNFK zfkCo1EciXEzxVhJ%hz;h>9cCI?+{rXS&?OTtOVD3BgOSOu~oa>*2g z($-x&IOq8c1#DD&InjeH35F{UdbVK$CI4`po^STpz-srkWQ5enaMwY(^9k-w_&jJ2 z)QMbTl0&$AdtNf+y{k$I%I(SeJR~a|8CV&?@ggAggGm5#B3L*|Tfn>{DU1|az;ly4 zsdEp_1pRSPEUyb8+%y@7ny664pMWNT(;E05vJe$$5%-c+2}t9hY8_U}T~X39 zB9{C3(MR(x2xC?1b0%p<%A^j&Z@hq{K>Eu21SSb%QR+20R!dnr9YJ;JgA}UkCP^H4hlFCq}ve#2TR1hX5!*p7 z{Lg*z)N%8SmLTn?@e^w98pCL_5$yjFmHlJpJ$U(PXp!z+zibGT+`vbUI`VA11 z-x&hb2n};2&=TWuB^&_v3-2@n{k$DB!E)U%z7qi%xA%gfzyza0blUyzPnpK{!L%8v zl&Q%TUn3h-?TzeN)r)s|G`Li( z<%=B^|K%?kr$fc2Rk0qqLnl4wtbF8oV5K;3zKe$Dy}}f}qMp;d%1OcHn^+{?D=In; zKBpzgjUc_pWNg18*^;5?HKb*&ZEvRWv4wDhUkTXsHo+a~wgJggfv-`KuTkF{`%gb* zJk{(m^C^R)LK;ZwM*jNI@dF<<)MOCVDXhEYOM6ptgZvfck~0&zM!N|#ShnrJ&D9VtFcCn5QMbAVaRc#<{C^8j2 z2LNhGAoBq&zb+n+KI(rhk4Mk@U)AyG{Y((=PH!ADzXaFU9;d6lj!c;nKg3Wm_UEOP zBjQp+%VNl?a>y*W__<(fWOG`O;f*1JzpTZi{3ZYMxAF7vN%c9@x^T?=h8B*2PvP@V zA^TM%%nGOF^M3+s%+k=5E9zEJ&SOj~?J@631WeDr%l|QvJ7(*FpG+#KGpqV^-Ip=! zV_WQnf!f8Fh~?|q1Ku_2RJGUkg{H7W-p~3a;i+YuO3hRB!@PtABKP&O-3Oydwdho} zpYyhOL}ztm57_;58z%TOr5tCZ)pw6B^m$sin@18Qfa|Z2N9Q)(aL-(gkQ!^`ZxqO! z!k2`;LtaYdB`q&S?UxEFTGEbgO_jS_CsIGIS)u-VwPpbrJVU{Qvy&`MSF-na2~CjckN}4ldj7@)50M zu!r^F!m<=`0<19jKi(UFlw}s_9A~X{@u;?To^0+n;|@2EBrC)QNCO#RRnOZ9B$G#U zX6KLS?1B{HwYOP%?(EH8Z-+W==kS{CqE!Pl$=-BNpC?dHzQU#IlGLv`%)gyP~1-G z!?Kx&Ey%B9MHg(<6F`8)gDSfACzz1w^Ro?<@ z48|9n3DGHy_)&Nq@W{|)$IL;Wou-G;UDZSP3@___amB2t3ayibGVkV#-4)f7lWUIG zX4X>YS6l%pl0Ub8^=kB3wciaZV{>;^-%U&T{(5OWexlkBvO5F-Ev;X@`L!JD{p&NY zZ649`NLL>5PZ+!ZS=ZTg`qHX?|G$n$?$!-l;vzXX=jfw=68#`@Qr+qf+vG|exxamW zxfQ$Q!y?%@$VI zt*r4v8hZ7ygc0M^f1KHYuxPNR0)!xDQ3v>c?dR#^om^;)Fh)H7MpqP}eh0Htn=z z#u6&LgMu%>SaWFYoHgZ-3Koc=Vx1Lrf|sJ^gQ3Zgb!s4Eak%mBi-3tmuJF5qg1kVY z)q#wGMn*j?7v&XoTr_*nYAtEoXJ{alRo4|7mKp5z1)zd>xG&h!N2F0iF}o*|7#p|! zyxoM22jLgn_?7M#mvKO8b2IL%>KyD~t~V-Jgiip4Z!078H0C1+#*{oIb*8O2avqU5=@fhbB|s@z&& ze3At%n~tRNomG9bE}QiQ&16=V1EO4B37~o;kq{;fkR(1M4BlT>Q-66){be?FUsA`+<61a< zAGS2GJw$!uYidM;R>u3rwjS9GTw3X>{xOY_qN<#s{w?>QqvL=_<#J-P0uj7PFx;S> z=lfc&V+#~?)?9(Qe5KALTKl_4$PbBoN#?H@WHG0q0-m+3b;U4&QQ*7fE;9b0bvf~N zmu%v4BDkzmdZB1Gx)n3V{+NV(li={(_*vcqjmAI}>klCb7cX9bk4=&+JUOmq3BHAGccFftoZz#S=dS*k(l@VplXsB z5jETB!u_BN$5l__M`w6ASF`v5Y@b+G5CX^0?ifP8+vIj!teD1qk*PKcx(b1gs8b(Z z*%brCf~44ppl2Abp+&2@=dS)g5hpB_O^Ki%ke`=9H)FbvIW%F9*Ujdjn`O|=O0S#k z@w!>W9MOPf_^VZe&LGIG2+l>IqU)HyCT{UTo@ld7{Hd3^Q^Jb=FpGnWm>+)5-D3-_!jWs|N!K3t5B@}$%!i&(b102+| z)F))DTU>cj_#S`6-Z^(lTT2fe1YC+^749+|v(QIt&PL(3W3R}lIx26f=WH~pQd{6$ z+@cktya{>v<{+gKo05$rWeYMvE2Qp^{%?c)GetnhAo{hykCaEVZ}N(I{)7RQae5PQ8RmWP62Esu?Q!0#XD(73JHrgy zn^16Lx9^g>`M-71W>F1nR@BUK3h-5(J%>ZUY}xq+5M_;^8Vpbk9qh*WkVFj03@M1n zcA#v=MAjW3#o?G@iR5wV*g2bUkoO3G=^n|eDx9W0#L1fD!35ZxTU11`QwmX17ce@> zsyYrW$H?x77MFQQeq1H8E^!@aPFbfnZ3ZoF6QntC(64LvN@3o-G^(>B+8}w5d*yx0 z&%K>rWw2@>f{Pzn^Z4Tx?qR0!xI+y2Lb_frsB!5E&sX%5qBjzaMGXA|NI8Iz!j7Fs zzWEMpf#;!Ii=7VVSSoN|{6EDQakp30 zX&z09PlTIF)>jTZC0ptt9jNa@dtiOHH7yE8IgO=Hsdte_b*8%rU6mY;a_f1vL!UD1eTBA-C$+m_etut~D zZ4w^)oP;50J{Pcru|P;Xmas2a!oJ56CW0mGBdzh8g!~*OfN>q?Lq{U@HtU%Eu2Y+r z|FfwgX8#lCi+@hYpz$5>$OaF@Kt!x>{ZPGV`-dX+SiK|`{|EyaNfcbt6r!8TSQQJa zBdD4%uP#1T@4LT>i*@K3vrgSp&G@IQ(#CZ{q~Q!xlVwa7UoDG6q$kS%9E8dG7Vnh{ zRb=OESA2q5UDzHC+`QPO8?`Wy)xx%RpHR&V8EUrn;0Px8?f%y;<6pb{+U3dw z@jgpgX4bb}?bGeCrxE>*ORpwHz`j@egvZ*N$2ofCxX+dEv3^az35Vur^4bs)$7~8t zzU`EMFOhh{Xq9kE4Nzp+h z1^k{-`7SN~=S8cjge!z8%vj}~S1_!CuB#k_6w@GHdRalEnEl2_9AMl zG4&TYJQ6uP5;;5)F@YvHH4ILTgk;VgHUY+cpLDL%n23m5Sf~Y)0vYK~4kbJ?y@;6p zrl+y*X~$zPd{4tw5SA$EXBs{ygnzQ1@D);04oBixCfec}9St#Eg|{#WQY?{x2AfHQ zFR9Qn=>smBHYbW4RoEUYiLX0g!u`{I)O1iT{9pbrqxya<+djI>+Z@ECbjYba}K97`dI>VcXlYXCjEl@PkQ zweZAZt;(NDBm=wwdpX**HmV5U5K#7KGM#QU3`yi82Qq~*_2hOMd*Ky{&yz(-@n}S8}dF z^RaWm>?&kp!Aul#_WdtB#np!j0n4m zhUNsQw-8SBM^R4`zkC{B;yOx7FM&Wvh-4eMW$umrrvbQS2;4G0oKk>WrVZRO1a9dz zaLbf0#XWf^aEk$<*9zT=+rX{(I~cl!X*g|tT%gtEMo|<$bHE(jihXkAen4N%8QfMB zpu}BH&60!tz?{WzwA2kHl}6XacL_DdT5TGav|3UBxd6_Y{qN#Q#Yh!0NfKUqM`hM^ zb&Gd2CjOkyVCJo99B|RdcJGGDEEWeN*y^i#Q)nnxkhu761c(pKiN=>DqFwn+q&UCV zRW-y(PmF8>4@jjVN!AI+fouOQ_R!w4WC)IxkFgD{9SIblq)l8@T>Fr5{=W$PVFQ!xvE3#=28m#YI=5O2EkKD5ip3+b}+~q^*&Z<6)9|&+wuiPhG zUbLFE(e$P-RhivqOP5@#jih>t7Huw`r(FC{xj2UmVo~6})t9Q+?vrGtuskg?=LZua zF5rpS>AUgIMn$DGhy72M$%0$6b4QTf1o#p|SSiTcRSi?7ZzRpHzF@n)Oc? zr*s+O4bDi4fQ{-VB(B-0ZbrK{Y6BDy?jVnBR+c!9s$%Ed=hcQgy;LqqhHGtL{0&B5)2S8#C*SCJiuUf9-Lv|Sc1akR#wTWDh7@WjK=a+>V1r*U&cy*7D z=s7>PHoA|pFZgdv6?rdD+wlH#7uha&OTc|ry zcgNQqRUN6P(=Ldgfw!^KDyY-cO{$YlQ@3EL=ugL|?N{jV+6ykE!)h0f0eoVYM)fQdCnKaXrMD2C z8o8T(ppGtAw=m)a2OdE?kaTy`?v6j1LCxINkKviWrT#A2u?EZ1*za18AArFm!i~uz zdu{=;$KC?8&n*E-P=gJ=>fk4i@Vg7vD{-ak+TJpc zq$B!20e&6#{R@;DH#2!C_@A=3EL&|~x?I!|0ajZ!@&Kz_LQmn62`H=UH2<~!fv!Bj z?{)ZoSL1KpAdzQ6-?HSUyaJ%bm73eLQ^^JewnDdnpU9~sOg;bfFqczS-vYFef=$q@sJ*uL=I23{8rhfiqasLf zf6NqtGrp*eEzj2xq|p_dUb)bZY(@?dn(7Gj+r<67bH&bFxlaPoj7u)DF!&d^x($RE zyw&tj%ezVQu7S{tU^R#PdawUz0bzyh7dqn?V7OT#fM(Wd5s#3ehF9I$@vrgFSl|d| z<>!538rIASj&m4-nc%Dbp(w+OMd0RM$SuGHj7?w*H+JtS4T!}pkUC2~Se*=PcF8lk zNP{HwqOc_hM{dYB5{lS&^N1l9HkKu8$en139tW~_u$ho1XkX50|Q zKM_Yr#;5C9J9DMZF4PeM)MnwZUq;$1^tBhV1ezoIHBf4{^qEAT+h;7LE94}fdcxYLjiJ*1&xG$$^zmRE)fMoTYRv@gM0eF@q>z~UW<;u{g@6FWMoR(vZU*+Y1iLf^D6NUoqc59{-Utnyl^PO25?d0HC87N()=5rB6Z@w-T> z=N>nk?s0?o(MC6byJ#E17g4(l8H|;5J^C9!ESDb&faB45(ohct`w}^(;WJKv5|SocooZ2NTeKuiWpW z?@Vmd+Z{95N*)oYN$O3AT^g1vLIV!N>g}F+4-NGU;E~(47W8t4?W+YP4E$2W5O9p( zNma^vIpDsGECmPFbv0uML{aqs7SOVe&-T?ic($~p82FP2Snl&;t+u_U>u2NB>)Pt) z-d@c}@RA0#yAiKsWM_^?884k3V1$eIhlfjU+kTpe{bq<)&y28;otV=upn4PiZWA`uHS*c)c#M6!# zy_`ZsOE^!3kehE@y?V8?nb^3XSjXOs@9JxosCSnrpT55RssHQ=J>|m>Onz9+f(1yU zX5-=u_-CUsUVofjS2kO&X4#6&sdFT<^Tc()6@>^O%#ek?sfjSAQe++hR6;HzdPUvg z>P<{#56}eOE(caR0-vVei~r zgvi|vn$Yo0aHv4 z_o3?E`t1!L-psY=DX+(g2MKtzO*1BLHle8`HJazzq-M`6jb0@t31a-L82w{}zrfrp z$%5h3_f8VH2ogz2j5MMm@nQ)A{RRv<30*uL!awp=eFS{^3HBSrQFr`TI>HBgn-BPB zJ^mATrw&~A9h-0mMFJ?3Uzk>)D{!72#a3yE)bY3qpN|7guY4UewzwB(AP$c!tQ@sJ`%rdr8VE17=*8Cn&lTDh+ZbB#(~(|kn};c==%l4 z3=%c9%!~*Mh{*CpH7F!6&3$6MSgZ=D!w=Ro_`wj~fx8125k~ONNI=AlkKi2uTRS7f z9YRnNc&;T!Q|9hq5PD2dC&}`VWME!!ju@kg(Y`p_aoZy!u=jlMQc+wf-UY(un+#tF5VBk-Q5Y^?tZf>`@-%#rTN*k<}WtA7&o5;xp?|0A$S=%;_C&N zPx_LSttacU2PC7oLdMMUeVdWC+jw%A%xBjXxO_%$(hX8N=R)b61xn{!42u%}DILtE zgSqr2mk#FA!CZQlOXu^@!Q8_)a%pqEi_$q~5Aq^NqBzjY25gk)*5i6R7dW4xnupM} zXjR`va@@j)jw_xI#6(KF10|BQJCa^R()>u8A4&5gIU1tSe4ImaB#=Yl0902=dG-Du zmV`!HqMK(~XYw6g*|*EeF2*Z6l9e6F%8n*hcGQr^DxbZrF1WJW{I2)(W1PBUcGs?? z=!#`!N5HFaJw#=(H&1yDdujDMDuo8Fe;|jCyfAH4Pc{9pkxa37z@Avhx%=*>0he1fjD6 z;`<-JcKBCtcoa9@3Z4nAbLPeM!R7>NdWPqoyhy9g972-1ZXO{?eD;!j`9>xT z_!I(^p44)){|&KFkdyc~ba1)1Sc$uBR^qPYV(hvcw6jeBa_Y+hsv02KB{M2Te{qcHSX(5yvt{eR-3Nd*(JWCO{XIaV>B(R4fo?x{hO zp>lBTw3(hH<{3%RD(p4o-_brj@2t(rx?tX%zLE-&gwM{vWHdk^-h&uqQ26odHih3< zuPrb+8Aj(Ra;SXbCOs!vAnWdgk{trruBB&pJqh?7^%87IdyYw7&%-;k?;eKtK?%C% z&~)7$jQbBG(`{0+cUvjhWn^-@M{=?E1Zh52zU#ivqK7LGf*pkqFtH)eaXo*f9>~oz z_MzOoUiK9NxnuYv>^yIyK}*vh=m%ojDFUK%x={yCZ#X*K2e#a(7NXO3FW9*rq*tzW z@tmEwA?71|(7t%i?znj72(*E|w!n)gA~B0`;X4ZB(+ruJgJheNn9RcNwF9Br>-sBa zUJcNZeYkSY+k9hG4Pe$7Tp1yHVE0_S+zwvsTnuC`Ue3AbQPBD+q1Fk<_o9yqkNk=P z(_1vj^ww{f-pF1ZNruCyok_Ca5GBoAse7%tOvZD`SeONDik)*ggSi|`%w?~c%bpz& zu4othTxJtvI z$!S-p6vxx~Stup_)_g|o`P{*!*q`81{A^&P+_gsfD3Q12{F;koCv|FH3hnzcJKkPB zzJu&;`!So^J+^<{rU&-dzOcXUY3>!MjOkc?xlNeAe-$}4pOX8AvWs-kepQu!Pltx+ zRzq$E#G=&@-EPQ^WTI?{7NS*c7bV^2&FztFmkf)0d$&z1S!PE|-}HKZJanouW(&Uv zYnXfTgS-$Z2zZu8+p*A(IlCbTqL%3?BwsG+x&J6KTr7vZ)bZW{t5Yg z;|*bmMW$c(XOh9UeKIXfJDJMKlWArw&1M*hZ%*5Cr!*@e&GudMWZJh;X$J6%G}}KR z&GzqTXK$?}|WXfz0uP*R_%BO9a&w$jS zxWPSB$TrMn8w$s6IHH$M+@T_T)+&% zEwOj!4DQ7Y&R+98nw1$W{S3}b%;3z<8JwA%!I|sN;H;m)^2TOxR%Wog#(A`W8QdGr zquv#>fDbvQoG+4S4P&r z^C1rGv&&4IKHpm4x7*zAYl*V?_WGXZ`tFG+>xn4q*?ki3%4ObTUUPr!%{PP*{?#V6 zH0Ebi5Bx5eXu!@xX-WgGaVUWkmQk9L)1!#DY>@=(*YDr}DDPdGwy9rY7ZDh0`<@PV z`mV-dgflif)~Y+4u|6AkIHs}}KH4%l+We`+j4k-=Al%u|W+*v?Z<8uz-7^wXf z$X|5RXY|{`>DWVyQ|QfU?h1_IUGcJ zj<6R|^i7_tbl=V( zGevaTZBhA%K#A1zq5Cln0W_VAeR!lvDjU`;JA0O4%z1CjX4Ml3TiBV=IF-YW>d zrPQ@EUc|D1;&m8IDW&4Elu8>Z<=>!`N`sV2WXHwA3ykcu&;N#om=bo_t0V>Hhol9j zD2m~9W_ZI`6fwC)Ov_j@HMvD3mn3jCOHgT_G}=y;{{k`Q=7_F&vI=vWuzGvH2|_!6 zjcO#5MkPG>cTU7_d0O`ulYAtX?eJSN*MTbSh_26jNJ?h=M9(-?em}#=YZGrFKbxfF zgu~b&u=uCr;*&@~C0IAWIrXZ(%_kr`ia(Be*TOLzWXH(KBUA(tG4n8;0`v4LqZcBa*rD1nVHI^`1<4Mg~ zgpv$^fHm-8<1s8DJO-2xrs1CflLAdBZ33FJlAg_TP%)USiiLy5LyUEBX1I_FY-kRm z?Pqw17ndX515)AhikzZ8e3TXk4af#%{)w8Nhoe9P4j^gNit1X%#^j@s=MORjPBfrN zTS{Qq%&YjLw;}WrUGN)vku#z;YD9+$J-a1T zc%TT6WNJw7l8@>RHgI+c5WVzbojN7%(xY{k{E7E2*C{5nOLxQPH8@F!=5*CXKJ$&b zpj;Y^Y~L2*?^D3=&)_s-LrQCd+32KF>{V z^#u%Y8VIZlfg?bFF$kOQICV-fJ=luce^N#Gxmb~zPkvIR_~Ej*oKy*NKA%*v zQyqCjO0mA6vk=ey!VWg1@)1tSB|@kj}cnZ7h?!e#RH?7w8VOk(r(tNOJeTqXet z=DK-6f@Si$i(nZvsJns0)a_uI1S^%V-~3veBibZq<#`B};oDEh+atd1gJlw%?+Wob zr9DVkIeV5j3yz9uQmftN(V(7+qSa-|#dqBSQ9cLEWYL=8S#{^`CYR&n==-8y^yu48 zGxF2=6snaz0nryj+x*3?%{o1$j`IZxv12CMmQpfA3vwb`=)^P)jnpK zbJOPq+>vd?&KkAE%wBUYIm>VWeNxT&aDd)PHD4@gy@lIu`A0Jf87hV9OhfV9+m+E&X6hjlIm_Ta zrC-IkH4VFqy8i{<|E6v<0hHJAhrk{lR=>uFLlesF7~>g3L={O@-^{9nhX zTLiro3E`S=|FiFlPp@AM|0)0NH_}kxTp$`JtDh;4NCKXwThdARN+PkAYN)oalXS2) zD(?`UAP_N&Y2={LGfM&EX#T>+&lVp6)q$K_G0v^Pk!#}9?j1{2H;2XZR!HmqAoCP>H;&J zx(c{WPr%}P2Wc41-CZLZbMSejQg!Ep| zC#JJy9EP+FxcXMVieLWNV=#%PoB&`T!KtL5eLwJy+dgo9! zsowF&1oZwoJUVbtQ`r6xKYLszdp@Gq=no~l6CJ;Ti0RKdD)S1 z&z^hx`ak?X{QtHjgq^E7n>ry9*qx21r0O7z1*b%2q$9!K42#Ts<^@bj)e)x7luxee z5>TNnR`j-b)4eS|x3jWLs?rDwLlFmy+Qa>VuiC4SFbzEm{+cKN2>TDi(b8$Y%6!5a zWUj&DKt{J>a)ro~0fe91p37ZX{u^BsUy5`#mIJ(rOKL{TSXBk2R4P|?Q01vry;gqO zfF=V5yAjNqt9nf?Aj8p6DOi17`OurcrQkpI5Hx)7jy?2dNh5j`$pVKs{E(zB=Z3|R z<9Z|EFZgXe8zZz`8_yyPaahyDKyr7Uu$0v>xiCSVIcCm_Mfe2zcFY{L%6*9$nVmkn zd{X7Y8WYQmKrLuo*`5Y`d>eZ9@#LDfA%XodLEhccloK_GqiSH9Cwd%7kAWs0|Dy5na#@&*d3S>{YXm@AlCC-RhpEweTw`AkbTzDw-u7b*6qq#8rcG^;1YzHW--QMthc=skj96l{5Gd;h(B-|5njqCwUw6#=u01a!5-Qs1j}(b)g^hiMZCnE~QrW zSyHZ?(r3A?P!Rstj4#IOJu3#SNRH{5DaTwfl2K&uS*z)XxWFL&6^M z%&GNBb*J)&y!^yV~%8*>vG636xN?h%ohRO z3@Hx_C_>(aOonMye%4fEw=(`iUS=rGFfy$t(S#Eir6oFx{5)M6;W-6Ug8ZI9@ok5%NN^{w*v&9t@LBHUQ5vzBT%Kh47v|&QyvD7mXff8PjlSeqos7x zc*R~1W|VIKXSBDnm2x$fL2-Ir`8H;=8M5QNBR)&aVl20tJL@qqBn3b`tJRX%)}aI& zn=Drv7P|5bOo}jQBz+OvgZQ+2BCT|fN!4^1IOF11f#KuaX3I3-M=YLLuq?;LC)Jz; z*6Mydx!A&mOTj$M=zS#?`tj;3o7E@xusfM9REzhpJQGgW!=@R38@soa&AOH0B$j~P zJnRWGTT=gj`+6i&|Cc^TsXwT+8w9B@qiEXnnqd@;Yv65ng3vP-pR?b|9X~90wieRD zcvxf-mHV6u+Xky!M#*?f%9--{IGlmA{w(FhmX{ME*R_CvXjR)7#41S?5;wb=i6WIt zkq(7B;czeZ?dr*_EkZ|mWW0OJkt^31+lxuNcZkuVpKzlg?&?s)T$PcKgvkb7R|WKT zY|1x*TSgs<9$J=Lf;ll8L*N;S zEHS9!u>4ppcDyI$BDmTmJKttJ%}^Rs8Q+pJ5~{PqBQFrjpG|A+w#1Uj^XTH4z-BVB z*o>!h;$kycY-Z!}JPgOe@})8JaZgXJyUF5c8jwZ7fN>-w#a_^am7oY=VhaPj`gWQ~6X32JDw zi36Ez$iE^?ov@0W03{=^9kFL`Au~N9N|Bo#>#h8Sq&CQ-a@3Sn*T&`%dhmEFi4H~Q zh1)H1r#I?O`ThjlP#CN87JO?=cVpI7Q5V>S3|0rxLe~}#zavmt>BYL%ZBlr?5{#k(9Vo9b=+UeOGps(dBYT5vdO(YEE=I*dM%N4Z` z>pu@S&ChBRZ)u-WhzZtVGEKuuJzRTV*0adu`?o3vbdkXSxrdKOO77TV08&7$zi+6` zx=0)BB4;XTcY* zKS{7*Y%l-Tl8|;YX*+qZpD+ft=J8!EftA!$vHO^2HnF}8@nKrdA(Ob@X|$$1u2V0x z{Y_{w^s)yrxp>rE*5Bi)FtH-Ys3ryRA)kVP#@x$w`Y01AQG+=sT6=bpgl%ie%Pkpvn+M`Q}!@c}DVF9jMcn>vVni$ofas!&PCn#Kb9SbqYzVQy{I5P|Zrp5kqP> zXgCH&wA8179aHu880xdCK`lm^y$^jM4XO4N(RYj?Yf+I}{RO(r1fokb=9~(fPk| zoi0LmpI4q0$@nB^kX~|L;q-Q(@N`cZxECLb8iQFXi#!$tCvDW3Bmq6~;0W@biy`%{ zTJBbFUAM@c)OZGcHsHwVw=ieAVRj}I0x~8DqKo{)1S(^Z=*HvA7A4p@Wv&p2YMA7C z<6s(F$Z(8f9s588ZmZ;8uL5K^(FG>y#mpFJcjf=8%s@{6PiaYE!MT54+YqNC zO1G{vLEQ(^)S+QcvN*)Ap5|>`R^hpRLbVy(d>$phk40ZNZPT-0VhT^-loQp)X6|=s z{VIeL;3Ha+4#p7V<)gZe@tKXGS96o7!|F~6d`;vA_XMbWe(Z-5reI9Oa<{ErQN`YL zmmu+?nD6KyXDCQwRry;@>F&STY-rlwM6F%2;W1Pl^1Pa3hpQCSu_skA9*i@d!x8XF zp8>H41+DP?J|}Fy*3P{~k`W8HdNUAyti9(1b>Zx_uMyzjZD)jR|FB^5aH$xb>zncQ zXe)RVqM<|v4*}|f?;st$inAMmBZUq}Ps! zkVCNjr;WGDl|R?qA(&4|X>BRmqYmX$wk#kO~%A z#Na+n>(>Hvbf}Z+=d}F%S#qhK(wDV7_8v{#%G2QBXEo27#$q_N8DEczaXYXHpVtL1 z)li<1Ic|<`y~bzNAT^XaW=z+ zY$Bt7DXiExO)S{2C@ffpGQ?+vCttdV^R)c55hu6rcKLIO_`2DW4mp#~dq<39+epHk zC+=NuPXyiESh$;7rN&PAIZaY?E^#cYJFCVO3d%z*C33G~ahDY~{8xp?E+P9PVByviTZ zqw;T~kdJ8I*1!&aGcnuV?9VcPJ%jIZoT$`qk!} zXX`wajd;nXYycGfWbjZ`iJq{IXX~il3Dh*viMfx|^S&Kv>)ZLzgcMD< ze)s0by+a-#lCWAqLULMxFuacq$VRdh;Lgj%EsE7pczlmQulJsxtnE8aZ1y6*Ocu+fV@y44*q~h;hSgr@7I!3Dc7|Kew$ub0D@XQX* z1E$Vau}ZWfX3i3^bda&U-u;!&A}WnTo8t}1)JrkAL0zL9A@Q38_YLsCpznpnN3~4> za9>fgJR##crHPwed! zd;6GD;NFN3#dsc3385acACOFBTn~9-q@Elj@s#&d4GWZ!OBqdD(;IDTUf39ANUvw$ zlAd))WhAo|Z&U*meF6(ECjxfH$6cOB(pc|>i>7$tqP7<<3SPK~m5EFpI|t#Gi$rC8 zUW;F*1Gi&z?^vcIoa2L#>E9P*`Wq%rlF#!bNx8Sq!+f!Tn*-H`6b%&u+YI3Wux;EW zf4q^9((*pK+F@RZ`yKr99*uwB2O@QwmJd)sl&>l3xGy!FKm(WX+i9N>HTJ%>SbS?$ z457?GcPK%U9*UV8x$cluE1V1MlL09_nclJdiwL`cXODNDl6sg719Y6H7`(+6> zkGU7+EGl^zOM~H3bls7S?;ejTh`)XVqq-1AwVW7LK&9bT>)_arZFh9n_}!sR+`q!R z2gAE|;$7?C?TXO0T?$3!2}@}s<0izp_U>rM!4`|++hHCu<%6}5hWP9bPqGkzGI0Y_ zz?f0ZD3*l_lARU2x-kR2dSsTyg`+@=$yp7H)G2+yOXP2B)uh*7HF8+z6)!F)h;~&X zu+Ygl_LR%0M=^`EFbpF|8AbqLyZfV$#Z_#xe&V*bahdE$FbMuS%TaS*ktf187y5DF z>`Paa*m)SBDJVsUp9uORPQiXG`!H%0_477ykAD1Hw}m@H)u$(_KD{AYvnq!Y zoXEFcFURr&;hp;@-a#6yo4N3NX9DN<7z0xNSyaXTN+(ej0v+L9$)DRaQ{o~F`i=W| zSxbV(!@%HrUhoY=JP}4YR1P>cD-^|;|8|NFxwFW2i?Q_Pi-){h?SUcr0>7q4<@;gk;tBjwHDZua`9WI0 za53E02romRFK!a@Vy{jw*Msr^^O!^PB>j1ZmgK@wk(>cB)T8y_tt8Nj?BLm=N|@P= z2C)0-u)1H2E{CGEdf@f-t{vQ=m}_AWwDqnXJX;&l)*+KjqphdTR6d1vI;PloYuNClsPcy4->;VG(A|mBRgYfALd99UY#Lf6B;Uhk714MHE1Y6zwo}q z-X4{SuSf1WUC6G~X$cC5!$qx&U&GkM6JwJ%V-sI4k7L{1gL#&;D3KsuI1Dh7$G9>~ z3`5Rgh$n|3zUDAQ?O}*+U>IUQ4A3OeQ-P?*o@Wu}-u~_x%aM=k{BoU#ruO}G<&*8q zzjN)($J6Bw}Qa1Gge=I_;|GK-C9p;J9zkb z^fZ`wBcB)>$k7WNB8?$3&tZrP4ie%-ZE|^XSc>ZuE5@g5eQP_gd+r)D2E(++tkW7Z z)gCi7eat#HhS~45$E+JH!oNN+J#jyMMS1rkge_U$vfvLVur>CWR$OFM`56N-{h&4d zNT@o1sEoWJDuyx7@D@`S_cCt8pXQPK)h801=F#{xHvwlUr#T8ajB|%p)H)Sv0ECeu zodxVVRR@W|mMXI1o$yrQ^!ApY({fvcxfZQ}ucFK7(~GvZiIB3?r=p?W-a-QX`V+|x z{HJN*Ke<*?B5uqk84Sek3xqlHyRs29)W<_}&#X}+s*r@)Uvkk8UXYA`i$JT>rwSAI z2U78DEAVI{k2FgpysQlo{o`=U;TQ|lCV zMjF{;jf_thB5s*(YmCH5NZz0tJi1u65xxNCW8myt`oiyzh5Tb@j~1Hi6CVJ{$RY zJk{NGId!hz`M&piU!pelIu9@Q)bQi`j^Y>lCPRsy3w9fN&pKlY^L;H1g+#9W(n~btO_@ipau*PJ!3MIm=u$J+d)ExSjL^cFYjLl z2~AGgDiT_Ii&PIFp!B_-r~$f}dMqBC7=YpVnZ!CHpo(j~OB%Zza~Q=)_hi$Hfq zwFr?fLbM2s4Rafw|C105a+Z;2S8D5<5i{t&e9WS0s)As?RhCn20NV1fKOazUm9TSw z^SxRtB4CJU38jQ=C?Y|8Mdd4tlKW7pUG)P2&GBwgQc?+=+}XDze!zBfI|;WNK(rG+ z^lZn3gj$W?&Y9v9nBy<;V_@6B7~poUpArCBm(L%fE64O*IsMZuH*yBy8lrT5y)WdB zs9P(R_(cLdF>bljw%*(hHll|QK0dWB|PCV`IIcT3hO!&J%8^>|!j@*YUuQ*ph~pMuiBk zwc!Ep^eDpp#|i=}lh!bUhH>gn-q<1JE26SK?!cN>B zMpPZCSsPi*M* zw9EiIgso?9Q}9w6N*Ks7puaSIEQrOk&jC$`-{f6cgw4I|6IxzR1pH#RL`btRyAOAZ z5;>ur$5VPU^)U+qW?>Y*8NW=5Cu^n|!e3Fk_I+m8Q+xI!@zsQqMMUTq)-s7{V4T*< zaT@f;DOtn`!tC+x8kH|77Yp`Lq{!!`<47mo5}IUY(m`)#*5VFO}DWn66}SI*kKV7~HjHY*4AU+16_*CXM?~38)Vx z1*O;}nA+hMi(wy+WARm(E&AugxiX@;VN4b zInNNB{j%Mofy|jL2+uI7w}$MHEfbx?`AT$A9`;uZKt7}}>*UdJ-Dv((q}Y1<_>N|Y z4wFpiaaM~kNlfXnL?FONuzmf_f5P}bqI%hNuAmPgl^HYHU#T35_j9E2i-=$%%NkNZ zru8PkG%dQiIK8VlIMfFXEp50Aho)`gN$vCeIoe+k?P?7BihP_^l z@85?5>?L`SEXUk*d`;J>~jVg!+S%LI9;Mv3$Ihf}w){3vys`Ko1&4i({cU(2>qxs!;w07J~T2KrSf zn{Y2%)~{tptI4daMWXBLtetJM*>&h$vq{Un;_{Xodlm;~USs8yQ&?@89Yw9Wqp0~Q ztmd+qQ=PbSoFZHbjpRE(Ow1aqhG4bg*T0~O-+DkavuiPEt+%4#iThl~IA-P5OQyPMh$7f@W*+m<*! zBUade63=c#K|7M0y|l9d_)1(c9v&Pm+db)ij7L;T(Og4(uu$9m`i8y!Ly& zZQ%r!puoZ69wp{`-ygc@`+gaU$K~ER~Sh&XcVyTWZahOHhX10G#>;^UPQANMChraLKXkI*z-ra8 zrL4(@#@1lDY2lR_#y8n_Rj#~G5ZN0I?*DygrQQit9yw}Z=Nf1r#!}SwTeYv%aG@1F zk5jet9u$V$;v6<jtO3h4^#N4qu+HoatA_ zW*Zm3_YgP6ao^kCuZ&5DjE-!*XF))Twfh@Ns8?4V&BsXNgg&!s`uQ)0tdCuFXjYXJJMbjcM7+#$)7z6>>!w1DY;>M5rhpNgun zmgs56r28jkuQ@6i6Tlxa z2xO3#Tp{e4whrdP%z3J6OcZg{@t4S{e95shY;P@jU3K;mO$q`m#H@}`FuwS4W;>#% zdYeF&{)OJx#8*+<#>FrG4eh$P@A>Ojk$C?4-r|Vw0nTdA%rT|+!|^zZHXIc}05@?F zLJx~z#{{CPNGWMLGpE`~mNOL`_XJN8($@tg`JaEJl`i*TXsU6huz8oBUayYn;@h>$ zC5&^gmXNn@>(2;})Mw}>b;M_I>*%(AP}AE&00%IwbQJ)DaLsv^PsfL zItG3LWPol*BRO$QV!YOmsMSmj+NxG3f<&oHs8&;{jepZ5d4D|8?Gh?i!Z9 z?KH>lb7SR?wR6*lBrsRw#a{t^XE`j@_KAI4)wrLJha7uL-R&idAp0wX;ba3Yett}c zE39(V+?ZXu!OHDI@i)KdHlBusjP8G>JUwDtKVpRTf{BpeSielD`D2+3bat0Uv{998 zd8Tw(nxzg)Q*~Gx7g%r(OCw=T4&Qr})Yf8$C0{VYW@DxNS>dR!`t^k&sgs+^;iA^M zvA5PUS1F8?j|!_9HWf_cbz2Bk-1{eyXpAh0wJVw=5|ctl92d?4Ufyol}$6#x+now(l`4e#i_$i8S{kazB z$6FGifjZC%#GR3f#{;{6O3E|IdA1mPz3_$o!sGOIBE6GtfKOv!^<{|y$5*jDZRmP+ zw}SJ{%rWm9?qp52v3h|bs_hdm<#f5`dFYf=4fr zsKvdE2_r2GDZZ#d@DB$OhRkp11k{ag(pX9zYLbur-^M(9zIKZ~02oe0-fK%mo0Y7{ zl6jmg`85E#R!Zt?(AF<)HSJJ0xVm)?6;sS+88~Z&nc#kdfYcFib`7-*FC&}eM^vx% zOgmJ3Q}N*6J&PhMz1CS^`%}Hvxt5Q&BqYqiZbn`8TwS2Iq2X#d^vKjg0eTmJ|1H^}wy@2U@~d(;QiWxFqZ{?_OGmQp61 zX#L3f?F-g+e_qLd?^JJB@8ExTsXNu1-}Ey-bMs9%zTu~CxFOGPxZxEqyY{8)I?v$0 z^RBt-MSFJryA7K+>x-heR!`EjIXse$u2?y?YJByYb3d-^GoSr&b>T0oBkIHIL+btN zm()4uoO90E_;=QO)%(=5-lyK98t+!`R==ozLA^^IRv%YCr+!wwRo$U(SGTEK)qbtQDqLB%;g_a%jVCw-PhcG2t{0x2i1tO*ME9wy9Vj?^AZA zkc6;Tr}xQS)0V29u6Yw!A)tN5ZLzPfkx2MAReEgE&E;%Im@rtJm7*8fs-?f-FG_I{ z$^*aOae02&a@#;m-Nf3JgoJ7)6P5a_YK*O z9a?8@JOCe{&K`_~LJL#MN)a^);gwt|QegNDJs6d^!7dXEYjH^-Jo}VvxKb|#irtv# z%YzVZZ!i0j5vTZX9D}a2?PdGvqgt}+q>QIyW;1Qg@Z8qEBf^^LE$V8uB9y{5~_9s$!L`YX=4@MxyLkRbF1@5Ib z=#U_jd7sY$f2q`u>o%UuS7mRIB_ia)uWW6j4ndLf>)-EnZJn(%phZr9%}wEFx{##U z>{`6)*(P|N3DRHvz8+YUiX;QW9OjMEqt$B2m5jjtQ+4(R z{?c+oRUQ|~-VgDsTXmsqGy#7}26Qxxu;#}U`JdXzJJa3ZdG2OmcD~y+ZiI2LRc*!? zztpn)h@5hp^RYz(9HES?ILSnveJJurzrQwM{m6L9JjZ}PeMUSLA2<2Cj;qczowcWqnX|Av6|XF`o7`hL9h6gCn;_u#SI6F8wzpx!h*^^Xh?f6yI=yl zvfP0VqOypQD?VRMh6sJFY%N*{pFBbxFg%4$cKdRh~g%5B+aI&>-;FE@Ui~rB< zSHhX*uP84;;odVOcb4cgRo+OSsj0yPz&A>NS@}jkQfVV*hI5IHK z;1B4W@u{8c0-o?s}o3sZ{mH0 zyvo3^VR@x9rXO_6Y7FH934vz!Uw&97 zf3@~kYj<^+SiKQkZyR-bAn(|rjr!(mnpo#;=O|$84V!My8`*1{A1Yh%AnaS!@T<~d$+R7Xlk`Ds-8rhhH6j~j ze+2S6oSWe5n3Prc5AgX$KGe`%wV3q*G4^*#+qbDxI2g3F-Tn zEqtY@@qn?4Z=&Tp*9ZEY>;1w6C$bwM#~M?^M0O*D?8b&O$!>IDcy2h8?1udMotQVA z#u$#B^hW5UH^S_~R!2H1l`^A>_(xa75vao!Ry07)SeWjU7N+Y9)0M(>Wjrj>0qG`- zwo%332D8IDP&%<4+r3@hsbjl$NG){{^t#GwVAZ?R!Bu%U(bCf=gXzF_58CeZwwFxU zE@TleoIV*``@Ql8j?w(@f*rOq9b7ec{Gi;)e~n#y$6k1+eA}@X9%^-QCY+#Msmb~2 zlYzbP;GHZ*;%2;o5h#8Amqbo}QIDt!taKI&to+bgdO4Amj$e_imLg*b>X#Sa!g{Wg zVesz7g~!`r12!kbu0`8TW_nH-=~eb;6cEguYJtX*E!>;}8xgRjBg@5Fhh z@*W4K55BmmT!nH8^To?GCo6e82OW9YRQg_Qjao(qRR4Tb|N91w#j^4-7jR83tG%^B z+M#TiPx)^+V_y=ufAX!)Uf$YJsmcw{t5#*5&wlUX+A~sn&J9XFIJ4Lds+}8@Qavhr ztrMPkzc`4+7m6^3Tv_@;nVgaG6#7C9vREp@%|X4SIO`182EkO{r){0`ZIi=ALMua#T7Z&gOGSVsVaJma;ni>x(-tlF| zCmJGkf+xMl74dy+qDJvY0n&0lA5e|n_2#&^aIVnX-BSN&hKmciVfn)j3IyT@^oP_N zbj2Tlc8`;}rp}Cwi$9}VK10MrX7!GY3i${q{5@v17z`(0J7?qKvlDYrW7PYgscwh2 zPvnvpCr{S`?L%?OTWcS}lv}%xp}TeHZ>@Q2#$YV1;w*a@wI!<}D$1VCnCEJHcBM{L zQoQfW3^UL!cjka$cRj7bIxWpA7+C_V)3&5kZc48Pe_(L_PQ85 z!e4Mg&>;kj8&yj_t=hfAj`1{v5QoNdTU1^Q=Kb%0$?K%3lPNCR%5+E8}Hd=1fcx&R;+^2sCS@ z6dfAkW3#QA{50c#sFy#m+vCTTVp)_Iyo(^7r86*RDeRi2gDcTIn#l2Huv#BLuwu?l zx~WRaiOXtP4pv*0y}bYRYsv@I|3^K*Z&#efRG7WRk#FhZSHGp%@rus&323BV6a;x^ zTEB=pivBt(yODRPCs||<4{rX{V3mo<-=Em!jW9SIXcO90`hcw%I0LU0`q$Efuf-nw z#$#A$7w?4*FWC$I{GuW*Q$Ue9pSMej`Y$M3q274>=@)E~VfyoZ!}R9{)=!EJRQk$* zBj|it@!dXH22S&5F-72U0y!<)L6w$I*zZg~Jj=(MmC9K@3YHH|p6U6w;;nyH{4X~w zcI_7M5G!mdb46rzD14)e$ZAD%l&b@#w|6?K>0GmhcDS$KA!djT_c@828|Y$!yAMpQ zyv+P-b<*Y`DbN`#P|o4&Ot8nFr(8EYP_>OJb`an2?P3A(HOgnb+TX&tpV-CXi|6`f|=jk*9XjW8>fpSLeD&k*O9IbxE2b0-+oH_P2nT zDP%b*)a-tN$@k|UOdZdkD<1x`O!;bdzZe^H&9|!b&?1wqzY;8s4m_E^jqm1$(4jM* z$SvlfC0oq9&QNJH&D&Lar}W(G<+px*>su8Do#sKmu#3vY*1Nqd8$aH*_=chiwZ;Wi zTEk8lhd`4Ca>Bh@h(a#(IPl<&ZlIfQ#>ce~MePO%utyYf0%!@}JNYrQ%{H>rCO4QG zUJg09-s`qqXhKav*Sl(J-Trl$1tEpC!zKM37%ci#gILm!4az7BT!w=VKt_v2ESD8!pJ>!MRGK2=^ImC9p^o&ctUNLJyGU_ zjmVHEx)DRvEYw#puERW%q2lYmjsOhuNH(;fXXG4g5^@j+8$(G*wazAF4Eb|()d^Q~ zZj|ECe?`>%3P3|Ku0E}{H*a;RQ+t8I5R!LbA__Anc!nEVAdA7SDI!y4abS)-kpNc3 z^6nx6HL~4P&4*lC#wy>8^P6_%n-0IZxbn?5?i$6P8us$gHV8e6W*pwN^1QHoUg)0Z zIP;wzD|OZrzz0w#JxS*lSsdc^WC=JpxN34ua`r8$Dnl26={ZhJ7lM(!SJZa{+0Fr3 zC8INWf^4UvFBE+ENa$eM{O)~WdXk^Sh<`jc*|l-@Zb_d@L;)! z9at{r=8N~1a?zAECzj>}0((0pozH`efU1{xbL;`mWAN1;51mHEvU)NxKVRuVa50mMCt zTB-t(r}~l&n?9Y7`%#0Qwprl=awYSdl%*qX` zNW-m)^Ddv0-_pLHNsUURz%Y^oIaR|2fz%{~n|etFk%w6B>T?ILcExqM0Y)eZ#}NMl zzpY6RE{)#~hMZ-mA+d`gY~R^4L$2@+ui@-SiD_^nFbNhI44&N+xd=l!-ew5>h!;;C z$2fS?_lFr+rU1{?lep2%iLJw;I}%Dz>rF1o46~%+If6=Vl8yQBO!H88vY7_KQ$%kQ(~$(p>*7@P**q)EO}Xl4`Ek4yPY`F&qE-=-GvH8> z6o4FTFAs%G*v8>~INZ#`Lpa>X!-s)WoaEsN9Cmnk*if?=hmRt%x0Z(|acFsXx5WE! z_!yRgaUMR1!!aHnQGz_T28lRMx(A38fssSXP~=jK4BU*E?qVSVWm*C@)x?f+Wk=cz zvA~tr`k_BwAmw;Nn2V{iZrvmONlH#?lhsXBl2R{H47b>p;1#w3q6S+pj)XlsEQ)$V zb_Bl!wvqk45|nn0GHRf%SZ9uen~c!ntTXLtbzqZe(=>ilUwCfi4rdTTLeRk^iSMD@ z?VA8~CN)U}(O?7=TL!ay^_KkZElCl#O!{UNcnCE7TvP2G2a=RkzN`6{|gN(S(wZp!yMN*L=fcx)plbZ#(3Y0X6E+|U-#&rKcs828dgm4g3 zke!dRh#w^VY0fZfy+B+mvd@sb=Vwd@n{-|N0GD;nmf%SAz1d=6VWGZBe+0a^>hn>N4bt^C`f@Uz4l}buu>&2mnw6AsUZYX;PRS;AK zc!49gR9Q`&*g}8ZS>U?Eb6VoPFB_WiUIzf4Y3^s=`I&0{+6RK;VDtu$ z9H&4f>s32DpWiqI9a1YB7b{myedVf*mct*Jt?N zoZ3=Ne#8$vuX5htaF6XU#|zh>1_Tmo(gR1N2i_!!clZh2Ph=Z(^G5dW zH!khnEtQ?y+&@iDR@65`@oPm`s$c2cpF9O*jGh3MOrlJxi z&@!1I!?wO&s!s0bE}zW_G|&#Q738rc~UzbI6m-gl=3VF_ZidWo3Gh?oEr z!Zv8bgjQ!0WOc%ydRrfX2B?{F73PU6W?NRHmQ?m$mF{=u#1fB9Ao~NM z%9B~bp*b7dW4`Yp`{HPd{fb^3-la+TsF4cVWR^rtsU87-4I$+8!VVIOvbXNye>s+Qb9Tu_Kr zw1`T{G&6)Eeo=9i`RNLUA&Eb@3EwDY@~ zN;Rd&olcfZ;$h~YnehT7#*rJ1^S#D}ou+OLlE#f!fvUTLSkg16E};C-E~oKQ@*#Ues7DUn}N4|f)1ayUZB!|FDnZ$ZYg>>WW#K(Y#}0! zzsN4Yx#Py9tYUn8gELC+3+3-g_xFVRdv918t)#TNKO}6pZ;3k?A+C3zvU}a3zbY(F zUpEIp+_g51lJg1D>^^7uWWNRzp}t<-7q-eAt!h?Cy&L>?C>;vC^?3hYN$~_An4nuE!rdprV2+vFn?9k_N(S2s z5!q@=KV}Hm{>D+%;$x;qyfzU6>{$_6BG1Y`6=F2Vc8y$AvUT6sqxWox^Q$8x#qbqo zlcBc$I@kxIHxMy*Y+BzrJ$9hgVb1CTRCJq6iK95G~A3DsY63;{UvSn<#f~B zs$M3k)Z%^AyXcb{+Ms?zzZBI0*5yw2lS%Hl$w473&nL4XWIQ2zA=XzY)>kOj*ASMs zJ4|BS%At#K80}nm$crN*>+9OheP7p7cF*tU#2m|246jk|2EP@0RBXMiPlR;EN=Kgr z;oKZY<4?J~iBb!utTP%td`>gq+=$-pRvXOFT-#!2S#Hh~{}bu%Wn#s}bf_8^Ht$El z!56Db!bh=C&`#mJjicpT$}DOrv$&M{HBG7^v5B9peM^~2OFhDZJZfC4iLs`{!t2`}J+BySL;;#l*dr=CG=Rn&z!9XV z;iyY^^HRY4E&F@8MV!g@`lTit>|7;`xxdG3{B-Y=o^&$Uhm&RnsyHJ}8e-_pVk=k2 zULK$j3Nh<)Ut}?>-Ypv}uB5m_P`RSAhvJ!OZ&^1AoROp6ckmOEBS%unwP%oT5YlIG zMYas$*zmbDgw2rCl;?)T{_Ce;z++!%3SIp=kD!Y(iz*OvI=*q1<8J$eRXsA0SlEe; zS)2B(>RIzsJ)xgB_`=VnnWVwk~c=s7JFZjF;;M`dZFlE9K-ASJq}7|_Gp zB~iSA`=+~PBuk#`qsG>Y+rJV{p>NeCQ}$s~;hL+%N0ObFzFz1w(wXM#1peEfk{ypF zDGJN4nNe;koSrayoQ@YRrw5%~A$`|TnFfog zOm%j(oS?HSX&*_$OM{+?&U6ihAb-*ta4I!lm+qB8L?7h1$6ym>i?G>5D{lx z*LWr}?q~C1<_!;ZgKOB~r`y?T$8Y|QPpNf5uqm)s7q`3PajT2}enO5jtBY^AV~o>( zaL3GRJkS-HRa7yZip_+R{6<+hkmIV9A~m0dtmMoJR89<3maiIhRK zBw>O$-}vIBxOuLK_f6@G6Nb!N=OOcYOYkbO6UKAPU&p;`bN%!aUw-2BKhE7ged`?y z3k$<^a&l!H$FfM}1(;i*BS%b~N>w(~N;#bdtrg7dY)#_N4Xulcx*bLqe)a)nhwbn> zb69OMdx{I}FoN&JKmB81hnZ9Pmev@aG}fB1!*&e0l*5usIb_c&PJI}xZQEwEQ<}bE zJ*6)eE;-AEnqEEC*6mrK5W2xxTt4;AiPk8KpJ#T0FEGOFJoHr{CjE;P+h!$;b66PY zl$Q&^Qy&US_W}sx)|r=12iG)dSV6th-2`bCQl~|oHR`JDqM$CG-0|D*C_eOUO}Ad$ z4MtdVZGA$qN6_}pB~f3f0UdKbk4$+K%2C2zp{*{HCh6DW-kTnG+^+c47gQ#>P5smO zE42iw-{xBU^qOh1Nn%HZJZ6~UVyA%19<{@5O5aW-IX(e?ylbL0njDRaR?=GKE26C* zQMvN3&xLajTvOx4!sAj=jP<}(yEB}hUU>IEe8nIk;n;NJ&V$xBr0pG>&pU94ksv?`4 zATj)Sp?Bxm#J*MowYNQKjl)$+O$i%s2^v<}aqwv?n{5f0$p(UB8q2GSCtxtG;&Azg zJ9YL=14=6Hsphp4f*um5R9&2J$qZ>_1j$9em`x^1_7}zxW19#+vnPUyodbz1Fv_vO zD8~Y$nns2rJw7V2iMaS8q%sG>`S4nyU_>KIg^m_Mb`&-sXju655Yj^3*E*5NA-!## z;AIHeUg0U;xEBzH)&g0!h^|aXu3_YU8yB!R&O!is2dP(S25(1pmgbjRf>8|Ki7mnX zn50%9wufpw{UP9{CVSZ_q4(lXmOp*uv-ruDKXF#&)ngd^JabGwWxU{@KZpymo}a-u zQ@mx)xv=DdP%a2~!8<;#?XbJONXObTv>SJW2fvL#)`;jQQQt*eZt!@E*3YnGC*AD! zyaBgWgQlyZ>8kG*TNnnm4Dz@eeBs-=mwhe*w-LgwyG8jIoUDmW=-@scafvE|)(WBP zkA<$^k4u?VbMLGL7dD%v@mxJ=8yof7TbPbnFwKi|Yi|0xhwLE(SJvr|qDxwzEv#h65)ed-ZFTkv!jQA-!9HSU>&6vm^tK^=>e$N~jB zTI0?m5(^i*-sjc~%SWzlHTZn-YbkWVvn13S#LGpti&{$;we7+|KjxBC>ey$M+a#N zM?Fp9=wh0}wjOuLK=IG7z|jiY8MPh4gvi9XuLW+9BjN`HMGP3uEL~A;_mc90Z9U1e z$~R;~U5{Xd;)?*#$<~<^zg(j~Fmram$wIXnR%L%=^2&o**sQgpKZw(u`a!DHWg1 z;mNVqg|>0brp}5TrQ~pClh@~}2Vb3fJ)c$fleFJYw!_bq!T?%zIidilaY-#(?qt$& zyADO^;!1}?*J+^6R(Lc2PVwUx91-U9^FZ(nVLGe@Pc@kac{ToIeioPb8OQ8?j^!%jo!A|j@hogaQ-O9p{uL@;KRd5{lK${ z?V_7_{XXs1n&n4f18-U#g$@6TjYXpnCFj`c+6xclUHhD?1gD92q$*)U)TD*o2+?%~%&W0B`bT*VYY_F(7@iIQhk4;GAs{OEIn zf6cZ!h~7O~>;v}&RJ1PPjqBNmjkhtDxGxsHqS#q^)rXN*eHiHv{9*=Xy%Tn6^y@Oly2!+<4?2j&UcqBgKiD}w9^KAfs1 zVvEBvl> z1e4Z~y-3)#*3)fcEj>GKXEJ2ZgWo4~nMPZJvm~XZEg4>G^JuP^-!7IajYNk$(Z$*x zbQzGhKz_kXC-N}+np!O(zqORP6+=#fFyo}&7*9Z0z9qQEj)+1*m_4fOh_E7!xXgkf zu5ZHt9)dY?rg;NVQ?pC)r;R?crXl###u?zR`LOFy5lk>l;6&wU@e>NL-s)n0`$UTZ zikGxC1xcfIW)C>~(KfA8i9K?jnh;x9GUJ?3d5qpqIc|D%V)>Qo@!q2%>CGa--VK`N zry{~ryFn;Hhix8`SLmJnD}d|4Y~b{zZMfb2#(op+;PZrm0AT_Ni=AYO2}7*6-LHyA z{s`IG5oXp?#sCP+i`x28)dzm0z8Y5KW;hO%QVLR< ze5rYBNMOAUktD|00hi&5!sMqFl#eJVi$-nC6>e)Dh{*ca6~*w<9AQT82S z^Ocb-g>n;zFH%~BFSIFYgYorl(3}x30*Vw47D>xpnAuc>4y&gTq^01eM1S!AhgJ5G z*rT!^RiXoiHWO+r-d$$>84(L@I-n;^B0H*)6@=0aytqi!rCWlPBq>h4mttF9A|%RN z87#BQ-O8qmZxuV@SrO#3VfKVs?arl0UE~1!qEX(`w%r=G=aaT-o;y=<4A=(#gb1F=CK~x$iJlj7B!m*& zOkhYe8w=Jy?FM6bk`W(d%3jEBm2z4})RB%Vg@l9O`)6`07eV&8S}j_5JhKUs?i6kY zbdSq~N7Z2Tk)8r6Kj=&3F2?^KM*R+FpAM7U6w!7tvn1l?j*9@<{6LpXBvix}Fv6uW z*4gXG8;`M-Oi1_xLvZijy?fQ(#MU?JBcbs51I-^!s|0X`0l;a0)-+6cVb%guUW}s` zsc+OD33;9A^UwimI&l7GIls;G?+sfWoc-$ZY-l9_bU=&0bg~P4i}RA}<&r)8@^ypc zU6S!C^t*!oAmoZrEBrksxJt9+B?MGy9H^31hP`bc3t61SdSK99uS+ zc>{3fdRyNgrk=Xf$iwf6`ksxY`^-J`kib zx|cAuh(O{JV3{sMO1ezGQ7)XMUGmLIQ-YvRViie$(qWxpEBv^FKc_!VSihj`^?r~z zKYseWIfT7?$1~ADHm?nU>L7rCV^0a;oE0fF9^0>un>{W;{`rSsA-A0ux)k2a%>YlY&Vc7TY z>-U}e(0BMm(zbVlbGWG1ifpz_;aYCwPpiS{Yg%#ol8%u0l9~z?qw!RXCY$81B&TN& z^ZKexe8GF`#dB1y$naCio_taBHOLd3RtNKr=iKe=X zsk<0=SqskyQ}GWBwD>X!I5oRPgR(ALH;!zTr*)i2W)pB&GW6-OyHX9 zmwVsfCC%$lR#0H2WpQ7TR45|m(S4ntyD5_9X=Izp|1Jz)gOGhy$*Jvgaztn1K8p)j-o@j!=eh+OEf@E#;o6Ko3C=OhK}UZqSl$m42ULQ z#jZKD&OC1RG+&N0JO$+|tG~P~eP#bzx!UudJ!bgZMqO`pu*1luHiqO<+c~hwJkC>? zE47VZY(poRf6^Y@Czb8@md_jzf})Abayh4~T=~R&CVbbnU=&ef~h+0bpjP`6}Bvn#V$(X=5ju z7FDLa$WM6@AhuEQWoENPqL>g#5=&GZw!(84N|GZprcfX-b@taL>Zt_B^wa3 z9+D3k&;_5#(YT~Qg3&-y1rdmpWJ$#<#%(AIYG`9&`PX>MJR)cZ ze7@g(zR!Jrr~7=!eSWQcyk0(CET1+nDdtJt%WHxuX1TKsGDD3m17$ji$*xNlh0dPV*9L_(q0g-&>cLEV*8`UW`;;jLRK1Rd87 z4y)nnDwE2}Aj2S~5g_4)Bier@9XKU@^0duX!}@rI1pl0iw5=Zo0IZ-7TmuF6LTuW2 zEO0LkVGEgLN?#`=M3gM~O7PV5wubVhvqaa335uJk!uDidiHe6$KfhOmH$hn@Exy7* zmAYY+QVS?4t9FE}p>{ZQ=?Cyh+u-U73j@eHa~b1XzT=EM9#+qqU~J+I<48q(Np z3Dl#WhoWKRQr)<~*U2oMScXL04@^8k@FwCMja(xJ;32SNBPUUee$Jg)B<#15PhHDC zAeyZ}8-+HKE!dIJJx925QHE{89>q5kTlv$27CvoJtr2ky+kwDq#ttO98^{5!iT?Qx}U6GEUgD zq*m2{h8T0D0#Qo)QMqd*)_vqO#1hdWZ!m%&ZW!B`mQ~Hc{(QYhR=IjtzTQjLVX61X z)jJhnBWx60y*p33NQ@Cm0Tor$_-ZE1u4dXMa83e3kOn4OvSbZ)xz^^LYr^@W9w9R3 zZQfTVMVeSG>{YTa>GvoIw>Dp9Ww0b1DYl#aL6lxA@!_R>e;KIX*(bR_(=O{ae36}>zBF-GstqM&K)hQnbm8-(gm#`FnQX$n zQ7BVK=xoB1!6vXcuojauaZu5(a_wU3k(ZW4BQH*zGwe*&ASBfiKcR6FGNA6K&_TBT zkW;9hX}(Nwq{6u#R;EyXa#JXeWeN@b6soIJXe=4lV`WMTW|6R;cFieN%M=PPyLE&D zadiq+ZVFXy3RO<&4r#lQ+rOYMykxnY-$5VDeaq$SRg-_|6~a2SUTxf}=!-$!@obHNkm}GQr&B5r9~S=J9f>2!iFq3F z3|m8EfR8%t3b!_UROe<&pNime?qBWiio0NHq|fr62(Bi98ffOe7@YC$XqV)S9gciL zIaS>e@(29NcrqanSh2`o{Bt<|BHw~cMWg;*JFsU+)v?i;(|EFz?!E7gI8J*UjH%Dx z428#@jKwYqib?q+&Tp+MiTRH6KAg=*3w=}WvZaUpb;h%i)aF_%T%Hi`Y1qv2i`+(;w9s7p9k8=d!2SZA>>P;Naf25C5O$|6j0A)VOikUH4;; zcU>YIK?6BYGIiVnrVe!6yCv}Gh#Qpnv@-5tnT=>M3t&&)>d3tHP=q|wGBuvu6KYBy z^Uh%&iumN8K#q%rwrKEa~6UN_{x$Wsj&l8Lk`6e~KBpZy(|{*utcGiN2c^U;m=o_knzZSE%;WygRQ=RR!@L; zB~n=JCCl}6rGp@(Lg8;yvpYU?U**XtpW(4(|xH*yBH&0BtL2@4& zO-mADp?WvY<}muIlkD~h8})#Kux7i%J#a?G$avV-_uu_3bNEo-R=K%2lxK4EFM6ok ziS-|TP{0%HE;0TO{Z-eroWG zso-8z75Ac+$Gw=PxEDr(%^>cja#|uKx+n5Tj|lzqPa^{1_y(U5)=efvM~+8KE|Omm z4y?EJgOO7dskik5>=FJx&A|Rhc4I4YgWxj}i4}wy1}1$(uYKGPxn3 zdpsv+=-3X%?H&3XT2|ngbhsXDtg5sFF>_EztS+pR%;ujLke_f%kRqlobOT_u6f{VR zv#~2nTEk=?Xn4xj)Uyx79POCQ$UZPkXfd|HUKc6I6QM*Pu08=SztzCrFcJ2Fkv{u? zTaKiZ!ahJ&jMQV3`dG8g;z-msf~cJ;Huoa$Lbvz{cp~u@!RNqP!E)O-WTWiU+9wMr zq!p!CFH`;F)#?w$Jh2|nS{JSmrb~>8DzrSE+aJ`bwxK-ToiZkb8ecHU;G?f{JRE}$ zuU8+=S1zeKc>i%nO*1YiOXS+kExPfQi7=^z+0P@j_i9>4FLKIc#&O2E>~E-R%agOO zmU$F!n3EhfFgd^k&)(QF1CLljn_TO>#@%^p{$4J>xOgb_T zKo4XBJO+q{9Nr)9tE6F{z+=DitMQb+U;8xd`*fLteV^`S=OHOus(nJRV84S&%V$Hs zNI+OvVsJk)Lj@d22^)f|@zrs2ej&zS(w2$aAxOhbO zvi+FjmRk@cw^+uT+ayTH0_3u3jw7G%FUS-6gn5eEBKVnYmXT$HFM{d~Wq0MWWqy?t z+2wreJ$<&xifE~?!MaBU4Za+(PSw{-RsYR)xF|9x3R06KXta{Hku5 z#M5|kUJV4+k#`sk5Pm}0VU+4!3}G@JhZ{Fv$boX%V$saF-}PcJpv3~aAc)XYDD^I7 zI7@>Xk?bokbcF$w*Vic&b6l-9@IO!s?e0%ccVklexpziW`rYO9bXX6tL>$HxRf6Gu z7){b}P12AiX*@}jG@eG2ME#EDh#~-9^n^03vS}cjZRhBm1WE=#8EEqAUVh z2GuNr&}R{ZgINT4IpE#WF!8rC<*m#zw=&gR8GkE-galV@dbw&dOR7zm)t2_FEnQk| zx?gRYc;X0=1tF!+J{Mw|$lfMe_nc1;ac?A>jqDS;WnAn;U{NZ28wvH9oh)>4tVjO9 zo9LvKx=l?)ca=g)WJq($fIJ0g(r~*ZZ};~{#?iA>_eZ2&QKVksu1J$>rNN2b>g;oo z^D8}#1|E(B{cJO4~)*bFMadKzio7mX64{WlVM(elUBC?ewuhn;F<8vA4|I1; zYzaO@MBP>e@ZNv}_??7juFVa^3=Ff3=(+QA)FJeTPacgK9d>in!r&aWz&Yv)=d(Cb zp@n0xIE2#JWQ%v-&!DcY3vp)zGm^%5R6);M4!TPxEJ%68wR;TrI=ny-q3kIGKUT7P zG4WjC;%})Z9c7T-w~hb>Y(G8Dq^% zbC*>Vh-hBM6L&3hq88Z+S}#0sN*1acg!JOVzQ(!!(*SH&yrl2^%pFcRNZG)5~M-9Z|kW$`|8!nB{9ATy_P~+^&3$ec}O#@e+>fyit}fD$5tU z^U|j%Uxa95P0;F%+2Usy0I~$VpZb>0L+n zk134Z%a@wp1E}IR^pS;$Lq_|K-#o)5=lc`-h{AN|8ODh~f_>PjCZvaT*e9RhT;T#! z{YP;d>THbM#r^XrJBl8CY2Vo@cnHU-3yr?t=a}vPNaB%O7Zw)O?bGT-jK>Il7mmLA z(U=&KdU1;MU8;CT{JolcN9+l_Sap}totb?Wcix>y(0QD1yJP9wE@HzSPF=lxZ9ZwN5~&P)2d zK#n_@*EZ_S`GtGng*pas$bqW_@er;vllg^KAG@X**b8wQlB0@+6OklLB{s}H6L}o% zW`@1ZB)MeQnMvC{0OE#_6z4m=tx$KCWQPq4s=QW=$Qro}bKT2%ba6g>8IvFq&Ruwq z;bW~1fQHlR&K%jd@|GQxDg>~_UU=06egFXBnu)xVJxll?(U&;*W8{|4+jxSS59PxJ z_N{Ev%i}5C#)r<2>WgiNKte|-7PV)d8|f7{&pA1O1l~rH1ZW%EWEQN!Q2Qhqb-xoc zpxzeS)F+*4xXjq8l^3DLZv+xx=4)Hi+{F>LeL&sBERBY1f!Zta#8jEcVdc~>@QVrhDR@c{@}moJ>Nkbj|s%_*fKRm zV;)NoO~JLT6;=snQ5jq8d#zSTQ4$iq@ zIU5z>4JCeexL% zj2W+q%TX6I<4?G^W9c5TC~d^#3*Ef8=g7K2WRew=y_QBq7r`jA&627lwGqw(qm1oj zCs0B4(sSmlj_i{dWJ(q_dX)|UT8%SRcDJDiPU!tF72rIe;*zq)KWQzQK2;;AqzQ=c z7(+7{Z^g+Ppe+rQI<<}IY!g+78pYuni_V&Nd$fkk(Ae7+wO#qJg(PKei(tpT)&&JY ze}%eyqV;U|ilb&*fo<>TtT;-pm}s3>XxC~QZ2%v{d9Dp&y{*!0LBH7o&VTiU+`PKD zcyAsSkA3&_>Dp{@>un1QH}7iJFliDN^3b_G=js5m?Z@)&!E3)a*cMJi7$ku%A4NY`()T_u`o3R=;&Hk6g?pOH-}yq@ zJt#{(?;J4V6c+dTvXUtqC)=>^CwCrlu9iXZh`7sR2=6@dJ0fqD4EW96iH}!KeB7UC zL-2(AS`!?|fFnKX7lur2GULQ(n4mQRuqg*dR2>**U|?t&7-&Qp7)EGR`VEh{z4(H% z+BN*!v0Mx#c7!8Di;1M2s9u>)lC3kF^RA@YW#EJjg*d;9Pbuc_@s0YJx<=>;f!Hq0 z&ZYy%b$AkjG9A&1LJQw2(~HZ*chO_qaeCp2)2C|(r`hqYUM8$zXv0?eTUhCDu+9ei zTliG{&HQWjH&f|v#`ia~On-|i{VnqSEn23(MV0;*`TiEk!&*`DWRd(z=NHQKP&f^u zDZRD`iW(HJ=||}7kua2Sy#ue*IhrRuCZOaV5qt0`tjO6sgqeEm0PIp}@Sv^hAbWxR z(5yS?sYG5nY)!3i!6x)5cbq{Up3D>Hf;islPJ73M@{Wn<`1EOYyG@QypAK%HuHAV@ zt2^y<)v?iu#EX$&|6)VzV2ab&(X>MAZ;Q>pY;*SE3C2CaxQn97MUlTKqC zH;LU%Vt12-H;MeE5sJJpKL=jMfjcDS9cu0lHFt+quJlp)w(eeuzgPJ#VR;io)NNAK z_ZJIK-1>x?LsbB3J+gn_zT>t9gyjfoKHR_0Uow=~&H<(o%I>ctL>%VWt$CMy%XW|E zX0{mOq@iySo7ntYhxk9DLpWOvTn*y3dmsF(HRlcjFU82*KI|JFjo>5<0Tgn`{*Z!( z;*dNt27MU0zsh+EN+)82Tq=h+cVp(B^h@gB`uX@S!kFO4NJSz#+RRWf}t z$kyZ|SOP|-gH6F^`7y5ld;rk#hB{7ekb+;}+rd3>=wD zC$P9@HpA+>)0$%kkPii#pGGUfW-QMBS~>fEq^KcChv3x+7+Pa+{!jzLUf_UP!_TH9V}W;h|r{!)4a+u(F1S zehm+w&Kiz7tS;iT;G>x)X0(jzCvN+}`=vIL?FYy_Wc%S;F_bI9KhSvb_tALq|564&s&J9T-!u#j2Ak!NFu?}G1RDqw zY#>aqfiS@ab-M~ro3yb^Dom`xUSMEu2`h68Hs#CBEx^TOuO}hrvv&}8-b#EPQ)naK28tGF23=Ejk8a{A+Q2u#oo5{u;)L`=SAkxW865WobSzty#v^>Id>1SP zq93Riow+4|V@bnN=_Oy$@XhBT`S*D&@{~Z_wpNOqm+2x}G}u+43ImZpJ=5GG$g8lQ zo%Zz;k%;qZFh14yZ3&{p`;&Pte+inKB%$eJak}aI(PKWNMyllZZA!dHlc1AgbFbxv znAbW*wn7W0P7FR_R?EeaFzH1OLlHT=xXdJyV7!uG{Kb~iuiD)eK5M`q3fq(HByt%F zNkY2Gi?#ArQ{RvF^Rm9-KF|U{lACuoy8@61OMpZqV6HaSin``_L7GB9-L46E!ENO6 z5k8YuqWoDO9ib$^|GZLVCv84g7$#04N#VIxWxu9on$N}iRih|EQn7T(5I;Q;HIyM# zPNI>XQec8)L(a>{W-Epcu5eJ*3mfzJ+ROudj26OrTtE6-zKrQQl9UUKra zb49i<5mGJ@Rg^uLiw}u*<)SFMxcfJ{{6U9_(aY*=vQbzbmwMRF)dm$$w{Mw#Fo43@ zd_UDZbn0dZWF>Bm7Nsz7E?KIn8kkO2NSDR{%{NkYgoOE+&|uY>vg+9EhE*s18e#tI zW10lyjw_VYvvS_{Sn_N@o}uQN8+=-b-r=C2$|sHXAB~A5JF1!&u|sc6B#vTP_ftS2 zBTRONJv6No=OP4L)owqsryY2f6uJ$1jce(YOZ+^6&h7RfFX^Fb!M}TM)M%ONZvL#@`g?v&s5*uk!FUs*rxDWtusM19VD%e z(=8sugRw_N)1_ptR>kS^7kCsX^abbsO~ryjW@n+@ zusNP>O04N6Eds}GoFOE#GkrREDLo0DixC%Mhn+rMet9%E{;ot|58f4>dsBi4Zo>4h zb{^T`^=cCF=L}z9j>=b5aI6nv<@)Sh(G>Xo9M0tAAkO3@!4ex;%Kb>z9%j6q)sV8c zqJbe>q{RhdwFG}d29we6FPWXv63o0v9Na!;INa7_B=+_wMrseHlzp}dRN(y8HkGv` z6t1q=rpIl3Jnv9fWh3y1;q38SZRfyI$-%sIB1aYRa{A79T4mE05`X|9Px&J0wMHan z6_6q(MSAWEn-yViSHF@TLN)w3D(OpQC7l|qq*JV<=O#952f>*n^x}lrK{X5cP;AkW zGlTiw>Rl7uG^6&6)Sj^s+#ZIli8pcrcC%#p)mBm#iHC9NRf7oDMc7GG#ZC?)SUrHW z4gzflx+BrMgR!!uTs-$sBw*+#c}dr(Xb}1zkYk)GnbFE@2e_D-7&s!ir=TN^%5Z0$ zNVkVQBM4E-e@rGwJ0jkpGdz7NaA})1bZK}E!JP1-A|wpe*=lcQausdR#xe+ChLEfE zr+odX#r4OG%|=K-^X423zyWqKA*oHICUQe%!*rLBGUJ0SCI~k3jhjHwD&T;0|2XEO(+jkt|F^t&4^?*QT^2hzPkn z>4+1Y?lut`v0yR=c7E10pTiiPEInrzD;zt*9MnU&we863j^;s9S=rL{NrhO`Pk4hS z>44Ds8^pJL2J1V7kxy!j5={_#41-JvZqwo)<^i4XpMDp{^mC=Jh)iYQnyz!fMuQ#+ z2l(|~Br4T>E;bh_vuitS8^_oR_QE4!BBnT(*Vvcusd@I|Gn4EQWD2sj0ZzRooO?}E zC8nd>pi=&&lzBz7WztPm#y#yA_w)ec9^Q={cW0p98>pr$n~L|{c!rY`SA}!oHlDWu z0aF3lb+07=7*&ce?2!<+=pyMwCNI(@_;oh#(jkl!H6mNH||E{6V%_IUO)r zF5Rl+k?Fb}0WF=Tv)ufxvtq4N9;c;wGL*w{;Zwn3CX^}!bU4hGDrL=?y7BoS`-~Ei za-=movY&N{)TKPt8;MD)vpgWSpW=2;=xX_%(ABcvhzm+s(|cgKtlkqMk8}+!DAZW< z{4x&`*2SG4j7j0<^B@OpkNaqQbSZ+djvj=L(Ectd;d&Kc)@(12QW_vvuCUAG8W>(W zNkFOQ_F01{-#+Jz2e+;1Wk)r)?;fV72Vi;x+))XeNWG|!mPHUqWv^{M+bNqbhUn=f z5WS@UJ-3fFi}r%XkvkC_)ZYv0ndSvz6a^)-4{TSnUd4s#ZB=7vqK|}?ZJ2iZI{pZ7xRSv^_q z%e@#F{|Nm2N6KMyWN_FV;jp>jDRN)>uAO*s?n{i^mwpNdd^_>?m-}+TlH8Z4&U?XK zQ2jMKOsiv}HH=l*Nbt5MpOU^y`TP<$nIMl#ym8r|X>J-4f+=@2+v0B+Zq?G(GJT^V zH)wFi8bB{Lx&aDTB?KeuEa6}m&J`{}UzVEBX@sdz`1-REvfUtHNE=dO%#G#Pg zB4og^tcoavD1E3mT3wvIt6bbJ;NGW1y?T?eSr^BTPyT_eIMWQ%^@$VQl=rb4UegT9 zdVd%#)&KN@*EIoS-|(F{?_R~jEv~=E~A_?yZ!etq-$(ojdH$2>}gdo&znxTB`bD`DN#RfC6a09 z(*og+%48K&a;V|aOjPLNo?iWjEsAnyT)x2izAg@r}v9=G%P4)dK0raEL{ zO!L|9J(?mV?+S>U>I9QFQqd-Qt(vSRYh{_S&fTUL1unvHo=*J}vYI%K1uE%*B)BI` zk~y%{_(5h8hB(wr^O+8^Ei7_aWnG9vN#uh*^fk*)TFe;lTak{`{9Kl^d{Vtoc#@fE zw!|}-lIvwc~snw@I9FR>BAP$Dn}Yi=k{7|Xqg*r6;>C-0M^*380(Re zlVTlh8;N^|bMi6e<*>G@kEz6IUmAJ27l@+)0fL1m%+{a~DFG-7s40E5Am7)kdsUI{ zZdyzR_bX@J47GKAM^ond`y}i#hf@lJq#Ntp#%t*|&fPA}Eh{BKJ=D$tTIQ)~(%->d z?>REcz?3+BK`h=3#5JHVR2whDaB%+CdJ(voRqlgRa9h#`fOO{}Ngd%XI@(u!sGj`_ zwx`eZ2p!>WFis-V^d&M4lA@hHrtzAWvL#sqZ&{`HJ}{TK;)?gqCVAt5~=~*R~WD&M>XJ{AnXsuQ4KI5GdImVaREtA zARP{ndW)IW1wZmLnq2L>&}^wZObqtDqFsrM4K2SK{g`Ow%FSNl*PIlk9oyVjoF149(EzN%J@-{SAvbc6S(T@oMO61+zxMF?o0 z?5TpP;Ee3VXr!3ZNYP@Xm>;T|KIXksNgSau&RT}90_&-E*Z!q`(XnNIrV4PBEnJJYu*3@4Fjbr0Ub zL92YssxWin{X3VPcJ(5@syuSss11k5+1%oG(J8KK+vg6i!&+Rbz^bbXta?y^RWQ`z zow|n;#Zm=UPHU+^G#J(#@Q{b%Ar}`#4E7#mr-Y(iCiTt9Yj#)%sOiYb7NqQRv!dQz zA)Z>ymxYE2k#{71$U6Ko&vpZ%GINlKQ(U;*4uhI9yVQCv20LWqEa&@U-F;{WlP_LK`cxnOVK(+rBFsB?RLGPr#YoWK)H$n$d1MP)==xciMq z1`SD2N=yk$TwesCC2q8}HQtsJvfZe!b$*6`pAID5&3Z)>FMA&K?Z3d;e_U^}yEFlN zi9;z<#&JjUT$rjb;)A|Uh^1Z94enM9I!V|Ie-}$rYT5#mT_Y`>p9Y z`s4NLilV-6tGWV9--Uh%6|+dZ*~$ zAOUv`TRg~(NE5-BdfXhm5++#obuH$hO11>o;A|UYw~HR>K<@%oq6G=yH8v=)sZG}; z^6n2A-y#&CdB{lPAc`)egs-$iV5xru+n=wo`>d6bXoKR;FRJ1{{)w_?qWHoml~og^ zXwNy$TnatiS>l){9}rR*$%wjD0!--uU{;ii!oq}>WQUZ}ZNDinPRoLhds|Kt~=brFm3fp*O z+qwa`gE#GuK_O3AY#ABBdQ~hV<1Hi8w~S2HGBQgoBeT3^^gn~>xj*=3r`!-nZP<86 z(`nbBPYTOs+@GG}Y{G_3wdiUj9HA!t@SdHct;=YGP~3cH_LST z5DdOLd2!~anSm?T7kDhv;Zdar{{^~o4J(ZAjym}F!T(R*yFgiTlxKnwkFFvuj%dV`MM3F=lLRWLskx+vC^BJcSq2%lG{edGl6Pw_12Sd-kjZ zy0`LXM#ek-$M=8#2&-E5`}<94_M2nUpQ-OpWH3TN*^1IM@*_g?Ty*yxVp&+W>D7AS z4l>;66?MG;b$wk~A*Lr1E4CJx{WoaEhRN(AU>QX$B<~6y)XhLrBQH zM8AFUEw-^`qGMWe-lck#l1NT@rQlkkJR z6Io#5wvgcB^A;FMN)E4K@I>o}tN)Wp=^L7yKcP-YzA_}C^!5!T?!)eE#e-&q-Cg_K zO)EJ{YBt7-{ZG{U|$6lNe}hi?9iyX*&De-q|*cqcJ7?M zP4bV+FQ)U$xk!GBE|Xsq`8D;wuB_#E)GKx<(>Xy#i36zO zM_&-3szdjC=+2x;A7Qd_@Ht59^Uf2#n6`5q@?;I2ew{-=GGy$5(`QbDX&%zku*+-) zPM9-xN`6^cQ{O`=PPon_qjw)j16}v+&{YH>)B{xJDytv3qrQsTG~#%wSCc{`7S!waaVOn}Mp^{r9;0`%wjEqI~?P znfy~v{)zo2^_zk5c>QfHa8oaqQ~?9xM@sR>r2+@=Fn0bmkaDC0+oA##A78gY@e^wZ z@F$2{UU1w) z9ivx_>?!VVc`1j>Cf&T?EX$*YLkiU?bDTLPB8Lo`;*t znHEzgn>(}5Xg3gw#eNgJ#}!+W`910ehICu(GLp24b(01p%PNr`@tuHl-JN-vtSE39 zG*ixOOeHFcj7|zt#Feo#^%VAdLQx`@3XH~hcuE|QsJnIK_m!F*Ipr+L1>F+LOQgKe ztzYI1?AEExuv^DI;S`chxd*-xk0kR#8W4Gs!tq|8;_1y=pmz7*Gj=c9Tv3mIo~h^` z`xbW;&hwu6wd7)*OkapmZ?>(ekVQgDCFyUwYLXbGlL zyh;3K=@^4KAzuK#fV_hhGB2j9=6c(QByxZVQ6YXc5U`=F2uCIu3olo$+Gvu4N?2cc zhcNbwfhk2DJ(Zr6rRVS*7V&{?*3gVEC9_Q>DPypz>`R|5=^fY4@w(Nf3| zp*10({vegiLNHIOn3bM25tf7glDX+d$rOh!;m7qpp}f2MYB_)v-*Ed60?jVvs96wc7K(pmDzzZT|l6Tn0SsKAZ z4se1DcB37RUP4ida0BDx5uFOO!?2pZk6!a>c^7+Nxz@ISNUzpKz$Cseu7~Kc&#F-k z;d;nz10RsOrQJ;eiT!y-@dU3d|7-@(!4x=H^d`gX&0T?f#hX~t=ipHBB&J&KtW&ea z6^gS{Zg-}ZpxrQE($oGK(@e`95dyBpjK|&CGA%a;hLO4uZjoliPm)sGmG>5`pfGFd zZ};O_%>mNd)XMW%)+xN!Xe z{9+#vqT5)}8>wIQpJz^fPf0d+`QtWlBw|zqp( zaFDjiIR{v>Q=(4YTBq2b`nK?M-wro0{aL2kwM^ZX=_f^Zs;kakQG4&|S7}2K_pO~s zHD=t|hZT~b7Z;fX-6!N3XF-2h@#Grxi;0q}XYq=(w|Cw&rq#39dpBXPmWQp zJ_BNL4yLXUDIm4F`m$!pNGCO8+u_E(Ip8*Cph#&i*h%p44Q1r3LgiLfuP#duN{~sY zL!fOzsUaQ*)`|Gw^JsPc(0sMtbo$I8{YzgpzL`?3;Nk`3Tr7dl;9oOwOqr`Gu3a)P;NKF%w$cWAZ9s-ME~&(boevLm`0cg0eNcBJo8O(hqa! z)7Rf1zMz?U=yOT_LS zc-|B9eVh|3Yx+*lc(mQ7*XOx0L83Ue>Giudz5ebty=13NFA+D|Hj2S+^0w*{0e}uh zVBbs#ehE>aFF{~X5Va3nMdH+Tl(7#;P{Tmd ztWWt6L+PyNN4f7H=8{wd<0-IvEpxhY#g}2{k4-c?g}vUUJ(+TCz54do4dLy z72TA7sWzr!rA@@NB`a%+NzcKxqbI_T-e_08k36OL@t>56<_nUgdvNvgoi8iXf@cp7 zl9dk5=ewoIe^MqBMczFK?|eo3&NXFM?wow_ZKcMMBCnl%&N=9syoGpCry zfK!Tds<21w)jx^paJ4=1Q;;CWfcpQsjPdJF)5KIg9Kmv3Jsbf~8?8YqS!TOGT3<~V zm_2fTA?WZHK0nbNVy=pJ9L{ljI7fw@6~kj#Q8Z1O9hVC+OoN!EC&bl^Eysvql%tb@~CHk??(z&i;KosqZm9zS{l!zXFDFU$_X<8UbGK z)IJB34cB;vv5ci~gJ42@8D{{!1zV6A*AXnZkMoNz++V!e5Tghxw6nfR%#K+;JtR79g=ZB6)xG?uK6`3ne#8UPNL0`N=K5nDi@;e?=ec>_9 zj+ZdBWO6OT#0z7Z$qmq=;k#NZZF*Ij%2X+nv=DFtN+Vi`SHPeW;rj@fCk#^%_= zp1JQR%6!5E7*t1c;H zI}HH}ynATc>3WJ#GTId5QJuSlXe5G651kMJH{~~%d7CO~P6Pri?C#Jy-HzTeFP)mY zY@!t@s-pe{SVy5XC8)qw6|%C5eP!d&XsZmw$LWSQYp=Ttlkr4 z6pgznbC-icY5&a*ds1@7{qWhdc5|^zY<9d%LeDWxZ4Zv=EnA7CH=tR6P}qDVBb3{` z#j#N3(`2Eifq^g7?axg*qI-3Wdl`ma;_yTpQ;{+nC)OdQ+}A#(Id6^ovbz0r8QG*( zIE*;0zwoiQeLPI-|A3!iLjGs)mGLLJqSC(usT5XKO@_g>DO(YrVOS(GVc-TdC=Kk~pxbbkf(GFngtfvYZ zg2YwAv`e%dr-Fim4FIBud*M3g+cVdh9lVFFVd!Jh5-b~Blye#lot~>cZ<_f96nyO zE*g8d5&!x@mB~HT>ydLge zzn6p7!x{JKmS$7SwL0yhR;(`S%zcw8EUmgKi&?jc|g~KW8V6dGnT_x*YQM!Bjj;RSb@>iGT@ep= z9#pdG>gnpDQOU@gVbujt$yA@oS3_3OzB{&YP}!{bF=L`FeHTn$E9$_t>VO!=tRxdd zpb?>~OXh%!&Ja7uI1(7H0-w;fA9IOk+Wkj4;KPrwTh)xrkxWaZhF1blt_Y8bJ@&Tp z31uVz9tc470IW4M2~gE%{F3sC!L7mzh9N+CSdjNY0%_Y4m6WKY#FT^(lFg;~)zp+* z<}TFilr<-bbu+8x6x(yAPVw;?R4{;#5AeXHhlAF&zKhP(rA>rD0}*;n5A#NXWpY9! zZ3(^yp0E%o4wP}I9)l!plVJme^{0{?R8#n{%^+N!2Ed@Q)87LCu^k{7G=qIf2MG+F z-waN2>%guRooR-?z$rTnWf+ukYZ-;71|IhVYY4&yZ>9+r2(}*GWQ9~RwtY+zw6tN$ zCeSl*Zj3xhqV_p-lbh(9R7>X7O&n+(gJJbe67&dHJ#(+=%{rHv(kJiw(ka^?xr59*PP+xB71tub=ZL~Zt(#uEt@NZb z6W^Kiy`S)79(C@1DM6Rp?#(!;Pjy!W7eoMYqF-)cey=)&s%UJR#osRKsjab=hjbpY zeaiHWsmt;DHGb-!wSkFX4&trxKdZHcYQHC7=Z|#a;194Bype&HaosD%WoO7fTm>#G z+dD3(tOYS16fWC*U7!Q=d3u$YO=65tjv#ADX7Q3a<&8s4{t_=31DxpohNj?@L290% zQv7Bo1k1~3b4ntVz@$JSiN;oq>YWBLj6`dAGWWxh%kwaN^{1K?AFn-G!Z`jZC0TJR zP)^r5wE?`Mf+LOJ=I~rBDKjVDz)-~lK5=*`Rnj~RVLU;hqU(wJvuaM^me-)x*aG49 zfQ?~DYD)ao<94j7LKIW_RQltAsVqwU{8zk=`29u5Zi~>pItvwvIu+^LOj@^J>JfG8 z5w-Q8F^t0vhI}pRq{!8iq_qtX=87+6wQvxg#-ZX)nAp=J1DZ& z?w*e(wIthIQLl)%@ORSbCjzE&%rt_WbDj`9%`{{Ue(P0>L;;HSlyB?kRBDk*1Jkun zspqq4IHQ)sBqp{zmLR=lIx^9xxIp&b9v+^vP;D6tpKYGGR(Y6QjCvoFXoj4O_!Ls& zfIyFlKu>Ru{Z&Dr#{gak0-aX{fzGdwj&BeIdh8MCu}ybJpl1}pJ5q4kk%F_X6rAlY z1*bcu;8bh_6H;(G;jKciOg6H2bL_8%M)ugqsF17D$X>URJvP#G8`-NahZ^{ldChvA zM#kMn#=AGNx3iJ4I8w)rq&@P12@f4+QsOtPCU&zMKvgTBaAt19_T2waJxBQ0V=n@w z?r+-Q`cqA@>&_tYi=_2$Cu||_kewlxogtQ;Ar3nOx%!}Jf>LZi z-wz2|i9FuNdzS_1v}F6Pcda@o;2sz{!pU{bx3_AAicukgHV_?eWA$utd@^n?UQyp8 z#2Az3#%_D+Zz*@*Z~8++O51f`t)zP@*>g%=d-ZKa zy+T;z(IW>()m_J7pNYf17fU=aSxmo|tr*b0HZQhKe*$HoQfHQEQuaPY%C|{7AGcV9B1S- zXXG)PHnE-V&PkZGQ^|*ciHSf>wV$QDl@G*%rDB6Mjz>IK46q-oO_0Kp;d^tVL|-e%p7?C4$IZ z&9wzX0M?eiPG1A-n!o4Z$fi}j-(~<2U4!8|CP!f*!XDjwe&2h|sL9;y#QQ(0+!clpTa z>N&egiT5&;8g;6U?LTjYQpX^e6jc~VuGL&JOU5>J_x|4zYcxPMP{cUt8!)zv!>MD5 z1rxP~b1!z;jojp7r$?M@5*CHRU+)R8E_`Fe8+#!hlz4-(4MK=03t=sv#cVCBSG7mz za9a-z<*)-K7P~RBrTgb{kVfw7S{T{ORZ|rN@a(n|zlG4$rx0&tJSpYo0y2Vl`xZTx zK@DZld{-H?5E+ylOO&=FFB!tZ)~U)Tgt1(=RWaSF7%vX%32`_UarhJdz!a(j1wnL{ zz}@Oq!M0fZnh_2@D7_6&3BFgkUxWT)+Afgs!h5Oa$CC#&TM@7Q8U^6pN&{h+NGI`m zOWWR|S~~RLYNyPoQ|9BOC$grkVbm>ia*#yWj^yBOi+;S7C{8s#OM_~A)y-_Uv)m6j ziaMO2VHC$Tmr*Rm;S;Bsb_{6)dlKK$>!5zf8VOW@d(RU*tpk0l_v9X47nwk}X>Q%W!i^Xd zezA%BW4-AQ)zvKp9}j`+^g^JfKoSe9AuL6Q^aA7XIC5%5eF`xYgpG4AU67B;M(&7|x?grd zCF>))R((o$%2SAu`jjq$F{BZT-Vu+x4N=fQ*BUDyN>_Qx^(36oWdrN0cnCr-?kJhMp=E8ZUCho+epO_Iouqr zsAEmeC@Hg|GE3|Pt((GMsG6y9ThNf6C%FK^t|zZeJc)&nt+ENILlRm-ce1wqM;dao z-b6omoy)r*;)4gkN+n`eLMmWnJD5TYK-3>bfz9bI|HU# zw90+)J;_(P_Uv6DgOLPl#!^15DFj9ZV2={7m4fT$i^h{4 zt*8%c5m`T_iAl)J7U@om+dnQt7>Dc>p8pC`t@ju%i&J%Pow;{?Q4(snJAsFBfA()Q zGPj6WwGVnCm^FdHAYZt+wg%h~Y*PGUq%*%5avY@Y$jDa|FzFSwSK!lqG(D51A8C4_ z>51??rUJZ3q4n1A+l!@jZ#^J4(WsU5oFHi!Y@3Xnaix zlThNxn%wXIfp$OqB_$a`uEbuozKG#pUnE5gdFLsp9cUH3cxj*?;ObLgrkjKHl%k;oM-4lsPtOE?4 zh{7PyB$1QRhci6$E2xG3g?x$h;3wXRL%w;MG$QXs`(scqf9T79__zP!6!K)sUL?sM zWG@nn&zxtMrKXv`7EZgyxOgPd1_R-ws1QNyp7=<@D3CV7!u!`HT4BjlCq%Cske5ds ztK1_7?%g;>)!52vTFudnHOKG{kzLxt-!1CBY1J?j z9-M0d*b6z?cVK42La0(7>`F=GF5!+BI**$p3|+;;cZnqB2`+FDjk$6*&S6{ z9#;ua#BQx1afvD8554{^vBV}|peUlGhqT`eNc>2Wf6q;N#QUkaq)$@)A_JAnH(GjY zu2aa8@rt??a$Uk5&#CI0dcP28bnX*Xh;AoYTOp(BaRE&&a19wGb6~KUsTM`2HPx@A z9(F<`Meq#88=`Q-N94Xr2ave66Cd@D);PT`HGn&HY$f@9<++!`deYtXq<5X`k<9hq z_clqHyr0xYZ<)K+wy=1sOGhoUe;06Bv1DfztE;(r!<8BziiQ}mo8c= z5-(qDfLcI4ZyU0RzXCJu`d=~$W)<_x|Y){<{ zF_I1OCz+>>12{a7m8&&;miY-2~Igy;XJ$nv5hm!YS#f*T7n5qs1n2UsNMVU(qqovU*%Hjs@l` zfFOoA(-&>JRslIuJ)rk@I-5?MR}%w9%#x&T?QCS==x!81E{O!-DCT%P49M;`ZZTJj z0qXEZQy)~474|?=qG6295FtGu0Su44=Bn8bht$ySKct?|jfmCUe@H*Ks4o`-)|5zP z2zn{qSxaYcI;&D|R|Evrp3|}k8{+{tK8P@E+OsEWoTvl*UShP_OuuHXEXkDRL|Hw zh~d~{OAf{yHc=K{qVR2n)iVe(7}ce%u-qy;Cz9~IoyOfD4uHxgG1^3maf?$}p7Z$NCOhSh*l90N%nQlGykDeKSfuk@q@`@K zrEIdLoyN>9VUkfHtqO)lCPVjlq8w1+cq(u4Qkz2O4?5p%Wy{W?Rnng}_wAX9T3uPx zrJZY?zonh7ZWLeQoGrl-jrP>jG;^2sQuN!UxYo6Hj~h~;=EO5`jl&&TE;gktAu1Y? z6e)X^wzdmiD6HXdQTCwwk#}iZS6A0%=*Ftkjh|HR?R|T|PW!`Zilf)|VBkDy zfEWCLc)>q;_Uze*eoA`>1Zv+*%RyXyW1qooi@o5Hpz0*CRt9}B-u|>L2{Ue zz+7#o0c2{2rR)w%Dbridpb|Kh&h);T zA_PDl&Cp&Vi*T>K^z?B%d%Dz4*RxL5i}q5F%EocyDSwbeQ&+z$${lXAr%4)l(y3hFN zx}(iJwA8(;<|xZLXos>ynHF}4X8Bb*w0m7u{Q@@I_!#aJYWC8RZg9s4k&~ArdKW${k`&v5T1D zi{N#eqs_xEy8fxAc(4Xe<{)RxG0Aaw3^@)fm;qEh$BAA!WeZ~92ev{$Mr9Xa&8Z7J zsONE}aw{|Za)9d%M||*}4Mkd+US~!8F*`&>hLG!qc3PG>LMN~XBiv@1Ibm#N=V&(K zP8!>3JH+OMfv)EYysc{HOUV`eEdMee7V)f+4+jfHl=fNNVJ3@s7CxWlYa^jO&noO< zUD>#5)K!`(tZoAJ%ujl-<4{G8HbVyGfoW?Yt%^15E040GqFdo%!%_Z=YEtzZey& z9}?&G=S*WuhM8Fu%%>$HSlZ;=C?MLm>y z;9gX02CrAmJXZ8fsqJjN2Nt;*vB=GjEpnlH_!x>s4gsc3#mTT|$>i}d@6J0cdf?7J z($Yuz|JQva#tlEuT0GZ20S)fh_=(flcadlFKH2pJr{PZ|ynkWU9A(x3*@~vcZ!&H7 z2i)S(W)JI$b1QG4U?8#*qxI~@D;#xM_|1$PnTXGbuEv&DYJ48>pH(w0Ym+a+UN^m> z=1_ti*y(jCfh}z&k2o)6H`3Ck+tP+D9SXvA2<)b^LqWI>1>wrmGZB7;WWAF=u_=|j zZMfUpFjmiy7gCIQM*GU)Q@&Cp>mh?KMU(2hVbvzKvS~YT!)|kY*&^!>X|}aP?AEy* z!jlr)pLIc@cME|JpUYKxfThB6fe8a^q^#E zQL^@l6#6-d6CFr4C+JvI`(v-e3?Xl|H6p0^04n8_+p69XJ1sbcfw19K?@e|Qk;ekq z#fr!jz6!{Fhn%u|HaJfxZIqBU%CWRjVw^9lJgqi&8UDwUCMJ{}H zw`$LBtEPa%d;5|^CBclZ}7{cqyjqJRr7p? z59%o>`4vP1KMN=HA_Ua~_)xNG9k4~w%;Tqp`Z5VEP$!zwTBlBI)+eDlj!cCF8LI&CFDRN?)+i!<<9)BEI z=O5VYL=Y+JY1{a50v*Kp8{3GQE#sTFn!{o2z*k`hZZ(S+RQDMXHs_ZNq`tijI@|4> z_zn77FLHurGC_YMoDbt!Wu z>&%(Y!oyg$pt~u?9=CHQo2*7D)kvfopKU>RcF!ZgK2I7I#XW>E*)ujPIwcA^XTu&x z&c)1q6Mz$#5-SRR6-|kkPM8ue-EK;}bkdY~=?+t31yf?>O^JI#;)M)mO?l0Qjf%4n z1ZIV&xv+CK+iq0c(;5}`(5Sel?c^8OJ&%AMbw_9aju`RA3-ls7yOPfS9o4n6U`;h8 zA{V*Xih3sO2i@0wLD@@eX=g6@x&T?9S?#{{k_pKAyxoue^}9}UAnoA|nMngo>Z6#j z;S@v0^0Ip2K$19K4>Q5|6hj^6SJY~g{ez2{j znpx-P+{|52xuMdqM~r?;CdaP#4;tFo9vIbEVun9=Y(ZY>%<4sZrM(Ih zyE;~{$h=WXZ$$G;ehD^@6 zpqtGgSVoeNqQM!$8lEpuxezQvw+UTGw#jbtX_+qHATZxD3Db2=BofG83yUEN%`|lHoLn>zT9VM^Y8GBVnZMo3CkxumQ zjFjI|Te6N7I-5{ihfxDeCvhOm^=XJ3AUrrfy3gSN2Nm$rshsQkq&#bfph4@W%yOA_3(DtKv^-#3gpd z&IecH`eOYe)&a|=^w>E68wR=MPn^|1`ux`rge=+Q#lABp2hbv`x ztZgwV3~gm+tH0BA1t|d4aC&3CzSbO*KHP&&yGpBO@9xL;5p&G$^->#3-iu@NI!8y8 zAB(+mdheCfdnkivkJwqB-p`vjy`ML6%$6fu=$_us+je^6_>Iw@L!RE(c}L(8ajI@B zY`k~EMA*#P>txiA*u9fyc1iE5oY{MAxiPBu7H-vM_FCX_uCkZn%cXXYebK0%wJ)@L z9~p5!-7aX`4E_x}TP;ZE>?&xt8uqMc*q4fiy;n4Bif}{07Y{{*^DZrsUwuKeZchd4 zb}7K~Qh?`E7M{<$1b9vdV(Gp`;CYEDT8+IxH;6Z(;{_740cHWbt?i`k2<6YAy04Tn zk)~$+96MjVA#Sx~J8!QXYsuXu)zOllQlO-koKZ^-_Mke0DPgA>0my@T3B7bw2*oLD_Ng`d%b-|)hlUNC*_DlY*s)VywrY-w zQh4xqFm-gt`fB@Jd)Y-EdY8#g{ao3pgP&4>8g^J`lM4FruuLdH)Waf(N2R-upqSwy zZ6MZL`a)uR89s7s%MU$ioZei--vb&1>~LA>>gN3&Ppq0;gSO%lgy>SQP^f@ZCcIA2 z;SATCUlJFvB+QB>0qT5^yuwhNPxjKg$zEvfjJ;%iEC$Vx%8arQ0y?$GKBFM{;Mo~J zpGE2+gAT4C#qQ;+0OHe;J6#X$vx7J)=91&$l2iWk06$mMyr|T>oz&P?RxfhgSI65* z@zg!|>~Rk|RX@83b|;XM>rt}|QEs_D08`?kU8VpIM0q{W+&FaD(M4C!14S|_>H~J3 zgZPZG+!k+Z$ul}FiMuV?7IpayiMs5xB)&jPu8@|*Vn4G>oo%FBfoZ#MVhLTS0+$H} zYoG8lOt*3!7yN#aOwVKZUbwK~J9ZwwN(nNy3-YE!-t-+Cz85ZR_-@~tOuRLcw_fI> zX^oh*X*Zc1xP?x??NWRT(_^{H4;**MNERjbIjokjC=pr`$)Z$Pl+pG@smJ)d#3SOx zOer~U^;P;H!ycw2o^nF{kBB%8^;O;as!5o&5r|*B+C_(Y_5YdZed3(&BO~J>Uaj3> zU`8K`^UsDj zX^#8MkJAr>nb~O{D3NsnC1yZm;iDsFd;lp}ob;&aLq3iWOh0ORNNo|@yv{(+KR8~- zZ3KmI9gitQclNKKIRCTsZ!Z0t*^>R6PxfzNv*H7(F2^B&CctZJP>)Rl;|_zPM1ss1 zn<5*5fi8mlSO-US-)C<%A$zN!{mChvZPt;5hB*Xa_emxPb9b6k-aaaU9R}jb}r`AKqvbwQ)R0r3Nq>NgNLX zP&jS#a7y=fiQ|c+9+I^MA%BcBDj4#|IGz+nBOmowjEzR2dTeE9P!i&TL7L~YGm<8jCf9p3C1l10 zmcnE4jt7j*5eKp_Fq>SbEyLP_rPe0Zi-c){cyp4U#kaJSMmDK#^FMoH6tbcb5|}yy z{aS9fgf2Kwx@v+l>;|qxkSGxGiv!64a3v^pgis-N1KYbwH#BeU_qLmV#2!jR5BU&T z_K_Fu4j&}60)7zk^bUYD4<(0B>7k=Do3`dC^YOY384eJrhyrS)-Wee7EwZ)<(# z)D0xF&V=Pc=10Z(;W?~cgduUIO%@AAvr2FS@uD{|m_8rTa+MIVpV_jFT_wrw0A6IS zpKP)tvkP}*cJUoa9W5;SXp9*IR~J$+@!zv&-+T{5t$Q@L{zw>YnTGN-Nwts^&>WV8 zkxMqWq%h0r^TY0j2(?4{xry5<7*s`)AP|A=w-K8e2?ba#5mks`mHi~p?;!1H^@GFh zAxdD=4xz2H8_cm<{7hsr3A?ZxO%|e9(;Y$D4B$?=cOgEc$>l`o1*)xyIPH{7ygkM$ zqcyST>ABKxd|(Azy9QGYKMI65W+I}Bd8cqCmk*g=k<7$MCS7zGY{jc)0f&N($zP>? zhApPyxs;OCgUES^Y~!RGCw|KV7X@OIxtN2jCH<@naz@&P;+sa7 zo&gBw1~WxQ$kT%E1h^RzBGL32A$1gmsLz^d)yO42be?`gKV~`$#2ZYcnS(Whe%EluE9_N1V zLN34%gJ1m46=tDLtx_Ir;dcALy0(8+)WN)tWcBQk;mHKHz9k9>?DTJ@4QdbV!%mYw zFZT>V>V{IXqJf~TiCaE&(VTf>a!3y(t3U;gfwB4^IuF0&9BpQ-eVyA6LrpRJudPyfLgRtx|q{1mi$@- zA%l>j?NpR!pFMHUdNm}df3f631@qmYnetH}K3C{W_~k$|*ZIYanuYMo zGSVZrzeJ;EHvA$n2dtp{i?-XT6N`4n&Yf7a1G{iy(azfW6N`0^ykL+Tp_wKjZBEtI zVJ2&uhO${|>dUA`EQ5(-3T8VE>I_M7c_!`wx1@0E?SqB0M~claCUhgoBnT6`!<`vs zb(4<-5gWm@!6TEVjYtr&V{T%Rq+!~KNVv)aE0GN|5t~LbW-i-9*1R9n5@nLhSWaWF zOGP{&(>z*FHMe?*sjz@)wTa&!Ce^pS?oDU{SD@xLh_`?h)NXREl81R&HbdM1h%^`Q zUa~?_gF;94ZGx?Jnb{k`-xec0sqdl<9GS0caFffBb4li5j^yUhp!-NBl)LD4KKG;^ zxo=5Mo64IRk|neJwEo9U!eEo|GXvou!pC>M2MU`?a|QXGGp9?RPt-|ZdP)73Bi%x3 zEc{+ErwBKdWn0PKQu)>IRQ2Ct=__GvT&jK;?Ee+qo&LMFz3L}oKbuZS)+fPZ0&h-pZx7a_KF3{lO8K zqAh}idexhgdY)2ssG2o)Vf@={VW+EC`4i*oG66||7U~^$>fN^sc6Llf8MPjcXzbxI zva$^P^EuwNN+yZEx4Q4>i-DaHx3*|AyY@v}W>3nTkunF}GEJw<-nLWBbc-~TMe-Cg z;!uF>1Upq`D|}3&w5&09+C67<0~2dZyURvQL@newV1vQc4R`;!2w_$u5vQjcV>3R) z{EU+iX?ZB?KE!n0*J=LPYvMY$d)-@@c7ZjaJA!F?X@b zeckuQ96@lAXMP3K-sw zPixh(AZa0c(vnSDOEzge&L*uxHfim%NmI=nXOq@U9Ni;Vbem0DE^5gft(h!ZOE&3n zjk>DOChcz!)z^57J6W~X2DB}&4T5c1a~k6!x_LGwo*Z!UfHLhM7E30V{N0}uwsEIUAOwJZgIk6B z(i5SR{c;JW((2x1!UV5cOFT@f@B)cQ<9<^Kt&^@^zTY#67k}kBF)cYU#f@-)-8gE= z*On-%3i@IMn^F>Z20?Z0X|Hc0<2B>qq81OdE8%s!>JnLXk%-woERG`>l1UzfZAd0w zPSmtFXt%VP-1t3b);Io6rbz-{LmtKqra4%i#H+wVEU#W5w)n(*yYhlgBZ5;_R25PI z3Ubx zo*fstJR*Yf#Nz?;1Cj~Bv@?(aWhGPba1^lM8lRM=^eJ5g*t6T{DDUPOVSsX>h_1km z+D!n%EeeRncGjjgJ*35zof0!B)n%)RG}>)&a|!6Y(BOs~Y?)Ag=NCV?7os;eVPMU+ zfgK+iGO(QyRUFZC4}cUD!|4_}z6Pu%ad`G*wf}sfr?+I0FSY3x=?7uN?m*UD7PYww zGCvvS2tLdRYzPaHgbu0GCz|QwA%rKH4B<)I5T1l-MPY~lYN8XuLl;&mAv}qM@FX_v zhVUdd-4?EvTLtv0zqmyz{U~GE?EywXNlj9M$`G@dOV`Mx`cRXTpd$UWAOX7w3<1j*?iA-m0 z4PBGAXQ$xC$pT6E4r{~XOy+Cj3)))3SrE%vkWWZpzLkmXjmE>+eZ@zBTFNidoa4*( z!}t-2Lg=9fdvuftBB)KNV?s(D;}O^cFA&9TszsiOwj7PdLR+_X@6jX^ep(%n$YJ;% zQm)Y@7v!}u1*&_!HPsKc0%&v|O4BEWm@G)+H^^o*md0&LIDB7_0a>6V@3vsc_MWD- z4ALjMcd1qNy;^Q|Rm=NhwcK(SNm>NF2?+S@{hxRQeA+?4CxU=aiGcT`B11G3vMM^= z>$u};=(h8{8VL@bUPDu9=zC=z{pT2|44bz^r8nhx^DaKOSI>DY!BW_=nLOcIC870( z+d0WjxsT5?d3g=5V&O4`b6}3a>6kg)<(w4X(vl=dS~50dk;j98-S`N#smXn0iX@<^ z_y|+qjVatK8isz~jcMy6On31SazjgmRW%9jm2ptY488O)g^=`Mf*7S}g_eR6!hpn7 z*!PPSHQ)4(kI0V$h#RiVEsm`Jx@U1D5r{y^4O|&99z}I zvBd*4AG6ff2vf^P%n2d6AeciJC1;~%KstrNx+l5l+jty9L#d*ZrMK>5NAAOO^chka z_m|8-BK7)ARz8c1{39Pxc!Jy6Fn8V@xXeXT!I?Q0jXtC7tYn$=vVFfR8OfR1m(lG@ zlF7c%C-lSULg=h}0oO)XE=R2Hu`iGnvxiQWL~ZB^4mHK_R1VScWIL;gMi@`FxI5W) zx4>p{dY+XvD?kKtzxvZI5$^@x9m^cr+ZmsM@Ez_LpBUpa?{Ha{ z+oaKQa#@!)xp8SFcCj`7mv=3oh%-i+Ew$WPaKV zc>aut8?gK%AK5&N__rNsV02lK!uJ+Wf*XU6_!&W+jZWE z{w~pJGwryvTRn`&1Wwu+J8k3Ytpb4^@APDJiy>g=VQ%$0bL$I~v~1qatzLI-dFP49 zT0Ke4*pq|2C*e=M5P37X;dEbdFYWLY=#E|BB`CI%Vh8dryd;yCg#3?{%+lm|nRXI5 zrkwVI?IdGqr&=`@`2PZ^qCQV-P+#N3j>0nS&OATwsuu{;!sM`(CkcSb zN~*n5B$KUyHfCIODLK1DF_-x`C9VN0QpMC@f?$u5Lg>xB)0@B7LIONiwe{|%WAAQI zf;?n7I9`5FhAM4ixBVm3s?(rV=RQ5NXw@lawvXK=HYN74+dLL38krB^Kb74x>ddn4 znd2q;{DNmrP~37++!FCvd5OLs(i=10B^Nm{cdxgx$cZc{4RT@*IngJ&9m|PQE!kkk zFNQ>4Qlc;0$)!7!OP_CYwL9K~D2=E92B>nuBASjJF@P|66k=nr8Yk!mu^K01GkqGO zjVZLowt#HghQAvx+uA9TmmoNb`334JFNEr1=kZas6DB+F@ez#RGGSU*a~0BySm`yS zi!*iwuD(m01$N$vE8Wm+==&QA>`x1|abG-y2IdKM(w zFN%A#&l5_OUCb_V6OkD!KE{-mo)}AwiLn%O4UrlPh8s_frAqMW$*(mNe?8b8%Q2R{MG^eu{LJy=!5b`v8APqghY|`3iL-)YUI4llU=Usi> z_d!%Ct78Jsi97o+v+mI9b@NvP-Cr`2W%@mvkgp9Usd0o0tLhHJN ziFg1;pP|G0D{9b`2;Gz{Tru#Jo3!1OO#BKou)!|}8H%>f2!Gp?WE4}RWnD}%%}gLWC~r~nL!5p-wQH(a?Boc zNH1Xh$b7Mhc;U1Uyva|CfT>45$_s}(0#ce7QGV4&V6Wi}EwGatK@HAHp6yCL5dH&H zGb+XTWD{7j{Y**ezYsKGKC*H3E*;!ju(5F3J@V6%*LF^hx(Vj}ec8OU5HZMWfq)gHt5c*A!w?cB?SjL#0b+AFWj)0t* z>S+*pKP}I*__TW~ITF#QXOV72QlL5QEt}OVk(e~WN8F|&6%6A+tgL@XHd2X37{_zm zclI9fMTd%7<(6Ubte%_Lq!69TJ0N{hDQ0#G=6912?nKE+IM+mYIHubZ*CLrNB~xt8BP|iFo=41#bu$mfDp?&FA#dVr~=u-(GHB|Gn+`kTZ`-`30% zxWovQ;=`%wZ5hN1eOfWKBzA&BYOxWON7i31+B|j=EjtOuR%FROyC0GHaI7OAgUvxy z$XHRFG4GFjPE2gH#oDi^yX%21*5bSCLZVq-Xo+O>OI}ok*l#E+s)t#^y~roj zN|;cK>9Ne(mfJ#FELkxFP%R>2+`W%@(HN-zlmcgbm9}sS+=4>K-`xXW&|VAiIo?Qh zX>1`xi&7~`{5~gHqY!(C^fQnVs;iN$($~yvuUXETnc|}AE)i%R=YsA3$-hDR!mGtV zms=wNeyM~DwV~AFFQo@n0?d+DN9?>S4z-c=VU725QiPE~HZqy6k$ld}a1b(*mg6@$ zQs@#Tw=c=ZLHV#Ya?2wwnWYhYjw9w|u6{X^xcPC?Gq(g95wirv$sE!@s@ugJe%rxM7@{zZV zBIF)Igt2Np&|c&`5KqVp<64Wp!@ysSyfq{;@q7rRI!GiGFZZdId52^-Mi@_^JMcN+ zx=D`BiYi^a>B&NtJtip$ncBFsR8QdKWtl#GT~^7WU7swSv4

    CP22`xCj*ejkt#@rm*uQv6uUMV%kP-*}JMAjmO5)irObN z(JWsLYd74N>X`}5)>Z0AM`L2tp=5_;~hp)ctX;w38tI2KKv>7;=Ct2^z zlN_~ql99Vqw|QN6%L^I^y!1q#WHXT`Iq$xcsbpA(m_ZjSv`!R6@|nLzb#VFAqaNsFm__2x*r!2H!WkVu z5)5H6hP&GEdvr+bNDwj_vf|rC2}?nR(_)MWcQbUevsvvjXf!t2jA`hu)3?AeLi^S` zyvej82?w~tp}6SHF{inx>!?u6$$_qh{jD*=MHIL1@?;$03O9XsWK;-`5_vhWAyFf& zejpTGHE9dDPJCWuSr_0P65DOW0Aia~n}uM)fe_b+)Vw>JpT17blXry&qtF$NR?UKR z=)5z5oOr3`)}1#wH^f|M@DgE83rXgC!cmptwCQ1gg#%<6X0)ChGpRpj^!7aS*zIUZ z$-U>$NT_8ji4QP&zH+~|8B?vxq0h~R?#h~{7P*^D@ld4Gak6UnabZTG!JG{E9~Uh_ zOn`W~avu{d%V*xfiHW)zm!CP^829i0=tDn|-bB0SpZw8>-kz>|MADZ&_LD!6u9q?O z8RNe4#5;aETW6TbpWq2GlVKC&2L5riF%>DTWJmG!aZBrqb>tpFm5{jJ{nf|b@%HS5 z`W36TyM;Pdwt|64iEb(Iswv$Mb*-AtVoeaVeX56(KyzOiHCDh8WAgi-_zxx(d zxPgm*pus48OW(o_dh`(jrd*qLsD*0Hs%upml3&~S;o^fnZFKM#8lfNH?yR3qibRG2 zc>58wDecc4?P7)#Zuu=;x15Z+!^yY?MwDSU-Sb*3aCF@EZte8xRr79L6d&lB!B%pY z%(31Z%mN+bO&NA^4-+thgK7`>2TUYa>It4fhdiHIJ z?H>oehT+&ZY}Sw@T|9EH-)zzi_xerl9RtWtr0xUuRiiuNGtO?3%|;#4@6_&}Zk}$; zb^4tQ#Q487gA^2#XuH8?qut>4>-2p%m2cm)`gCnv-!k&=rbWyZ<;mPw0CD{fG(#J^ zrBe?!)t$}Md&%C?L?ck2zpN=28x6r)A^?!ev0MZnJnx^z{kU=ZWlgb&QGRvj#sW9e z{BF)XxE9~B_T;&9=PtXunF&wLysSwVSIsLs&!mgZ6nPw*LHCj2o$noiC-h}avb??7TP8!g_^Oo@F10@zfwAMr(>(h#CwQF>Y7HW+)L z_#;K-t+eec;R^W2fwNxK%o!=3$K1%dM|$B7fFT*_oI5Tcy=C zX}_aY^Gdn(RoETLu7KA0ThZE@xs1?M+E&P_!jn{8r+xPMIgw>DUVtS7TYMH6hd=}r zZ=n`k>$IU6k-ZJ<)Ho8CMt&&=CE2HtNo-b-?h>>a;c-kUJb$m20^Y3U`fKF!tL5se zEFZ9>QhV!*d! z58sxAV>u`Zm`7BJF-ZaF`Qw^H0A)a$zZorA<=*hE=sNvlxBv>S*FGQaUHo=To;XY# z*FjZ$DH11KwE-s_s0Uj|f?pN7B~$IS?!rWXBN{>%5v0JS(hyijwug8PKAH<5CC`aL zAf!y8tKlU02oSXrvgHl$o}_ZHLkJK|7li;1Jfky}d-ZYA)2QnuZs8R8N9iVnI3mJt zOyO7GOs^sQ;XkBbLRYxlBvLPbvGF1OL31wq$SpE0ptTbDe;_cc&2@5-ju(0U( zn9~xfld@Eu)Pj77BBgTqkf4t?L@losX>{@ zKxnmOzNwq&fi-=H_y1t=uu=@gOl%~URAVEd;^B5$#Cwt|Iq7TCO6oTt(h;l}k^C)MPf2P;Xee-hQ{SS#`Bj)kB6b zYl++2zGjn~V}Df?R$2;0VNJ$MmtP+p-yjNW>=jn9YVNAA(plD3Sd)&z8g&)cXm^D* z*{QIK<7iT0O}Yx}Sd8U1oCj*g9o_#m$T4CHiO$>qEmB?yo7UGPK+=qDAST>S8;F^V z6C`!gbBdiWe^65h4txu{zPk-}5EzI|C_L%`WBHOf?1S7Ss5asXgiB?6==0U1Z2#|$?2HmVST?k`HTxq4a==yFv4IrAYhocqm* zj&V{yu7t>yCXd_X<5qLbGmL&tjhOclT%rFi5%Y3-Jg_vTRU@K(&&4*aeqJzI;irN# zFgh-r^0$VgvZWr^K`6kVag#qNGC&mgQX|-Kc=%KCiEQq<_{7k&tR8xdk*vquA2QU| zeO|3E*16LF+TozaxisP|#d^!@zNcYmcohL4RLG-|?W0(sf(vVoHt?~`5!J9Hg+nJ@ zH7}J9C^DK%_-rI}(35f;-DH*f`UegByK=U*mDv;$Q(IKbWN>z~NFOrsX$tcN{W(1-i%dzae zZukEV>}Sq0WZ*UzS8t)&>~Xqre>xKE;IUEb>#S2Dk3K3N*ZBDuyQ6RcTr+~2b^;SJ zlWoq#L8UP5%t}QTHhx;sMP+#8Yiq{S%8V%;<^>Xy=AS{d@x&{C#(#6*0cbqYr{ z5c#6aaZ*JmO3MDp$oe?(9UHkvXs7OLZ#3e=yt+06|CFC@lr?O7j}>eKh=muuGED&E zkx}*8gpz!`WR74arS9Wj^^Vr7Ye~6CZ!vDTMx+?iIz+(`_x9h`aEP*NQjz8Q<|SZj`>lXhq#3p?}`lrK;PTjLHy! zL(ben<8DmMAC9`z%g~(%>9dgsnd`#bXj4(e+dF7Rz6;P)x(@$o$GBXb##O4F;^mtY zRTF#by|G+~PL|pknj!$=xi@aj{!3==WFYg9c@|58km^wlIrx@1JVJA-{LIXHkyC*U z0$uZADj@FR&w`h4pHNP*kW>Key|8Hh^6x=%xz7_9#jQ?gO|7L!Q)}rk-&cTo`6Ef% z9d##vA$ zZB$v|+o(QDatx7aB!d+#uhg!h&~YS8X!Wc}7F9lWVCq1?K(&w9twj*b+y)v|8=Ywk z(`zCOo9_2WTtcD&N`Wn`5L%R{a3aQ|xqd>~>UF)9u_$ zU}b`2$;O_c^t>JGaSf?-Y-+PEu3@5M)7?83+8Qy2pLj$|$3{-=?AU*RIbMwMQO6kn z&ejR+t?^OU8XsNA2h6S&l8^tQsw5SY^Qn@$t4ivNRwc!0b6z(HHGbtaekB^eqQ>t}JxLa$S|PUx#>Ss5^{hXiX2SUtylUa3O8rSiALY)I ziore;Cspc%i}>~?L8DTJcZ8FQj4&}hojXpdl-$1ZU`$xmjW(*|&PnC{r2eEz{YmAo z%1I?jwYKU3_C2QtaUl|pCmsr*3@q?mBunw%KNxIjWlmrSxB0N=N8>FRMTXO&I~4ov zp*Ucz>`eDioT>H=di3!9yas7ZZHl1Am06JcI^B?6up1`3z#o18m|Y<6=kytbyb--J zD%^edLZ&zVsEx#6Kpf)G8w>!7_r`*uHx@*@rdv`H|JhwCgQQ@V4K|l7h!k@G2Ai~* z&~qA!vjUe&SJbWboFUTXeUZ;o!syg@M`A3Ay|E;9_eUf8ir*8BiaMjQBoC}a$=Fyz z%xmV2C5R;Mw4IHfmM)k_+owSWROc|3OiTOc$HtOS(+>VpBCJ{U!VcG)S+Tn2O@6#( z>zCfJxt){v<`X5*rie`HRo`1z{@X{jXuZ{Oyyy1K60A`@fHdnQ>FtFtb zP!-&=DNGgv7$S0lJ#Bf$XVzeKBFQ!+v12)HNj9?82^@rr%wWu5%4i~M8+z?Fh|Jtc z0CY7xdov!oqKLX6&Gg+?^>YzWCUdYJ4WdF7yB24sLUDEq#f6gi*DfU$9?8JLL;$&+ z6=Tpffj1t9Odmb-K>icu5&!{GxQ@!pv#VRcT))J1JKG;Qg+zhZDSmRzer}_*mW%{)p z=TzV3?SnDSQgfrtg^H-Xqu)8F`u?2qSN%B^$hsgf-6S8^%g0gqI09D(fWV4i(^!;t zh6Wr3u#+~4lk)K@o4FZSC}{q;O`g0JgX0bh6b|qEEES)HQPW$+_nvL@M&(fH$etgv ziqUkk57Q`iUkhgtjaoKFz!U8@Ibm#4>ITcCMo40!lTFXvch+o5RM?Wa9;vCgpDgiP z(eW~L+T^RB0Z*Gt8+z_P{qf&3?zPie<-jwJKwDxA#w`tXO4!nZwUSB5mJXz)0||nV zmLfkEV-mNwG}+P8q-|*;!A)#w(P=5LukOD4-|(>7JdKV%**4y^jTe}aG(P>uXnguq zjaQ-Z((-hB%hMe#PurHK5^8e6mS3RVUbV`_X8bj#^}s$(OaujzCG$li&h5xAY6goj zX$H3_L+aK)hc3hzLp=8tZF|!_1XyA3cYEu?z3YoY9q#VjJYH(|Xa5Gr7XfMDXM@Ed zDh2B+N8H7G26MktT8OdUh~eTc(FWqd8;+#I}_T9x~9Ze1RbKy zygt~eHN;d8`!+@rjfDGLg0CsR!gy^nL{l78#TQ~Rl;5Y@&@A+F^0c&~L_jeT-KjfB z2+Hi@FW4pn6Vpx^I2IY0e$~p$z>zHVhyvoz>pGUye5H?GD#c+6ofaRr$;YcCGU&Au zR`gO{j092;3BVv)l8?jkagBT&laG_+1Bd}ViEQK+Mp)M@@hmDdvuf_J5mx@|df(%+zeLpi9IqU^S%g)G^OCqA_SR z4PIUI|B(0YQFdJQndsiT9;f=$Io;J#TW)tZcvm4vD^^NXFfiIc%3nTY`>nBa+=VDZTCFd-!N#U#!^h)I|WgqI=C zm{}nSFiA`pu&=-Gw|7;Y(=AyBGBE3kh0p0ayQ+5W+K=D<{l4G#wO9)hI9dY{ueaibLymfbh$ zk5Cf~+iIcu5$W)Q(z=n0e1gIp+Hm?{-{he&oWUA2hU7i>HhPXQ*>w2gb$&9|ksn!c zLj~dEXj;-dO|js+t#pJ$@+1`B*?L6d{(Qf#zg$wCukAC~jX-bI1bU+o=#6}!mtdIP>I8vQ;9q5hLr5ZQS9_TfIlW})G$}+CkV;SGoA{jScdOq-n0580t3U`Xz(>j6f zuil3Qx(j@(dCv=JhP5z2e*I%wo*@*7m<6wzriP&+x!Fqcww0u4E19o6icm=wcUad$ z9=vkDDBeM@7b{RHZAC{Kv@t`B>A=9nvg^7dmR;9&qVuheC3lp}oLzaNVykdf9<51ROV@ie6BL#QTuQ%G|s3p_p3G?hd3*aoL&zQdP)-b12Flq(7J( zo=Hd>d+2r0o@2bnyA;4z!LUc_SwkYGz5i0|9j5#iTs^GZ`n zQHuvQu9pju_>6^$r6w&D@mfJZq5#OCpk!rk9#E`ur}3x(RrAo8I**xY7eGMJG-gA1 zJS9Z#uno;B!e{3MW?ZnRh?N8j8R<$_1zF|!nm57iz!`~~5sgV!Sh;AA0$$op32hBV zKaK=ia4fWA&vb>;D6?IbvYUbX7rKdwJmlvG#+u??5uUHlVnkjOOqe7$K?-NM#;lF<&lx=)_?G+z0jmaHe&$n*mJlFWhKh{Pxw=IB=f{_c zhDEG-JJrfIFWJ<6LM>H2=2{AX;ng@F*%w_HB<|h*&uSb$_XOsEA0F3BjN!@O<1mD6 z|Jbo($I93Pf&u9O?^J#$5Zi>?gSeS>fNj1xT!)emINdV_bp-gR;PITo2*jL%g%`%8 z+kPXwuRIwj99WOEF7*;8)!eO!o>aMI%6h#)t~UB)d7A zVdtc=Hlu0H3PXv^7T)enNF?^`6q=8%qT3=1nfr@xvVY8DG{+^;Y&%%bk9l&Dww$OFb z2wit&B={qBZk?pkbp;>QJ8e_@%O1{9 zT7Q#$#tbDoRq6~S&u_XW_CVvei|}(aBoRKwCOu2*Mbdg*@sqQsc8kB#eSdDPye*k_ zoW1FDA>tuk<8z6;&n1S>#f`bU-mcx--j20eADnecNWK3~+XViXIQUgc zz$Lp+D8GqU+=QEy3ns04cij#@I%VFcPy)uEBwxGdi*guzj!>rRyIih;5Q@snenZ_D z5-uM%f|X0!Pl?uTTuTXEOF)M8>qm>e6W5Zz`^deuzjs))*~Fdpy&bs*&T#L}S?=BO z%^FGMK$WrIR?>TnwD~4rz%KRaCpAH7W(8kugrJuDGr%}!P)bXwKW8bEXV|og`uXTLH<1FI^)sY0?Prg=r(r})Ifq-{}J61W`iD0(G z{ne_6X(nV|ki6BetZJ{n9iDFcrhKv7oUA!yB|7P^+2m47= z{BKq@P)$kwoSpET2m6s(!Gqb{Jz6(fCXM!~*LvCIs8xr^KRbS{t1P`|xcHwA7ytBY zn<`5;I_uT{ye{q&c|J2-{Evr=f2J@ZdHi? z#}?EJJpJ9+yjhLp^ARndUkNI24uotF>zX&Oj(qe@4su7)!$t$)px^#4+V&(IB-qxA z1cy-j8l))pps)Wm6s41uPh*7J+V9o=_6^$h z+>;p)QJnRPuVHQEY+lh;>o2G>&?a^T$}U#jfuP8U8uaVidvc6$`>5EB#B40YWh~4C z;@lw|Kr!7e9fAXJX4hrv^VOmEo#(QE?q^;Zh3@9fZb1R0b;`uv0YSX`mhv(t1|SKn z!{Y%1AOtE{unW&5(*rSRDZi!?3syCU%mje0WzvcVx0qu>^@!mX$J02h#&Mt1@1?sk zA-mt+8v43IMK)*QSRt?)2ZY3x;mGI*<(StqqB~1hvc#> z{_g7PY9YF*@^biYYy_=srwV#cej^S)K7|ZuHH%b^x`t8rA%M0%f z60SAXk?%xNyBn|5k5W+;K@#g|j$NQ%F)jL)N0j@e)R{)wDy?gmHnj`Rhs9sIeRb9D zBHi{QA&qQ=aNCS( z@dPgugD9^84_=kHc&X}a(@J*H-bdvzR4!c_H%7%C24xO#W&8&fcp5Pi|G!)z-GAXh zUA1i%_jMjLRXxSy;NS6JRJAP^_xC&)`-A^U4t|jbld4_}u@oEHFW!1O*w^kWijb`u zw1j-v%}y^}qBlF+(@otqOcVEChid<4?KYKU`NdRQ+LA z^zl|jP3|5f17YIK5~+p|yR_z5m0hAevV4xn;W>J1#C4jv$7G6D?#_P{1PI~Q8ZV{} zibN7C*9{QYbD;L)Gccb9lGF7FP#fmc({SrxuT!(13RRF1e%q6;UNy@*CHr-{@?L7e z7?ZOF-MNX%9bsB^D=LSyYP^_|UU|@RJc2cz&~Dd(M`w?s%N|($-V*(USWiFr5eX#G z+X2^#_$3>HS$uco4o5Bn@XC^q!WOS}fqW1QIDH0Z5J{nPvRIPXj3{j)u**}Kju_u; zHA+zPh{2k6X1DN-RS{lj6JCphzc_GeL|*&@sRbB4I_cRtR=-S%n|)&2J!p6uI+)MX$(_a$2P33oKNUI z9+L@TVQ{+Kgm_VJo&vRHO$kl$0=&%>xLZ&}!*R&QdCI zWAQ(yF1iBF?n7V(_wub2@mwqTd43Fov@Cf z{XO>7r|BM&5MQrKgrG>GF+N;b8R=l?Qw1MZp!B(&Kr39vxxH^U4CuP@X<nT1eh=0lnE{WYP?Eaa@3 zR?cd+HfJ@FP-Y^>h>-}P%tQ+K1YSivszmm@N=gr(lu;TFWFK#SueRe@R`4vdGP&aq zsv$@Ij|hK^%jEl8LvaF`dXv_q+Zmp8NtuV9`fg9_5L1q3n#h4#mQ+N;bny})&E(D| zqY-zdB!^gCTt(hq+ns z#$X^E7c+<1;*s2W%r6Yd?r~exS~MW7|A|}$fBqQC27yz*C2}mC`mVX zCgZnIv~z1v61%pMQ={&`U{vYhVX!hp@SfW=*QXE{@NR7%Fi7#cxb~8z`keRj9Kzmw zoTPomd&3!VbH@9I&-mo<8Se{cM9mow44*Mls|Ugvra9yN!)JVY_>A|5GXw-d`u^Vu zXT-JJ8g1;)_?_Eyj+Ca_Z5=mmYdVM1B?eUX8Ij>;L(A2Zu>J~p4;E$2YY(ZiCr;|I zOL?cUB`gf!TkSMU5L0!3?TPxe&^7D+kdKpw%Kh3C{&BLU`kXgE;U6b$`S|NI-W<;8 zG-up1e8$Iy&$uU?kv3<%<*fI3%M(MLg=hTw@ELzPe8#UoG1OUj##@Kacxd>Hw>~k{ zS$M|1!)JVA_>6m>80sv1_5c2fp;s@@QNQ|sFK4h@{l*hR-Rfa>lDb>{#uH5^>Ckv< zI!P>V9IqQ4Kx60DC%;>q`yM0xrPW(dr0Fpdgov)fRH#bOr}iaYVp?;D#P9-irc5xC z_%0a_hRek^Ip}A^1AYhOPn9`w2*f-3KbyE{Y1}9s3XlML_^4OeE^2(ygZ-@6$=$o_x_HnkS2bA) zs@AB*5*e*um#D5w+Nz5$Z+v-kZsn`UMZWG4H$6i|qoyd{Q!mfm1OFJ3Bs1}`rM

    P1s!6!sQ?{{A|G+RTs){cRi=2S38#*h;eQkw>c!kz3{w2aW2z- z8(!>(E8SVXBN)bAOP6_`X7sa_*WCd3d+8Q0N1q+wFNM{0CpF^?Eq9-dxNP*xi`<+>t0-e@~kDO=5cY!J2dpVz?M?8 z2JKW+^K6%*n&*Kd?;fDQk@vvu{s}@HdmlXC)&Xj*Auk#dV?$)Aq@A2ta$BOTF;a9( z%oV(ls;z%jhGrGg>|MwT>284U7l;bk7Hw)!z8h3@%V>21wXIR5nU|JK6{^+QHE2H# z6ly;W6v}QFT}d^CYANn(&`vR_P=RX{il+{Lx2h}lLAC5^tg1{Ad7;%!34jihJ6~W< z;%BP{a|66neQ3Ztb%+K$-^;TLT9fv`Nm12C>rH>zbPabm!2J#I>;`zgcg-qDHs1rk zVNEM;SksEac24^>-0g!GmZX^u`0a*&Z@SmJg4FUYz7UO=q>=9e*?lab@P2oxes`(vF%#M+bW^5&;Y^}%9{D2FtTl}boWhBP!tXRq1HpgWxUB{(HNm{sfPkJQSD~T!@ zR??jc0ut=iFpwbIC(I#1ep3RPx}KJ`wvwS_ShDvf048m&VdpLAXFGx3pMX~FeTXWg zz9B&ns&}bMNMLVD;P!Vj^3Z(=vYQg*Hza?s#s1+goV+Ok^&+>q>SClw;P)kPnV~9n znpu!wuN?&m^gcle3CzB&0VMGI1`7$Yn-T!kRuxV`b;r+kg1sxQ%Z%T+qEHy&a#}RGB-$>Wy%zdjoXkUFTlJb zlXp7omCB7IMPXE(BvU!|pa>_j$RG{X4JypKq{8M|V{130kcD@3lH6LS8=Jf#NoI0Q zazTXJRy``WndbFQYTVv+8>J{ht%QHd1c_f2uCW7L;XfibFEZWO2Ht?GR7+Vj_JTtT zY-W6o*IY|mgk9kl>MNubo^-EGyyhfJ#!`F{)Vmg5y}>PPx^+M0 z=B_a%(9Y5^VW8XF#@2CjX-*(ye)E4C z8qf;h_Ga_DvSoX-wNRp!m;RX3TC22|whQXx=CCXZ>~ZAYZ;X#`QLFLVHkOJU2zd4`>bWN;|t=SQ9E#0E4&d4b`ZELWX*b-U19W@|pb0q|52P0hYIi(8}2A4rxMW29n;B(PSomH=myFmGNM{3T3*6fLDL@ zlGZb`VLz>*h07tblI5e)H!8Ok2;^k(*aB2}^6jdijM;|BxNaFLu0%$+F3H*qY&Qst z9pA%XZ!{?GZIa0BP0%6MRojLYSy8Ju>W_2Gt{Vo~do6z?2-3q$?U8q&wB&FD42gUtR~2f9jRLs zACiO1lexeWj$8ZekI$hTUDvshD1b>Fxj#2)s<$gBBd{EQ=)7a*}_U(5^IUlwi>9~ zSjm6Z@??vd*4bJ(*=S=WPp%=b?Wu-5*?_nRiL=4jLT@a$wLIC;jOJRf9+kQoMJG6N zPNmyei5a!pJ>+#7y^99*_T&gC)wX-iDDAq_lOvqtso5T!j^iDzB`EhfsTsaSE}@L9 z)%?r{C8Ji~8)b!t#(l>fLXHaVJDF6rYFmGWkz$)!LFXktu7iZTt4xx|Q)zP#d#{0s zdIPN6OK(9$qfKjYOuLK9M^I~C#=2ba0B?&d zfeBP6X|~5Mi<8zzF1r36u;GgJ${W6SbLC96xKsG9yJ;rVyCmq$v|1WzraJV~Dyx63 zCxo>?wN}e03)DV7jU_*@w?elTwTR$Cw^r(0k`P3WHCqc|p#MU5i57)v2}hBh3e&D5 z)^6J3K$WL0=T&)j33|ES;MH4eXs(s+f~r*6BG|lCYhK6EYpAwukZv!iL37KsR=YvA zb9IaSAlJHE?W^HY#c~bJ#}a;W8&`kEOh;|Xl4nQ6f^9QG?=wfDnQu{hg<0!c{g3Mv z1hvj7npvqcg15P4EY-;texj^Zoz`mU8|%?>h3Upn);Q3$H~$U{$Nc`r{GBRh?uxvt z+-AmNe*!P%O$pQu3CvBc_n1ZdQ&@RpivO3lcYl)Ps1AjH|Ne^Ex_Gvm$!UL8Rd+qQ zXG_a!B_V{~y9i9Hz0^$C%#^mfs<*m&c9xyKAzmx3gfZA43RVnuC75l-JR#;JM-i@c^+w(2_=l+zU>Gi>n!kf5P~p! zpAxLY*_068w;!R-+4HgZ~F>fSWI$dE*Aq|YGuYzL)hy5WVCMtNi5!}aH zPf$N-!^937lb492zRq+vYha^e)X>hBGQTBD*9U!_IEz_es!%H^Xa|3V?I2?V^*lP} zfFH)#pwLbYo1qDVJJ|sS*nq_hRa~coqe|IVthxl4JLN za6CxSC}Sw>&l-5J8SYuHy_%H~qr2?}1m=#{a`zR-ezY0RTwUAY_Kn@Zv4MkzuDgj2Qu9n3m~Y%6`mVQ8;UP0)lPDN>*9dj0Cm@lo4QL<+J>(F^j-ibV z+=A+dFtrokgnNCEM$}FZfuIGXs7-5F*14Hu$FO<_=Dd4eE zK^&loEs(81)4_kiWDf$o@Sspx5!dsA*bSK|MwMaG?(4bzz6um7xt=#*7JR{w?oQOq zxk&C@W(Uf0vsNkUIhbHZWmv1^J0BoMbiR874^?|iM`vb>Y@Okal2vs*uaDPE0y^9T zRTOt7)Y}M^z1Uh%`Wp)vY=j2)FFxE@K(rC6UiXIKP+osMrvA@Bv8ef)1jsPCW1 zmzof&`)BC8^76Ln^$?({dWQ6ho0^`6nr^S>4S1Po^r0yDdhQVX*#R11!HTxW^9Fso zIHQ2(RaAYj-B7a;`ILw$`aZA`9^m!(Fz_Qy>DTij-l`#074{V%SW@F|MCIH-?GT-U z(4!-6!= z>Y5s&eJY0zUF!r!E>%m)YQ&z$bdUXjo;|YC5C(r5Hx>t~8!L?5p|tG`1>!J9D$L=L zLK%hwU#7N0^-PM`i52vbGg7rg0W-a3P*tM{v?G)&R@I7d-YI!~<2>~}CcO^qszuLL zOVH?z+ObBz*!M$NUi~Y(dUcRNo#-I>==ZxAyTqO6tdxx*0or9K+n*;gH7 zrZnxOF|?|7Qh=k75@;AN!f=LNfK44CgZLV0P}y!(S!l5O7L6fWEUL!PSeB6?-zZ>Jf7pK< zsf>-VDG>)uRjBa+>LRmh5}CeGJ&6OCaS*tVRdu4yny6~UhJRygL)9(zJeQpvyitmR zvF8S1-&b;nn{%rcMw}_d%!ayAJ8=z#BZGs1lJ9$l!qHd(n%2<*_tld(jButIdDZlf zx-83uyNzy^wTcl*=3VQ@ zoJdj!HR0}LWQ%N_;f>M+Wy~y~!%a|KP}ZQ{MyO3t)=>Hz3m9yK+5}|{CER~lK(rC6 zhCmI_`IC*eA}3ohLeB{P)+}$f6f`l}NAZKzuS?0ybc$zHU3RH9o!;W8-nyRa2bj(6 z!_rk9b-e*Qs3I>=>|mLX<$#G&ija&seeU)hQKg#dm+STW$VP<$N|v5dZj9GF;GaN6 zOT`n{<7!gYAJqw0+yV8G{tAC7ne~UYD)0l{@wVw}h(~0o4`9e7`pDXx7`b)L-Bxex z&^~}nZQ)v{h7F-ACff^8eU|%ih&}REF&T^Zm~0q?EXb~PhSsM^@7^T+e5tBQH*bExV?D`qhC5NZ{ZarY@=vgfjl9H<>j;Xr@h_l=nBfQ!Bl z5{W~sP8O}wbkww}h1r6pAW*o3 z#?-`2x%;MwDMQf}(;jovB6=!de?wMdO;aNmn;Rz2VG5#wCWSI1CmI+>5kL{3J?GN^ zkPlG=Po#gUu^WV%%;|D*GuFgSEDD_k6-iUHH8RLHwJp+wOLnZ$CPikSS*$0EP#G8z zoLm-=T$3i71{po(p)$=L<4~Bgqms?+HhP)HM$h#JeDqn0t+TBKUh??)73jht2YF~h zrAdcPd0N0K@zl=H8~}c%YqWxG6Vvn3;&;h$ZDfDjkOqa}tR@MH45r@?j;SL4F*_(8 z2D2rLD)*^*lnZ`0Vy)`CETcta;nQOGwiHzc5@#h3k1FOhU{R%E*T`bFS-dSpk;a(t z5TA-vr!>$r#>DWov}7{ILusKRz+tb3s%le);0!2Yn|yA1=A#~>8S0&)m=WHLp%u*b zo+^K@Debq3YI@;{sHUtX)7R4GY02lzH1anEJ(2z(UY1cfgm@WVX!rBrtyBabRyns!-WRJ4>#_7fbE!!kZy6jZRQeOY6P${~g3X}56QRPUb z`hFWbph}Nwo;F6$kQt>D)sPn%%v6QSvt{$W6d=?0($srO$#$Phw#i$4E(M&e8_$2| z`-BEug7U{9o^KygFT?{7NQnP=uExP@u6`DIF8nP@0B2vK(?fasG61Hs6i3>%2=7i)jR!o4vK z4x;hKRNj4jSALl4`*B8BO)pF_;-(j712ViY8<62B*MKZunEbYt6Xyqbbk6RmBl;P6 z_j^*Vj~-0G|1}T&KGD zX3M)Z%qO!AiXNG*P}^p1pc{W*b>QBZ8{YV8U1ZD~vps9DF`~T98&ec*dSf=A&D00I zF*m_CN=VEba}#`{%wzM$6i-r_-k1%j?S|dvjj2372GL-p3wwM+iMeT7i6eK?G=RXal!9i3+&pB+9O}TAf52xSfgP z*J2hYQ3<58>kY{F?el*MpuT-#0W>su>CnXz`>qAn$1rw%&xFMR%jaXD0%~BUm)W<# zc$ote76%L#wzefUuMjX)9)Gc{^<5z5AG_)0kWK!v_3?fDV|o01EvVXHXiW}Wd$Qqu zA;IhsgG9X4R#>yC}NhFk*kE%+yOpb5Z1hsfPU+ z7PRW3=mvv;*+97va$R##44CC#h+D`ENeahaU-wRgcPwawhVVsqPZSykZepQ&-MMav zcH@1|Hyjj2SAptTLzVKVs;bAGH=qo@M;+um!$FaOdqW7+YNAq%S z+g36JccpQ2Rrf?OeM9uUSKSk(q6a{hRQE(NeNp5GkuB6{*!ST{9gFJAr+${UP^0~U z;TVWzx%AN+Tc}YM8o;%~!2M-58a2gV>V|9YvSDp4;~gA3)qOaDLlkkD{)- zHTtOQ4t=}RpEN?g*Eih$nqYZ!wk=^u1Kj<#Fr;4K$M!I!vFG}RqhHe$7En_QL(1=r z^g(4pL%Q2b7dQXp}{XNQG#6 z_JE-ldv3&h>*4_&am_(WC*_)lRC9d9fg70~QldM!rY#{Dg>{(f9OW^S<_HY&P3I_a z97dF1G()yWp^Hyu7|aQ9(aZ@gp!8uluz37&!?}N8=)&9&2kLg~#~#y&vWG)WvgF4g z>kI?q!WTBWho)sNPNm7dGz$yHCQvo>V)KM>1P=KtdQIH}Fu(P{?zx`1`tY>`kf@EB z?hpF`eLZsM*(Y;A!xnPU;r?QSV!AOfG{}FF$e<<~Rt^HvV*Q~B3o4||n6CxB&7#ka zZak^T-hR_<<9cr3dQtNdVh{)Bdy0`4^cxh9?mPQ?il~u@{b=YL?ZMYR-f*+ zMcc?&@iSG`7w&W_KITc`OV{oF_Q(fcmJpXI#){ehe51+ak;|~!Zxy36a#-a ztc+I_*@&=;21ELmmiCGw8xw9Vs2MWDm6&+`4-7gC-!26uhHIRbrxf{+;Ok=X#xbRW zjLlq6lrlt%KJ9tRD3Vq{FoaWGdr(oC-q7n?e7@wS1o5CB8;)PB&wS*tL&|!kPst+v zw|Rf@2nj=Wn-^OqU%XCvEicS0EZlwB~*t$cc8W6C1~f9OSqDIQ-( zgT5ab&RA}<67e-n-6&7w4ui1YBA!ss8(z*J9tOsn2+ZE0AAs&f#Fq<)kyTO&qR^9# z^@3r*17{8BcF}yY01PVx#mj+5U;NW$6=0>=$!U6Jx!y2rmbwp@fp+`7D8_&Hs|*4j zx~|_h?f1m+*~Aus!`7_ZN4cbZ$ZNp z4j5{S!Jj(4yvM55pC1lAiP#52i|JoejTaa~j#?M%jV9^v$D8}ZSYE)c)n?Cdm{CX? zN_M(g6JP9B+a^2V)UBMvJGy^1QzvkM3Y%6$z$_Y`G}iM-bEnac#b_9ZrcVv)alits zGPfMnDyn$_mU*CRjx{2G=rP+V?a^d~4~YDMBqFita{Ez3oaw8WR#6G8;F~>zWJ#5m zxC^TAc#k5RycEUF=uvi05}LHFIS9jko8$z~%{GXAe9Y$lE0#VRt&4wA%EB4ot?Mx8 zTeomO=nrLyN;)8rep)0dnB0LbQE9s_gaBodSS8#>!-mKVhW%mOB3lhY*OOQv9FLYG zNfWZ9jGhmlh) z!dQbtpPv>YnP%4*`!PMWRH4j1OO0rzF9a8O21z{A)@0wO2aYbIX|?p@flHqsypk5n zD_NBvzMD4)Lo=ugyO^b}J#EhrqHT-S!_DsE2Hqj`O-;))gnfU?66(w5c!kizqsMDP%cAKQI=N9_HF)({vuft_I*1!rB8<<%oZQSDhMA(|m)?GmU-&Rd$v(HM5g%>v?1v$RHp#4eQx^H(oRS zmTYGCSvK>n8fL%KHt}&=_hZ#0)Z_7DxS^sA3K|-GvcrEI36@U@Lgo4xri1~9<~oRc zzi)d<5N~75Hv?I^b+@AP8jXMwW5gJC90Zd0TC>#x-|oMLq7E0D8~gz`(J)C+sKzak z>fjMYH2*ao6A~R0RoOVe#`6gYS{&FyHC9Oj@wsc8{kcFtW_6nM3U`vtfsGew3`)%0 zkGKFVb)A2UjOL&i9&DCe#)zokfmCQSR{e+t5it%X2u>0;@@)_geg3ktOSvy0+FB}$ zt(66mFsp$g?rLU^iY~rd3guF()OuJjZSVWFIG$M#Rhyd_b3rso70qCA0mFSD9H^RR zvSp(BLP=m;c{X1t<%zmr;LFL3HVLH8i`e-DBgeA z*r9z0S>O!UJ~>Pl@c43S%kJB=4}y50i8M515)u|QG>0~dJP=4=?G$_DO%1gadh$Y4 zA;J)_5Mi7r6m( zTjF^zOBXlp^KR+!8$DsH%PMEfA{tWqHH#tn1eQhZVKwwe1Nh*vb!CtH&vDqHq(w$-2yA_0a9~Z; zW;n@&@5GsSV%xTDYhv5Ev2EM7ZQHh;iM9E5_s>>sRadJ{*X`SV>-MQW&pA)vuYbVI z)3?H;pM1)ZPlkfO|B}b&bA{{-VISz?XhS9AZ2GOCg83+i4N3hTO;f-A?3NxSD z4jWm=E;~L{dS{v4l1FH=DVzESPsN~|^HW>|*HCmZn*`(5`aLZeA+nn3Q)0OO*JgfY z>tG$ZQ!BU@V$j?@ zC7C??H43OOi=fr+;5x#60^omz)m=_jR`${BBzGYxrYfnTd{zR{Tt;mY zqGmYcSJ)tbcY16 z><(^HHMdm$3HMaAQ9N0JKz;eMyytI(DjT4XKloLqO(EY~c8-ci4wUolHNg;Cmt*It zplMRphvQF@)P>?-c@-e$+X}zhvO?n;=v@;!Ky$^P-Ol(Rl39fy-2I^ z4zipr=rY;8D9D_l5WSffjU^NkPbXZ%93Jt9LAdMv%wh1~&`8f4CLs^WU;7U!0Zk2s zn`M@7(vZSk0|LxK4d6t5+(uqPNcr-o&|OGp1BRG|^?Z5%PUrZ|3DijAXCbU~KFvh> z1=)m|t~hyDxx;S@RmZ;miZA=&A7tl8RqGlt3yU>H-Y431lje-!bBSY^34-+CbtJ=? zpo0*0qM0`FMUL$rdCzfx>3#u<=OX5HXr`rjhCuD#nT6%b4Po0t+bjPTjY zOQgzYbIh@V|JsSngQ~OazEuz2qk9yzIdPBlg=>6vS~XJ3c0V7iLhv}D9=fU`*!n9WG6O15Lx`!kD+oZ9ePS~ z0bO&9A64h`!4rw?uo4LCda;mbl5v#?`}I3EBg;0^!A$Z{ccb}2weTx4sDm44TL7A+B1um~u>Dj<&ma0pcrt`E41~-? zF}9$5=OQB$@i*z#u5WGK66`HOhSPhOau4+i@P^j@+KAzUngxn1G1KNODNpOt@KNYf zG3yVUtv(8`SQ>3FQP%iAUEX1R5h)X$qBpnX?Pq_4 zO93g%4tAx8R+y_Hite*%wcA<0eg@5E_$b0s9&{D>UCU(Zh5Rdl)Fs4Sqgm!8Q)!v~ zCalQrm!276k%nL3*op}LOS!?pW$C7=XL$*C)$GjWuE1~n>k4&y(PwZTA%cpJUo3d3 zV#8*7JEgIkfKr>Egvt0Rxh8Baw~~_F8VvZ(4_3hEi*c-}~ktX%w8!2>UBkd+}B*Kg)&_7mJJ-S5JOIwFIO#ytgas0%%-Z zXl8H(TeGPQrO+VQNkBxWNE;a(k$d|TP*{LL%=^^y>01T~q^$(wgJvNNpa8oxl!yz*04#vo??@ zR^=2DjiEO5szI2AOc0S83f-l+1CxH^()i%?6l{%sx1NwlmSaQj)Qi|yB6@mwzP?@% zEi^i^j~Am|+^anMzFtG%ZxIfi9a-3`@sl7@Ol~W1bqKJ+D`#>)KO^~+))B!&T)1!i zW|DnBi!vUkg8!dHj&P}ny;{sxCu{dNdv9cG{C_9l{}lf>U)hpeSljob(|fEM`u`<_ zOKlu$d^JG;yrLV__?l^PtGz!*p3|VNbH1rYBn~KwvJ#QMHyg<(#>sUo$D{6LpIH}%&ljg({#6X=aA!^->ieU-1hR%IxXLTCp6DUsY7;E+v z{0y-Mi`DReS!KR=Yo4{K#80)Yd6k|pFU}iW) z1jA|QDd^5mw_4ntxwSK+PYSn+F)Dp~SXoC4omVz{YRn zmqRWkZi7pbpy;~}0R4yf*8RV_P?C8IB6o{3NDv>r!&9>^lz!Uj9VSjG)%w@KMXGl9 z3_LB`y2H4x)1M^Bg0Ch5kN5c|=yd3Ab^}X4e*sE#%-H^F3h&V{SNohAJUCF8eAT!o zeFcCLe&eF?{;@Cl(4ENQ+}~$bfFS&}wZh$!=eGwV?GI;1WDMijUynn-jg0_q69i9N*z9=D zBc0Vz8C`-`AEzU3Lj+Gab<9!R^?F=K< zX7UP5bPwtB4gpCY@Fbs?BW}F}Pu>EYUf0(mQ~xsw6yT#eR+0T+Yum7q7mGdhyUX)n z;(H$G&*yj|GP^MzUmm((i$!^THr}+Uk+W~8KQO&kz zkjlUG={b@2qwkekAn0!O$J7~&UKW{>4t_tP@di3%)?d?O+fg{t}fqe9Ig&m+0q@)_scq3mH)Cf zT_Q*@FVaEt+V2rIh1{WHK|C zrXHP@O)~S^J2!X5xI3z#)hu~unEOShqnR_7OuS$qJ8_cr>&#z z>;M7lIqAe`sQ8E995LFG){_2DLMcvXSAZ3a@8dEeY40GFo#;cq_?JPFYd+QOXzRuA z2pr*Zq*uaLuNo~L7J#NaODA%!oSRK>X!U@AR_7WgNjVr{Nkzx9P__MZam%jF^U?TL zOPQvwtShjyd}xqJygDlUCra1QmeuT>nIi9RR^|A)`fdalgY5Z!U0M{^UP3sDTWEpR!7mJ_uo@Ct z^iiuGyiJ|?gW1bQCN;dFLm`;B_y&)+Ljx_@p%m)WcI5%Ig9&7j%d%&o)7zWSch>I4Cv7BK=Adax&3 zKMOy(2i_HzI0D0+t4M~+mG>~glq9VYtIA8L;8d$N>Z>eDTS*-_>`gYgEzrtQ1ETvz z40hl8)8nJMW}!lZjp85}pgbG5PQe78k>&H@J)ammWU&4H< zot%t-y$ZreBsU+yN_tf!n#~ApKU-c}F)( zUxRK?Q}w8dr90zV%b0CNx(Uc z_Ph}ConlJ2jaO3oWZ63cb$V`1;WArqw28#)(nhWJp-jTcHe<_w)f{LYvkLqo7j9{- zIS^i};gX@mLP=g^l07z}w<3SXLOBkch{GA(u}e~Mk~H3Mz)REormxX#5-Uz+zOU{Q z{Z(blS5E~YH2B31NPA8BO%s^I>b$V5vxvT$chN$~1e&=!CMdh7vJok2F1`7sDHOjU zov!O59cR+M;|P}?9h$2bLk*ufPDt|c3-H$G&nRs59m>r*tWoV!YlSi*XDHWv+WnfQ z&RO0T`olOKzBmW=2?kk>#z^^37GsrL%&O5l5eK6&-{_42m^QY!P^~S0dzt0e!BGqQ z_}!;kudb4=XV#RUUewbrW@xSQ&5HYl)#RKt6}6xxHbH}`cq!)rJGxpy6=l4tpQ)nk zHeaw;z1MoL#5tt-<%5wv?sk5h*960M+;nzBN2P+Ma;~g3(2xgj>SCMy4H!~>q;)q^q`bdBD~>q32yux?K(RvY zdVMLvFI5Sx;_7o_cCMMKEByI!N!gOmBRBDFs4$)dW_NVWcUYBHIC+I+^i)Qqa!MZG zz)S^zHyD;L@cQ_QGT8bP)~<1TN(G;iXBz*aaAD=FH0bL63be9+1TbID;El{5k=L;D zd4->V<$r5ww&*5n8a+0;t^FcSZdxkLBdF#_%b!S$lt{rR8@hyY`~Hy6!*K5v%IEDJpssf1~d zXmA||<+aseo(WktM5)8yVc|E_4#=!P~7@U@^KEXk2;;#|Mq98bcnW8D^EM0$BK#k{$;qn1F zJNRfUKYaE(!q&@cZ2iF?S-thYnd+2*`37S{CtcIB^?;|NuRK>$vq4qOc`xB-ohiLF zrIqv%(VL6}Ryq2vR}RB|o>Wv(_gTPi0LJx0ouxBR0C-?!xPhecw(?<(J^n^icj zoG4wZX}|pIyguTqzZ|@BUF`B`xDY^iCWqw8LMJtj%@+Lg)az(ndX1`O_;%X+Ae=b; zFzbp8yOmuCwXAuxH>sOOmc$R-ufwn14N+A7v+sJ!|Iy3C47{?_gi@b3%mqJ9uQK=8 zsT@L`R#QLvou!Si*R`k!mdJ^2fTT6^oV!A^>ltKC3?t zIi>CzBB1=a6|&Znuk&43^Qh%I9y=0I74|jtrBk>0MqhT=I9qsR%g>Fik%cw=#C|>% z+Qs{jDag#H;zTg4%kwNF(E5D7rdvWp&%JOl_ww#G?76q86-bw#d|Rh5<2%xD5>Pv5 zlk4WwBWM|~yp+}HYQ8HXKzk>g^TDL0(GK}^irqQE9XQPk-P9PDQJ0@2(yj{mL1sIz zQ6N>av(AA7*w$FsPM<)HGtE5sX(X#K=KP%Af42V_Gs1q^Jstnak8Jlmj;w}tb?y(l z?Pn!|;~djYs6UBpTkU8E`U*OYbg-qz-OY?dZkzV#GACK|Iv;8M0Ar2d*GS%k-6kaO zf9#=#%~heSw(2^$7-&IP(HOgGP52uhg*#dZDvK9MiNFWim1)2_WM}&q#aJzExh}LT zW&DTY2U9b&R0RCo0WmyO;22uzg;TFt4vKfD)?d@{9HG!$$XggaKzU(JSrBw#F#Q)&@v4RBK|fpA!`=3b>ov z)V=X^Zu>WsZTJ0pQMdimtQgc}E-xS@sx@Hm%Dt}YP+wSMYju~V8`R7zJ3Y^4FS-^v zmd_2Bo}x%17wa#QmYlTTMYsXy`md|c@EFFm=6lUM=O!Th+b}AfV5m#_g}+m|zN$B6 zwf84p+tEy3Pyn<|_}PGBzv(Tr+dPNb{&utbh-!3F%Fx}m=SENWo9y#ef0d3~fq47C z%Lqmp^?gxQYH3+uUB|HDlC8Y1ziy1`fr(V4N$sd!p_s?!bE9IE<)WJ2nTJzMRZ>!T zk^ug#!U{-UMskRZBQvCt`h|+_PoA^&!9=Rgf(20o0Cf}a4B=RZvkKjseA?s5FTbiO zd?4PXLq|-QDPoy8f<@nr)CGz3MhLZZ)b)6u(aL{YUO&#C8MAPYNi{6nAzvjIr~Qz` z_Y5aoX}=jNkJ#iMEml`wc;TwouRUL9p|iJF#sX3p6@#6;w2aiT(j57_eqBfZ?we85P;^a0K+Lwv%rs&>~?z0p1+ptlxh7TXzkOPc``HmUf4O#itJ{JSA5(Q z8CN1nc6F*qHP)vRtz3BBb?b#SsPFg2T>Eqls#AT<-p_gL3r+Py(ZgKG2rV@p*=Pn# z8W|0)!Jh%t}ueWzWxx;BV6>L##3u zZ0aCmWRid6-%}`Tp|i-qvviCl>4CthWVMOI-r#1-A#aP`cgWTot|mxWX^yQ@0gF_| z-q8Yp>^NaD%z_2eZCX$pIVy!V>U@O;Zo*!kjGDvl*&+=##{vwRzD%FLz()-=u69AX}E zm@g>`J_^$wzlUZSZx1=nug21I!7)*eX=p}P=W}$@pmXe0V@&5CyTYpjwU%8aHoj7n zC4q3<;^lc2(Y+EH2U)5EFSJAjrBU)`QMM|Dm;_J5ab$SO?kjWnz3H5B!Y7c_e|T{sjXIQTk+N zEf5n;e*D63gqf_{-4|dAAosyJMM)wLSPeRr@%fH0FO;s1=>kzWQIG7e%vA8sqCBA z7F_0Vj-Iok2z75m#zmUtV;&e-<)SduC%O1B_H!{&=XZnzDJ+vcS@GZOH?pYaz)EMi_b>7uOHhg+MzD}XJR|p1uFXA1yW?;;71~8DM8h^=DvwL% zp-s%3Z3ftDL^2a{7{hGi`-(Dah?HNVmlSF~*J7=eQ>4`rFO?!DD<^$a0(u*V7*NGeIOAbOpj@c_PyMEDausM%5Cx1~SO3bcqQ!lxTyr*_U8{BD%oL(=H&L!w5Mf_A zA6rt245W=`Qf76XR|p8hnS8N(Q?<89EGsd0km)Kf1xDScFAi%nd7qVZ&{hIW+=F)_ zuIWQBXk8Js1@(H7lDwM5yfKPpdGQ>6jLF79EVY3ekjYX)<~WC9K5FhCropLp^{29~ zkE}VI9aT^93X&eK4!6;lmug2;IcZ7VNa=IxIMr@rw}Of?|J8*jy16#-=g@|0!vsQ| zr}5|n4FWt_!)0MI#wuG2P5MJhB;BS-!~7LO zSE`Hnz`HD{Ofr<4&T+k2QEm;c!7qDStOQ;;NzmW*X{?b0{TGr_(BFQue9xk5J1#9q z{@MZ>5_}P&>-1NifsOi#E*kOZb*il)fdmoU4!Ke4RPPCVwExcLsRZwSJ8&m0 zLp-Ye3(fTUtp;agh8c4m-b+Ss!tcAGZQI=U z0N{@)(a?{g)NI<2`|Js}YdvL?-w@(=@`+idF}hy54I+?q2E?XHic8v4?PjMVn3t-l zI>W$Sc;dxQ8w|gObB4K7_kC(LL!MVo;y-4QoS@7X>OslJSm?^x16SEhEF?Ys(8f4**u zxk$pESapa}QUA9gn~YnZ5Nt4Ak2bT;mOEYcpIL6EOT%9+qwJaZ+DG1*_}POq;B2&| z1Bn|Gt9~xtj{jf7f$pvx_Q^_%6a_ct@^Prn$P_zH=)!^#y>gB-(0hZO+KM8DE&MPlitdbdG~D(tv%|PwJIHwMcm1;59~1S{++Tf( z<#=wl`FL+1(Zz32^A|TKY{1K_rA|UP)?%Gb<_1^igLv`JN{C3ZDs3^FI}wz;U*qNC z?(wX7rtX~8BX<<)I+sYLfO1M*63I~=_!NBh5{ZxuYKiR30Plj_p_1<_ob-EG5XHAz zaBRA_%%sGwoWmoF++CIXeX;TYnf5FVuly~JR~!nIes}FP@DzpW#w>NG!Q9&wN@N%x zWyvDDT)!x#wH_<-INWP}m-AO!i4?60;9oPG6=N?(X#5q(0K`Xc421r+i%XWQK98IK z5qqlwIr4$;wAnl@h+ zf*=lTZFd&vSrP1@6N9tLI@15UmY84OAtCW_(ublkePPakJD=k67L1Uqe}0l&Jm0b6 zRgfW_`O}TgRbIuR#i*F=zvNLjj>>2kULk+VE?A)A!=6QZEA2Yjr||thr_ZUC1bWUA zwTEYEk3#erY=JL}FPKAYl~X5`|K46*6LqRp6BQQP`!}|a4dHZYxV;WtddW-_OGQpi zEGn-#hU2OsUk@cTsH*=edp~pT&xUd)oGsrh20mNI+-u|rbpFFB~ zS58sd6By600{CYT#nb-&x1P9lq~$1z8=(Hsp?@)i9_Q)7*}d~}g^x?O#SJPjmmd}; zL%J=JR=BsK)W5|X zhuPm_?Z+jB>$W^xVomA?Nrm?Q2 zV4XDd!xZEm7||}(iXkIiCMI;hxkJ##RfTjo|ATQ!Y|&x|5TS5RxfPc)&7gkCw$EI5cz7(O7Z?90jj8h_ zdAG&z_4kn}<%-tWO(nKNl=9?oynLo!#^qaxGo^6csOf@QWqd!1v3eB;8V=aCi+hTy zd$nh$ESGV)cJ*jyG!(|>)3B!!_%Xe7FvmD_;bg-|SFsY$kZs+{RB-1yM;w>}aayyv zRWwgEOQPWP@>h2vnFEgE6enSjU&93=GTpJAux(q{eUzQkqZLEdQJBRc3q48;t(d1` zk`Q8)G*3sKLs!M2#6+40%@|k`9_Pr)l1%%rOZxiEFf}*kO$;29H-4%g)3-wRHzq~nF7qcPc~hMvO_(DDxs z2d9`uvwlyL!0cJh;W!nI_AX9E=&ACC34sAx>@w);$$y&sNE=r1x;Df|6Alda602ku zt8nY8mQryCI4`YjWIcd!b?+D_{2^Yra>p8u&Gn4KY|{Oo?BW}p@v!73ud>e0Z4MjH za+lA44N6n-WHj;AosKpiICzEZ$MQ8P;Z#u21FIOqx3I9q=7XaI~BiyB(jj;^lf1{i<(TYNY%h z#nTOn_w@xHG~#z=q{!XVQ|9iDS(0%P-o6m0C3&ZFHX!?}UNqtxmzTenxHq$K+)$lX z*EmHnIpn!Dw|W2~CoEhfeZypX5vGMN&ukeI@8qOAcAL$BXsW7lCofXco5=k(3>d|X|G8~!kC;mS#q>cVFleq8sUtpG(LDRYYNGQwq36N^UB== z6Me6|0M`UrFL8J^igmTT>CQmCco3A1LiF&_IhWLvZ35u1#qP-m`3JEg4#V}6VhEbx zjYC$JlPeJALNZxtglLp)gc*`+bL8T$^9! z25q^S3b(?N6MHe@2oYWdXDh~<7A9=;fyJF2>^wk(I6O?#j5sW+GFI0^44TTraQ&CT zeUW%EEu&kk`>MT&sb!oy2x0Q|K<6%?*b5b_wUjrAr_*-i4qUEIJC(3bN)wF4nNa*x~cGLt{yk zX?e-Bv7$L@9vKCxnNITBbD76jQcI}(uM5FL-x8b0_Yr?2I%mW(9zH>4GVQ$rl(31L zyf{kIz~OGlOB7dMV^H#I?6nZ7oHM7Qtpyoc^fdXz9e@9HoP49=jrOjnX;G3Ab%BUv z#{)_FFSa`rE=h^CZkIeTMx8(@q%|Bml7*N^h7m+(^69yd^iy@ku2jhyKq? zZ(BS|TBxC3PO-QQ!uQg~WlSKu*laPmPGNb*q3p9;-FzdB+ru*t0;*PxeJ@E#8(t2W z*iSbD@FmrqFx3<5>u&?JtmCTrfc2><>*`Tu(>HR=>XFZY95rbgm#3<_qvb=ewXXCl z8t11Map$@8;zfBGK~rlR7dGqolo1Sg9{6puzd5C$e)Gh`V$4;}qXwj_$5?TVdfZ0$ z@#vZ4>OL_F0OMF;;~lT`JB$kMh*2`12e`~RQDotqQv zOU7SqIpwEpk|*8!1$4GUcslp)b=;3($+*mIwkJgpqqsl3V7Tee5xbu~h$o9jH&Ml3 z1*kk%Xb~{oq_H(rF=v!_cYahjGxys+%OrD+bJ~k#8F39?C2+NqlxuWz7bZ^5X8YTN zV{YW2u@CN{swRzo=xvgp06*Pr8w2}oGdd5YLwq5Q_xalkXyLz9!n@ka0BTu zfAZN1>-QuDqma-$!HFuIj%yx6@b2RAZAogqCQ7$5e=fOPgi*%1=MvWeMA z2ZbjbWpyETt0Ohhq2A>H#g@|#%ONiYW(FQ(4P1%`s(FLf_JXG`V{1WFKjDjONl3kn z4DFoBo#UCmNwkM_+rD!v#LB&+>@>yo?qi#-xsOJ~_jkO}u z@FSul96XP{^7Tu1z|7Qm-oPZ)VS}l{l7&4SS`g`Kujz%)D3u2|)7=kb0qN>p(|;m{ z#V@-tTXZ2ivy-_2`{Qg~{?YMqIvDtI8VZUD%jf;=F&$Kmbgd2g5rLJX4O2{8yF`^k z{{)=ku$M7yk0r;>i{}xPA$p#QRWonx1+4cOJ@DNfU-CWw0T84KO_A6EoSY$caVD&I z;gh3op*QdjJ*=e| z@8&4^s#Ib1D0L*O%vK4NhNGfUh*B2a>06`lT6)^SKu!AcUpM5>B-TW9qU`EjQ1K}f z#ZVeTVUFpf{4hR{zQYpyVKe$nqeU{(;Rnyh5g5zoa(M}Hse6xB8FK}ayqLvz1*ZmV zRPM*fg2i7kSYms+KOf#Eits3Cltn2+BDpzSs!lLV;kT4sm*snX6Mi6&PKf#S+2r!K zxlS$WfA9Y{ZV2tP!mK*O-uWo5gKa|g+lvLucZc0AGy5--^t-u;xwLU;JFCUOZDywW zQ_a-SqAN=((V+B$OBt8$a%+*}V*b2)6$nk>=;zAx65HQ!d3Kq1;P{7_u7$5NT6r4Jwd zb5VRAcK#g3zknwV)J5)G$}8xOli790fquaxZQdj8 zJ?<7#+Z{do6)_e^8~4dRhew;qv=u1SDYjc@WgF?qI!n00tW3^(wx$#|i_j`{it;)F zhpojlA3Qt)uL6thuPehCIi&mB%%hNjJy^yPNHvWKWHncEeLZPG z1HLXX^3bz7A_T7W?3uPV$Sng4_Vq>Ox~2Ur@2O08Rxo$eFuSS3(7aR}nAr8Go$X|c z>-8ci#{!=^VG5Gf%jxtuFp}i$IRYF&2_xH&X;dw*1cuU%zVcrmFkft=JD-PYROv>a z;&f)+EfQs0cJ6WLqCIksQKg=nIN~7>)aLIp%I{$42-`At)L3}?{BUhrWugUO$Xpj5 z&P!CB&XE!bm+=j}+A;N%Is-?F+$A_CysPVD5_=bEYxF}VEa_#40xJWS@Qk=|@mrFkZ6=JgDArFl-6VBoU5<+Sv%I@j=CV{^~MM51q)#^R^!MD9q@raCA}c-yA-#7RcA z_(Q_zmJO<-4#NV}eR*IW0a1?TUk3@B-BPtFE~l1)FC|jEV*z*;0&E&3uan~FsH=;Rcm4Rw6bEdjBc^4QI8Z#%_?7(n+v!%?;4xSw-wMErgYHz zSmmjJbF2C-@3x65If`K#2+l~FPj)$M#tE@r>`MIZ4B$$>hXv2!EeK$J3t=Lf@3>qnOdZe;@nM8oCfPo(78zFMkc z{_1N`T>vYQJS_C+CEZCu^lC?luFdLlr*S#sEqp3&VqRD#wHdsHEX z-Zw#yGOR!$zRkn_2RvSCe&?BiNn+2M3@7SnPbQ+ueHe1~U#Vh;zHx1*_I#~`M2CEy zw#VvXC+9ZUJdmAvD_}#@_@S_^>duQT4yVOojeDwCam;Lak;0)ZAk%&RZz0)G(a;k6 zk>+uVO(tMi>r_;!8B7Q(=(BHJjlGB&BJWwBH`aVrWp>@HQ(@yjORR;tWHcD6=aoTg z_x3lyTh{F>314iUXe+uPj{;rFkWhnfP6HENqO-A%Z?Akw6ei8IG_<{H+@z-ve3(J9 z=nyn9#si9}ZOrhwZ-G&jW6JK^s~eHq@&0IXYZCCTu86|D3+jI+_|N?`yExlEE!ZcNEG0;I9(?d&q9Sjk)j`on_x2|Z{uIndi*K9*qc@%)Y zgDlL-wc||N^0)BNwQptWwdWZv1_x7&zF@hPl~qh`A{=I#^&jAj`X_ssK@_%dll(Kb z@X}nV6n+x_w^M${8$N7)@0JIxOsq%~s;VOeC!cDlAdi|$n(+K(+(aGA;-j`B&4fNC z&&5TF56*F)ARGe+0D8XNH+YhSq3`4)V=|5N+}cJF zTxc}J+e7nnP^uG(s32*JnXLgoV?Px`TcQfN(@wi@DyO2IgqF*&yC9L)X&2x@uj^2A zS-Ihx63wP3HeUVdLpf_f07!C7bfO&`>JwJ5{uqzr$!f>VQLeA(N=}^40giv4#CGO{ zqZvJvG+Jup6m%*pwMv`dwlsPQ9RxL@_t(M?L>_WTQB?$>ezfjgNTu93D4M^72|hxv z#$SG1Mv^%e!|q3Ar$6sQa{z?-{dqs~Z((e8L6l)ZAz>qaL1eMF!_Yj)9JXwL@ljvq z*ca?_m=1-Ne>RR$E0>c!X8M4!a%{`FU^?fgJ13U%Cx7#o_EKjACPTQif)gvHQQZo( zL(nGW-5UIA5}9^XP>AdB__e#y=aVHhDJVe6Z|gBwm#NVQ*{+a`4faM)k=6UM6x(&dL7r*?5z9 z1v$^35>o2=Vd+fxzjgp}>_8L0=qZ<)s@2}Kh}Ei;WF~4V?TEpot}vEi{s`O|QM1@l zAt`-la~)}%#!>!{c-!%DxU{)KZd0-CmY3OS<5a~PpcS@M^iRWN^^%1>&aQgdVvI<_ z?jJ66RbIeojn;;JqwUmGLVy<(x4mO!a0)Ff4m>F8&`69SbYIaFR0?xn+@*Tqj?Kz?Mcg&n zgtmzzGx=jE$>4}&h^tIhX~7Z*Fx)~tm#PIjj_h7WCq&>+lan~;o8;tl1O|T8H%;p- zb1LhTaL1#Q$i*wV6)(1UITKG-%&mE!Yp{hn1Fpva;Z{I|*W;>5Hu&EBw2xO%fh;c} z1O8_~gdtMgcOFdiXEz{%J9&V}j~4eA1 z4=;)LG!Xe?;2M6M4nf^j+Io!ZNJNn<`o&B9!DM6(Vd_{0HS zpy$rVGck#pCt}DYi}x;pj<}sJz@q>Q`%nEI=maefYyInHNEOE)C;?2&D=tw!MiN_8 z>47ZA{db#opgsgAw}g>bXSdlFd6YV-l!Fz=P`=T$DE!m#NmJxaT`XxzwK$wvbU^4@W=w9R4_ z&=6K6+o_X|i_me`Bet|$jj4;JvTD=h87p@L(F;O}R9H|=L7fQiB_r%MUP8Mi5dh1UEon!?^M~eSSR(?mEh|-P4bsZqpq8hj}jUmZ8 z1dPPlQa>H{{&3&a-kvx&jCjbECZh#y#uoKLXjU7J8h6=ePtNscRnhEqOun<<^}DvK zrDZkJ=Vb5KzGBk=ZSi15?RoUj1a*wJ8H*O;pQ>6D9Z@x#$P%Ec4L7vz7r~|jSgKtJ zP}vA29YOdJvVxTr8hdL`g5V1Op$o#sd(mtn0OxT3IiN^%=XZ_SRfy# zjz1eeD0(DYDKV)ht4_BT-j8-vGJQM6C9bpG56g5agjVw19ORR?a#rnamu!B^n#pnwYA8_EN*BuGXkcNR`22WxVr!sqSff~v~{}M(3uGW=x{-~Q1 z7e!_wCNviuR`&2b8S_j=&AUVR9`AC(i}U7z_Uw{II`jI?Je40&KD_N*D@ER%QoPQT zXStS<@=YC$mj3FZ7q0(ZTI|gAx-&82b{xIcH#cx?BM!Y>?|#s6ADGQdMs;{i9~fpF zbGl9yFZL`m&)N7%E2+)&ZJ=LTFnO5jg4uNEm)(7+MGqyor&W)o3T1&u8oXg{sqX3v zmJlf_l@<5@Izw0YTf;Yfvs2emJvxP=lE0im#Ifg)MIUbq(A{1%4_ubW>5(m^HW_vK z49u6TA>ILWaJevVf&^tANasbLQ(jAN4<4X(`*|`GZ^%|DG9!0@#*X>60E|3BPlfhU zJiJ(yxO%K|&!lVB7jv3s3CSV7PpCW1b;4VzHQ#>?Z(>}>&UC0&_BrwvckhQu{~;*R z&|v-agsj8vUcTb`2SwZY??1a9a+g2tRb?*SPKk?9!_B|L3(cjY^wTY{Y$o2pzODXq z;rl5NU9uVT#q)}1z!CFo(+kF=wH14c;mW|uD56rN2s>^;);zqEYbQS&69xT|^z;&I zT}D%rc&PxBgf6&7QCIA)x}l6*ts!RJjB@&8-$$KWXAk0}r|hV9pQZV5fmU87hpz#S zA+P4K7_r_p4{{-nIm>I2rlg8L%N=Hu>S{!&2p5oS*-`2aXjmKt$?-!$2I`%BeD>7U z{pQF!JjKG48e_-hbl1?dLc3c#U|A*^x0ZuvZvR(Nm`Nm6FrTrzzivN}daU@FXgr8l zqala{w--8rF`{l(myrEs4bzL#S+HIDzyVuBp1d3mmUK=|nA}Af>g6H$Gnca#r~D|Z z*99-}P&{4@;EzR@u^g_^h$;L}zDXfwOm5`|7@a9@a&*>^%}pBUGzOQd2A!U3$3#@g zHt{$S@ok5F9G4l}=9j4O2wYLabCn4*-@)QgylpG|k1HV~wZ)Ag15`7r?qeAuog^a> z6M-aH;Kqt$=YyG%%t@TwUS;a7*7JEh1FNeF^L(%ds7{JjJ>$@z%IC2&!VOrE^eVAK$NwV-0Ic!on_HFg7s_v=^G~E0Tj@kXVAzjxRN^ z9~__yW)pxm+`jFk-^+Q2TvC(OS@MUoLsgjF)zS5*!mlSfpPc)!Bw;dVvV@yQo(uqE zBpeE0sUn&J^m4y1h+L4ai1Gi6MYbXaVUJrmt`{wQ4N5+e4AANSMbLn;;{|hJ2FPJ@( zHkdu?iclLdM05KlIOn20hp5ePqYa}5l5>m*h*d{_1s1U0kV9*5Uq{vK%mntmdF?&D z34%=~kHKs24HKNU6P$W zPDG>!$8+7^bEHrY3nQvSNh3N;?a>^HvdEk@7bI>k7ilqqm<|&%-ly)I^Sq$p>_#rH zWU+28Hco#N8lLI+S~i|d$oMLGj9i-}m&v8%+CyH}C)bm!Y_*UV$g{9gt~c80$CJzB z{$%fkWb7R0(`>g+b6{hhO~#Kmp~L~-?^2v}c1XAUE_GQWQUZFq(X0&zBXc8ra&diH z96k7XQTXE^E9k4P>}PAK`Lv}1-2wd*m&>Zk4(fj`dI9sHd3uyBA$-|ZS#7Nr)3naE z4j{JmaaLtpb-BetkN-bgmj8WX=lYJbB~<-R<2LZV#NB(}h3k9o%iiaGo8%Z?fZTQGx=IKpv%$KwcQXZ!#g{PjVv|oNRe* zJ=%XPsKgOGBBCnbi0Ig~W!WVuHCx~yUK++R=|VKeL*r6TirY@ggqOF&;$!X=`PLOp*vA+HDlm*V{}xH?Jk%4gJUMUGKPA<3*O zZR1rkp6osJ2jl(I$pM%W%-$!O0g83>&&qCYJs)>&pL!$5b;vFJIQ2ORx+T6rbIa@5 zF4{_u9Jl8V!ffuWyIu0oADmu%H&tMXYAx=@Dwvv|E%{X|p)9-W?%pzC#O@ddm0y3g z@`$KONtVW9D7$1SS!;Z#Lf=Jd9S9+NSzyG>h>7St#^VWt12Y(e)GW&2jzhNgSM}CW zSwlel`l6#@V5uYa^iM6tqplmzu#B8Nr6cSNh*>j9}Kh3 zVL{97^7NuRVkKBIbMN6ps{ZcTG}CaMU-a@N4YPV{d;3Muj#Gm~pcIS@kkx-)nRI4J zXO-;J@Df_|ffWrs-93kivyr=I`vqA#W#T*v9m~~a1~3Vj%8gkhuB@clk8yZLHPVd^6|@^+hAKhD)7+(8exT% zvj*2?5fYv(k{81aIJ*T8AMKKPvS2T8P+!uWWFh>mF+c}fV!ObxgX({0F~KEvqE5B^ zDC^$I_IBq`i@3;&Ib6+VPM1s*KJ{4Iep2q8oSk*{ca!-;ewQ3FdI@|LP|JOY%g|CC zt*nXG>GXVRl>45o4k@1R?$o+wU?SJZ$6|;`8lHx4&IuVGP9(#K{9-4UX-9HO%vjQ= zd}qk9pN&u?@WRIFnw)y8x7z(-3CAT?b*-3bk7DRAhO!}!sH z6RWICD#gWL^>N1j3S~jDCJQE&zK|U~cDkVMLil)g^H{cc9J_f9o4K+{K;6DMcO@RYVlY+auk-}{d93DFi2bGJV>NHa-S@#xcwah9cmUQipnu18PYeog( zN8~6cu=+>UT8)4A^~^I`z^~IfTW?-q=h^$+_*^%>&W(?8)zkzK|haMcx)uO>c0uMbmc0{l?XVNy0)MWzR3X=v;Pyz9t4Q0+4#xkqxyf|8d z!m+ICXQ-`ce!y&XUtB`NF45tEOW>!{tJ%lSFSl^OC~JSnr{w>q?(Lr2$g=#vXU|^& zW@%WN#03OUqN+Nf6pEsxDtT0rMxv^!8$`1czy*=TL?)P-pr|4-(e^qvx_2hVv-{xi zdOXwPwY{FP=gYCL8#@v6y!%ho`-cC8jdRZZ%uIk(se5MK)gdD9_vg9io_o&kG@ZuV zG&{{3X%c_GL$hmsQJ^a)pfJLFj>qceI@vhCTU|ZDTb&P@;Ws4k)YELgLDJmXZ<#u* zW}j-gs*$X;Q>FawW_$6Hrp3>g914WSV-Z1t)$AA1Cmcv?wKOfWQt5S5$&L}-_QJD2Wq=U-I z)Ej?;Y>D}@S_u_u*R4cu67=gwEgKkMV zu%yKxgX{|J*W#MfrVJRWNf23}cqRo(GzE$PoYNvbatWCi8lpN8Lp)17h(P3 z!=^zd`ja$405~yI`#NjqU|bKR=zQ)HnM!{r?-*Vv(R)H+J#uu|u1Cb`!s$C;?J)*J zTKjSnHk}qpkQd=ZScv4kqKyqjCpgtcjOZe+8UaaFEAoxyOM4qhRb%kEVc(y_izufn zbhEv;quehpH>GSDDO>Gsx7%|Cs@Q|}?jG=42I;OWCv^MR3L@zl1?iC?QJ8FOq!fRZ znXPSN8)h}9LfKW!#nMCGBICNqTtrUreut9zf2h_N=g!Q$E7t$+4ojD9 zeb@=l3IeJ1q9vbJK~h;cv&;=-99X@wUf4WJP|=ymy&^nZlgm8VDDW`J=Z^2(X`>A+ z+0B!&GvccWP1D(-`$+9UPLAxvW{`h2Ybpuu5J*!#KgBgQVkm)chGP5H~-62Tdb>(d+touo|FoX|AH+wpa zFofT~f@R!DIDX zfI-uTM0Tbxfs-u0sNFUEfPsGn-mzE#?|rW#vKQtpgu;Ah?lco|Nbh;X9ef8MV9Z{M z{#Q#k@=BML!-AK%^|yGj!+rJIV4{nv3Ij;=4fTb7p#ZuI%~)Gc6bRflRiG^7DbWl; zAjdxRNQMfCYm>dM&gf^OD1oe%DcIdG>J^@A!x(3;h4@B}E(fV|%>aL6_-bWcjjQd= zi*S4@mm1K^oEQ3n3m@;*lbZF@9fH$cAUt_5*+ND|Roc&k?6n(tejdU|b2)^M{`3lDT_uL`AuSOD7EXK)$S77ZC^;Us;F6ndA>8=ZEiOMmVz zE*ubkujQ@GW835*ux!T!1E?tEV*(UbDJ&{?Ct}INCuP+$pQb9(A zjw%zta3x8>u8K!NYnbIZ1Jr26@|uDlMkfx+wxGatP0gg-B>I6V6*W^Qrd2OZc?1wR z!&R?-ctqL4Xpx~#*w9;L&nN;ewN|eu!QxLMdo`T>) zJ)>>uA)0^6EdX^rU(UIKsw1L#0zS;aU`YYdYc-6H0^BES?K;F1rJMp)fu0t&PNC?Zt$!yEQ&@a{wgq zQsNeIlre;!{1fTHgT>9DD;#$4*OY{uMU(c?ewKfQ@7!HNm4>I^8*DFl$Qg8Rnsmzv zuG&sJO2+YW!gGMSj;5}2|H1xOcBmWxayYw74rXQGGytwBh@0KsLJ!9Rl0;K?e$3r` zuo$u>fRYDWUGO0xrVm`0oMEiz*|Yd%l!M!YM%ZwgOH^AFdt2H#Z~y*yRbj{YH|4qc{xT|1uSl%A?K|&ZfPARv@`TV z1aA-0g+zNA#j$z{LwOU!KfW_|K;QEuT=;+O-9320Da3EBBrLK)sWl5TVi+S-7J*fq zO#W$#kC|Ee_VaL&`{;US2;e2TKY~B639C*?<_;b?Z1xNu&K~k`9f`Zp)P|#_A+EU)>r6+rEE-yT)b~f_E zHl7qchEdbFX`NaXVj(JaSvo17u{wC{L4%do67 zu!} z%}W$9=wlULlM=eng@NM;&tH1 zpNG%EzQ#VfM7J8VFmEJj(n^+do<-wEC_Dri<2Cp8 zc7Jq_x$$``v<8nT$w{;5Bue0s zcJt;p7cu5-6~G8PoH+veZL=MMvSu8UyZg+6F4jf=PAu-_n5bLh>9ng*gekf@?c(DpWvYXR!ywa>$N$=9ENHO}Gnlbk3TA9?JfPMx(CRM7QmC_H zkA)qHdLR-Kj@v(V`~KkQ=yG*y`=g&853e4-c;ZRxBwjwf)nzek08Vk1#*LhxEqMaW zXki$_u+gzypV)tci*$j+%y7V>wqt-#PIYOSPSjYN2pv(dQ*k;XFqEi23d$0v6Aq5u z(634_A`=l@TuI6=7GW|0p+FQ|B3;e>K{jNXC@m9818yPwEmd-qKUTrA>{Y$2ivtpt zXCA5%m|nsWXpqG6va77J8iKijJX)lY>+2k{)m+N7Uc-OZ%U$i%P)NiOkN(*p!F~;e zL6H=DiIy5tGNYB`wGyY#D1gBUMzmLnBR!_a0lWp73-765@o+|jWCBODvB>x|f|rXD zLtQtd*3MHKPVKWB4CuO7;!UHA+FaE&4JXr$c472hyD%}m_jM4neJ~gfd%X4-ga^J$ zr{|$}g1UcJCTiz>9ZyTo>MPv3{nJ6W^`oKeJvE>- z1Ru-wpso$caz5f&!}+*L8PH=C46VADh=Kqdv01uKe7wJ*m`1uRKrn{pqaVY~r^!<4 zkMsq2iPm0n93H=T;;f%BTD22CjS|$xa=e}%AklwDwA~fNCtm4c5}R~CJJIwr2fTLa zSu*#Sl10OcR$CI+H@P-cr4bp!aR(p-7PrALB+Jp*j@Qtwh^a;?dKfb0xit6F6(bW~@L384;YEJwn5wHb(A}xv0rnwO&lLjb`Hh{@QH+fE5 z^R(fLefhk`O*@h8q+P}{&IFoeBwhZ76+eHx9)N;^ep(uY*E-=X*?RAwvA6KW3qR-K z1;XC~>T$U=mao`xu?~eZtF#?4Io)on;u<(A1$aBzT3y>7FWo?p>nF5_8x@+}RZZ?k0ac7p!d=I=zVAv`M&$;Q>K%)QYyeS1 zHo!4~x(qzWI-}MVOV>0n_%+XN5)(rTCB}#&`t64XL#rWGt<^zV=k$TM77~sjjI3zFM*TSE0Y2W$G9H7<%lWk zH#Mtgq8K)_EAVt{DtX_Sd4GTYuSDKQM&7pq4~u)?U)uTp7ylkW5FDD3X>jMx9nU`~ zr}>YVhJg8G%DugNq9p@R7o{e}2;D}l`Th_89kt^R|2J&M_kZ~B9VP}{Z%-&#|H*+arZ<0TC1ouaIOb8T z%ln1Z_n9cSzC6rXDlRLv@Aq~4uI+Gb`!c(IzqE#NCd#cZui8G>m}z{BlcoK!n3R7j z+W05y`b@dlH2CzBJyED<%(PYLpNc|%B?|qsbq%d4^yuiav?{qQ_CGl+hQEIbUX`{gEk{+_e-VGB{iP`FuWnLWOz(1XR(|!@M%!-QrmR%T-xzIrkG9OyCFuRm zxGL!n|F+zo%_X_AK{ZAFSG_fg7^YtDF`!avuzQ}hR?BWyXX>i^= zY(8eMG#W;S7y{TZuA8+^z1!~b&IK?9FM`wNtDWPW3-%<4*7LmJ3HHfOP~nq%1bp`5 z_HOG5I|F4qfHYJt#;D!j1ut6XtwZ)GFt~*mJ6(RqV^4#Z_qaPT8J6!b#$(SVYcpX_ zJ@ydJ{ON7X^d*1%enh{&Qe4e*#nn8N9L<+y#$}33%cGUY-bgOwE8tIiZzQ*Y#j-aR zxA9PYOPCRMM$CVe19`L3k{FRFKNhp?$!rtgbOUp4U(y&gcX#q1&UqEWJ7Ttun+Js8ZRc%gM=!DSnZ4iG|u2qV8|4EH?AE~&MjL>gs z8^1GcsaJoKm@i|*fceRgeQVz%z}rOdX@`xE0|232mKk#c`7L;gY;i=lQn9W$%V8Si z`bjsS@?|9!_-+UO*KnH2W`0*8^Qn98#I<1-K{+>s$MoZ}^A71Mx9X~gMZpVrMLIgl zm+;Kbcgla)YW8Kp8D4iQF}X<=vWg>-R{7?epJj!W!ec2YZL($1VW62b(cpawscRm_ zvD0^FL6_gb+d|%qj~Tz;?T10v=l8qqyXY9U{Rzx~+im8}@v(P1WJ~;jUum#Bb{(i4 zuD}k9*^K4PxCtoqKd00FbPo*b*(7LxdgspV(DQ$FTjDS~;n)_qp)})TZ|BkOfGF7z z>eF9Tacl>PhUwqHDK&A-qPQ00WFiN_nLm0)) z9slI6tfSr8y9a3miCWfNqhgN{5M#>1$vNP+5g6lyWy@IncCVfPX7264Mfg==-ichg z5ea`*2Y|aYzr>sY#R`_!8B(nL1ZIe7K8PVd!!#?yG-J#(56X}|X2^sx#pyD|Q!-?C z88Vej?vONC4$gnRz%)Gr=cNSK<>M(JiywW#FrY$?_@0oQs$yg(pC@>RX z#Tc?u%w~<4&E7C%k{I$gLytYOrs}@KoCkkY06<-e%<|`L0ns!*&Eqg9$Mi9^=mc-J zk9HBs7d<0_OT@e2S@C)8b(h|0U>DvuxZOgtgn#bzd7v92IJE~l@rjZ6FC6k7uUqTE zA{1A_tE)%qx5OFTFGy6i)fMdl_T=$#IoUHz_GlNLS9Q|TyI&mhlQ3?mM+R~oN?w0M z*(rFZluF1*{Dd6kRn~re@apNyL;6=)t=A`78x3ckiX@6g@{De6=x%N3o!Zd5t06o7 zhipC?@j0s@oKgS%4qBx*`^UEPFMOf24@Bu|-ID3{tb|mFO!(UH!e$6+?JU#+GmE~i z^rSj7B<@w-4E84z33l9=rWq}6f){`N7-hpBBPMbimiUXB9j>hx!a#vi?y@^AiO`E) z*H|8ez5ISsqtBTPa=bF6<=&7RLDJ}qc3lp`3&tL#;tsxRV|o9H>HbqHh6Y@?U#{}3 z;&AkO%bj3WVv*oUc=;fc)FG94w8<)QrAy|(_??`zcK^9 zEV!Qr$H!a@;0r+pQ@H6!UDPtOc7bC3SmM5j&iHYeks_KJ6Z@l*Jrh;P0Pu6P`E_IM zWpk%|%VcrzqfVDCgT343T#Mo*&mPYuGX+d-)=F8@OaUWPh0Sj7bvipS+ufP9mRjTt z-q|J$G;BnhmuIMQHHuDR$G?A6mhxoMFG&X(tF240iwQ>2$=VcmWD#pq+?8cyW&(jF zU^ioJ3f+#iNpwTjCQ&V!n<>x&+iu62c-@LM33MCQBv37|#tLpdb_438b^Z16y88O~ zyQ>v@cKqKHpIgJ+0oAcsJfJK#TlbH_m)5bGC7$`p=A2DV{mojg{n39lJiPhcc7_JR zO!C^YYnR~N+4lA`!7~bVI(al?;z-Tg-xKJF{<`S3=2&H?heCrBM7FyF8jAHU6BRU8QZ0ENUg&=~3mR&62D(Ft{ZH^% z6;Aiz^2Bc(&Uixs3N~KC5_t}mI&Z@~`M78Rw)VRQuAB+5yn2VJOu`w7vCGz3FxIO$ zl~%M`r&Xokik*ZcMbM&j+Q_zmS4KqSibax@v61rvtZ~7{i86p*zifDED^)sLvz=&T z=*>vR)?|c{m6U(SRC%^O-Sh{Kn6B2q)9p2zNn2I*2yX+VlabVz<$JwWtDKxApoGZB zIDDePkdm%8Pct{EstA|IYTZ!UMiRm}7h(l*VVKGf#iqtDG@SB7>1w(bDHa#KQn4-L zu&{w-Ddk2-7-`TZ2dG#;*+DD2%)FIlgM8SI@-L&wB<6qpFxcvVs|3wjL$rWGOh5{4 z$IvrW1mJHw0WUN0Q8i3lW)Myek?M((ronjRa@B#M=cmE!Sfs&wgr=k_4a=17Y3i|1 z+1kfJw-@VP#`5mD3^EYCgR3ps;T}NvLnzcX6Vn0J&Dtp%|KzILp?D6NP~&mVsP*1N zwO$Up_ECQ@4MbX;-@a`mrz1R{_a@Zkj0T%UY-;pbmb_9_l%8!QTA_p%%QoQZ((geg9gGW9@)F9u(bSU8aUfF=pK1YoCNf1gv^v$d!s;PtqK-Us&uEiY2?d@`6%cjs6 zZzcvXQX~56IhZ)wfLyppEJ!#C`CwAkqmxSzS(|?{Rfs!PiuR_U55CCwm`{MJ3&N^R zDogENOUgI#IMh~J69%{AWnz`f)tv<x=@U!KxQCKn#-Jv69HWB+~}JeUB}ZsPLUd;jEySODp!yo`~ib6g^X@ z4CY&CFAAdDWeHx7P*xLQlMaA<_dH1ZZGh&7`dJuEkGTti&~r9|DI=eAqx6DLuBNiZ#^A^)C4X@! zw}zb@M-zwHamowcg=hA2d;4N52-<(0yFY@*b}PqWx-c@8ibEiIvrJ+`P~|le6rxYOa5+v~Rj_ z5HunV!KLxw0BDe}<7Lo_h2`U|qt9J=s40vry>9`|RiM=P&YUMgC_OOIu7{pP6_iNZ z5?hcO=lJDgI7thHHv<2?i%ArofI&Z8ich(;2b2JJqZ^a~lElrW(8;i=3`mix*BvV} z9?qNc&eAOUE=`JcwWD9kO$C48NZWakaBRvGj*DfOMQ9pp*QO>Z*u+q!s#StJu!;QhL%^4{`;PO-|3Ng^E)_46CT z`T`uh0@X*qJ|<;cS>u2416F-w{Suapcn!I)gKE)I$2aLH>hTvWSj{cG4=_Cpf&di zcTIE}@WJkfj3Iz3tK}|7H2pPbUs;IK5gF`3-;l5a2~+XI4L8O6Vr~K?v7nWI$}F;a%-|uWGNM5!#&^wQ9Zp zG$CaEM;b9asei~KelKXd&5Ib@P+G(=C{GI>TpI3~XJdGvk$7-eG8bLRL=O@rCX1|* z2}=W$!!nhy^IVz#CvEZT>Z)RIUUjk5(Uq+P0<97eH=D8dwBUaOkOU8dv=@Tw?zaOz z3__3PU@U?kIo(ShmU{Y5xEOg@0PJGgtV0cZG; z7hwiAkoduqNsz2^IK9UW;1M}#hD#Aye+w|6csowVS65pZ{l!lzbSnrl{Y7y1=uI?t zjZ}<&W6g}x^JIVG`5c}c<8-_dU09~&E{F~w+=OU(~PC-2rY?+Cd z*h;FK)TNP$&@jPvmQiy4NS?z@$gh$#_!2lmo}7~&!K!~T4wJ@+H84%wx`9bsXB5m&Ip=YU##9)OT=1V1m}pMxM4j>iW>;Y-_a zv*dc0F<|@Gj>c#FEXm&@&MG*2(DVJ+^)3%^=hc6{WlyG`72%2F_1yyrn4T|3*m07h zE>knv&|3@6E|M^6H#EZYMVVV$H4Q(p8jc>ex{gPn<=}(rLcE;;?LkC$7`Ee}7SMg! z7uf2)fMD;vAF})Y8btBJcpE-m^*}DRU%|9CQ<9EzCUCCzhbxcGsUQ1P(`gNc{3&6` zOwEM>{41(%YcYAx^&?=@u zgfPSTkW3~#5Y;&=(vfz)&i1x@E)5;KS66>qGjDtQoM83Yg^0L+t}wELd+gAy z!)Vv=QQHI?dA)A{B}KRqT)Of@Y@nKpC9e*P(kX#k;9MRd65D*l>W`cv?~$roMwmPTzPfykou>s(i}FWdKI0QVECv@GcI$+&jJGzBTQjy(CW^iU0>1`@w$&I}Hwc z>HTAo4$ai%holaAVdxmBFA6%nNM-Fcn*!451-O6F9y9g5>?%+wN)bLdyR4 z@4pc50(cI|50AYXM8n_(PRx^lx5ZwA*4_#_y(in-?k#x2eFDacw{VDVHG>0odjA$y zaLa>q2=*vCm$K$B9#R*u>98ng@sQaoW7a;z2SDUNIQp zqzP`+pm}G(;qBe#dJre}9WAW<>S{1#k6=SRWzX3|VZqMZKmlN}!{2tE&bb>F!Go|M zCmuA5p`N)f184^OD)yaKcv}`-0OrjMJE&m|ITMb=@y2!}&!UqrIyuXY6=GHn;@} z*U{7!L-PgqSad&abvMr1GtOSntUcp_`=UB)FK~PcW7?kmdZvwr=xfp4c>zGi&X7IA zJ}eDz5lNa3dGK!TIwXW)8Jl@5EhtFIW+?cPwm3B==xcwj-}!sG0ztYy=fP6&^-&Rg zE?33pye*IV{-d>XpBAF%s91Ua`gDifNVod>{g%fgSXa^1eP~=yq=}04CjT`@>IJ>} z@%vTraOJUY#f-r9d&mYqroyyOh{4yKeana5iai3CiDTa(RK$kEV$z3hI4tuWQonar zY+7cFOOAiUlzLti98eOG`vWJ!MN z!9_;7w#;F%pk*_o$G9m#3wu)HZ-XFc@AcbVzukYm*R-Qr-KHyfuYSApBfsPIW@Syq z^ew!Nqr?G~$fQo3gJ?*Ox)|i*E|8bdegw;&vvbHY0!{Oapu-LVc{lIP&8xOPTer8} zX)|z&bkT6wMbP!wd@$Drx9f8d#7x6s2d$v1HR2D0i{9b=gWjQ3`FX<277GL$MVN8Vqk$9&wU& z2=`x$c9BJMz_h(R$R|Uge{=3_Z`Wr7+Lk-)TxMI<-`jL=_1Zr+S>Sz`tka;|JJpwl z(`M7#Zw9Boz1s)B+t3y8km^*{j1cF@WwU>;8iNeTrsjlb?OdNgNT&PO)FxblZ@iaY zUk2VoHx&dI&g)A--CqB?bm(tfT;Lpsy{KOMd(&p{LVJpP(CG{M=>uLQ#J#9^c7#NN zwEB*tw!xF2+k0|fC+|IJHoaF+#1qpeWM8ayAHoNnVP7pdl4us%Bwk>05uX zDqpF^JOx1&>{o+?X{D~&&|~FNw9?8{mVy^YgPZ{YGQaP4?FyuCvAW_bPQyGlTd|i# z8H9<;=atg?$JJH-8sN5#)2c3MSb!#*TEh)FC_1ZFOo_ETA&&y|r+QH~H$>Tk z;R=n`2A$#dc2+B3)#PXfTY)@dW+ibeIm)DC=xOGv=)uJD1U731Q!-^pgXbt0f@@bC zq&ozRw+Oc4UQPv1)9i6Lp1EqaFLX-|f^P5NzLeqi4w}KPC-gp_X6^-OHY$ICvd11n z;GvWfn_kU&kEt$s&@YiXFT7ZljWGBZN^qkTOpjII?OnvRxPQD(Fb|L8AUzKo891|c zny$m8kk)CYO@}o`%c60Tf-ACPk6n;6Z+%S8gHCULKkhY~bL!=J;AC)Cb$WAjhuQ6) z2TttxbCBpPwzu68oXyE#uKa(aTCOY4rQ^zxa$DJ1NilF!d6)IW@FbD z220Hc@##$H$4#_d$eNoA30&4EPtSghCpywC1;fF4xX`OZ!B&8WSzJ@1h6(`lZ9sh_@c<>(y#jdJ+Ts)SthCOJ*gw~2aFftG)uN5Y2Fi~;rn z-CZNKiE5?hTOE^XNVj~-movQdN}?4qkdP~y(`W>nD0178y8HaTe;= zNd0=Kex0jdU#Va8V@K!R(V2I2?j4^a=qGhU_aNT?touHBf^q-2=e8J9FTkp9SDHHVJB9+qb&( zL^7ybm)VLawJsdq`t}PWK(Y@g-rG@%ugU}$ zxyW^k&3LoDWIgJ&_rQINIij2ij?FQBqE?O)2?3UUSnHRgf54+9m8Nn0HCQeKu$6JN z*bcv2$m|dIIgl${%<~u~izz z?)tP~!Bp8(HkH~8UtkfEOc0Wy=E{@7ji-$oGMA2^GHZX+!4c>?ZKs9=eb5w%0inM; z@&~-_h|AW78S-Bi{6p#{xdql$Rj%8-FkT6mAw4VG+xcs0r_aSUt6w2w03pwT>tC z;iqT8(}G+2{5qA1*##Pd)3nb>G%16qmRnliO$;9>x!1sDE1~Hy*KJJsTohtfd0LBo4m}@1-9rXXxQ5gb|AYX9CA=xsnd1rH{qjm9<|w&9LdL9F_viz@=&GAa<}HGG!vc zCP9DNmZLrcPd;8RGw_2@2~MI1O@mC|Lf8W3S5+(_Yti64bQ^{nTtt?-|7DcVL)84W z+up!XK52~JksjWq)1*SMV^hWZOjafP4r3vj9Z#s&@CTLiz+^?N<|kF(@u;hT{zYLk zfX6mhzYS_Qi^N;8Tko0sk(GNv5SOu(DZObMp0=z(P89Gb()2zDhxj`X^&wOeo8>ydTBaLbfW)N!Tlv({O zsFa6h7gfJDSxd<^z7Bt8J&}mtirY*WBDqP@J%(Y})W;X;jVD=ik1`^l1xyz2(KFpA; zhAhetq}DXRetfkA^dsBUue{#GS`({4tN^jp#Hxa2^gd3PubX*>3dt`LBvP0etv`tn zhN~b$0Emi0dW_|x{@?R6IH zad2mSY)|^U4CIgdX+QPlhjfD(h`;yae(a0it8$yg*|(%NPk55fvCZIOj!l1i1)Qo6 z!weo7`-q~Efu4BZodoE9UVIbE4(QFm__T$;dS6Tbf)7LMb?f)1<`tG7qR>-jDutuJPm&4a1u*GGTeVOV}0>I@bwRP;u$KxVWo4k{@PXG)8fn8ucS&}{GR zOuYN^?QPIPn77<&r01~%KwFx$+@*9SdQMr+F-uLX(Aqc*WUSX4eJB*kQfMfh*FllY zMC4&zWG*6G3&bT+&s-OQ(OaYSy$d-Y?Y$j$-n#JEx&96M7{AG`lv;mV-f9^bRY+&G z75}ysP_B`5W_xW?oUzC2H^AeX)fY$eu5acr{U+#aYqareO563*=JU{UjbY6_o+^u^x8@l zJf@*5x6ZpUNb?8BA|-#2L(qg94L!C`a5rC84k4wEfT;z74V@~W_NeJK!5gBjrKZ+i z83Y%oZy^aM=$tG7!bO@ADN?Rb8*TF5yQa9$0qaM=Gpbo5?M^U|)PuTZ_%4ft)_f(4 z@*-`*?BPWwG85~UtfM1*%7TFiH$(76Qe$p~_gS*XRq&6MHspV6+MrX{HX^@KBXScp zQbR~)EB2jn)j?Zcsg+p>Q|9Y!{G`aW7%It6X5Lm#ctQ)y0E(ahw3U><)Q>_(j-n)$ zz}@m!p?@A7g+;nh$&Zc@q`vfhD)zv7(3T&56Tt_R5OG*o4sP3ks}K%y1@Kd%A)l}z z5_xE1eOVtg0DgZCRty$?j?rI;?b@+ov}7svml!q71`M%_PB%TLT!9`zl@z7qF}d)p zOMYr6A7J94Oe(l3zs4JU#>eSN5`D)f4Y5WV<8(d`!B%ob%%Tv$i1k8jn_OhetE+@C z0rIb-VuqHtj@O?B+Qh9KU!c2^Ss)-cVf9y5sU=|mBItid49TA#GDY(JCDRnp&zYhW ze#-QY^!jyGDmk8|sGH`{s-Rt>oHUR_ zhngE07HCTmEtwqGi#%fpmLnFsT+o?X(AX64XD-&Sy*NbsD4ted3C9asP0_}}E@7Nu zhh!qXIIDlDPOVg@W~!SlK^&Nxg=pOr#dMf@WP&Qg67wT9Vp0%wauy8KdKCCZ>Mc?J z5T8RfKeHS(iR0N=^W1oI1iUhq1)0F4M(hj#3ciN+%Am^HxK~RNO?fWfqM7_dNcXZ! zX51!`uat1yMTNw{9?(xE(8+^Pt3HEM&h726Jq>^7QTz^d@__g1&(GYDKru+MC8hk` zq0oA=^QT6B;Z9(F=B8!=OTviS9g05Tos@Yyv*GLzX&q%7hqhy&g-Y^rxAK!B=^$G&l`T&IUqTa8B(Wu1Ikig|!PKF*6e{ zL}Gurcy31R5<%@EgW7F%O>#F=RBd7qzT6^wD>f~GQ&%WiI7-iJp{b1(hx0M4BU&4t z62vBqDo8=*?#-&Zmk1HGipB=Laws(kS{h>ZWes*0Yj&GiU>!DEWpjyLRoX}I#f~V% zGwLtdG$Y?0R^3imO>8K|Omqig=w-e}zYKry)*(bsxL?vBRGYva>Kh!V`Pv1Rss$Dr z3k-LcvBvO7m2~#3BC=PaH5T;>Z5Xj!?yd^7RYCKrftozDP2v zNiw1&EP_FYYfR1s=;cE^xjfIOC_7Z>q)Zcdeu6x_&SkNpdb>1ZG@Ip(uGr=N#9=WZmrA#L=7x$%i=)SrS^AsSVCIXfU|%& zT-V}S56q!}^KEyVO5nJuFZs>;65g~golSjViPVcST^cYoInJCIBxk-%Cg|({95{oN zR;KvC*^6s?yj$1f1bXb>cFYZ5&Wkb*8oQ&;S;=VPLjpgW18F|VJI~oE$0P@hLtY*XN!277T zeqtyx30B=>&{qM2XWc{2DvuT~O81ai#;2At1ANzAs`Y`k%-|U;&7zYi!PkGF_j~-2 zjAD04)Rj(QDAa2&vsf!xD(#afKg^bS!6)veVBdY&Qnt)uKU#Txt2^fKK?vY`f+*v= z2;RVaFz?UiVeuvr9!UA*U_NnWncfC>6t=4y_1@I@$vsdE>PDOpD+J$?n_45nkyqPtl6hCB6YbFzzlWS)Z z7ZglnveN$T*3JA8HXz)7+)k zqsWquPF3ru)<4V*&^W0Hm3PwbBD&()gvZiRuHP|lmf+^b-XxUGCi7zHn|^{y7Z9k| z8k}MtAJDV9_OHE+SOlQOmt(Yz-yC#G==@Fw+um%k_qg>YrdaK!lgaXXsS=7!0MCbju!vV7qgxHh+#Pm);Im4Q?2D+{|NyoP}uE*i_Q zS-b_-CNw6HuhHM&4+EFs$7cZu+6Oew?v;vT*D{6n7@^`oKCJA0MC*XH; z9_65K*#MQ!IB(?0W74a0Fi|jG=-fqqPMck?7Z03CScEOmr6McTVK84+2LSuWLU|nI zVCh95Z#NTSGqSoJkDK1}MsquRm;)_c>)*5)1?!FuYX&KC7;e7A8Q$ zBNcDA+tpYxf?|K>Zy)8&+n&Twep$E)p4eKu5HSIbLcDMbrAz>;Kvci5%mL=nD88aI zSaJOoGBX2cFi8>^t>F<&=Ac69C`XyzeI|l$_#E>7$9w58FdAZ=W5qmHM}p`aeRs=8 zMBR)-^!2BNHB1yk1BDy+*pjqHQ}^~y2d(C?-`H`FCQbLKeKgsB@%mTrx9Qyy#^hWX zxCm6YCKs@7qlL2)FJ`x0EXWfj^?kdn#*RA(Ti*>YcURu+HoxFwmo#^_vNbBMc#A@p zyg(?>HKyS0PqJ_^i^jQfVXE5YW`pjqnGJS_9qlmI zUY|S_03%@GZFq1LHs7UF8Z4!5e2B=D;`o?ob3Xv#z2v5*vozMs9I1b~& z@zY>x9&zNC#E*i>u{*V#q6lXseprnv(jtsyd~U^8j|_8v4W06LxP+i>8y1j2QCe)c z+@*m4Wk`bsOM_HBf#3dVduMQTbbELk9>OsyUyf+l-409JahMlR<%!&OJWqH~*>u0C zEMB;4EcB(Z5^p+)2xHJ1B;RV0^r{vzV-P`YCmZ{Vm7lD=v{d%>CR&J^6GAe^3AnLn z8x<QEA%XkSjN3pCJ#5riETIYM3e`^nRMbD2AA4pT-HpyRWHKSp+?J!V6;VG z6#_0%GGtgd-{Flo&&F{4#RUts37ql)r4$VlmT$f*+u5_fag zE;oOVE7`1uB_(og^(>Xs_tqFB*zRtNw#rF=FWce5>ARUkW}RA2=op1N(&;i-$8yi} z%fWUoK^!s36wTxT8WAr-1EYEH;pMO5+7HhNH4d<=aZyRd#?lnw>gzjy zt*+xctxkK-scJe3mv2c^ko2|0T>6xUQ{);&@f`aw2-O`H(; zj6>cOynzs{Q4gNNABpRLUA5=<&MlzQNu48u&~SAu4A(;B;dI%NvhlIC6BAQAQ3zj^ zvBo9~O%Dme@YgX=^(JwgJmkp{RK}No@6Ob7mf-8f>oq>z6Jy^fX5lAuAOj5lpI!hz_A=QbPYI5Y?B=z(fd+IY@4C|jJPcPFG7=4mMMEa<(U9GZ4Y}Kz zNXs9(aZVAXcY8aQ&Hy&$-fPBxZD^1@vBa0~S>1+4HVg5Y_og>}VP90=(TykbjSZ@O zO~+O-0_O&Y;cz=^gTW0$ydX#_#|hoD6qNMyHRe*F+e+5B+uK{8 z7lf-4qCvceBCjo>Sc=bo<1#Ic;xb744rs{jwqEg*WgLQD3w(FgH=7Ajr6`kFuQY<8 zxVkEZK_IEdQ-n5-771sl#)|2Hcf%hjGo!354kFojwv^hy!eEM~Ng5ufeJ2jH6W#*t zZ-T>upNN2JtHe%%xE&Q?9F5_Dt>EsgiG6gMZrXQt0qoZS?Ymxo{Grx%@g^VUQxTc= z+nrCz(YhQJu*7N3Sgf?fqmf~F&xCgXj)G(UpXsz2jzb__P2%^uMO;7sfdM+k$a6V+A zz?bk~gpH!X5Nt(%+q?tF*@9mBZj5XbXF0oIBhPn72!2i!N3NQ{0pEGRb2?1M73l(~(8%*x z?5$XIVN(yf0E%sy+4fssgB}9z2C|icTe#fgh1}zn3n1)&3*0Z$FwVJcH3y5vuEf%H zAZS)2L1bEyS$kUF?aNJezW--*pTIYD1UCvW-Wgk#V@lR@X4 z0{*!S7^4(_=lkFPA5_2+1O8l4$4XwE6@U&yefO7=g>p!^Jq zH*YtoC1p~5G8$`j#VXk7fYEe#1d#STsx%rKyQx-R%&rG~C2Sh9e$A}&m8MS|~jHLb<+Sl6lUhE8=&#l)L*4EFa!vHkuFoz!9l z{G~Xz#phoc$2ffdHGZe^^KZnb{Qg_{4FT&nLYR$n0TUHw<8hkHpGBxbixU;Eex3-^ zHu@ufvW?T6kL52JRmi_5@`s4YMN%0d!Y7=*ClT!=enGoqCTvMhg;`xp$zp0|oYJRk zfb3KrB~+|vkL*?vif~ao7;#*Sv{+|)SCMO^CHV52t(t@i`;e_L5!%cr~x+7;P)sO|*wL z2^j0FkvESPpvP!osYOwf;NdYJBsCQEJ(iK6sL729&zrI_&WGHyIKqY_v|IJYWk%B7 ztEX7(8aGT}ucUB|C!%#zVGazQsQVKXU`m(6@>2V50W9ql-L!&=fzvl6$XW?_LSu@5 zB}`ZTWCi!4B6L$`z=k;jt;<7KdF0I}Hof@>fn7XU4tq13rG^_C0aeowZC)Bi7;=EKz+g&i z`V8Vx0A)gVe#)PHBzqkOnecM9<%VW|*XITIJeXNq_uUiHaFFwr2|Ald!Y8?Hz#$-E3?UN0`)H(*xI!z>DsYzcsWIEmAA z-Q7S*{7YAa(gh)A%c1Av^#Fg`JcF@+O)DEC{4=7hMhL7bCG&Ydc(oh6(AsUP(_@c3 z7RGPGclj4slc1LZsbEb*H__P=S$$Kn#d(RgID|QBHxImqM^nH!SXXm-FumT(jv9Ui zYqsu*9(-ocqdb}~V%~qVbW8ewww`bLZnGjg-n#dE{lHu z1lFXDK)Thl#jN;lZj3%amu}Y8r~$HZzW@3EMP#F_mqh5|?-XWDMKp1LZrJLPumf!M zG{aNU?i!B~C{!ZgB=*W$%)$g^>w00ypbysnShv=N&_V^tO7RbghckT&%!9@CF3v^ zw%M>r01^mOviDHqD;fJ)_z97)Uot0Cx6yjHe$@;Iz> zX0kzdOVr+`n5R+=44=z;Vc(7%q3iYR#}#KsqkLQt!tBcWp^Kc{J0 zBx%8QJh_TO{}OODR}uJ5h`*lcU;D2C8d}G*hvZW<`+o^Rpic?_GiNwyd88sTStXQJrpoXjY=kvSCP@BSD+tI&*%e)>Ps( z#Un~sM(nPD@LfMzaL-d5wau#upRUPTMhyYPZdxXmVfbyhjuC|FNz)7d7Khd$S*H9FKEU z>N}w8SC*!*4+j_ZvL3Nb2M261RBvb-(k(VgOD}QvWn%XkU|)^Id`JOp2Ow7xkUc?) zd0rEgcFW9mSzsKm(^+2~<(LItnlp za@9V=M$mp1z??BZ=b$o7-k!>ThpV;NQZ(ZU<;uTx%ng7KaY*7319}DM+YR266AjV3 zP#&X`HocwU8K%v!sv6t?KwfU+kF;CA*Zo-y|JNp&~Jq=~19|S=nF&59vdL>nVtPe0AB84i* zy1jDin3HW3nh{Apnu2i01FB)da_|7h^5qEpK@|+WBPEEL3dT?s=3*9fgae=iZKe`( zH!Kyi?OmhH@z7wZmm+j4>R7Ys)s;I_4w71n67!KS7mu=Zv9q|&xeEG;2~YqS4ghPT4w$8Uh&C3ev zhhXz?fX2nSP#gDXBp%~66>Y?3+BN!&owHP7qwei2H7`5SsU{4624f@`yyIY5&&2Kr zcXy7_BU3AtE`}5@IPvc9dzX`7zonzSri{jdPlNWSx&>ys-YMc#%$mU|o3w&c>e8!V zgXP178KyV>g=radP{;12(go4X&bS)(9>140#w*+Qt2&HbrUu3AFAeUC`aYShzft?@ zc*cot^8WCc5Jse)_hcbO>rIfbahoK$?8d67PRJ} zs;;i;YBG9%qIzL;A(dT7!Ci#ah4i{Er1f1Wm1K3HE(_TE-JlERJS-gf-XPfboP~Jt z(|i@Wz*wu?wGZyUQ35O6Iia~8;uE09jNy%Se9+j*C`o~1XxAGfbf8Q;_@n2#0^_P@O8ll8LrylwKGA&Ox+cw2z^~wl&g{rU8!lk)pj|uk(Sv)GJHn>_0+!c z977m?AApGM-yU>YKN<=sN2?n2J=9J>nURuNcHg4r1NYk2#2u z^1gnIKBJQqr56sY7W#!|F(3hv5yr=gEg)ON@h?}9PW<>i$G^mfOcZ&jk}!!-gr@W& zMuyepv2JN(^IbE=;M3-~3~?$3SkCF^#ZH6&PLbg3v`~w>p*xrC{YGEL9 ztuZq=ha?bhXv2%3&6{|=1Bq*YtXxWp@v{C8TX-9QHX`(PuAZ!umef>ff~Mnpsa;3E zNv&%(P=hh7T0SUuIi>02*~pqZ_`bp0WJNQh>;M7^YVc&jCymiN_yL?1EPIqp^ANug zDiC}@pj-0@n(o!in6|lmedZSE`~ZDw*1jARWG*N)F|!&?%C-m z;m_FFF(==&fc(GT`pIX1!=}T&Qh`4`T0Z);(`g+oA3b^UWazNZA}ydrmf7^KoTmE*s=0E!rsEE_T1Q8NqoZN#`=9@Rr|*CMpIiU$um0}8 z{fD2o{@dUE-Oy=bDLatxYM|Tv@X3=Qd>$BGFq1-qVc{Pg?YM)V4!!nH|LEwh3U&uS z-JxL-QF{QSeC0GhKjt3&`ijQE>&3iiJU$EX`gb`-MC0YSNHbULwg{An7t12x3_m0W za*)wCy4HEcPxys@IW}J(bLO1D)dSLu!(yCHcph9jzwP+lyLhAS-dU}3UK~)IQJqXZ z;KLwW#r(phMacu*8kPm6+BH7CWO^kUlX*K^rmpk&#S;f_D6euC3Sk+`Jb8wdOEtVn zfN%|-*Wh^=wM({wpzL7cO``mLj%Q&OjticVqlrNV$o*7*@iKMcyWEIo*HgYxlEJ;< z)m1XMGrYQTlfmw=PvQutL8_wmNJXH9-MuScy}8oS{n>B*tUOJ6p!Dl@5CpAm-(8zh zjitQ?syNty{m+wPzjzGV{mySUL_lK}=8Yt66g-_R>5Cbc^j$%7H(cI6X*X_pfYH6a`C+q5EyvZgvKK^Dnuqn{<*imd z+$fD7AM@&Ffx8slPC>XGT&_SL&j`veh-Pk?!Gnq1M5ARC7g3VSO$Myc^mP%APlLg5 zHR2~x@;RspyJCyzc;P?|Uel6^Oe5EakxW_Jmt81-y-7x43=g=I2A<9+lbCSo8NiM= z!lK~wMbRkI#v)xbPU3VF#yWAYv50wymp_CyhngE<-Uu6`<%!@8#nv^Ooi1GM_XiyC zHMqyi@|6spm|&~W&g)Nj%nRNyhj5S${nB?p7fd-Ixl1Q|uYOD(bb21f=mA^-rkG)~ zZ4_UBZXrldttqS~Se@|V#-;VGzHreuS@?htfo8ghT8s0Xm4bX|I_R$BZ5cT~= zj0kf;b&5eW9Pr`V@q%Z+Qil4Zt?m$sxTjx+!tzR3pS2evid|)hKqD23Esd17$~LSL zURou1w%{ZFx5qqqSa4yZo22|=0S>vC(se3-)bRtW7Pa79L+}>mk1+?x%Uog$an-hE zQSj=@+eOC1Vn2TcCWY`m$}W+_PpS|I87!$yx4AivC%Z)7X_TE*Oz(+fc8WH0ITwU z-1T}&?6xeH8P~%G9kI|zAOM{J(VInvKl*DL=O_t+D^ySEZu zT|c9Gg#)=G7cyMEBz^37S@0<Gvha4QJ9m9b0sTj5&jgMM>S$q;O+0 zTCVA{Wc0yDC8#Fg+Q93J8>+)GQWP*~soacE6#-@eXEM;Qf_4M0810vFxx8wB0c+iqb@>eBf@Vb~br;01wqH!m8}QK?$b;bS{B43BD8)}C z(x5P4R5=n*OwOe`R=Et4C++V!m1ldIHa>G0oC$KK;qznl8HSjDGi!t@Xn$V>?W-VY z);L|f%Y=oSBeP$TWiu`htYu)Ga!U6U7Z47UPgjPRqsY}L0N?*U^w-0 zdEsD7x%w4{i=(5@lC)Te7;bvGA8G?@XXhpFITl~_{A?(8@~U=F9jiiN@OGc^@i#K zate6a>hk$YBL`h}+IRVUb$QF&en&^sEPb2Ys&B?G|Fv$$FaOt?Ds#A2Qx1SlI66Y; z?A7I(ku{5d`!_c!?wqeL?B5uL{qg3)%>KfKX>FN*Y?S#YH)$Y2WnNDBbhWn7KQRjZ z)AuNJzP`vmHH!Sz^+opA7W6A!(69bEp_ub*A%lMYe;Py}&H3e)a5LHJv_G9MxAYqQ z1Gz?%NQV8vzok7NkJAjGyJRqp>oO|^)5yf-)YQ9w*iQZTe<5I`<@qIo|5|Hy=(9*s zB3X2m#(XB@uW|2p6n%K!i zpk3LlT-&VFn!KDKw-daW^OI70Fi0mtkIIOZ1pFz8^)K_~Co%wQqWq-hb{z{Z_56U2@GsQZm7lJ{Y!l87_ zwnGMv;FfM%G$oCzM=uUvKRi0>9UVPOlarWF3*7f%mZfixj(R%%94y%Knmn7*Pe$+7 z)KbYXnUL3pOM*DfIn0DQVOyPcmtU+dO$?w$yWL)`Y))tL!-_G=L0dJ@C}arn4_k77 zEJ?5m89B^pT3>I4WV12c$uN~{lx4y)z-u!HxLa{aNj5KEEIHbutff~?87E-tQYmo=H! zCYXndyhv+`t&Nza>FL^{CTYRXD#aInGcY%)hGsl2g=Rb+q3gGWc(2@@t+h;e4FwtjIZvk5P1z8Nc<%!^rwAK5k)1k0RRihryqfF&%53sHSxT z4=QDim(M{HBPK442s?ggxs#xO^Y2^i_BOgPXU=uykJl}u>zn=A*esX6?1qbj!D1ib zW4A6uU zOi+7|&l_g!X(YS{!7qp{PuSTqoahwYngn)=-D(OneK8UKi}2*L7}PDpm_E>s*-S4& zm}4crbb-h7R#r+8M^bKovcb}FYuFRh&!7S2w+?~n08cs?-Ba&rClfxE*(_n47IDvo zH#3{-mtw2B-+QIs>U0O@b`DBal}p6?6sJaHAzG%b>+0?%-A|3X$)?}#M_o^sExWx) zCzn>cA^E-e@}sV?+upw+-QDXxRE_NDh<(&Gw#8dACO|dR^7=b}!zfYu!^6R+cZY-Su+{!# zrzY~=9z@Cpq9)$@CW02}Guenc_pC-b&2K^db#-ZhQZ@Ehps=bMj{6##eTh{W*R9{V zzUtpm#eDKXRsT+Zsp^>~O^PynMuGa5O8uFU90^SWuI=_j%iMHqDNzmlvp!RrO`;^s z-pRYZJ{eHmUW)*1X?waTWi_s_qgdqHAhFklTP4$|{Rk<9PO_?zR_)&T#E@2DGJbaU zgX`?JVUGp1HSOIsYC5<{O>zj{ubw-f$k&QVwQC>PGacT4TGdp3CseKI?pAyIL7ly( zYNOw!%K6#Zbqgt2U+Fc=XK&A_>Hp*HO`F^}j)dWOzCOQVrcFcLL;(bblxEmq5grat zX*iTP6eSS@%{G9-pv6Wvrn@nR2G|fO*^*`XzK`{7$=7-%uW3v26|t7X8@n6Y-$4G7 z_sy)c8$Bd{<=uE3GAB`8XI52KR%TY_x&Kj15&=bc?G>+A_Q3W`to_}CJbp4W$p4)- z?=xJO!24`aZ#0S_F2w(ECG%?Tzlu*R;{R~ii9fvm zn2&e!V}4Mx4<2xFqnXhf&E9+McU+t!j{uqc9wy6wRWJ2ZUlH;^K~ZJ$S4HM*?w|bz zlUK62;XqFPh^rs;ft5kNKErbTQf-gDASvpLS%HyjrVsp^ZYS6GOa`6nTs{~68v5Zl z)0u+4=sYXAJov@zNVWz2+3dz)IFnl@w}oaiCL)HYT69YF;17#9h{PX06iu6{=Ob69 zh?TZ~p}|2ERm8u1w2m3I{XJFAc8@Dc$&B7MjM9yb&@VIzc*9^T10Q_~8A=P&ZPC$# z0I&r<7BfX;FxdMP@x#8MeFoU_daddZUy%% z6qtp6YAn00Lki#r$ox(=a}s!Ak#X54)W>|G;II|~(Zbu=%!juS7%iBEl0g)wL%+z# z>=Wwa^x)oWKh75dFH=Flg2PM798mmCv-r4^u=KE@sjt(6d#}HiDK@%qv5_wJ>CBRU z;x!hVFnz-O4nOpa!Z+Zrrx%y zmw#0izh&6pyvc>ys@F38Eq>LHv*{au8v*ytc%Q*-Y#cny@ZNmc9NztEEgIX##`KWU zz4?kB-J37-(Fy0oBJmYIG&51KFOjJo%n57^TR_>a6u6<`Tdi6@@hIag?V$;^dM>55 zxPU1e8(^n8mG@XNlsm>y?(n|xZYqI@7so=&xf^l?qx!TgKAoNUbk;lcQ{aVvBDy`- zcxhHxq{rFxv8-x5%2qU%%|D&{@U(Zxhc%7-&cT{q8&}Qrt2+ILnQoY?dI9ST0Vx9) zK}K@2KP>pN9E=9q%q1QkEE~43rfpC>)HcBz8=bKTy##=*WuTzBt(kgsRGtt}y#>-9LSmVoaKqp-*8l|Rf@;r$1M!`DgI5WV)}RgKyyq1E>bqPptHs|hdiVc6U|yW^p>oh1 zs6X^X#H&mC2H}T&VL|JM{d8ZYUy8D$yJVaii7H_TdPk#7{wIvnz#MdcZl{^!&3;<- z4*e9w4?trOKLC%b@dFTfd29~mvcXw+X?~R&+jK2c%=mC+=y&7nO1fh3?!h=2@{c1u zHL8yV{Zj+HI{WRaclfuM38z|DStczrAcMYKz2CP%WRB-a<2uQ0thoMIr?M_jUDrt? zuP2PgIB2d{^mQ-n>sTg#nHlNEn(j&9v!3Zxq{Qhas zpiXR(SGFdint3h4sxRY}UjgiKE{2l}g#KP%()d72OCQ;Pt?Rs&I=U;v)3*gXp1p5je51 zHRFxe2p+9Zvv0M3M@`=i%?HGK9I}If4bR|=PO{lf1~$Hc$y<;f+YuuiZJQr+x$dXf4xgwKhM2i}Tr(*~a5NNKaI{eyevzuVqp6AiGL| zGbO--_Id$B&pheI201)6vtsoIST`C;j7APNHe4vy$XC{X$faJ_sjh0pxJ@K84IGFb z;U!&k*eC!U47p`2fO7_k>I7pQrwF6P9(?R$kDWOADC?nJtjZX{FlV#&``)9qS~ly* z4{sJ^tkt}JHluviX6EblYqjIK3b$e=Z90sc3rikb?BsKL`?-u;Xsn&--#8uxvqL%A zJHFJ(jT+E@vpkct+wFV({%p=OGdY)P{l|)OuFT^6c<&_hW^;LC)C`)#|-^w?3P5c0{$hck*OGowFla zs4dkOi&n?%kUEd``<?ey7K3MR|*cbaJ8lSW({DQL)~meXlU@?7+I-@#Bl#qP(+XJIQLtPp~2a zIXkvqueX?|W<2lg*t(B(PWHP+d1uGwc}s`XJ3F?;rAJSAoua(6V|(<(@y_B>4iA2q z7R=hC{gbR9=j^yxufNdi&*m(cu^M}{+s*HPe{a8_^~d^){l(dw1uLf3ulE;ba~8CI zoIT1Oo6R|k(cWXdrJgsNvtS>19o8*q{roINU0Uj$JU*NA!tA-X@Yth|<%v)1?O&Y9 zdAxI+otPoL-u|W8Q=-0bVj+k5o8FlsR_A#A#ED0b=d)fYWH=VWF79OFR~YHv(iz>wsW2%ooTY`r`^G2bo(d@V3n-E z)m_28$aHmQ<}n<&nZDnOvLv=MmDiqsjAOPW=Pj>P!esEW$8SPnV5Tw)E5b8$n zl`q{E#ten4uktt;3a^1hKFa)T`@|y&tr76<(~Dr6k5Qi?KnVFwrMS#UYi;5s6I4uLp58 z8R65YN<<;b8W!p_-8<}a%G*Mlc?~Kl)Je`KdBkVNeR62 z(BbJZk~#Mb8JfNzP5+FBqcm_i*7Do)lyZ#cXP^6Ng+}>YXFKDk$sBshLg(bTsHU4~h{|P0M4!ojlYtl}Au89~QXHgaDw%fS7&|8qHIuSsPr9;nt(r|fo%Lrs z^!B(j$2{hvXm03*`*W&v;?AKy#825=5JeadFl4L;zQO#k8>2^5Ro$Fu0pet67mbQQ z6|ymU8X6Qc$@@4$EMS1;T$FW#Nf!9 z7Cbx6@GHi`&9Mp78E0?uJk9JyQI=BhQfr>H=2@zwxTe2BErvO zz&9Mq)`_2UC|g%tfbV2xJGc4d0Rz#M4D>B0@Psl)k+SGj&yOLJ9k_f8>FF@%@@<-> zOxfxTtp}5Tk%@pHsrb{J)6!lFWz;f*8xchi_zF>jMe(QHp9 z^Ks@Vbc@DRD$Q>XTC81#$b^3C?=bEddU=~3d%kt=_UrdNO(QG`Bg zxt5L4=iu2GLN8gaRYT~O0Ycw^P`(I#6XG-?^d-x+B80wWxz-5lgNPt8rhVITtpuU(K#Vo~`eVzr z#t8kya;+Ww`enD%e6lIHG*#e_^$~5)N-x=zJ=h=0Q@R~KL_wtsNmN7679Es zFVTMM4-)OS{wUFY>rWExx84?L|F`#l1lIrU*8=JP_OBA>w|*mWe(R3J`K{kdoZtGL z#QCjvCC+cXCvblEH@~!8YZ;+mS*~>kA!zh0Lho3vbq*nD?E*s3+C_w*wMz&=YmXxY ztv!Jdw6=;6w00RGK)@P8FzhP`!C;?6=+BmGT}7P1YP*IIthT3d)&V`&F%8y#-7^Ti zELP0jJFv3AYUA#2VGg^P25YQ`(5Jm9zp{^Qqt zb=|%5dA_>-^9Ous-M#Y#zO?S$`ZHfxckjrBb@$HK_`>>+f5lbxpFiYF>h7Jdt0naf zwWPkym(+j!&b4+e@}ED#W%VC_@4D7L_7N7xilUT5C}@HYs4U$3(t$aQx2 zw}8kG-?gR=*@6J1|8>i94^j+ryRq>I57!8w*Bz$};*S2;OGbu&&>6O3Z--}iO=fsx zW5aqxWk8=s@cm_@f`8N%@UTRX;T0nT)fvE#3w-{R@p)`~hC>N6ykTU2*wGof1J=dR zssDA`$nd<*Fz|Q>Uo}2g^=H}t*NxAy{)~1ua3VmS&lq_wV#-@aO4piB$?7&e_{$Gm z%lofe7WvEf0eHzGfB7*0uUX`8-$UTPUa`nuegxpl7Wv>70Iyi&gO>sLltu2o|1StZ z9e3Yi~Qw>0NjSJKS79>dW*wY>K7b-*&_dr$*)@EZ`j9I zu_IXQb&LG%_XuG5cVBj`4rKh`RoCkBq)!9%7Qi2T7Qi`bNAiP0Q4$AUj*nai~QwhuEh{VKLr3#^a}u9gYN!+5gW*t|@wR^e5KPtg0Qi(e{`M9CfQf$s05E}h0CPVA0Bd^7wFWS@fBzl; zkozY9K;Pc|5kQE4oSy*%$oXg2@)0?|1OSlpF8}~?-sKQZ!p{JNzW)LM=oJ=(UVQ-o zz`?HoxNVWYz3o~rV9R#^z?R=}t(#EM-+l%FeES^$Fn8~}R)B5%2>|%?2LNy|e|D`Q zV&lDA0KICFzrNyHA=dOB0MOxg0C?FVe|-%ASOxEW5+KNb{V4!ood4=t5svfM06?+d z0sx5m1p>G{?*RBR)bLq^c-x=nFy#Gb4!&ZMzhVwpG4FjDA)fb(9Dd0nf5l>ep)Uad z82SwWfREo}HnB>+%wb$5U*|AvpML=mR>?aEV4GO%GtkagU2DW!{5n7|)~~u&3`u|e zCIE;Bgy7qM*8zCTB7gn1YbCtgPY}YdKL8L5yoC@Z{u6-E+4t}>Bz+G6n3(s!?pi4z zeZgD+X+Z(rl!D;D|Nw>bEQ zMgICT0C7^V9-NfF{sKV6{_hdO&ipfgfbp*Y02s%AkGC!I*M9-vb&LG<9RLu8e{`)K ztoQwwU2B(&Fr+^K01e)9 zt!2c2^Gg6gd#?Zhc>XQ|xVB#g5VkPpf-QU-06YVJg%C%<+Z;wD{D#AD27DGkKq;2O z{{9#tUg}K_W2v8W7)FW7K-a#H0Cwb)0KysYJ_4ND-FB@rNXb6sS}Q#1HGudT@CJZD z8ZZqg-|GOt;9tdD7Wv?Fu63550j~puWbO-p0KroHv}>J16ukxjpy)FI;Kcm_AVAEQ z0KhZgYY6dfe1*es1|W!Mz;^)RXTY}r1jM`!03zm32=O)W5{GejzrtZ?3tNEQ{Zp(7 z>in*2okv{##6+$=(KLrr_{&N7JSHA=RdWHD`2cH7~ zdi6E{(5v6L*5kb8w_WQA-0?pJ0DARX0ATLkbFEcuaempguHZPo1OOEK8UTQ(pCf?F^Q!40(UaLD;*P1E~;JDb9c|a2U=2ECv|*A^?D)uK<8&0A>@b+ zB7GeJoV{;z5GemwIS7>hn;Znn|5E^QD&9p1NA`075$EqCghcw600N%B3;^I6D+e<9 zD*%9&z6}5(?hmeYom2kXuJsImCtxoDgyicLfS}Uf0Dv3%Qve}le#5n%yUF*Z2@j~w-_>winkfJwI#$$@k zJ(U)OO4K$V7Jn>?30wFw427gmY+^`IZExZfhaXkXdd@v2P3#VM^tW~Yq zpo|bHO<2J|Y#L?tkPixU&QM*mvh@g=+lo^7F;f^d*=DNKh=n1E&~e$ye*{4qsN}jV z3TEW9I*X8c+qq-|iL(KCoE&Nnx56=MY}dDggPYB`5wK~0mP8+q8FPp$kSfPh}p zd~w_-+Fqd52Fn<|KB(BU*%e)A!on9Z=u)0a8Q|(lU$=vb25xKNOeQg?t%c4sMlJUC zpv6<#CR_!z`<{cQ91YWA0S2+0MngNs20h&BUKR8L&}AP2mO~hLe+SgqemG`RZMV}1 zr3Fn!cb18!Cx+XP;^C^l<$>xmfiT*b%7c_&g08KBe##CZh-fY?6Jfkk2Wu>}!e9kf z7_8-^hRYm4-{0fP>Uh4uZYK(Z{kaI^p7;H|Ir+Y8Zp7j_5%$RA3U{XwQ=f#?lUl52 z{B$s#s*1t*hKDdGe-Q~NQ|^Uh&_Bta5U#ipWP*wX7*tI3H;Q|_*=9oFgPTwh3toL8 zfM8dlnt&$V4W?wAsdZdjYeeCL8$DdD<0)5?si5WD0Agdq>qI-OAA4P^IS^(DUJ#s@ z&UHi5N(csPj@qQvcHBcV@$aNHXp5+QLX$1l!TNZ#KJIY;e}p;uAhwAz`zRz6h1(1) z!f?Gbd}9}Iip3mZ-(=e!^&Jr#m7jYqUsg_bW8e!h|FBaJkvoS0N#W27@sNwP(G-~V z488PeaG3#tfLU*4*vqbYRHfG%p#)fpvacB!uC|s7bAD^ zgvV3j$z0<6f5>ISR5yDNU~n@$k9aLDzpYfL-c-|=oav6ny5*(O&>}*?-JB&q;(W=F z7OeqSRG0XQ=oZbqH$z~xiJmeUo=nU{WjV}A2x#%urWy&wcR~xQX~b0y(S*cRFWB|= zlZ(chrt>vrD445OKQXnOqM~R+Cn_&!xzN~U6~0MZf24#*e(Xo!+!f6Y!8lH|i`IlW zu4~q!@p+DrFt_f{M&nMv=HQ`l%y%tTCr;dgJ#Cp;iyGSG4dpkOYN%s0i z?a4$o)N|%39ScroP#uTdh*Y=Jn{5IO6Z*nhNOGG4r!j8&hoC^*uWWa2kPS$H%LFYfa=_7VohuH%s#l4RU*fBmT&bE2t^O5`mK)>WQ;KIO(E#G}CL zA@4KqWvtF~ChK5#TPgv^!f7rB3r8ooxm`aU%!S%Y zIkC!i+_WHwy;Y7~%YvBds`(sKXf}Fn);xB_16x>#*gDg!AI?D?;7FQTMJ)&}+h_nh zf82Akv5(RU5=GU@ju(TYfW%EmG)hI_QH;RDUxQt z`q)jjV_2BNX5K?%U$nC;mF$Qb)yXIKIUeRpAG%~)%91pVq{zd93jsHDbv$X4f2Pb? z$J{*2@v~oYb2APC<2}GAKuhVE0n3Q147Qy&*BOJcw25qA;o6%{XL>8%JaK6S7}IyX zgbBva%~-!eN#yW2!xlOX%nI?F3UaRdFS2aLaU2xndpZuX*>Ll^2qLAJEh5*TCB-Jp0XPBA9{2?qwede1nE=38mCc1bIYcgk9#B12uyNHuB zUG>X?v(Gb2StDh6q;oC+#1p*RSJ@WZGkUGXQhD})c+j7uVJG+L4?M!+TwXchd|t!x zX+pd*^$UB6@2x1c@{gWme}rlcl5zOEQ2v5xa^8s}M7xIFW`@xW@DlVGg5W6!rL<#u!KsNHmrOg4ID`2R+Aqjz+I z|2lI=5se2mvM`-HdgK`42Z`ezI;;4dFo(>?naPA+a-?RSpNeUrRt@fKA!sWEwvXA^ zH)rmsz0oV%O_%qme~CRSLo)B$!qho7JHz>FsGMQw-XRn0(F6Xd#4X!?tKKgAt%bHj z#-X3Oe(QL9%9l>cY%l+aNY;*dp?0qdU{;1Ck1j+|ZXxV=!I-%o@sl%w7v6M3u_V;F zD^(a`j`?$egrzI|#ei*n+#>bkS%La&rhl|ZeSwem&Q)Yi*vA|S$8n(0mOY;y<~(4Bo(Be_0_`YO zm!Ua|vsjpMa^)SS#~@r?(>P3nGoz*v?7)M>0YTJt@!c@ziS#>(g3kL6Nv0-i@xUvr zc#j8!Wis)(e@F|*%sZ2n>#07A5>0E0(b-ri`rf!N>Y_tYhtEnfVnP#($zd4OV$=I# zPd%s(N#JlSMkHZFKY@6y%$*(fWFp>KX|a{jcXfY^2|O4v_TK)m69w2Wq4xAM?-vW6 zmiUf-2C786NRY0C=Rm^yk)AmEaGpyhr%1-_&q!&Mf5bSeEy@VPnR=xtgyM0dTn^=X zFc5b0H%RhYC&hD8LnQc>1hSUvTwr3)CzDBnMdr;STo(qlRN!W)n8k`Eucc7QLc0-` z>!;#U3GdwbhA~YQY}!mdQw+&*azE*PX1VwT#DFMLtW+vs@g7&`g5#RiEqs*f5?!6B zt?o?ue_$U05jX(<01w91uswWF_&;mSD|@Q3sbo*YO3io?5X1rITM7b?J&&H+I<4ou z%8SdD8*TCaGj<9o0~`Td<@P8iGT`laIkoWxp>@>4Wl}2HAq_=7@VFE0R^zAZ=(H>duLIeudn|qpP;F3JRveyL#ne|8+`ci(x zf0{#7m{Pb$fccB*>Nf9gIo7i#4#SI^OfYOt!$TXDxQd~}feW!~#H;#YkL@AXKrJ7* zSL=g!EEj*ifSw7c_3yv4M1?55$|0(qx8b-Sk{(~uZyRIh??&3Hm-=C)e(dkWnKmre`<{7ImcCYxihZs4gFx>9UuV+_@jOu0%bC+we54FDyC5GhoLl%jXwQnE!Vc@85}k_kqo!FoRP;Y$j&i zXe;zzH1rh2&O`AF*4Tt$urkf8b&q52?c3BXd@{k5?Ney{}>^W8F?Bn4)z4hg&t3)~U$ll3%)V`|@phvmsSsG;`3 z-xMlz66HN0nNAxwX6<;4nAcP8f5}{OuHuLGOl=XX1mUm&Dd*Q{Kcf{w21Y#NW#-df zFlk9rFYLk>eibuME|C8sS7%!o*%8Eqb7&2Nr}7-H2c>I0aNr@jZOPLW>bQ}j2pQyb z=QBrNg+krOcx$Y~o-VA6#01pWw2cHhG8=B4<8JKB_F@e=n}~{A3h( z`>@q>OA6!5&h19=&4i=J59dVgIf#k{GXXkxpSI+7^R^0(WuK(pmK$pQqx7X<^rr1h z+xo>hIg*`gkks>Q?Mf7;EKI3o33Nv5HX|W8dI6g$5EE9t(TIh;m4P1st37RqCDMz! zcr!g^jjd8i{;Gn@4ljk_e**`+vc6tl!4xEIQNVaX@uRxy#i4CIauDY@hxwo8|iE&)MHqLix6Fq!D<5@hxk(xtv_JY(umZjV&Jkr!6vZ#hzf8z z0k(n47&m6N$3IO;fBZni9@<3rA)5$eMy*=4{#f*uaryR>#;eRF-~;agDxGZL5b5quEHX2@w z8FQm`Bk|(3%d40gW8Q?N=c6#a%z%+d+$e=aek13ja-UEMQcU1Jm8vxKP~z@mDbbuC zvuOjZ&gY)mWI2Bd;ukNhSi^(O%~2es(dH&C_G(>@dgFjuQ*oRoq3;8I0e3MO8*)v;qN@lEOX)0_OYpxWL6Q3@}v9}Kz zwsJW>1-^D#ahozb1(VH~q=tPW)O2;5J{>imj;c7-e|XAqp%gj0O|Nb@uWqZMiw}B4 zUd&)f+HXv1_>GYR1uo#aZ>Nq-!LfKTbIKOp)DbW8WL{)=TDy0%z6#B1JiUb%q zsZot#f2}dp`us*xHtG#|y>ghPQmU+id6VV3qh!?aA_JE=SlQY(UGvt6k9C5=qP8bB zL**mKeB$AUTBlX3^Mr&aM6Ft7k*7q9jN&%A6sEdI!D7L52&Y$>>BwMwZ5xtC5hO`D zjVNBlb$+Fv@fW00ZO2U;DII|;q$Vp{Fa<{2fAh0T0rWS`)Gb3Xjy|DR@YEz|&o+}u zqEnj@WETita7f%-aF-m{H*&0PyX6!Se0iJJkJU(bkhmTC1&yi$~*frQRr)y;D9q@q${tHt~pFPoAi^QrGqNvU_EoQlruSqG;6AWyh5| z(G7zfShSe7LJ)N`rEn=|Zlr6>AXc~JfAW#`7U733xV0$ID%4%G*yQ!i&&Q>bY^CO$ zHXBbOW2ielSemOhfS5%Lkbo<6h*YXN*=X5KxAlB$quo9_v0K(7ZO3l9c5{BC?zEoY z*l15SHmc6i=0@GwXdff{oDA(AJz~(I7uR@~b7XeDE_HTdKdOzTiNa(Oo97Swf9OO} zz&vmil}bA*q!!Kjn!B%e+hj67G=DMab_|`Ia&`jj?V$@hi;O;6GmedpxeJaA?UX2X zF;tj~tDyCScWH~L2JQyTi@_XX%0VtJG72M7V^BkDwbd5O z%5f;ACmsXC3$zLYYf7!n+*@QC9m;M{Wc8csg^GO*jug;yy5VFJJ5zX% zC0mxu4{g0(gLS@sL{3~o&D0gks@Y20?(QP9d3{DXZ|~5vU#uB@=6r-he_Yky75!o~ zfNNZ;{aMDeh5?DhmQ3Z^LvAOfY0KNQSt~A=+fLiiVuC`snM&7&s+|>0EQAU(`!GcG z!+a*gzcgbv)YWXS6%u5o`LZlUZa8VnF9T=RiuF3db$ms#WPY*|gk2<6XO9pS@wHL~yL<;oWK(_$-zG=Av<;@zbnQCtgvjFyydQf8y$ev{f$qI9&gf z*KlGAezH@r6!Z-iI@S$s%A-Rwgf}`iBT0l3SffkJhvd9c%jfJq^eGST=Fq@aE-qnd z3}=3Wp-nJcEo`slm&uXS%IGfh=0E_!Oh#6g5WSJi8t3<2aNE^;J2r;l)U=&|C zYjCkF*Q3itJsKcsg)V7^Db5ikW>m^abm(rcfsJgIDtA{6f1L7Kl89ViGqPOCY$2ZK zN)39!adN3>($6e1dTBAQJ<G%$0mJ<$nqM9*tA{JsJZqZBUpjC&!x4owd_yXWZ|z*l{JKi26(~W0F=o`zgE9 z?3(v%DfZTr>YDAi2i(8s^+iK~afWk(ZHrtmlh1l7Yg^=L zGwrfBYFp%@nY4x+X4@jqn5kFU*10{%`<$7&&eFC;e_qHW;Yw&*s|NRZrdVHnd#?)$V-neV9B;c9-sO4*a`WKEgRo1h3S&~kmf$rACq6= z+!x(YXnuLxH)``|zN`e^aKw5tgO|^s+e`AFRD*gIM9XSHKdk!6Wp6~r%Z#4iZeCfjf6s3_Zg-iH!E%1P=oWhSX<;B*IAXN0 z&Qj7}X7mWQaAezYd&`WBmKm*+tz||R$Z(m_6Qmz!_Lz7b)V9d}a(?r*EwZy*NIE*p zv!r9sOha*U+ae>gH7P%CTjZLV`2q|1J60pZ?hNwD%5o7Q+A>?vX0MXrSOVA{A6w)!z^(<@)3i@!(U?|coqyeE=IqRM6b zRM-1;Z9(6?)RRC6f?FCbGjJ|Z+FEAdRiZRpX82@hUfww6g*xE|64A^Zdq9ylgwF%K zn&o||7-X$2?l@Ol#%6nrobq~OHh@W9S z5;@bUH<{QT@>pAeG%4}W0)P*HBukGP9y-l|F$3L0=>}M>p7Xi`Ewt%42T9fI_3X6; zyMxoyAt~`3XX?0PECmAo*$O_>`*2w&_V~2J2YvA_6`}69$~m2+|VA99nvE(bRI^lf1_zB5Sos1ebnd! zk>>CFk$fN>f>|`gv3q2Nr^5`4$O>Fahm_L2$;7vZWDoJ{If`J8xYTw9L=y)_1Ih++ z9*ghr;ybE%Ca)CKRJmakAY8%BA$`3ro>*qN&A?T`DT>myzGs$5r!1ha#`a2yX=l6YH~BtTxsm-Qw_X^0rP6$mCx(f^dyGx;*9a%{sbxkI zMb`wU1~eJ@e=Zad%Q;nyfU(^NyoV8=-r=UKez++mIFw45Ny+Yf9e3Mc33gj=sX(OH zUt+Ykbht=wv~g(O3?gOFN~~e1{|KTvmibHbE(Bh;+`))6G&TQ-zPphI|sN zXQ{+He`lI{luGAJL&kGTT)UagwQ1(sghLSq<2>l(+QDhu!Uej$T`X(3zMZ46AS$?4 zaE~7rt?&!mbaf-aP&&FsdhlU%jr8F+KEmjiO8i=dtV9o7f2ZlqkpOozp!4-9&pEGnsmzUsB$LUd z6}ZdfSvyyr6M;(NYcMWtEiqx@GlD&NVOz=AH#c`4>$j_?v#y&gROKAICL$;HTG24W?mn!@yEO*)A{% zf6NQP82p9scVL22DuG2bbIo<|^cwMn*#a)i&QgYv-dmbcC&t=1#^*Le=7ZpQ9_!4| zXf=FA^AZ{h$4*IWq1{YcbqFe&wi0*+<<8si7xt_{`OwXUP)Z(%^86%&%<#Om6+zrI zs7qFi3oS5Q{Lb6aT&`Xv4H$?CAU(cpe|nm9J-ud+NkDd%*rc<>NJs{b+cWBrCy$|A z@8qoz0P9?Gp)*}u%30{42@TN?LL0F{S%~^_(5Az4P=IL*)(14?JIcb|up`*Z-Ila* zg|;;jm$Lb~8@Ez4FMaH-Em}V_8xF1o~?=BfkHy??i(h+V8Fj8-=4U-Jre?hp` zCiu7BcHH7V(R4C_1s4-kZyF{GOSuc6w18knH!~R4>cm-dijbnM71Qf@zAg=}qz^$r8#e`UAs%^cFez{M$*VBs(arv)uq;8~YB9UMboBx2gm zhQ@9Rk?KJ2Acy-jnzWPkB{n&?l$o~8C37NVimYae;2@jO zFb>Xfd5t>z#c{DwvSIHjscG|4%{6lH6WD5UZ8TyR)^v&sn(qpCHQ(A=f8O%pnX@=` zNo3@@x^&o%6)!G|!eq|x^k8SonlZ28n8%>fXy~H$GB;){l|nn=mW)Z>J~HN7p20eW zj$K@H$VyzmY@A(UbS2Jn8)R*X(eo>Ybr=lHJPwMDg~HPdP1agyo1ziFREj%DJP2#m z+kCf#w5}|@<#0VtBolh2e+B_cG0S>p?ZFH4l97KmHTC^`Q6@2S z2kUAc?UX#T2Hch|b$KacCZH|$2J0EKL}7&|0Q5MA9x$D(pyb(Lf3_3dn7NminAwYq z<7_Xk9J0+#HbdD|%Ec~uIgef(!#c)e6W>v*3L;gfXZtYC5imDXVHzarS2xbnm3q@} zc}>XSUq+_`VbTWR9YZ*KJXek?DN?R2N7}T_lpYbjg*PQQ}CxM5%-nHowYW z%;!7J)xz6Fm!|7WjBelO)^y=8=HvR3X^f>U_8xR>Usy7;e?Oh8{>+vsfz|vGNXn;1 zxs`FTF&VE9IZ7k~Znn-`56;sRx<7jf2Pf(fQ9MI@=MlznvL&(lP?T4)9B z##qb~8Jp2p#_*tK;4}yBlPl1Ha=q=qIzE^>(=#h}e?$T@h9e!S(C4l`HZ@5;oWDPq z=Jo~g3D!|POQIs9(dV)UXjbP|O`@1btA_g<>{v8NMF)nXgFa6?-UdqB%`@GYzLh$qD-(B288-Bx1PMc1^mhKX{y!o zLV_K`g<7T^wa1iNJ(hGWeBh+zG{X3@!uVf9fBU3IAeUN`(JcAa&v~!=w&!T8+Qhuk zB*ZhqT{OYhgzGs|*PA*nqpeG|c0=N)AzHYyVqY9P(hneK1$3+6msz4D+o7>Ok|ETI z@);+w>;?pf>6Xi(^td-w*>LsynTAw-&*I)m;CYd8?%c?oZgRV3uQ=i(zwiQ&iKq2= zf0v%iyfZ1_6%MAZY+~w=rzF?bWqv>&FXZ9aYT=VFB$kgaG5e_{X4|ZiI>+EW0Qga= z!A|2mmFF}(*xCtN%hQykWvYy74UK-fdOrqN-l>&*Ih)y^tF3HQ1@Re_3}cb$9PLgsFj%^O`x2yEmlJPlKh5HEs+k zqhGMLVj4DW@Vp5USP%s8^z0emt7W-madQTv!c|6ms=TdBM^(p_xIvwUz(Nex`GQFH zW^a}=0?1Zd+%Q@0<`ti=BXU!sZj??FOxoS}^g`~Y2{%!|Kcg*3Y&(SS_VGIOf2q|* zCV7?NvrB)K(JNcEb2glp1tjPXfBZJ6L4ITV-^?d^EP1 zw}?mLxCL3Y{Q^qQBk(gG&4=T2Y(eYzim9TqoD z;Hvt7GB|^y26Ke~HdLI#fb(KKf6AH=c)-Og&wvi*;T`F~t&yZu0wHQoZ?8TL)Hw;; z2k3IE-^NVRAYqO*n2P$)b4bLYfedkB2c$=0XEFf|8;uIHsslUX>t!`3icrW0v4 zIyrZP%-7I%N!t#u&RjDTqqeDUXZTPDiR>z)#>_ooSPzuT!Kym>`IEA;fBEKX_3%?r zaW4i7mt$li8lHmtYpBE~!1UtuXy(NrOXJ+Yu=&ZP)g}!8J+s0$+F+GYYolh7u+RTK zy-ltEV>Ngu>X)Y)$1S^z|dGBQ*&x(v*~YBJ>J=DfAY&TVd({|iRJR} zdEx%lr-hAS4yfR4ZoZ7V9$&D*DXGn1c9`QFKEt9Vn6s5=9H#l!)CbIx=+AIx*VFAx z`Qw=+<4sbM5)iyWUQtDnz#!?^4CWU+{Y{-|;)gf?hjm5cR941P5ztPbPwF%$ex~}} zG{+H3zm%uzP4wo2e{P;Uc%*Lpbi@jkP1)w__J`WB1}@=Uubt;MfE_S1wOE@9FU5|V z|1ev)DFTNTECHK258A0vXV}kgP1Y{nuPwB;)>}4{5qE7S1?I{84SQE4l*_qA$j6II zac1Yp(N70nvX;&8cg(;vX2WQQ$%_2G{dZI%FUTQ1jURZOe?UC#EM>y`pKz^~9nIlW z!z()n!dFjjJ&~P*-9PzF2NF51F=Qy%J zRqM@#QCN{@f9ISyqJe>2^--He!#;X#Jc!HS5zg?B(U@QL!O4#fc*@c0h`2m#whQar zQ6-Pi0AV#mN22~52D6#ljmAL_ULAWWoAc(n``v&^SL2fI#MywLiX6$^c>hI{-}7;P zcgJFLb7FV@+761>Pp%E9a4OKlv=?l1vdo|px?n?ufBy{oO3^r-8q4~CPZQ%8qp&|q z*nPHt9_LWR-b+RaGVmipe+0fE1bHt_mouyF_9wJ*rLn zevqe@NG}qb&W%oIAUz9nZ2|I37)N6XNmC zlGxx;)qUZic~tX;A$U|kL?Mr=K42DuM+L1@W*QuRI;4YqPy|!HBeB=3WmrK&dgyDu zDpYgD#ffev0bcxQ&Ja@tPb&@QK&FxCwjm&m5VIxPilbD5S7uxdV(oxcXwtM9O{zO2 zf2K)wmxMGyvul#){3xXhsI%2A)FIXz2oYSUg2dTR24~zl-kz!NbiTF)SsP*0fpBaiE@ayA+;N1Va9{hc)*q1ks{|7xKA~=X%2)@!Se_^Z% z>fsXds=HYRJcHKRPogUFOwo#ZreHGb?eA+~S2qABYH^^`u&DaL5G?shg9XKx62;mXSA0 z5!S)90h0j%T^MeR9l_RAHxmXr1(5npdl1HF%(5X_R0g!U#vBw+)9&JY^xT zAb(pBH8ezd@NS2lDV3hvhGRbcahx3%i z4M+IPdwl)MT9tbh^85RCe@I5F41;5bB0C?P)w0U0`anU2#>i~Cn-pOQZ6~!|9a4X|?5)xNCJdI3k_2_#HAN@kxHip7W}NG13m$dhw8?pkr_in1oliQyc`lsx8dw;ihY@I1D^&M zLmcuwj~3mJNJpGnXhf%LjY=hQ(1ihOMQvRl8U<2C5_RRMDUVT9!4nT04qojVK19RDwSKVU0=vHJCe_`kLjstW3XRBk z6%YGB-Wv6MJw#K$`j2IUfzudQ{m`g%jAH4kA<4u#4f~*-)r@@*@V*xk2=4_R>+t3~ zd*O@3g-_gf4|d#$_@P@P(HOkxs)2~RSf(K7Vq-ppsJcU z-+x6GGJrr*(mKNS3BQNJX9o~greoMIDnqC<>^fCHgzr-stY~j&`{l5F+^G(|kyf{6 zRNehm2HqNISgsq(py2i!IS1oae)SVA;@$UvOCw?;Hm&Osv1uVZiJ{?Cj&NZZO>mjk zOk4P)0zb;Ee_fR%9UP;zQoSd$A8O`r!}M=8U;H>w^85B)B~08CpkW4(Q=$w?J@ ztaJCc5XyI$N|!$Xu`O8sigz-c?{q3BS}ZU{G5pi1P4 zHQPdRn$c{>hQrwc+9pIJzEj-=`BFMHFuP}t8_%SJe<=wwq7yK2I(R5%9bUr0Rkr1! z>@yaBv)k3nZq|pYI3^(QX^P`8aa6y=8W!gkiCbq}mgtNUm~yH|

    s=DkOy-5KdsX@WM68w=O077w%wBH^}CNdjY@q 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

      kTq0Z(<$S8wvgLhQJ1c-7r=I3ac=> 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
      PheT0X#(f!j*X2-^Yi^)QX6$iI&& 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

      $^HzKHj*)q(nDli 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

      D}XKFR`xOH%# z0|HIf=Y?L%EUkT8sC`>f`_?p7loWqAX=)R7^}|xD*L7IcLv|C+lSo@dwSML3-ysg? zKN+T-8v>D`6SB1WZB_MKqnu>_=Mj9XY}QfPX006NQbuxZb4|BDw%fOwbh~f8g!^`A zG>KxzX#E79CPL%2atiPb7Hi6UTw@Fq`ru%~e;5-y2l1FZA52V?G(IaU%|3rGnqWPH z5fF^I<`8KVuCh2K$EJ_%%MV>PJHhKt8paC{Mw|sn2A(jk+Mm=i8Yw0WENFzp5kqYk zCuq%)n$sVrq|lPsLIhv;Vq@OeKvX2OW_s~8*V;I_l3V}BPAOA*O7VwNIHgQSuCFii zM3Ggscac7AQLah{BuQ0Oh?sw=P=&16RaIihEL0&(LhmIS46Zg;|Yu<{610xE$6JU26TVug0M zWfmH{jPHnL&2ySlffph5H7ojJ=L;1;4H7TBsH9SEL6tqM=e`Sltml6diip1RqUm53 z{9yAH;PXR}N6^dEagy;5C zyqlJ>Q?VT#sty8d=H5J1*S7TPR=z%4L@&cM8^mzb)>Z=&T@AK{H92f>Db1R$t;OJZ z6LK`3h;x0yzUf(HAFqE+dZxcv+{H`4h#cSdSa!{wQ}yJ;+-^-&j%oTP$i4=_;vazL zzQ7FQ_4n@*?X|fJ&pmJ9AI8f)_F}UY|lFgOb}0;2zdt zx|tmvKx?=bQE<=~c9*0dxjizyBerz~ zegVeEc2pset6G>m*RCwI+X>hs};gI@OKL^NrjV8tK>@ z(^7ZWC$=Mc`K8uXWsJxV;2;+vGpCgOilvn~#OBUEZt_`~D@&Ie6%zw|4e2KaB08LA z8k0QG^Z}UbFewN-ksBnV4-8_Mwo+S`qi1P@g-Ha*sJtYB2kxeJ%h~xZR@D?*<0{}( z_CwT?1YLh|A%~Rrar!P^hTp)cbA&Ms`F*M$Q*E59pX>bG%H^BvVpj^EhRv%T9ONpU z%yW$zxdQgwW6^p7-59~7~6cOj2t3LUjPy*>uZEW9H?;o+l-_k&6-T074IYb#$O zkG2B8gj%%D$vW4pkuL#(nve30|3K5!eXl~W9r%B5w}nmTq9|%8neZh72~{HT^!8H( zpkpH543-=S6?SvyCs9sAbSl?Bp5)Ar?R*-Ewp~bNF(s8I9^7@YiFL7wb!ijpswO6w zUMnH~GJ=&WT&zKYD;|H6@blm zWxsz=gRXTyC?P07p$dTp`*V`X4q7nfrB!cp9y0s%u0tb2(#jm zOXtDGpxY-Z-5Y%Lx(SMZuBlbkp|919oA*RPd^70N%*LzNN^ZaV{=+5gFtWfa9q`+J z`{TvnRt2Es3Jq-uxYNGue7GbuqLvZGO0v(ijmj#WUhfiUN0HFf^^KP(ZSef|S^NEfYT6mTjhB$G zq+j-a>-MP{`|{%IVt_&8td;oi{=Ht}H7Nn3&dvfi?=RaOf`Eofiwsw3IsAhCHn*O>EL2J`H(Qh| zS}CM_(2J%TRIYp2;IvTewpi>TUyOf<{HD`j87x#)e5wf?&%$}Ifc^1|b=gk2IPAer z$?Bhj*@=^f3hAZCV6ghRy5dQG87{PHX3e$g1yjTQx zS>Ov3kA&_-6SUzfmCatbNHcG72M+bwzex;YZ94 z{c&(0Qiv>+!Fm&CvptfY?#);5N-m%lF1Ze~%KID~J+vBKF8AG_E|*7lP*=CG;_Hxn z14v2KHPMENmHBsPA8!s0I=R#?n8~aBLSOAGEJHbCL#aGbSFDxFNoLNtXB9;`dWlu9 zj95e^%eW~__rk^6i$Z^2WvVK6RBO&@z7ByegB{FCLL-2fXn?x7!^BT$jGONGxa*EB z%N*d&a6Cc-jo8JtoVz#}n9hKkXV80w$RJm~HkM1N!j{mtHpcqIU<^mV&^Sj?m}dJm zR{@bGqyuf#;trH@BQw*c^FX5)@JW7z2121jhiD-538bPvIW&K5Nfji0$T_@xs#=!v zL%yueC8ZcpQfWgDoxjHdJ{@(r79sEe%38_i(Qe$6C8J+l8T6+8I7k=&GuwlxRML8F zzvkweW&?JQS|*aT<%N_!YsLGh#rY@4UdnXWG1u8ia?<~#m~mdJ2B)%?zA$hzsA+z` zlZqbIGG(KE!LxteE*j(9B8=L2%;(=dZo2o!ZTH@?DEId9cz8c@JJgpZ72*!)2NR%9 zPCCQ}r(>ec$>89?*x-S%y_;xqDYmGN;eodz1mLfV03fr4>Ed05oGw<*l1Q8*@Wy7R z%q&ju#O@+EeoqZiKxBe>S&^=J3HwCSHAhKotDgfcv#Wn+j!_%kqdw}Pb7ciWFYq}h z`WM`EzZ}1Czi^^|!{@^LEW=eT`vV03WXM1zz2g9BrL?@iP_?jIZ&UEDXffYTX~nEA#A4N%A4psqat zU&?CFrNw{RlxckEd9a`skSZZrfFmu2FPE?A59sMEUx4?_MCVWQR}b$h#VV{ zduk`n8XN13sn>cE_p`5O7b6TRNM7{Swp>CKLmO zh~R%3fy^5`$QeG6!)v=}{P4wm+|V=p7ZY`e8N?SbgV+dVDsH;w;{b0O=`19(i@8N- z8@)Ic-{USHzdmld{o{ML&&RKayTd+lem%y$5-WUTK*(yMG2bQjJMeDH7@HKpIUeUb zbpGtlY`0sXbkapH9peA!1Q&;yEiO&BQ`&#b7k;Rm92~r`tgVS&;35>hndrj_=OHQV znpX zAPy7ASspQ~37~QW@6ok)8g%KRVECk2@{}!#s{{+=Jv@Ca6;6#A7cThx$COJM!l{1| zl}Hn`Tf|B$KzB)c71D|+)Dx%RNRcy8$cmsrUcU1J3krm=U<8VNx?=CEXtWs|kb8K0 ztN=who)EL57-k6}d_T+@#RT4h=lHx0u z((4nuVwRC(-x-!1;GWi-lALsrSm14XvRe#KALe6$W)mo zV%TTOu#@|(GU~)-n@urO??7TVmGY38iS~_I?k+qly$g4%%m?!q;#v76bY{X$O+qit zHY>VR-Y&QE;~f-)*AUl#pL45F*u- zj%w00zaZ1e&%(m`6)U3Cc&U9Vl2l3Kr`w~>=g<%s&+rrdvL)=)^9Tk5Jz z9rX!VutU^=@MbHOV{{T0Dz&4ipoZf+l*jYf8H%qR5gZyyzG2v{fsUrN5i3{Xc745a-4sZA)tARvaEvq?kc~=&v4V79gE~yek^7qZ3j~FL7i;LipE(v$k&TPRwWD)Rc=6Ow7RNDvQ_>W;<#!o%J1v}bo;c7z z#mYml-Y6XN`G(7%g^Gl-8yg1>-m8iW4Ye4k)NYepy;7L=7D0b|aTlanyzEWMbzZx~ zv1c@qIB4m+M$xQ0!g$4w`1?(Eyo%Hti|_g|JwVJsCFKBvFKoNM9AV?#gO+7)ZP^7wjz%#T0{|t|` zf<`=WeH$)T0Wop(^*mafG~m+CyL zs*U*+Yq<()Tgm{XttwcP*{M>}&+(L&tH37>D1b_F-#&kjg^JTtnR0vTR4bW%Y&K}j zOp5vClcqRHgdY#z_4WR%^i*f#?CC=MW?G~`Q9z#N2oUkHS;;}ljU-y(mb}Q#$UrGN z$0_#9?sYTl!|iKUX5qdF!lwD3?%2%uqaJJy@o5;Df z^gt)`hrWNXQY$X;f{n#WV3IpDm3PT2FM%!2DbNHZEWM7xp;27`r7$$!W%<`S%G*y< z%H0HsM`Iea=ir1^31iIMYm&VvmOl4WqiQ3f*h}vzN9;uF2OtwU6EQ%}<0W%;0^Uw2 zLqKc3iB`krh&j>>7e=fqq9WzPw1u@kij&jm|2V@cv^?i z1CQ{-*648R!q@Tq6uz4yCn3p{=^?P;usNz5^TQ)+#@Lx8wnlX$A&Fb`tjUy{!{(!o z;j!L>Q`Wpg{Nsp)s{*Ci=+2XrmAO$9w+c9sltM|M5Hf0r=V17~`wc z*~#>jti*W3DRBnsNXJmIUb93}2cm!Iidu8M08JcdpiE@HA#F`hW>D*BgnN8YE_f|T zzYpU1#z*<`*IW7!kwmOE#x=S^uT1n| zN0B$^3LTlIvlEUDfL`tfWCNs@X*y40MWD5w0qx~ecwH0ZpX}c&(?t7cCX0VX_>qPo z+-o`S@EX0xGs_+yUeRU!JsskAN{qO@Bj-IHpm*4}y7e8!UOMk^hk)A&?UnN$ZwNHI z0vz0f_AfZL9|X3)<9qZ6o?7-d0{>`)|Da6ryN>N2_yzhMC)Stxj$$vJ-|;yCw-eec z=MUT?(Ci9u+pRp@mJdN;hhcx~M|={UuAG*&`X8@KHm35EEx(j$!r|PG#+qU0TR3n| zF`OJ>huR=`?)re%7$QJT@T&2EHW(s1bua|68}K!y%YTgdk2e2t&wup!j~@SV&VRh% zOAr<#>|e)Lt|yfrioU^@u|AQTobz^Q*UHJgWDHl;{Y-Nz5 zbz@`ure&<{4XHde&BFm2W5bx*bCJtIlUz=@=5hDnpbP&0n#bdVgYhw$2-9%kcSx`z zh?1c4Xa2m$#ajHiHX(SO{BMyVsFVNE8XwgSBPJ-&%*dXyOgMiUv8FJ+Zn%5wNfO?ubwb|LYlNPPaAO5*Ms z95$A{>Pt_Wr!9XcJ#L=bEePA`HKtLlPA#SAar2b4eiww1k(v(qAjOT8yd;E-oi%x3 zM}_m`o56fvglQ>0YQ6f)tDj%~^y)9n!8A>_Mf%Urdyiv9|{A0FAH9Fk^WpDtF^P zMeD|W@PO7P-Yp<4 z3VAw8V%9B}@zSVuyagyY;K3zWGeIDVJ!06zLDr~|t>W5!%5h^s1f~f5(9pO8$ud}z zU)wEG_=kUV31W)zzV5TaDoz=GDQikHAmbz zlVyRYrIpqoU#X^~7FuK4mT=7_+abW#PC`*wgAYxbwWbZuorIz=M^lCZtwX!a`01U5DOhNgeX=k&B_`lxUUmHN%WzLGoZH+(dF zybm6n8kkkq5F4?oN0Y<@_ZHC_EEZ@mjhDrmDvL%29V-+Yz?{@@GzX?V1=lH0Kw$s~ zaZ90qB;rR9N-D4cIM2f{?YswjO%aTqE8O{Rf-R%Oi?QD6CTWF%RyoQ!1ctTrV zTb4VaP2%}>yB(RxC;NfiDQ8c6X+V+ieIS1qod^0m@4w;TAll)`0rn>_E5o?9Sj{KY zR}xK&)wDbe#qooaHb~@~Xp6h*<3nIe0TbAbg$o$Lww| z4W&*+*^vAYAxwlgoj_MWE8W2fmIuBaLr;ps-Xw|@nF?PwI4Zb6P^O8Mq$>{ zAJpffIDe2=Xib!IooLK|Suu5z6;UTyE9xX`M&ApWb9=}hr47N$3=3G1^= z>j(2V3qGU)q^@pRA&_)BToXtmT>^RvAVRKYkyl8Ar<0x*#(2J}Bj@7PV$! z+|_o9w3OQlLreIF=55diS^43isYfb65$K_~$#E*kEE<2%@q8K2<#Ntj%=rLI)dj{x z`}s9kmDD}4Je9?hAjbyjmgRZu%>ZrkhY(jK*$z2 zr6{ks8xwzma<>xn80&fNn1k+Cfo4VlZ3?aMVOilLZEn z-sY!h_qw6^cB2Nb8_tCjBCCp*k>6W>{$#Ad;$44ByEWEe$WGGEf^~Qokb)agP$b?O z;JsdP$jGG!@~B6AGB(}rG55>pc9}oMF8E`Vy`2=;KZ(;2s6-(3y@emoqlcZeE3F{} zPF3+@`6f_ZqVPsok0nIBu;R74vN6|5ywBi4X@Wb$!3gQAA=>a$&ZhJ%b2{O%YYZ-K zFYkXO85`ZBTk&js9(mb$ybSbMR&p~Nj?e^l^k;8M9Vkuvx>5TIZlVes0&(iK-=bbl zI^0ff&5WJ6AEhy1(H0l2dvL=57~bQ1{)%>Ey7#QLljgy}ggsvyQ&sr=usJf_ajpP& zK-e6)WBz8m36`E+;ak9W(8PV}vJujZzPXRjP3UQt zcu+bwO@`mOiP|uWjC0gy6MF&{*34v)m{?9s7z{b1NyW0B^o-DrWmFmqnj zrDyfA07tG56kM?rP-BcXs0%ZaR!1A$-ByCAya{ngveTtP3BpVe&=##Ve;tNd?csK9 zIvx2NP0B{M>eO7k<_$UWb~3FHFIf9PS&v3 z6}jT1DOs_D%iDx`yD43}89R{$e9Sx#cJ)Ul$|pPzLT#*J0k8+A+iq;|xUoU)#seNV z9%wBdaGZ@t*W8x#0tAa;^I*eSf^M2+M+>Al2j>fLCwG7bVy%zy>n88v+|~H|@14A54t#qz(=Nu`#wMw8Ywe-4wP*iXZPbx)&A_(8Q_H#(%9(4k6OX zJ)Ru4;6VXTLigDIxjr#byS}#WNuP+BDxqg@3Xd_hRfVr8E|^6~7NKk~95KIquz?KV zw$AK8jfvP_%jADP*j7)-_Q6?&I*}GZ4ab}p+IRvErQtN64-*Macf)Ui z+adF^jVepPOCH<;|Jh_IZ&N{WpKo}5+*dZd{ejDU_zg#H5BGRpA6@|sN6*Fh98bhH z&^Fz3Vgozj+rT;ZQ2e5_WA2NhDcTw3Fah+;JZ9WBVosRW-N}H7mPf4K4 zHg9*dd0W*cp~}uSp+tF`dR@Iul2_g46a9n|m2Fn`ljIfKlsCl6MkTKmS}m(BnpJpo zN4wRXl?+|oZdrGgiBQ$<&ViLPqN3f3p;czmj&`5wZ|Ufk)h>UwTj;MiSLoo9xh#6*yt z>7lf=(1J|z8qX7uF1@X+R~eg7Yq0MvJ_qL>v6CsbsYZVxEN!>E`p#&E6pkOJN#xxT z8S`Ma4ANN~`R{`z(UQKb#}(oCnjDK5v|=RHdoO0L(%`)Rb{YB~y=AB~+v&UUDl~SvJ9ZLsmigB>T5F>ix;@|CINL%cRmSxza)lyiPD3QXI`mwY9uG|t_Y<< zZLKX8!pTrEuO3$iL@imgY$LIEB48dG@vZ==Pt>lLU}&`L9Y~s7{WAA9Ks{|Oi=U39 zYC3;U(e!i|MR$>}^-rhPQ>1Z9P;c$nQ;NlZn6_rw_MtOi8LQV{m((-=5u0vd_Y)xS zlhEsx__9a{L9&Wq6(9!+Mm{gP>uc$TS=mY1NMu2 zBP`PhcZI9|{I*R@M#>HW|08}PNHGW&6K1IuRxh7Q)2vNeqaLkpjjpp@{>2c`i zE0YEt(7LuV!Z# zHv^*KnGu&K#=xwX6;Xh6D}i)5kZu)!kTD+A2UfS*RdRIkbcTT4y_m;iJ z#$0)OXU!WTs-Jmy1Ri}z3NbFDnZl3e;Ss-zDm=w+qmqp#Xdqo}ZcHl?kID>x0MV71 z9hONSj*;9%+c$UEDxDf*y1L|Uv-JvL6fy=UncS?tLB+DS z6=gdxX?CGiE$sT!=#>KI**}8&PC$jrGsIh42g}dJ@Oy9&*>7p4FS#S%N%1~$`10Vu zm`lzmzaQ9@vN7}c$mBlS3)PN)pSW%85V@7tM9KH>bDbd6NK{i1le!g_rQGmbnE7(? zK)Eao>#(SyE_1iQZR&T*(%5~oG}p39cKT~&u{)2KWeDf5#TZI0CGDHQtbR@G>7nMZqg3W|Zjxh7--lrs#5uB24^Hx3WD|_` ziHX!C*LiBeU?@ks1{_8!NVj>qHVuXQOn9BA;XT;vs@j96YqNN}&jToir;8_U_ZV-8 z)w49w>A2%#JRtI3A$cBuc1OeUh#JQva4{ezETP|tW8$?k3sQq^**R{P7v7R(miw^L zrkX1*+C=89-04Dp=PMHCVP6>ECFFXx21omJ^-xTP|nq*=h#uG-h+5#PTj7?eQOA~xpS z@vozOnzo@I_NNq+1C|o(w4{`E9!Q%*&EKLk|x673muy-szaztvf=(qgSSHgn)&6o*56L5%z}B z$bDvPikFpL1qX?R&Z4O}5GnUMr5p0TsH?G6u?W{es)7-omb=20CyUa><9tPisG$nK zKb0kll63LmUu^Z!GH>-vSyP(@fA>h{!gS?!ILYW@)Kv6WI{GsWeP2g^`eZ~C-Bpt2 zuBXH)lJtsyq`l2&MKlLUX~E^u|FQ0bo@tBPdX)K zy8zb6Tw=G#^JeHXr>U3bH^19v^D(b5yvC0&iKk2Q$>4J$MyO;k+4Rn0Dt$_E1Iiln7tI z19#4DGW=Gy^RiWsyinm7aJ`}q!1Mif6b)hxcNy)o6cC99$CQ*T&?Jd48B^w#V=|nL zM&>_%1>p*GV~*AeH{I27hnxCquzVvU-_ zX`ro~9C8e}M!4xl8u$qCAp4+#Zb_G*2y}{nU=WRX!^EE<5UHd2X@3@#A`Y(}yJ|n? z;bN8cl0OU0CZnzb^yBRPGWJ(@)#KPK1!*z#@&M=FXN|@zPs-})iAOYRq$s6cCKvH? z?nT;!D2@?Zr9T^~S%y~3dwM8*$ctfk>&@rh&hg*TQ8%h%yLBkCbnZ=6){TK}BP$($ z&PD|sE(`ucC0~(vbHfn=i#9X`#@A-W6u40dT8^lDbUw$4t!rXoyYadn59g!dbW~5l z>U9PtfXPAivjP9}vyOB?JxRFnYNdFmb6d}y>Xl$gQ-V<7Dp|U z2X$isMP_QR;?pV755nH>z)#gOX#8ar-rcA1GBakViKcc-aj(AO?$u?ff|q9&Hv__< z9t+ts1)X@yEK~})`4%C0ZWa*n(cEg0QRj}PC8(wS^%%PPLh} z!0MrhE)ODPBdx&-GIFKLs&SJ^mj0Za&YGr@;JH4i1&;P6eHR3RR)eGCK=e6F}w(%MoOO9woLhi zWs_|s!hpioG=_{0@yO(V$zPX$4EPl8l-gL23AM(YT4QokQU)46P&6FV0glAjM#IEv(V->f?MNHY zHUZn_VA}+2dvu7Qm`f|eNHUnTI(mAHtQPAiii)FjPa3`Fq__viY{PrCw|!Eg&(Z2D zN~|8q>ha1wQn@#RV}Bn8xHlU1<(Qt6(&rq|xdP|~bmn}2bVxgizL1h%INUE}{J)Hb z=OYWhsIP`!BSoYksK36tb{A*e1U!U;y89M)LYIqZo1dJm)DXDuSdfR zsLehv$Y)D`^!W|;?UwuI1UKC`wr$Eq`LU;dgeb3>%mtA-d^(_3cF2CQ%QG18q zxbJwace2(yD8&{i_T{S0;+9p4#UHro{&D=qZn=MdNML`E8cph_gqQpsH{IWP%fHLQ zzth6G*0uuUPt2c>-Euzx;Xm2-^Ond@$5RvyKe2ho!36>SWVPHNIF8*QPzUE%+(a{) zI}12l&!EV!Y=k}zXTfOri476`3WAaQE4F_vX{fy*U3FgsCpZZX4qgCiN#MQ!)JXAn z0X9hL*{Oo(i(q6rP17=11*@g!!h+&7$ySm__=VENcY!#Vyikzez5vvd;PfiMFP#^( zA1(N5ImT6hk5Cfe7lFBDkzSL)vd~o^;=K~YF9QrK+7awR@JHDldUQN`q|Y3owGvL(U0w~J(^DG!a16G`=DX?0j+&5`6S4)SJuSF5xZnZ$Tgc@&wfC-@L zvcC!m!wg6lX2)l4m~kP~ZGnDaHbQTI0~7rr=oezX)ae!hg7IXQPn8+ zl2YvVK%Um0`k~ASy8RYYk4C1F92HWOWkD-P6H-BPfPeUVfF?@H5lOjaQv`m0`yw|9 zNWzqkKl%MNz=kmitTZs|#w4)Qz_f1bx5O4Yz-dswtsC&ai7sGtsyCSL-^m8^73N73 zb;%!)om~Wqh5Of_{xz_=fr-8bxi!dt1h;;G(kA*6;19uJkfA8UWBB2I6Z1J5ek1$>I=IOBq>423N;_|J8d^DjGBC15>?@MQ z;z{55T41-tS>;!t*{@=e_%%nf55r$`G~+3job10AX(sFCAry_?_|hk<*eoNR8$g2hjx;+vdo+$1;-gM)*8rRfvd z7#t(mIp#W3aBwwTwem=R{lM25N;s1$BhdzNPCFAfMA$8O10RR&Y^1_c67&+ed}xi_ zbW4W53k`NNaZy$q{4nh54JrwGiCjKu5Y8FfGuz&>V+y&;W%%&}wM_qjKGGi_(GC5P z3bE8TV%&9SZnms{s2-W76Yt|DiN1Fj zt7YS|vY-i!{vHKXMD;Sd;(DfPtskkDV>a|h?o?GkP4fz<=?(?d^x(jlK1TtyLQ|rE znwBV_m|Y=Do*f)S#!68@%}nHzG*CsY3JNF^t&S+5BHeHM->ZPyMOaGI!ei$n^|A9& z>0{@kk<&ucV%3*_YSoveRbP%AyM;>LXTMVGzACNz3hMG`!V!~1q`{X}u(%6a+(?cm z9C0(bxtHC|#_3(W47jb_JWOe75-hw3EM%C$p_hmx7VIXx@-}$ILoYM==^v0d%Ow(% za`{+6)HW5dXp@UYA%n)^7IneHQm*sXMHnXL77fign`?pUb zMcv9uq$UC>4G4%AcVb6X-V(bF$1V>B-gFFQ_!RhWM6vdw@biL9XBgNLI#f5ofXnn0oe>7~WP5O2VQl8Z$txKA0qJ8B^ zImIn^sx&!Obspt%n?TE2~?uo&$TT)#tcznRyFJWuS(#)i5Ms-n-Nt`-E zeGoMzs2D_+IznmirRCIW@b}26)wZTP1LYjwo!|paaTy0fKmZ^W`_&qa-0846Iylgf z;l=EK7UJdL)=iqtahohUvOo>~rA4vIv7Z8l7CYLSXgX{?qvaoKw`SMW29By4D0WQL z{DB^DXkZR{aKMYuuiVPVkPtm^WLvZaM?jr5NF;N)R#z>e^qCf$7zK9ASt1QbC;>UA zk>Htd!0e;MYMCaLfSObOpp2h<)Ik+fZiH*7X|aXDotBXtaJdkxbz4jOh~(C4)pL3ys!a)kN|REHsXqkSHAcpFvU! zlHPgg?8+li7LWKhSZ0UD(M$NgcpJp?AX`3ASB+ld0=i2aHp0gu3&3-9XtYQJ)X!yq zXta*R*BOoH=rw4NjvMe89U85lNK$Z@d5h0c0EJqlJ>lb$#eeh~A6O{Px4|M<2H@a{ z*nA_e@hdk90&Gbem*L_*@WD+tGq&;?mr9r+C@0fsyh*Qd$q6U3xJPUfrqXL%GAa@b z<*>Y#pX#6xNXH%pVA7%^lW;X$B-A z?+Mn#$ENbG!6i1xm#j?geSuz|P2gZ1EHWoXaF2j>)rq#mu$tPqS3r`MmN}T*+7t9a zD=zq+dKM7jZe@ z84Aot`AJ4U6YYjZl951Wrtvw;kYp1M(=beYLVCBrkFQ=khC#!hv&0#G+`2OsBI}Kp z26$z>ehuMQ8=d&3EBSb3{M`J1i6@g8vNHbi(_eTBok1((=bxKe5}!FM;;DMcy!voCxL}SIZ#r#oN(ZqMWTAfh?4o@+zUjViQ$M1Acvku}(AQnE zUW3cNo9=t&d=&rGM1Es%aoHuNIq(af3chcjox$Ia-TvUB)4s&5lFWC#{>AS-@cYNI z`|ax+60!@P?e?y32L1NM^|^^IpHxRSMkDjQ0EYm$xhe8BOVTFWaBS zSG|wa(VzyERT}iW-EqHvd-mafQ}?cIiS$aN@b~>I7`6|qGlUixodX!XM3|Ai1yA6J zyjhuA`x#wPM?fEb^IaVr_N+qeokqlv`xg+F7&gvH>Uurip znAzB8zxn0!mp5k^s8OF>VV>XD3>$gU8V9faC^NkfY4~CL`Zc|O5;neX{3oE={qpq< zsKlD|0T%%5PXqPka|GuJOe5|}F42>WWFk4jP;#4R$%s0VBg|GVczmSB9muH33?`D` zlJ92`x8-k7K*ERqw(x`eEo2^ip%SEsgirl=$KT~|CDq_9RYZv@-n={-zG+defD5!{ z4`^3e5#B0pIR#69vB&pK-7BBE$L1?c-D@ka)qg9PZ&8H(an}d)E#l%5M>XrUSM){D z?X3#t3lZ1@4f$Og_}iI81oMq(!XM1n-^5T0<{PZK+R1Z&WvMkzp8c^apQE;sy-b?B zZngc+hDj!!i%gGfWn&NO&ws{)`s_D7sL%d}2la5D@A9C3zNYJNI}_(=M469|DOd{1 z>&ZK3`~t3&!>+ll9&=hfesTNZOnVBIAQ!C5yFa96rU;gN+UE3NA=0;Hj;{2~eRUv?? z!tbF9M~z)Xj`bdKLw4etw1pHNA@+dTXJ=LK>^jvMD)3w{i}`l$3^e8v=E>mv&376T z7a-1m(JJRithv*JtdPkDp@|O_;|bLdQaP)yhQ)*q%^JlTVsIk0y|w= zH+lPz&ad)LwR)3b7t-$mQz1rk%V?lK0)1#3mB{wTBPVH}FMhTEg{tSGDrW-05mr~< z{^Z};Bf}^}InYlj)#Ff`{H}X2zB4lE^v5-SO+@bf2yLtSQSt>s;PC!q)bOH(iC{=_ z5tZHZLZ}0H=r5(|sD!bE(9)w5ZPGpR35$CFlSzY;;aijxj=LBLSS@6A-F>^S$EfCi zpFtPbGU)P#47#EibdfRW%I`4fa?~i^#LaW)o+&ES#cYE(L)+P?NE4gX)cjCyD$A#T z^DD?Gnbb&cGv?*zK#@lcPMnf=ybHsB7R4V8U>&K|kTM<+8S`V44mNCl&7mxrTypcH zckC*-K-MvZjM&G0ZT~5}tXSssk&-+|YXc!2;Tk;eoyntL4gJtwackcbW6#IG0%9fy{_=5rX-Lqusa=@|mjchhiRo2_%C6 zX+$w?Kk+R6V_qBE!aI-XGZr;nWi~sw>>Y@8nl?~=Q=werUV01C*{f$*7~Q=Ltr5Is ziIC&NHxtme2zJ%2jbXg-ur4ET3jt=vH*I)gmp)WIGsw57or7MEAoOyx+6wi}0!tT6 zyNe541GM7V%7dpu>P?kRiAA-4zzE#6H1Bmp!5%FQ#!zXl+^ziHf=c*^5}Ptj=8@il z2(3``jhP7tBWl`RFvb|tBw@@RK3r;ysJc=f(xo~LXjAPq=FNy$TW^#KhwQc~S_Gg2 zuU$4};!e2>BFyGfQ;3=zyJzsJ!37O7di41#QZWiBf5i@z1rM5^-1Xpp6=bk)N$=wYoK%<{S@mjd^~pSS8zqQs<;}! z^mODER?&w-Wn}LwO2DLqCeHOwoUbP~g)T+77}<@?UaF&!hf}47q~kIQ`4I)pXVHPu zZagOMswb%DSf`#%CW|e9@i;3KPgZfWh43-#b0MU`Vz0B(7R9Op;OVU%?(`lIR~E7S z7?vyBq9~DAJ2hTIOBA`lqma~BZ7B5KZ-!p4rakizYotp^H6x4R+pk7kyz&R~*y zuAEa+XQU)k59*A60Oik|_<&hb1s&Lsw37UHPJZQ!t7phlL$)Y*R9#n8qx_BLORhIq zmT&Viv3?GUZ%veJw&;_mVCb7MOpBssx`q5M-*bPXTZ;x7lNfpf@io=wQ zq6sW&@8oBSl_VBy_H6=NwLy=9B-U6%VsCdlqJgF&mUI}`!%c8Kd>5{V@5A+QLtGF4 z4z7p4jqAvNZilOI{T6=YMDgXvmqc#(p0(_2YN(oW$CKPBu#lI?^Ph5~1b}OGg8P3& z6u43Q?2Vrl+7#t()Q)Y_7Q#1bhq&>xI!l#>y~d)gf11x-D@JndpYD6wXKMu1+UXdz&(F{UO#s(B#Q0wC2WsJ<_^z(RhB z@Pa9SbdBJK4;GU>{SK$1+z_le&k3c*4PJE|MV{|g-hl7I;#|wn?j(*@l@>j-k@qR| ze7)idBBEa<^7rZ6-Rgx!ugk!tY{dQNirdN!uh?W9=J#H)^#zf;l!RGwUtP52T^f$z zLW2=p{`otb@^9VQ_^)Fi(|o0S$qi-Ph|RS=HN zg4mN~{fJXW4p*eGt#!Ntly|gDt|BiYH@vQ?|K@c~JrcKP3b*x*aa&ioJyWfo^vo2l2Ip<9pgM!QG<)%&?|HNWjbt>F=xve_! zMJ>3-W(%(IjuY4$%T1gM-k^0~i(ai&1Rn(8?=QAciyHz8=cC_VXTD?h>QxqmEpm;m zBcpdv%tR9xnNxDN>& zn=rC_kU$PLDh?Q7#ebilrI#odDGS|42$|`8&>=CtR>Gcdv>QHVdjl5E7=;nb#skma zBng#g;E$05p)@Qg;A^cKR}Z{dA#FzB0beJRO84NL+-zS*q2RxC!q49`;pd(g=@pAg zagz;}lq|b;L1~5Fxtvzy1 zKFg%qtblSIzm_^0k4E&?1;u4t=8DYxH@s?)qKq$H)-=$(04xEk;-G1NUljOxt}VAVfM2*nEoiR_b-;+-GwP%+ky3$;wB*NoqFQQI17eKb(?}NwIl<*24GX5G-f9{PF9w z$BamhQNC=>$Q3S|b5g-|@@P72sKUPW7~kVE!gX`LUjWraU8SdP&JmEcFKL#111{x? zl6ykn^J^TLKTj`CitVFPwN|=lU#IHkY&(ks$&FOqoNs3lQ_a=k)TRaalw6s9Bd4J? zE85l_sH>NmS*lTg1fzzP4qZ_G(d;?pYX%zd@*6;qT=&XE z;ht2u&DQN0mOQ?Zzo+&H$hio(;WTdC;~U=MHSoJ@axFPoQF1cH?jhQU#98@+2x?BL z2=Mo;MIBLpz6&X~;9xFWDp2=@Qm|jjTU0T?yt+fMK#+kf;l3)3Gra2&G%6j|*%UE_ zx^yCOElZ9l2Jc8TmBIkgQoslIEQVK;wU3e+^gn%?V|O;n!z}f@G8a-+v`r~IGP*Q> z{((@MpHPxaPU!#0cbW<%*PzJ_Lpyc*)G3X+U=<91I~M&w%1B1`FsjM(k3%YEiiPe- zil5PIr$TWNZ&7?qaV2?$uMj?m7d)V!(CS>lY9Gu>x!S%uJgJx7u=v1Y2bRqmC|}tx zgMWWgK`V?md}c4qFGNHL>8vn$WPSmX86*W)pNV?F%*7c$O>U?&F48-P(h41R0-i&> z=Qw76&BC7thpgNWs616}UqI?pdmt3`j!w;%XM?m-M_ou|z6TTWSOgMUov?lW%yPKR zg*4uP>KuA70hFEtj4Q<5K^k?_?#f7|A7rJPbXsH75lSSgd{4hZOaGCp8UYLw7tj2_ zfZ-0{bKHxSn`f>4_){F_vv~$@+z7J|_)kfHENH2ljFcmU?qepgl$*z`fY5SJ;tb12 z!dXZ=o;=PMeN)oBhwhGBd48mVPYCCz0W7pOCctsD8A17Lz}7v!HYZlMYme?uXwM}# z`mbNV(q8rjvje#C{qz+mu&YO}1pnO-j37!oi!XisMJ#6}`vobRpV8n|n-p1Rd|ZJA&1`hEMVKu3mK>bNz>bg`12UT) zVHYUUxoIHJ;NQ5Q2_!82maCFt?MDL|9#|bZs94UOJ!0G-?N5W{o5s&(^|V-jY8T6u zQuVTYTD=6b*OPj&)IK>Zlujv~rkOs$FP=sr*goVAEGEi2H zQgv|5aOy*&QqCc9cRcZMI9E7-Jl1G~e;ZdxUmgn2zCS+~*Rh*1(xvGWXaW~EffwOUcGgD60@?*{q zNVpy}uJy3-_gQNGEpccK|77yCj-)H^Hz27_LQ4*xks$Ttiy;gN(@231Nv9kc_zVT9 zLl-N3hXg*)0J!EtMigw8Tf*SdZ#VB{=eaCU)MXjFXH?1hYJ^2t$a@N3Ro!TIy{xUk z^oiHT71~d~)t}wt*Kt07Gg}#=LlwVb;>L$e{&qZa?a>p3+ph@W{0hC%-*Rsw_s!abl3wh(T6ikmY1V$G#(f*UHmtq@){iKj7nm z$}FyD4+c<&&RBY3Ui^L;eN!&{wP}*6ABw1!RvhNj`LcI>FH1yJNfFj#)eIU-3kB3j zP^;^uW}VurNNKX_I|n9Vzb@ z6?}{U_;P4ZEwo5gm+YH`7Owb&`AR^Tujs;jRD(i(uK0w1`^bVq*so~9eq=c*{IAJu z0AS(6KqV-KZF(5EBKkOSo%n{6ulNrGm9>X~iW0^3YJAvSOukB1d}4TbD8BsMivE-w ztCt2b)`P&%v$zzi!SNOp;o2)0fEwf!fxDdXiW)4v=#xIP2{vt8+yegOgE`;;ESOVZ8Nj`D# zC(1N?nJh-DkzOUi0_9Gw3xw-3K};|_Txj|GXNiPy=C6a6@}cr-yMpgYeY*nBI@0}M zHC4b_l-&7f948Ctqj8_CqK_4P&EJr`H`W`3wv8+=1=ol9@_|9A_8fZ+sf1j^!%i}Z za@6O4q2QVW0ro2l34(0Ddr1%fa&%ODW^PhMp_nkbsb@V6j)_(&DR;OE2?R z;;LUKKQ2rKsnRIoDv~dHKJ!E6)Ir;qKDs`C*<*>1^*Y${s-1zhS?Y}448wEZ*l~55 z#GcOzax7;s0P%rgQF4VX3g$<47tD<8EZDW;dh_x%8ItPNHLAD*@Ja7dtOBhf zo-SUsF#E}d&yy-5i7!Q-mgcYSb>bC&ZdO~#vW9ZetY=EJFP_LF1bMwvxZJK|v9;{g z6A43nle%1oWuNR7S zByzw9$HY(+e1^7-dNg8CE>KW^N_vsNu+Hz5UZYsK<%4^F8|B=6bffo7OuQ$V?R$ie z*^gtA**=CJ_kL3Gv&J>oT>&BoH71=JJ&KVu)GV{R;buW)wLmRw_2mP!saJ&-HrLxz zcf6ptR{$LZakBz!xK6YblrMYydz?T|PCw!^|7{*ig zEg;rBzsNo#-m5|#YJn7gqTjMW#TstYtNC(X^60l!d75x-sJ%a2k#zpbBgQMP&|f8m z=2Z(XRM-Y1i&(!7^SKM|NUjs?SN-nS6e%8LG^28YN&pufl}9KY$yeUkt-ORjAj zh*MMy>88D`QMgm56m~5SyuE-Uw6+RdVM|=lkGjlSy*GBwRNruMQfOvdTpJxmtN(;{ zo0*n5WzReO+hy;6I!vdNZw5tg^U3@f1O;9$qTmj1m2g5JMNsEtu3bsd1N@-Me{s-r zRXs1lgE}hsE{ydBkSsPowe*`6|AJ82@}5Og@2`-m$^1ND<112yVcFCEHLlC#1_&b} zxdHDJSUcpx9ZB;T-{5;JPM7;>mCTaL$q|hI8ic zsN%zsANo(eMk}cm&{zD>Yua-U+R27pg@7BTG#KwHBdEMhd1p3l?e*z_!MxAFFYHp1 z0ZnD_y2O)z2dfP_#_IX{ROh2 z0-ti>hP?vp@RQXpC@3LW37d43w9>06R1AT4FrpH)5d7Itfvms4r%-_?_*H?7Y$1pk zy}+lO{FQ}YOMR?68;^AdHmVWjwadh!`7$)Rnwrk_D5X+?&(e`nP@V9T7 zH$$PqZo|W&vVfv6<6czIo-xGFxPxc@n5{B#*?V93&j}Cz*=tT9{O6>V??ssi`eI51 zl#Pae(c-C$jHeXGqo4479?lPh$*FD>oFqekT>LgD~wEt(-iN z`Ax?+s`{~OPVKu#-t|fcvsOzK%4X7DDBI*3mUPnqVN693bkxuidg=e9|=7BK_ ztr9#7lJGOi&E6b8i@WU`9h|=2%h(KWE~LTBy4ivKTv7;hSD0@&4|o_3?2{zx7E*G5 z9W6@-UK%fvVS@CPF4F=WCOWyH1sd|Ro>dvDM#$A)cm<{Xb2X*znM1o7jpT$%+k_<# z{l)J>#nlrcD<4@pyP|Y91WJ|8+%O~~NDTwxFRTTcp1BcY9N*IER99~G#woJ`UD(rz zTG{|ao-UO1KqyIPb)iJb8hxX~u6PcA9mkrR_LTiKI>=k!Gm^$fM5N1ivHZ+i(z9d| z9W`ey(rM1rW5Ur=iFq2N#`vemv|QCxG+#Jq6D6;^X3<*zow*;;*OMmd*GV- zD#1-v8~!^aoxp|R14-ixlFnc39mG}4Vc7926h z8KNliA6`@*_oC;^%x%^xINAz-98Xl9@D>(0mk3>$?;gE2a91fmEM~ceIZJh^Im7c@ z!<@tCe7VG1T6sR5T?p3H)BFZE!nk{(XwjufQfk&1R4){@aE~TQTT1{3yR%%EZa0|Q z1U%36e zES-0qxneb!F1e)5%lWV~9+)=sVL5hM2Euo4{)2Jo664M#mo8(y20~_c3=yPQyS&FI zO72|q*&002e3gfHdIGD$Tg$!e8x6#pa+NXh3 zIlE_+T;%qh@k{L0iwakNb@?+tRc^Z@@GsC(XMEqdq&N*RiB=apkMN&dbyWjZ7nWF^ z`&(u|z#e=lX{xPY!LQz@2tn4%*CQHN{levfL4^v#B}KSLfBiDLl#sahyca)ctC7^0 zPmoKB4kU41Qq;=5Q2C8=QH9$p3j2zSC%9_q$6>8}1sAH{%hhs!tpQLa60fS9q_gHF zZGn~<%PvI@lT*qi6^>D&5M6T7qQ@Oomt2%cTnazcB^R2$R5t%T!9H*MWKxURQTXObHUQ> zb)~UD3;TsjF2W@@0&)iAt4l&Tsgj$2Rf%EDTzZ(lbg`^|?xNHyp9Cfx`d|omp0Dfq zbshXv2Kf{CC9GgtVu%`t;7ydN;lYew_4>@oe4e_x@B2r}?ZSG3WemIsj%)e0ItwNe z1HK1cQpuQ~8QXbX&42BlF>oc1RP5zLX0zS%{EzLPf>@uJr~fJ|Be&6xzKwSN{x%AR zYE|L!xWdMNH&f$#j=)sM#YYq^Ivh=&g?%5GJ98-uTKNpXnM;mX@V|8LUv(}32+oJesM=^S7)b}W#4uMv$ry@r1C=B9AJ25-X$C29mCiY zjiQLkDvFo^MO?bXn1LV^pomM4B04Ua35vi+s*4bRqdKC3^>j4G-qBcg$3;0`p>}j3 z?j=X@8%Q~#dsUay;1Nami0+r*XNmtDxqCoyK;0u3e(t}*&sX+S5^R;C#T`S|6D3vZ zC)i6jk*IhCTZtyvJ4vulbjhT>sY{Hin=HBTY+xL^$yfNoW!BA4HYfGSRq8k^=49gJ zKNw|ymlzX=I8IvtqH&E=o@QBmc=js=J|)m)%6dan#7wr+?%> z<;d$U^UfiJ-Zow0*VQKx`~v@#*yCl-h+vnm6fIuGu}xBp_>EdAErp-RTKgn@(51;_ zt_T0My?i)#wNhGwIBc;RFHpDyu|p8<(tX%}5nkwiiFy$r0KzietFc2)z6@`xrDmD7 zNGkJ@ec-nI$v)JBC2P)$cL43wRXcUwPF=QB*DCq}XhX%es@R5#?Pgo{*ru%|E=J+G z3CA}s&jYfh3&Ya-V_=!$x^M~p!Z~~$wwW$%mRR%{d3vbxm@z%U3fmOn7w)A6K6!C} zl?9uH9y6v*Nl(R$VJ*H=AxS~$sNIjcXdwWiY(xI_OLfi@WdGuq4gybt9lRvM#B?dR zg^9qLJfW?|5IfZZM%c=FVUe<;PimrMFG}#_Er@fqI6N@KaS4_gA&9t8b~pFJ!$OtV zMFZ~Iptx<1N06X?EZOOfjja0LF|xmZIf??1FsQZRE5C9kE7W4`anh+D`0n<#}qdH=-F*a@Oh-*J~H zcg$u{G=iJ&tPf#>B~YBh{`#d_*)CV_zMC@w5 zueJ`gVDlQ-qLC)Q0JtY*?liDy+#`g$X6@pzdinkIqT&ym(mp<{7Qxhtam9C$mhvLD zG3DU~S`?a%7HM`ox1;6^>%ZnLTwz6&Af?C@Hlt7)+}d4{4{5c*MBZ2L=yCWO zkmh2HHdr$VKPqt*PW1LG-A^ApQg#1Hg;)!ZcU;uszfmjqNXZuTWzO&#pbO0o?3j;K z&B?$;Etor&UeXc+B|1zVS@Ij(9^GpwJ22S%yA%$b`75ED8jW-<;*y$wpclGghO{6{ zrS)_4LjT{Jq&Z#(bs=Il9_f2#NlJ(>N&$}xiPR{|X?knxsI${EGLW`J*M)joXa<3x zqnXC%aL=}PBOw5F!y8YBaQ`}yFs_M~0=3TBk6rK6 zVz(GKO&W!E*!ko>5pgqr)If`dCl3VgM*CFocXZIFsu8x)G*GTj1+T}=MvIvnL*WLO z7eyxgV$n@4s)x|+P|U;fLjDqVHrMOQ4R_`GyK;S9xvRQ@7@r-AMbuEy6_a>gS&Zwt z49jR!@(2c~`sg9>A$bH7SZ~WitFa7wNpPd^?GQl4e6wlEz>P3}SV#iJM_Ua#CzE^) zjRI9NEiwvJ$+U>xo!E%jjn0)v#Y4Hs!4>U9&t2n~qWn-VeL~GE zU-=Vi){%FCdrTXI06>?2bW2p!;;|8b2w9(3tJWoUx0R^+e*W1YnH0tPcM#2zR+>MEBlB$ zi6SM7SuTy|U^o6QX-J%27PDNGxHHd12s~`()FdW2{(gslGfS7Ee36>7Bzb{X(;_wJ z>~jtgj;J}?ChNw+%D+*hv}zcoW}}rP(8&_s##fYT%TjZ8;Mn-M5`h}x7a$|h zqLtEwnEZ_*X8u?uWGFGvc2}KFLBjY!n~ex=CQg+gV3gEdd5=a47~LoVqeKG&25SZ` z4WxhpHxgWbzMnV7!2U(PdI#cf~na_4MnPp`NoSYLOSpT-h~%Jv8Xv55>wF zz#(kcXi&6T_KpardB1^dXRSs2{eK7I+wVa9d?UoSBM?6W#Lwv7y+Zs95O2B0jJ~Oq z5^+$Ha!*5jc^5A777jjNyw8&NS@v${>fVHa%}RuSk7^e!%6vYKUG~N$J{iOKn~S&o z=Hh+T&Ibio-4(@Iu$y?Yz-|R_n>Gt>1TkH^?9KyfT)Wt-r0%`6BrY&ry9o2iyoPsn zF>Phbm}IP=#|3d;=5Mc;|8m3;QBGu zi^SC98ca2!e-PE%3{mwcM3q7y$hGn4L)0^@j%T{}s1WrGt7G6A&y*|YoqNQ4>3voM zL*_z0fEYPGXy`;ff#5?&@`G!4wfKMH!mcHnJ@7tr1s987*Zg(+&>`aP$V+7RN7ruP z{z&g{nLBjIwF}AuEONSw;8_q_IFXn>bWrY`WAensf6YUug=FzVhl~FroBb5mWG7Np z0N`%uU^gP5Zu}O|mmbiU5kOxCfWGtteHjEA80AKf%E#PSANq5OS-MizvHqHT{P$mz z#k*&jshrK=10MT3E-8Zk7rbH?jTw6?Bvn>s3Lj9W?7~UuC;Xr9L`Y)CE(WqMyRev` z=y60Lf1rF3`|H|8x-I~(r6{c7oH|V+k&KZ?=u=m$*Zqj)FO3P7G5GH?-v3&_?b~dl>$-r zB8l?Cg$k>w@&>5#*(Jt}OD=*``Rq|;+aWiSe<~-A(RO@P2@s?Kf*@5syNSewN0k@R zR9U5hDtm$|kDSn!A+gwd1B-1Pi;kmVv8`iK%faUkKz}x3x+9|~EK(aPtj1y;9;DA5 zV$>Z%?En^8^9qY~`5=81!XiMB1_**!Ja-ZaYAYe7ox_e>`_xGEhnQtfA@DyRK(UaMt+s%Q$P04ECte z#S|^PpCfFeg{v@O8$)OSI-a{OR>d6IreR2v$Prn5-u)Uxr7&l-reG>1f*<+P%#JxEFg%lVgShw;C(F$_Z<#~@R zX5V~5OO7*kjCgtUYz^#g%yL~ioVYP}9P84l>pb1MPY#WZ#-kK#yEC9M=`1LY81rE! zyP2IdG6&2=tYA&4Zn)B8Ou%G5s3(>2)D5^ZooKhB5W40WB=Nn8lEafpe>7}Pn$HkC z#z5e5JxKA3>4Ke9AFb zK{z4ol6}|jjGg{?3Mf8FbV@fd zAci0a*W}sX!)TULnKEQix(vlHCc|u`^?XDHKZ!n-hGXnxB%8FlAvi<#tIBqyF!as*7KF{@?t=s zGnwRy$OJ5jgL=hO<4zkWR=5*HAOtW9b_wTGk~0!Hp*waBrA zffwcX4nZ@Ltjx!42#<&GsoVyD7jT*^1ZlD$##Ce8e4+s>@Fle?j;Z;qSnP96A7Z{Z#Rx z02|_(ZqHFS?Q&mTsg^rit$BO2x>jvvtvqw2_4s5BY=rn4VzsP?uO2oJz4*@~Fq~!Edav@ZCzmvXkin9oBk?%lrkK{W%K)sS@ z^L7rqS82eme?<%Pa@W}6%SeWuc{MxW_KXFdn?XotGBjsL(A5bFP={g9CD3Vv;51%X=M=PDmNy>i&#vX%Oai?r z!AXPM`$dydBJrR^lZQyrq%F@F%cW$+@0jP zuf!bUo%#}dRfG@OYcVa%ySA7YN)bL66LStv@?vKC>NVlahs|RjHs3YO{Ec>QyYbnh zCeN^ze*msxj`@}VqKY-REqEjwA*gtk&YFAK%fs)mc59^{r3-JtgD*&5PHknK(#kqf zLXY^kkRPY;$mwfo9^6+jJF*Yaoke{Dt~ZG?~5PIN>L5w7h&F#32vxU_cx ziu~k)Upl{n>?~HoD`*Eo@P=zL!|F$a)bOit=y{Za3=yZJl&axZIoCWOCzF82Pj1+G z#RLz9B7Ja=lZOl;Z+Xa$c$Jmn?T1Xh!`(rE*NKRdM`&?m-cF}RoO?W&$I%B8AB{(p zf6MAjH3-js{dyL=X9s>i2krO2WTxLG z+VW0A#9BS~M_9dq@T#Do#bbR^znok3T@{0Ce3xp}i==LnK;Vew^BGn2Ff|qjBB4m7tF)*ZZ*F%X2k*kFm5)YOe}ef%II%r5vw>fCYCd$-v?vM zHJ}E<{)9eQEPD!bLn>xj+j2mqe`^ar;_qnfgdA)#j3HI55qsYa3G9%H{e4K47k`xd z0}XG21>xXsgU(z}HN}X};z-VgFMZC_e`hL!K!m*fAV!BaOgWHv*K#c*Zg=AdH06MP zRcLThHfSIT!bU(jJ)kp#q |#JIi4j3d1$gwffoBo70SgdR^i5f2%T)091HU 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 From 46b4fcc6c18bffeae2782d66a8d6509ffc7b9629 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 14:54:35 -0700 Subject: [PATCH 32/36] Only trigger Python env refresh on startup when no envs are discovered MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unconditionally calling refreshEnvironments() on every sidebar open caused a slow full environment scan on machines with many Python environments, blocking the UI until discovery completed. Now only trigger the refresh when the initial broadcast returns an empty env list — the common case where envs are already known skips the scan entirely. New environments installed during the session are still picked up via the onDidChangeKnownPythonEnvs debounced listener. --- extension/src/tree_view/treeview.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/extension/src/tree_view/treeview.ts b/extension/src/tree_view/treeview.ts index 34a00e9..8083fa6 100644 --- a/extension/src/tree_view/treeview.ts +++ b/extension/src/tree_view/treeview.ts @@ -8,7 +8,7 @@ import webviewReceiveMessageHandler from "../util/webview_receive_message_handle import { checkActivePythonEnv } from '../util/extension_initial_check'; import { checkRequiredPackages } from '../util/check_required_packages'; import { runFiSteps } from '../util/run_fi_steps'; -import { getActivePythonEnv, broadcastPythonEnvUpdate, triggerPythonEnvRefresh } from '../util/python_env'; +import { getActivePythonEnv, broadcastPythonEnvUpdate, triggerPythonEnvRefresh, listPythonEnvs } from '../util/python_env'; import { getPlatform } from '../util/platform_config'; export default function treeview(context: vscode.ExtensionContext) { @@ -174,12 +174,16 @@ export default function treeview(context: vscode.ExtensionContext) { } else if (message.frontendInstruction === 'ready') { reactReady = true; initializeApp(); - // Push the env list immediately so the dropdown isn't - // empty on first open. Then trigger a re-discovery pass - // so envs found after our listener was registered also - // surface via the debounced onDidChangeKnownPythonEnvs. - broadcastPythonEnvUpdate().catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); - triggerPythonEnvRefresh().catch((e) => console.error(`Failed to refresh python envs: ${e}`)); + // Push the env list immediately so the dropdown fills + // on first open. Only trigger a re-discovery pass when + // the list is empty — avoids kicking off a slow full + // scan on every sidebar open when envs are already known. + broadcastPythonEnvUpdate().then(async () => { + const { envs } = await listPythonEnvs(); + if (envs.length === 0) { + triggerPythonEnvRefresh().catch((e) => console.error(`Failed to refresh python envs: ${e}`)); + } + }).catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); } else { webviewReceiveMessageHandler(context, message); } From 4a82d0152aa2f2c84d368202479df09a093eddea Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 15:08:18 -0700 Subject: [PATCH 33/36] Remove extensionConfig shell/conda system Shell path, source command, and conda activate config are dead code after migrating fi-steps and fi-run to direct interpreter spawning via `python -m`. Deletes extensionHandler, setDefaultExtensionConfig, configView, config.module.css and removes all related state, message handlers, and UI from the sidebar component tree. --- extension/src/extension.ts | 3 - extension/src/interface.ts | 6 - extension/src/tree_view/treeview.ts | 26 +--- extension/src/util/extensionHandler.ts | 17 --- extension/src/util/platform_config.ts | 39 ----- .../src/util/setDefaultExtensionConfig.ts | 33 ----- webview_ui/src/App.tsx | 9 -- webview_ui/src/context.tsx | 4 - webview_ui/src/contextProvider.tsx | 4 - webview_ui/src/css/config.module.css | 35 ----- webview_ui/src/interface/interface.tsx | 7 - webview_ui/src/treeview/configView.tsx | 133 ------------------ webview_ui/src/treeview/flowsheet_steps.tsx | 4 +- webview_ui/src/treeview/run_flowsheet.tsx | 13 +- .../src/treeview/run_flowsheet_view.tsx | 17 +-- webview_ui/src/treeview/treeviewNav.tsx | 7 +- 16 files changed, 9 insertions(+), 348 deletions(-) delete mode 100644 extension/src/util/extensionHandler.ts delete mode 100644 extension/src/util/setDefaultExtensionConfig.ts delete mode 100644 webview_ui/src/css/config.module.css delete mode 100644 webview_ui/src/treeview/configView.tsx diff --git a/extension/src/extension.ts b/extension/src/extension.ts index 70a7d3d..1322f20 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -3,7 +3,6 @@ import * as vscode from 'vscode'; import { reloadCurrentWebview } from './util/reload_window'; import { brodcastMessage } from './util/webview_handler'; -import { setDefaultConfig } from './util/setDefaultExtensionConfig'; import openWebView from './web_view/web_view_panel'; import treeview from './tree_view/treeview'; import activateTabListener from './util/activate_tab_handler'; @@ -40,8 +39,6 @@ export function activate(context: vscode.ExtensionContext) { * This command is used to setup and check the default config for the extension. * It will load when extension is activated. */ - setDefaultConfig(context); - /** * This command is used to listen to the tab change event. * It will load when extension is activated. diff --git a/extension/src/interface.ts b/extension/src/interface.ts index d9f2bfe..412f848 100644 --- a/extension/src/interface.ts +++ b/extension/src/interface.ts @@ -1,9 +1,3 @@ -export interface IExtensionConfig { - activate_command: string; - sorce_treminal: string; - shell: string; -} - export interface IFrontendMessage { frontendInstruction: string; fromPanel: string; diff --git a/extension/src/tree_view/treeview.ts b/extension/src/tree_view/treeview.ts index 8083fa6..da13bec 100644 --- a/extension/src/tree_view/treeview.ts +++ b/extension/src/tree_view/treeview.ts @@ -3,7 +3,6 @@ import { isWrappedFlowsheet } from '../util/validate_flowsheet'; import { getReactTemplate } from '../util/get_webview_template'; import { registerWebview } from '../util/webview_handler'; import { trimFileName } from '../util/trim_file_name'; -import { readExtensionConfig, updateExtensionConfig } from '../util/extensionHandler'; import webviewReceiveMessageHandler from "../util/webview_receive_message_handler"; import { checkActivePythonEnv } from '../util/extension_initial_check'; import { checkRequiredPackages } from '../util/check_required_packages'; @@ -26,9 +25,6 @@ export default function treeview(context: vscode.ExtensionContext) { registerWebview("treeView", webviewView); - //Get config data from vscode global state - // const extensionConfigData: IExtensionConfig | undefined = context.globalState.get("extensionConfig"); - let extensionConfigData = readExtensionConfig(context); let fileName = ''; let reactReady = false; @@ -61,20 +57,6 @@ export default function treeview(context: vscode.ExtensionContext) { osPlatform: getPlatform() }); - if (!extensionConfigData) { - extensionConfigData = { - sorce_treminal: "", - activate_command: "", - shell: "/bin/zsh" - }; - } - - // Send extension config to react, so user can edit if needed - webviewView.webview.postMessage({ - type: "readExtensionConfig", - content: extensionConfigData, - }); - if (!fileName.endsWith('.py')) { webviewView.webview.postMessage({ type: 'switch_tab', @@ -160,15 +142,9 @@ export default function treeview(context: vscode.ExtensionContext) { }); }; - // register message handler immediately so UI can update configs webviewView.webview.onDidReceiveMessage( message => { - if (message.type === "updateExtensionConfig") { - updateExtensionConfig(context, message.content); - extensionConfigData = message.content; - vscode.window.showInformationMessage("Configuration updated successfully"); - initializeApp(); - } else if (message.type === "error") { + if (message.type === "error") { vscode.window.showErrorMessage(message.content); console.error(`Received error from frontend: ${message.content}`); } else if (message.frontendInstruction === 'ready') { diff --git a/extension/src/util/extensionHandler.ts b/extension/src/util/extensionHandler.ts deleted file mode 100644 index 33dfe83..0000000 --- a/extension/src/util/extensionHandler.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as vscode from 'vscode'; -import { IExtensionConfig } from '../interface'; - -export function readExtensionConfig(context: vscode.ExtensionContext) { - const extensionConfigData: IExtensionConfig | undefined = context.globalState.get("extensionConfig"); - if (!extensionConfigData) { - vscode.window.showErrorMessage("Error at loading tree view!Config not found! Please set the config first!"); - return; - } - return extensionConfigData; -} - -export function updateExtensionConfig(context: vscode.ExtensionContext, updateConfig: IExtensionConfig) { - console.log(`receive update extension message from react, ready to update extension config: ${JSON.stringify(updateConfig)}`); - context.globalState.update("extensionConfig", updateConfig); - console.log(`Done`); -} \ No newline at end of file diff --git a/extension/src/util/platform_config.ts b/extension/src/util/platform_config.ts index 03e32d6..c30f80a 100644 --- a/extension/src/util/platform_config.ts +++ b/extension/src/util/platform_config.ts @@ -9,7 +9,6 @@ import * as os from 'os'; import * as path from 'path'; import * as cp from 'child_process'; -import { IExtensionConfig } from '../interface'; // ============================================================ @@ -30,44 +29,6 @@ export function isWindows(): boolean { } -// ============================================================ -// Default Extension Config (per-platform) -// ============================================================ - -/** - * Returns the default IExtensionConfig appropriate for the current OS. - * - macOS: /bin/zsh + source ~/.zshrc - * - Linux: /bin/bash + eval "$(conda shell.bash hook)" - * - Windows: powershell.exe, no source needed - */ -export function getDefaultShellConfig(): IExtensionConfig { - switch (getPlatform()) { - case 'win32': - return { - activate_command: 'conda activate test-idaes-extension', - // Search common Miniconda/Anaconda install locations and initialise the - // conda shell hook — equivalent to Linux's eval "$(conda shell.bash hook)" - sorce_treminal: '$c=@("$env:USERPROFILE\\miniconda3\\Scripts\\conda.exe","$env:USERPROFILE\\Miniconda3\\Scripts\\conda.exe","$env:USERPROFILE\\anaconda3\\Scripts\\conda.exe","$env:USERPROFILE\\Anaconda3\\Scripts\\conda.exe","C:\\ProgramData\\miniconda3\\Scripts\\conda.exe","C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe")|Where-Object{Test-Path $_}|Select-Object -First 1; if($c){(& $c shell.powershell hook)|Out-String|Invoke-Expression}', - shell: 'powershell.exe' - }; - case 'darwin': - return { - activate_command: 'conda activate test-idaes-extension', - sorce_treminal: 'source ~/.zshrc', - shell: '/bin/zsh' - }; - default: // linux - return { - activate_command: 'conda activate test-idaes-extension', - // `source ~/.bashrc` exits immediately in non-interactive bash (Ubuntu guard). - // `conda shell.bash hook` initialises conda without needing an interactive shell. - sorce_treminal: 'eval "$(conda shell.bash hook)"', - shell: '/bin/bash' - }; - } -} - - // ============================================================ // Shell Execution Helpers // ============================================================ diff --git a/extension/src/util/setDefaultExtensionConfig.ts b/extension/src/util/setDefaultExtensionConfig.ts deleted file mode 100644 index 812f53a..0000000 --- a/extension/src/util/setDefaultExtensionConfig.ts +++ /dev/null @@ -1,33 +0,0 @@ -import * as vscode from 'vscode'; -import { getDefaultShellConfig } from './platform_config'; - -// Old broken Linux default — replaced by eval "$(conda shell.bash hook)" -const STALE_LINUX_SOURCE = 'source ~/.bashrc'; - -export function setDefaultConfig(context: vscode.ExtensionContext) { - console.log("Checking extension config..."); - const stored = context.globalState.get<{ - activate_command: string; - sorce_treminal: string; - shell: string; - }>("extensionConfig"); - - const defaultConfig = getDefaultShellConfig(); - - if (stored) { - // Migrate stale Linux configs that used the non-interactive-safe source command - if (stored.sorce_treminal === STALE_LINUX_SOURCE) { - console.log("Migrating stale Linux sorce_treminal to conda shell hook..."); - context.globalState.update("extensionConfig", { - ...stored, - sorce_treminal: defaultConfig.sorce_treminal, - }); - } else { - console.log("User's config profile found:", stored); - } - return; - } - - console.log("No config found, writing default:", defaultConfig); - context.globalState.update("extensionConfig", defaultConfig); -} \ No newline at end of file diff --git a/webview_ui/src/App.tsx b/webview_ui/src/App.tsx index da5ee86..f482f26 100644 --- a/webview_ui/src/App.tsx +++ b/webview_ui/src/App.tsx @@ -16,7 +16,6 @@ export default function App() { setActivateFileName, // the current activate file name flowsheetRunnerResult, setFlowsheetRunnerResult, // the idaes-run result - setExtensionConfig, // the extension config setExtensionErrorLogs, // the extension error logs setTerminalLogs, setIsLoading, @@ -147,14 +146,6 @@ export default function App() { console.log('receited flowsheet runner result, and update state'); setFlowsheetRunnerResult(message.data); break; - case 'readExtensionConfig': - console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(message)}`) - setExtensionConfig(message.content); - break; - case 'updateExtensionConfig': - console.log(`VSCode post message to update extension config data: ${JSON.stringify(message)}`) - setExtensionConfig(message.content); - break; case 'error': console.log(`VSCode post error message: ${JSON.stringify(message)}`); setExtensionErrorLogs((prev: string[]) => { diff --git a/webview_ui/src/context.tsx b/webview_ui/src/context.tsx index 3902eee..b0c6207 100644 --- a/webview_ui/src/context.tsx +++ b/webview_ui/src/context.tsx @@ -14,8 +14,6 @@ import { type SetActivateFileName, type MermaidDiagram, type SetMermaidDiagram, - type IExtensionConfig, - type SetExtensionConfig, type SetExtensionErrorLogs, type ExtensionErrorLogsType, type TerminalLogsType, @@ -48,8 +46,6 @@ interface AppContextType { setActivateFileName: SetActivateFileName; mermaidDiagram: MermaidDiagram; setMermaidDiagram: SetMermaidDiagram; - extensionConfig: IExtensionConfig | null; - setExtensionConfig: SetExtensionConfig; extensionErrorLogs: ExtensionErrorLogsType; setExtensionErrorLogs: SetExtensionErrorLogs; terminalLogs: TerminalLogsType; diff --git a/webview_ui/src/contextProvider.tsx b/webview_ui/src/contextProvider.tsx index 68c9421..6c067c9 100644 --- a/webview_ui/src/contextProvider.tsx +++ b/webview_ui/src/contextProvider.tsx @@ -6,7 +6,6 @@ import { type FlowsheetRunnerResult, type EditorContent, type ActivateFileName, - type IExtensionConfig, type ExtensionErrorLogsType, type TerminalLogsType, type OpenPythonFilesType, @@ -29,7 +28,6 @@ export function AppProvider({ children }: { children: ReactNode }) { const [editorContent, setEditorContent] = useState(""); const [activateFileName, setActivateFileName] = useState(""); const [mermaidDiagram, setMermaidDiagram] = useState(''); - const [extensionConfig, setExtensionConfig] = useState(null); const [extensionErrorLogs, setExtensionErrorLogs] = useState([]); const [terminalLogs, setTerminalLogs] = useState([]); const [activeLogTab, setActiveLogTab] = useState('error'); @@ -58,8 +56,6 @@ export function AppProvider({ children }: { children: ReactNode }) { setActivateFileName, mermaidDiagram, setMermaidDiagram, - extensionConfig, - setExtensionConfig, extensionErrorLogs, setExtensionErrorLogs, terminalLogs, diff --git a/webview_ui/src/css/config.module.css b/webview_ui/src/css/config.module.css deleted file mode 100644 index b99b45d..0000000 --- a/webview_ui/src/css/config.module.css +++ /dev/null @@ -1,35 +0,0 @@ -.config_title{ - font-size: 18px; - font-weight: medium; - margin-bottom: 20px; -} - -.config_control{ - display: flex; - flex-direction: column; - gap: 5px; - margin-bottom: 10px; -} - -.config_control > label{ - font-size: 14px; - font-weight: medium; - text-transform: capitalize; -} - -.update_button{ - background-color: var(--vscode-button-background); - color: var(--vscode-button-foreground); -} - -.button_group { - display: flex; - gap: 10px; - margin-top: 15px; -} - -.cancel_button { - background-color: transparent; - border: 1px solid var(--vscode-button-background); - color: var(--vscode-button-background); -} \ No newline at end of file diff --git a/webview_ui/src/interface/interface.tsx b/webview_ui/src/interface/interface.tsx index 590798f..67c2cc2 100644 --- a/webview_ui/src/interface/interface.tsx +++ b/webview_ui/src/interface/interface.tsx @@ -15,13 +15,6 @@ export type ActivateFileName = string; export type SetActivateFileName = Dispatch>; export type MermaidDiagram = string; export type SetMermaidDiagram = Dispatch>; -export type IExtensionConfig = { - sorce_treminal: string; - activate_command: string; - shell: string; -} -export type ExtensionConfigState = IExtensionConfig | null; -export type SetExtensionConfig = Dispatch>; export type ExtensionErrorLogsType = string[]; export type SetExtensionErrorLogs = Dispatch>; diff --git a/webview_ui/src/treeview/configView.tsx b/webview_ui/src/treeview/configView.tsx deleted file mode 100644 index 146b201..0000000 --- a/webview_ui/src/treeview/configView.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import { useEffect, useContext, useState } from "react"; -import type { Dispatch, SetStateAction } from "react"; -import { AppContext } from "../context"; -import { vscode } from "../vscode"; -import type { IExtensionConfig } from "../interface/interface"; -import css from "../css/config.module.css"; - -export default function ConfigView({ setShowConfig }: { setShowConfig: Dispatch> }) { - const { extensionConfig, setExtensionConfig, osPlatform } = useContext(AppContext); - - // We use a local config state so we don't mutate the global context on every keystroke - const [localConfig, setLocalConfig] = useState(null); - - useEffect(() => { - if (extensionConfig) { - // eslint-disable-next-line react-hooks/set-state-in-effect - setLocalConfig({ ...extensionConfig }); - } - }, [extensionConfig]); - - if (localConfig) { - console.log(`get extension config: ${JSON.stringify(localConfig)}`) - } - - function updateConfigHandler() { - const updateConfig: IExtensionConfig = { - activate_command: localConfig?.activate_command || "", - sorce_treminal: localConfig?.sorce_treminal || "", - shell: localConfig?.shell || "", - } - - // error handling for updateConfig when updateConfig is empty report to extension - if (Object.keys(updateConfig).length === 0) { - console.log("For some reason the extension config is empty, please check the extension config."); - vscode.postMessage({ - type: "error", - content: "The extension config in react updateConfig is empty, please check the extension config.", - }) - return; - } - - // error handling for updateConfig when updateConfig has empty value report to extension - const emptyKeys = (Object.keys(updateConfig) as Array).filter(key => { - // On Windows, sorce_treminal is not needed so skip the empty check - if (key === 'sorce_treminal' && osPlatform === 'win32') return false; - return !updateConfig[key]; - }); - if (emptyKeys.length > 0) { - const errorMsg = `The following configuration fields are empty: ${emptyKeys.join(', ')}. Please fill them in.`; - console.log(errorMsg); - vscode.postMessage({ - type: "error", - content: errorMsg, - }); - return; - } - - console.log(`ready to post update extension config to extension: ${JSON.stringify(updateConfig)}`) - - // post update extension config to extension - vscode.postMessage({ - type: "updateExtensionConfig", - content: updateConfig, - }) - - // update extension config in react state - setExtensionConfig(updateConfig); - - // hide config view and return to steps - setShowConfig(false); - } - - function cancelConfigHandler() { - // Revert local form state to the currently saved extensionConfig - if (extensionConfig) { - setLocalConfig(extensionConfig); - } - setShowConfig(false); - } - - useEffect(() => { - const handleMessage = (event: MessageEvent) => { - if (event.data.for === "extensionConfigMessage") { - // unused variables removed - console.log(`receive message about config from extension.`) - } - }; - - window.addEventListener("message", handleMessage); - return () => window.removeEventListener("message", handleMessage); - }, []); - - return ( -

      -

      IDAES Extension Configration:

      -
      e.preventDefault()}> -
      - - setLocalConfig(prev => ({ ...(prev || { activate_command: "", sorce_treminal: "", shell: "" }), shell: e.target.value }))} - /> -
      - {osPlatform !== 'win32' && ( -
      - - setLocalConfig(prev => ({ ...(prev || { activate_command: "", sorce_treminal: "", shell: "" }), sorce_treminal: e.target.value }))} - /> -
      - )} -
      - - setLocalConfig(prev => ({ ...(prev || { activate_command: "", sorce_treminal: "", shell: "" }), activate_command: e.target.value }))} - /> -
      -
      - - -
      - -
      - ); -} \ No newline at end of file diff --git a/webview_ui/src/treeview/flowsheet_steps.tsx b/webview_ui/src/treeview/flowsheet_steps.tsx index 67c60aa..98cdfb4 100644 --- a/webview_ui/src/treeview/flowsheet_steps.tsx +++ b/webview_ui/src/treeview/flowsheet_steps.tsx @@ -5,7 +5,7 @@ import { vscode } from '../vscode'; import TreeNavBar from "./treeviewNav"; import css from "../css/tree_app.module.css"; -export default function FlowsheetSteps({ idaesRunInfo, setShowConfig }: { idaesRunInfo: idaesRunInfo, setShowConfig: React.Dispatch> }) { +export default function FlowsheetSteps({ idaesRunInfo }: { idaesRunInfo: idaesRunInfo }) { const { setSelectedSteps, isLoading, initError, packageWarnings, openPythonFiles, activateFileName, pythonEnvInfo } = useContext(AppContext); const [selectedIndices, setSelectedIndices] = useState([]); // const focuseView = useRef(null) @@ -230,7 +230,7 @@ export default function FlowsheetSteps({ idaesRunInfo, setShowConfig }: { idaesR

      ICo-L3PZ6ig6eR5qFzhnc@+P#_MqqJ!D~~-2!K)nz%iPduTm_ ze<9P%h0JCw)DtacJh?aEi7jw0I2AX$OfWSBX~?qhGKMSJUNE)kgEWviNZAD&p=%+V zeuVKA5|C879?IIgn5OP_w=B&~8Y8*ZJY9|;KV)OUXQXNmuA9k4I*Up?0@20wbe1z% zD!ei?>A`OA&gE8Kl%YbRV1lsAFw2=Sf1|x%3a)B<@@Z-<-{#i4o&BwISZMbecrjeJ zQGqedcYuAWOlDBUI`!H^;2z>t*4Fh=Xbd-7F|NQPpJzB$P!7t|2lC;Th-$ZTTDwZy~TBL^Oe1r|^m;SceUxQdD)hmFx=EyT3IAxAv?(PJ>HW6&b1S zZ2)Ea;cFjD6o`$0P9WKym$ys1%%QX2?06_1q79OHO5%G7XaEy#q$L)G@pP8cm>0;T z7@ekV!0CRKzVQrkYDg@=Yid||e{73J!0$PHG{(s+79qC*9U6arG3P~!KY#U|eegmb z#=K~78-x)^akNupf&QZe&l6C~Dsws|gi3s?Sl*xc)+iCvw(!JHD&XVGLk@P`fXqjX zP5qTl;Yn6)K(H*%H1p#&o`D$=4S;U~AKfn{X-=m41k9}SR@5pAIV)S)e@T|&^aXiO z6;g|F{`A8^u!}tKZok|EC#(ogvH@=cxn=#ma6B=d}L4j!3t>~7IXQ54o9s8eW#wZX|8$gM$J1lA5ztD4P~FxwCIZFz>L z6uD3Qbo`sqvycm zH{R%BUhNiwhZ|nOaSTZf@k|U7ku{r{L2NlQfTbX&75y6cl#meI0~f{866R(zQ8m=4 z8q}gH-+OS(Y7`4KiiHZrz(sK&Yzg?uJh%3bf$10PZsvKJf5aYUAeE{w5kYJ8HJggm zMbsD$a0QZC4(1AJh+;FjBQh;UAY~dIc|}nK7wYvkuct85-CubMshl^+u_QFSd0bi5 z%FDwNS|}+ z-}OC&LO#-odX=*p0g$)OmJFnrkM=nZ_OWPy(^LbVXf23BZ3GHPmvM(sDRCU6!Fk<%Teq`VxKK>Mu947C8Tziv$1om^BC2~Q1y|x6G$Da`eY(FW;_>Z?ZF>}AOjn%2oM|JTxRP(AQPno1~8kU6+| zaH!+YF^*CqWc8TZSIJ6-kLfMy_%=Pj=uC?R{-uL6kH7~f^a-d@EIAufL+UUHNpO~o z8$#j&yq1ue0je^}fW@J$p8D{c2IZktoQ(wB36>PQz=H@Y%IyziQlhdQe^QFL#XH#0 ze-jYTO2UP`ngh>YxJx*a4)Ti$SJ&g5VuOjYb=iKb7}wa@PxAFB z+5x5pzEMZZ+j*p@Z0i&iN!O$Nu~upd@%mdq8a-^?hmX{*DI&pgYY3Pg2hp6}Pf=ge zXC%1DX90Ngm0f+^!c4FneKBY4-Sv&Ff8DuM2!JTfL9F|oXMqhPVhT|E@74ZBTfELU6 z@V}d5{)61|7?i2%+2lfFPcPj3e?NjhwM;gx@M{DZ#Hv?}O^;-C*TdH}JZdi5 z2I^fx`S2u`q(_W5tDBhQJlUi5ic;^k@`}}fZD3iNH6yGj4N>ouWuq*Ej+J>~kMh7s zEn{KH;z@KiXGG%qB~>@5ozZ=(Tgy?wB11M#QVdP>1S>>5Gl41VhF&4+e@Xb1W>5vZ zieifmu;ov4iwxOo7w{+%Lg6%BQ!0aXIFbr|9RY(SR|%0TH5@KZ8J(wspS2akaXj)@ zIs{&|(%j-W4KA+2_|kVk)556;u~$0vQfy#)-)5{38V*C_RG!|Hv>i;slQx^qb#MedQlZ9&n;$|Eo&}s zDyvy@H%bR&W$Z4E#M~?M^~3i^{vbXpc(spa1ah%dMM-HuWExrof0nwyTo81rJy4?{ zz>AdB3dEsQwzGwza9GOw$jrEp49jXXe6kXGB>l;Q?25*!eU-+KGS?`@Q;udsR1M*z zamIbsp?n$Wz8D@?mJ)5+=YVJ_nJ#UJ*yTW>z{u7Rkcl>Zt4yK3pR{hkc0)fj?i9GS zh0=$*&zPGN6Co$3f6Se85g7!q=GT{$$ObZB2(=56!;?r`SD#`_nmFEqpqH$4!OKDz zx*QG=02p0Qxu0k1GoWiJas&d;D{I=vhTIFz79#eF-z8E*#_tjV5Whh2nlSIceBzX0j4C5#O9*R4qYg0olfrOGt?BF%okyqi&ADk5sviF73Li9ty z|8g`x$svMUf6VXrnWMQ-z^5Q`=sur*L9+T5tDTdJ01o#c3iAiw`HNHZLU~}zxQ4*o zmqGxu)$Gx6s>v@MtAxn9p&Dk4EiMW&L(~t5*=y0uN+XQOOpb6wD_TlJMC@jySYcd7NosdP1<#lvQf7j;Ye%~F_f9|KhaJvUj-?dWA)}fWyS&92nR*4BB5GT`?QrsiD)lHa0W2SO zfIi1`C^nrE?tDDr8RK%st*F7<)7(T=U`NzE&Pp}!Ma^ls$q6dDcrm>$=Zs~}Lpf(- zk7wMLe=~;fn87a%X)f2P)#}Bxb^$|jIU-V)qIdiybgtRCU-f%IT7w`n!$$@R;%4zx zJqGV^_Nmn6`6p=lkQhSN>-}R8y>Xf7p~{bF%o?;{1*9-wRef5enI^eBzPCc!=Mr05 zEfUhtGYn6dD*Yn@%2bNMp(LFBOH^t#vOGjje|KJR%+KW96S_9f`XGZ?j`=akNJtn7 z+yu^9xq6)H8Y5MUM?xCBhSvDwybd&SJ>f;fv?x9G?(W@+3$^O%3fDE_Xn;kvPKDyD z0q{!+aC94#CD1Efi;- zUdGi?vNwibcZp0AFbOp?2iX~)eMI9ycGe39$r%L~tc4z>UV&dD&`$?~1Y$r>vk4%h z4YC(db;2JgbJ13obd8~)4_v@1BzgFKf2}l|Rx5XPt#I)5G_z#|-?OsL+fp3^B!CeJ z5~H%Iq?AIGcyOqs8oMktwz879^K{0H?ZOJ!4jPcx7AmWgQVBtoV?aUiWr;!O%Dv7HbMJK^5(&pS}{L9}eYUq9Xgm_Z!nR7%7PO$?H>)iSWKfBsyI zNs8DTC^XHeI=qAS`tC8H6an{!(4Qh&sPly*fP%O^NLF~}8T#-?KvfH=q#ja{0jY#T zY6g%>yxy$YbRz|+nTAwUh7<{@3rG2V|TKQe}%xe)q8@% zVpzwRt|89Fo=ND^_Bctmf{O{92%#IBueE>P2{OE~2ZTr23ti5Fbo4ffNBDZw<&Whv zni_YO>Nnw-~Nop@QC7_6; zFCU`!4@-Kly^P3mKYS}0e|Da}=~ySnlZ`&|B1SP<162WxSFuv>#j~GVHll|>nD>vq zulZFN9@N-`eoM=X_%U9%RQr9k{7baNjSk0QJmRY1TJxYWPEyq=+?I9I3U?*4h2|a@ zmiK@OdRPeY3=}#?+}1LFa(G<834;>SQ4Wl!mk>Dk=3V|y?hsS;f0i|yzeYmUdnNWz z-%sn%S_fmcj93R`py+Z68qh$s@K*?46bNSCZo5Xt3g(=7rh#n(9Y{b-0H9gMAmH6v zKMZ`)2Kq&-dk_1vf30aEcL;XTs_Vj>epZ_P(z7ZvrmstArmQu-#49ZLBun9wRN#|6 zqy5Y)Pqc4MRC4Uc77pJF zAYE@e`XOx4{(Iy4bbJr5bjA6_OD^auD*kIGHJ{XxqI0;$QBRmefc;R~)+`_N(u(hK z?uT~e^9&qxcyL6)y&u>O@OO-VxxH1a&q3+aBQ-UtTaNFve?oW*fH`Sw^rr8l+=)Cd zNzCDLwX6_g2y0*jdh zmkr&cr4d~33>Gkn+uCN37z=x6_x09likX!RHu&2g9ANhJ0ENutZAEW`TL>9}6$fWr zwM1HIm?F9`e{>Z`9yqaFvWlg}i6v^q9tn)x51j7HOth*~4{W7qg#ic0(JY(nvU~70 zh^9bV3}VFx=zw-0pp`) zk|oDie~0XH>wfBjax}Klavs!E0^=;vHSi`b#qBgC5U-bA;61(uacvQ*LV)9YPf066 zx^{o>h6*Ew9nWiz!YmKtiyR*b;@+bdzMTP*0D z=TML_uv-xUx$0(9Yr$leQcFZ|GfTwb+U62-e?qeRasU0+;W=CYunD;F?I!UhOV^{E zi*swD%bLg)RFEqu>IY)PliAW~Y+3vd>|yKXjP?G?X(SGE*XA913~)%9Tz!gspu)2zn@ ze*`>U9{utTPhfHnc1=b&CR^55^E5zjO&36|!DG{1z%32&&=@s_4~+nsxNXPQ%}Qsn zvf_3_!lm%io0F9(CF@*EStvB-$q8tgybUsjEDBKi-Pu2Oe0c+yNqdDIZk2;2j*bs^ z_TSeO5?2dZZfCQup-tcvieZE=&>py*ePBb`f#>1X3k7ny*ZBJEsto|i0rZ2?Txgp z#F)-xXayc+WsDIReseSzNfl_dMqY2yqTukJ--#zJ9WZ55Wi) z!u?-Pe`cubc0GTlr@gajJMP!5;NAkfo_R)bh;Cv!?$_lv!pm}LjySfjeq8}}HzJK$ z1rluc{JMg`Y_m8|vYqdnfUtHBe*gnmj{hPS)7N! z8xavzao)iLOB-RFH24BCPG zzyJorfE(SzhlmTIs=${FR3Qw_)fjWI3Rb)a9^E40(JhQx)}rbP;9|r;uQ^$b+t9+oB|1 zq1MA954r+WZZ;DU_8|i4TjZ(ZyR^6&83u?_7r1Ay43x?qI7(e9l)4!Au9lMXPlU& z-0w-y5G|9&Lo#b*6J#!PC^f>I7s@BBkpUN6ly$r!#0ZdRk@6S}l`jcg_oMCIX#4>T_YUL=Fr84oAP$27ujep|@2T?}gP`3HPP@4&iRqVjoH6`g6{9 z&1k@Vao$$lUY%p2+HE}KJdgH>id;|bN$1D32YVq=CJBiU6e|$kv3{^gJOP8l24O@%`j15nswx~?w_IaEn)2C**8|X0}VnaVP$7*$9 zt5c|V`cl#rc_fm?N_+*2ahNiV2F9c-L&EK7m_O+}@ISE>D{H`~%9d9~1>P>y0j7>2 z@C|_QHP4WOT#WHFJU7n4?IV5;o~v^(8u!kZpM%jOf9GH{Zoh>aLlkk73gEm57v^Hh;)&W-J4X$CWNg;`*$VpP<-W;gLiR zkd2<*c;}gom);>#J7T8d+d6#0CYGPcJQU*j4vr?6% zt+w`t|98X@w#+;KXCnz~9m<$H<_^d1-Vj}xU8LO1IkKb*R~dM7LZ|UcZmUKX${}Z! z3>>n(63a#oj&fQt1~qOiE0fj7-&H}kRhZb&@PkkAX=Y?eZ}~E8uY3+0xY3i>e~tBR zmyZceO>nnGtH7d~$j;^4ZcIC5s*-!-H`Cs@)$(S8aVu$c&*)?@KI3}yvdo(<`x*Gj z{571kx+Gdnz@l^_39gB)Gdj~T#9Li_{apm$woax;t*&R<=AfT+!S#2uRX+OB3bn(*!ef3tfGCS6#; zq#vK;za^Zs(qokYrFk(mt~WZMw&`>1M`qICv7DlQr}F*ntgmBQ1C9bP!ay=#U$N;%0lUAu~; zUCA!u8Hqo=Iq}l7GVp7mx2DXxU1Kk^{WDshh*MD1L zfZ1HcV_ur~h7#|>wm4*wZxi;aqIV3@w!Ck6B%ujJ4g<}Q^Hb&#cS1&5qhU-Z9Eiq|xjL#ODGh!ge@%V6irOQkdYWd8 zg?uieawE@dTaF3bLzIiy5e@Y%!s?5kVQ-=;hZvlIMZt86Zi_}CM4K9|Ma||+Fx-u6 zLq%B%vLC zegw+ktl7-8D@BjFF?ibx2ickThIab-AZfMEXgmm7tutTz3I|!MbyjYu=UIh$w%N8_ zTgg?m)N)%`ICQj5A?pv)Ghd*KcHXRy3)7XoMN&hr2PBufe`^C9qo111u+@E|m)tJi z>Vjmu+ksLoBD8hV7Nlz@)_Sl=&aG!&_ou}I|8{h#tE{A}$s;$xYO;8wH9hfwOz{se zui!7GlqW!}0JWReQvKZ*A)8W+(!>hifaSTZB#Pq@cX-w73Z){gKNnc<=Mw)34@8Bn zA`diUJr_CHfAA}(^Vh%p)qeq|+Oo?VcZXv!C*eCQih3Ix799C2pXd2R(Y>I-%eEVb z;_BCMTK_ouxG&_B;rPMbG3{r*yE|l`pRX{W4YCI@droPGoY2)SIiMY~O*_5qH*`nh zN~^Vv1KfTile`VOVYpShkgos8}#R2e+r$50wec?Qo6m`T`UgJf(_nL zCo7oLY(mm2EVrlpnl2WnE0n%kEcVPU_mpmqw?gU9e_NLQif3DGuD$YbHNMe3%Po-e zlDnS&wnC}V{`?!IbhX=eC8#|Al)8I#Pmz*uo~MehR@)>ebQ>TGG${|`8Pg^}ds>Ku zGc-*5f9A%@l&kMIn|d~#{$7hZFWYU$-=j{u4V7LAb)#}2r?n$SebVZZZO`AMb^lX$ATjWYK<8Xfo$qSc-DF3vtGsYKZ3m?e`}R%}Lm{ONwxh8T^QF4&4u$=^vaj$D zf2O)v>@ODX4t3g&?ixIXZveOu3p}!q)7kNN3KC}P!z_trxjlFR3~K_=O5J!10>`(x z><}2Cw8o{`n~2fr?Y}7(@3mU{91S*%_1{11-MFwaX4nah5d9sx;qy7RHq?R|`A*yM zH`{8t+#RnVDT~l%$Cy6QNV$49?!HH$e+drOP06SO!b&N1_l=}|Pa2RodWIXc+uKmY zvjo8nv7)WkhNo)mDe6m3>E7xFIicO&$(w!E#J<_YiE83RH*r8^>D3dmO;6t(^iTZ* z@(rl`7uxB4c|*5*t=1Qu=NF*K_;s+x|Joh2zKAU%cZi}HUs_$HnO}_6HM0dBe>z>; zhIO(gE*tHCqhI_lJcg_LjdnawxVeRCe5RF3(B0=1N-IMYr_N_=72EpaVIz!5<<2j3 zqxG%Th1u`n?7sl5FD=OzJTra)?J;KHZlAFh(pMipfZ*y&0n;Rbv6cqFH_vxZTJ#&K zTd`)d)jA=nu;&%z{5rT|pk7_Ke;0QOG73}F8UFz?BQc^vYRCrN=j3J&u;LV?S0_}{ zn%>D8?en4^QRA}S@!B5Z)AUZ%W{f%Z5(z<=;WLx@Z-!Ngn0WmpOS2yHUr9?FFo?8H_8)CIfHfYB} z{|-4Y$9%xYe887s+g^qPT!w9=7T%r)2wrgx0NC4jaq92$A@0)yAMUz*B3;klUs2Oq z?HZ9XPQCdCG$3K1E+$ZXvDg!T;VRwXf4Usc_EyEmM$3Z8KJF}(e`w`p+5tx!aFG;4 z3Z5V$!bbg`I-anGGY#?ym)+NFFX?z$2>12tgu7#I$)1$qkQ&oI5h%Y$H`=2xT`V>* zhBYjD8%V=q;clRT#A4w%Ud!Epa6b60s7)UL#H;o9TBrUV-uq7d)53E*1de=EFRx+- z$BH>r^c@F?E&PFAf8j4Y^c;sEQaRv>Z0y#M+{V5lCS`hiO859lecE^Td5n4ICESU- zp1&bj3{cm2imi6ZH$coU22zsGaDK1Rjo#|&7o^RluD*Eu1oIRD_{IqUoYrKI>;o3*w-BZs z!2KR@km>{KV72S{r#Jz~;CJbQWNZpA12SS!cpU=!&hZ^`7sfxm@=-??C3A4S?8QTGM80X~I9!tdZ>@WxBqiF-r7gW3;#zQE6Vovjz-JDIb1 zcFj`oeG7U^mn`>h2H(N|DM{Oj>_pU8k(!GWt1yg}C~ z{974K9|xDq2UaaBHOd^JVODrcG|^rxRYWVe-WaSJkEfZoQ8=HrM{Z2!Cx<(zyErB% zc^GB*{SGw!_*BHRRYx=Ghw3Rije;DAHQ0FhGQjF$WH-Om>MyDjojW>~Lq?2pT7cJG#pt)-Y;7RL>*^ zi7V)3$EchQt?CSZ__8pcuoTW<9tbgk@5?Zjdf!terz7zh}s!gmIHd ze=+vw4xKwUHO80UC1Qjc&M?@Qj`wFz`q`cVBWZ$1=ZL=im+KDx<-hFz_gSm&`Ci`z z)O82{f|S2_Uf&)33%}go;8Udix7&ulFNG=qdO(H0;CQZNZ6|5y-e~TJDYY6e7Aq?^ z>gjQ#SKE}hsa%PRwV5#g+6=_(+8mCy^<8BL%YWJfu-dl4DoavB%aDfm(o<9G!AN^J zs-B!t&r~+LA>YX+*&+ML+w&x)zA*@!aJkRNFDJ5C%!F5X1w{j*Di;C8;ib|zj0CJy zs)Dx${bDime5-eT(S%2W3XHp0oc8y82ZDAuh3DRo4X-@7@Ai;N4GBxlJz=Ri$@6LE z_1>l8T36M3bATdFZ+vI(;=C%#ji@;)R9Z{8b1k(48a zmVm$II_U*qge!>ojj2=sr3_I0s+sv+g?>vH>0ZbO&bpcVxE z4PA5tio&RkSu~rQGC_^D+1!z7Fe?7=(!DpE8}hdbwG6+|PxrN}c8wDB^YAJ+gp@i|u3>_TA?>UlObDU0q#WU0s*|`Jek&Y~;G^ z`fM9)m`1JE_1O;o(gVI$jK_#QaDTh|;`QVPcD{N~e&DieZ{&80$!s4o%%pvAp`)J? zarCs2*bTe3r;x;Bm;#OD#-qZL;4p){Frp|-&=96ch5~cw+<^IlkXOXtwwUw{zy0Xj1N5E_|eN$$bTT62>*5a zW6CF<=S_O@FraJ4jglQ)%hPk>1-+e)w28puZ>(JY59dZ#&_Y*sfge?5g_LtBRcU97 zN`mA_1u;skf#-EkKy+hU(ri5z-LM*+EWM+fmwCpL(44Qm`Q|tnfam#&Q3ICCBh*Z1 z0<4o#2UtU{gIDaG86?3GM}NIak|AFNRZ-Y!5}V@LgT?eoWM`U30~Vx1LMOWRSwXXv z2ZxpAGKD2GZ~o)Yo#uZ%+-l?mC_= z@3o5uHC8_G4z&f@ZJKmlb8fx;&Zgnu4MZfcve#;jZ@lg9jelO_8@7hV`_j2Y zdCWds6D2=;VDPht#Lqqx{OoJZ&%VpOO%&@AZXN&@H#<$2IfskIfm#QbvPY0Ta^Z0b z`aAUwwaDeaNjN~lR5?0$_E9)>>UIzH_bEtbPrWy`@_$GNl}C_&+TZeSoHw9Szp>+X z9Qrg{6Io)&%r1b#8HoqEq~l!NCumeplihnC{ChX&#!q+a{*~cZ1qP#f!N{S`M}N1ssrL3q=3IMEpF7tswhv;}PhR3Y z`RPY_FdciJNNT=Vd}2o+`$6IB3qxOd)17ak8YwbzD)}1BLvA#ii4qZri;#^v$E0>D zE(2H&B-NWzpQE}ZA}*rR0X%c>(|!I357whC;5#;irOcssth7V+sR2p<4_d85x&Yky+_+T)r0$uc#<Y7G?Gk@>? z|9iH3@56a#^FCyZ&bH56tr$mO6 z);I^;B8@fMMN+D8L9d&E1Fnq^N`D8=_L+nzL3Rff2$3$ufLJVfR{=@fL9{15bc1#u z-mFaHJTT*7p)4I%lnw!j%+gcO^TOW7c1O1Ti>$U-Op7hSb9nQ9v$wI+nUXF!1(*(n zGdFy1@%-F%;&`!e;@I?dwEM2oy)QoB&xJAo>yLtPknl(a;mZ|#;YC4vxPOgfL;H|} z3t@~$tlMnMrevt%Jcv@|nbrDuN{Ca<#Pmo*bgOI6*5|<(4h!2Eaw>oyUQ-W&akainR)>kRZ6g zzq&L-MC2eh-E5i!oj6tpgny&9Xaat&5q!q}lwsyNY6Wu~*Pa0U-Nq(ms6BEf~u2^kY!Ck0mPENkzfwerB*KKGj9cauTJ8}y~??VNi}`bo)n6Xg)t z1x=+NoO?|>iHgCcW`COT!AU=!@YH({Sqb;sfu|x!0thRwu_Yyh!T(sQb~W zR9Hkd<^%8Xxz|)*_-Y6qRIU^A?08i;J7j#^lqa*G&yV?4kY>qOkGD_k6cNJKuw_g= z-u@gXpVEon=WWxXuo02x=lBQ&W8Xp*sHG~ie>N8)jch?N}SDb@kcDwd$ zAU-=`uZ>viK+r&79D`Z+PQYB<@?ED`ovYltP#7xYIDC&nLm%@Ld^FQ(oiKQX2e>g5Syx2c>=9!KmTtw_1(`zdB5&zCd@h65ML3I21rM z@H86m+V%Sh zJ48t8^_;*D^j^8&l#6QhCL*qht>e&OAS4xD0un zGJnRcZi$P9V{v=cDAG3AN2#}9tQSOalDnwL=owe#l|9Jl706+=L5&nIsHOfO>XobF z#0o;cR=YM-i*4p0l`vPgb_q}hVjdyjG+A5|R-uQywpU?>S{LDPu(0JE7evfFdmEns z-E|^%oyhAJ#7-ee%{Ll=6KU!$`e5aHQhzw)miwFK_rO7NA0*pO6YAqi6pmS0RP^K!h zs+-9?%(2fmq2EyoiCIUB6%KMh*Pci2MC%lJG&}^M5D^xrjCk zE|IKwvp;OkBNb&f|DkgM7a$ejsy*gu>R<6*PY^Oaz5 zCOJUCoDmql`7y}&IMvIApZ0=L(yAp(FaQC?4*>jQ$ zJ4S;##`2Oa=jKJ^DO{4)=rpbF)r$Csv{xSPr%90iCnS(6oDl|4@qaAZJww!4GI$J; zr$oM5(qa-KmU?p-6ku{EVsd<)fWg`d&1w{LBz#D&P_BKUzKr3bEfr)Db#C-Rx;ZSO zg5E~HwTG%pcU7xi-0S&O)0`{Vc2cI|%62%D=T|4mS#|4*zUW>wNzrMi6Xjm^%|lpQ zB^h9$=L;{4pE$j;t$#Bdaw1EVyVZ&zb^>yJzW~=~3HnRGm0nbJLfD3B^?IVc>Zy8R zdjMZ7?v=Ja>a@!k=o${E6Ci1L(cJsm4}-qKBY7N|4lym1=&7GFgfik!kt7zC?hDye ziH+=Ru`4*f8yUoWc|} zVg@|peF(MD*ngZ?T(bbj#8Ts`1CLQ?pg$FstS8y^q2?Vh@L!+&>NTb^bzDY&Bcrm4jyCn;a+ zQ0flKk2R~NSS=uiZM9bnve?DjK+W0NYRR?!>?e_Pv72RJL(T`)JL3{vHfu3z!u|e; z4;pr(4eYGp0Fw>z0bG!yTDJ`?N`dLCEerl;v^cV~{CgO&49v%cW~IH{z{58{w_;Gg z^6d+j`F{zlmO+XkVyse!JA7w(E2T%pjC_iymqi(a;T?y!l|xWcCFFtH+%=HLAESF} zC{j>x`T_yq)q53dLeZuY?;q6&p`cW?c<9i`AqEF66TAx16Y4p<_9OpF7L9HpMH(o{ z*4k37k)PUJhKE9oUny=gMD8AQ2=IPz;v_Dps(%Djp7eqCc|Y_ij7VAz43S{WVg|ws zv9oZ?wOU3{?&vIO54oRB6LN??4V}PUEIz>HQZCkuQ-^k|eOd;tdDZjjnhOqirlI3g z8@}tpX)O68^S5w|{EH`lS(!W17fC!;O_=O& z(jIXioP5%ocTt*$axPd7SW3Mc+*Zr@66^>fnGd1iiFw!iv|JXn;bc+yZhFSgb3+LW zK39#Npt(_qPm|d4?!s$~h>2c(c2onk=6~RzhTh=uQP@Xnv8@qRY&I6z9>@{uiG4Y! z$IZa)^#VoXy1t6-?wgLHgJ@u(k8!G9bc~@v+96lqaHatG6k>~t43d96U{yPcUJ`v%W#8#GJk~! zuh?4!3Y2ittwv3-lcI)z#RWO#S<8KS<1ao-QgwUWjNc?MndA1yxuMZ#F`cyr8iS zg{7Xh)UXDeh0W>}y>+P?N*B9pOMk~857kg4g;QsivMfx9!ap@acNlg$y>b_wNQTP^ zAg=7jwgBzMPM%X=^WyL*xz`itL6&fTT*5+QtV-uL2tdcS?{m@wUkwOS7_Wzdy3CjW zcYOm0ka7`~%_8=Y9X*oMfL?B{l5Y>%u+h)7nE;noFSbrzNML{m# zV7P%jG7YiQdzzRJHLzy%k_gcO&x98<@Gl2D^1L7q;!&0afVHZG1L0LfVo}oq`c|24 zdl>rJYk%T6XPhPHI1oVn$a{LmS#<8Y`6vFhrWwisU%Rwxs>|Vp>zf48!QR;_uFb0ObNDFiD4K6AJ%`&A`*AIiG zDkw4wh4km>)Q}Hox1_7yperm93N5^d6S}TdF;<2y=(16$Hb4aB9e=!L!D?M=e07tD zm))MjQ4OzKcyj|LQ$PI%S|6uSJEhuU>V96;K8ng#-a7E8QuYL;1r+iniw$N0i`)XV zfX4{eT(Bh?pDe(Qd~{hf$N2IEt_J3#xP*++GrY+gg3=%_WEWrp_jM^^Aw|#CEEj+a z8DBWNf-=Ha!VA_4G=F1-uHVaYtVglUgfWLw>WiltPf!dagFS*5vV$n)5kzML`@vo@ zsn^@s5oIx0-jQwt3K!CPy$y^8xf_P+@y^~-dJH{lj4~Eqp-{Wnm^fEuwcLE0EYP&# zOt@{w+2Qh@SuAJ|4Aq?i?;92pUsoDfY3H~{}FJ8HL zVgDC9r~!O#s zf7{dy1P9!c9Dk`Ao?>Xb)vy7bdXKM7=3K@lcJHQ@2FF>vPr;=MV&=t_c-@YyeMcEuK46H(l7dpW*)^zOo3cvdO0f2{RTca8v$T%90g2^$v1GZp zT(7D%QdD`y6Nnhkdp&p_NL(#sSa%*T;sotRF{ZRI4UlW84v_U5P*=jMRZZA0Ugf5c zf0VWgN`DY7D4;0{^1Vnebs$FIyUed#;k&~|-SEVM^JQpTqV;mEU}j}3N=z*V8&}FB zS<HMxzOmDh|6)2wAS0YwBrbWy&3svROG0D z?{d=8f#t2*JS7`A2efm%r}IE5ScpSVH!c{sJAbuaF;)q(o4=l&zHYtEhsM=cTqDVIfKjSDh#N#6 zQdeEJkv<6FY^q%5#6rE>7)OwvOfTW_8l1a-oxq9ULge|>yuhOJ1gM@<+*1Mu&wkbL zz<=821RC%t#im8>t`VyPAc)CT)RC2TM=ZF4<<_3=v(#B-M!=66_D zNKn$^H5^OJH#*yBvhoH_9vEyz!4+3o3B67eals7E0D};>YEM-ZrjR4V>D3$f49_fIu zmw6NnYSV^u-S6H>I$Dzqbn{t#e`KMB5*Tf=vV@PD0nu`@*Y z4&2Vf8`i*gybgQ^Zdd5?UTn@M0NOFQ@ibtbcBUFOp@z-1kFY`4YWU=iUd^N!TJ%Bq z48F;B(=@n>5T)P7&K#Z?bC)?Ae6dKhKA+oag}wHs-U`sD`K=WWjzs{40+f11Xt>~c zcLT&1VXx?~ zZR!YwVXv2%=-Wv0)!;KYwFul=k@{695_(t|2s{GSD@H6$M~an1IPZw!eUlx6*3&cJ zA`F;&iCG5TB-*|n4up#mLl-U^@cERxhW5yYZ+fX~ZZ_R&3&h`ESbu7RKJh_`+m-s( zBJ^=^=AV1O!+?-Ukz1kM&w#zrx>RQ&o5HiF7@T~4B`RsF!%baRvV$XUyF2*M}QXX^I& zS-7;tsc3OpYH=!Cbbpl*0q@2JPwWNE{FHo(=Ud6hsh|t4V)p{N+7p;03oM2YvOWpv z>JM2GVpGL^ACqn%T=K94^V{a(hUkcMliX~&SUAg=->K`exuQ-fc##12ES+iIjlHR& zRn%Lm2UMong(8EBF^@{a6)S65L*(cpdTPpXL$5eSvPqccEPw9xoY<>4nZ}@F@(8bSNJ>4dpbSdMcR<_37AxX7@*Otky(|0MU} z0fIw&XkB_fp`#(oXRr!ovRG6=OoUk5N&pJMFWct19f6*V>ELf#t?h1UD=OZjG3`yu zkFyAHGjv4aRR9jrl>!SWlv3@xh=uRo4;MlHL=h-e#(3=j*`wV{(MSt%DMel`)J+9QP94m7Fky|u- zfatbRlmvoM7A-`;CCoJCgU01oA~utdHzZ`zcHfoQL5DpAyG65;#Pp5uL;J$5 zh8&6|QN#kGeFeJIt(+TW6@k2JMsOzlW0R3%Q1d9`4vAh(S4LbYyeh{>O3YlS2#$(@ z7*;$Q@qdQ!X4FW8?$q3UhnL z7;({bcvf2uWlu#*^_37R%_SoVdc(rgIkJv%tX-v}A$|$m&|Dx*vP(z>xnvZu;S1O$ zJ;U^^5_&2EWfW@w0Z9ai>0LplZI~fvDBLHtFMlY`*f;A0jE0l|apb2a!W1POHa>yE zs~P4%sJ+_Wrwm=qiUm_Iy@udz{6I_5<`7z;labfc@JZ3Z{D2SrX_%$nS##*8AjnF? z_;Zsr!QeK#7evi-mVuDZ(`9ql37;$$PWZ(1CVE;Ua}zwerSb47ia$qte#Woj#1zAY zPk&S=V(*ID&(NGpy)BE>-61@=$;6eieS=;z+Bz)qXxilO3Eb$ac~@`dA7uUyjXsSZ z_cM4mN+5(d;v0COWE3$kVGTbTpuZWOkWC=QW~~APs#ZjX-rQNh{Oa3|+QNR>4k&dE zsvHCDNHzB~?~i!@6Fs_oPW*}R5gWwO^M5aWP7>u96hGzc!1bb(13ZtigkpZTV8#k$s(*8V zFQ;ZWzUSm&0I%QuPx>6CS|VAV4XIbI+w-OTtRvVk-|a?DlLY9D`fY5^)BJ*wfo=fS z4r(o=f&d1663k-L-sXtIDo^Wi<^@Kf;yG$J48h6J*9oC`sntm6DeM7GrKY1erT!vH z(+Oy+)|h#E>{`JX{Dygvp+Kgrd4EzTXiNMgvl!ul9DHB%{wG(_6{1q6Cpn}tHiW2< zp^^$1{U+fPVKHQ)Q9UZAJi9lY5G1*Un2D4mXZ{2(}_84q;$(>3Jg>x60l%WQaohCF zZukNZ(nJ5yfhQf<%YQiIBYfp>aq*iI5LCz06!$tj=^MZd+E%V^E-f^qxKD)8wgH;$ z9NdBvpkst$oSRXnlQcSu)-x2V z;ZNEodsZ|S^M5T%G4Y#%a~KCW&|l#8N`o|%v6hc9zr@e0QNHZz)wf)| z%Dn{6MNEs>Zu#c!+umAZLUnn~3oYpKlOVbZk&iqgg)zL$lY=^w%XIZ1rnT#%?^>c$ z3-)gD(QPW0Y~;jv`&FtrzU4qxP9WDKl6>xB0g#!wWW($wG2xjClF|EV37Ut zQ4g(DKr6PPHLn78HK@`Rpqi3HHX7U1NeNVO1uT3Gi@bisrrhJ@J6_%jdPjeg?TXF) zz1?b2IP3m5mq(yHPX2rcZey5vY;u?30TCfHioZ=4NtA4)u*|7`Dp7$+67heZA&{ zzJH8fO*f6w+q%fkU8f%|7EV7j-zxs75u*GfnzwnC*|c@*jCwuPbnPZ+JyfqD!(G>Q zJHE=_BfhOA zrC;!So!^JGR@#c>Wvt=ao&ey?t8xcW6dODT*G5Ix_`X)HOTDM_)VR4IeuIsv9rqB& z2^-8BD_mH#RX|=-%2H#n{Oc#OyNyI$@LcJaP1rh}op(`B8Eim`PGozLcUDe4?|-09 zE{fh0!=G8`Jq=5Rl?o!{>c?zty;ihc!EjJ3Jw=&S7`P>8F(A1yO=F=#3hR-UTuWJQ zrF_G!RA@TYGTlps6slPIn2LpeDeaoet{E8XmrBh3P#yeNw0T0(cA$y(n}*4ek^bM! zyhJkQLW@*ErR3ks2A@&VaFqv{a({ChZd|r12e=gpfn5{FW7eIQRUA8<6%-u7$*yo; zS32lk2PvEujUUPl{m=-a#_q}62J$n_DrYl%s{(FYNr&gQYMTxWDMGbY&J&{G45oeV zIO1gz#vA~rZ|E0F^GW@Vr!?;>#zLwZPq($y%eQpTQkR7u(w+m*Ff;N}Q-6soIE&AF z?X&P)1#3O?&vQ_KK{nuD@3@zO$9lrM-)bo8M>L7X*ZkjJ3ojqhUK|aBt0}$voDf|n z3%=*$0HT#)`G39RZSgH*fMsx#290D&Pz0J9^rT0GmC;Ib@^pBKID#S1`Xg(_R*yvoWR?S|=s#H6e~xZ8#Y=g` zAkc7DJ0laj2fLwgi=r#L5?COUQD=1KpTit;bKQliqT}Y&hFuv@fPZdHT;bw|GDKS} zbgJih(KHMfi=vu_DxnW?2mN-fGk9PS*WNEs3y?!TTPc;98yr2U%2AKo-+AI4cQ4En@Yex2|qRf#`WCH_>E__!+Z$Ew6fRf!L) z5+770?o=giS0zH)F~6SjG*c5azJD%!|5W&XT=@R6@cpRp{eQ6V{h;u@Q}`}?;uLn_ z@bvqcSf`WVDneJykoU$<{4oa~DtIhT6P{8N=_HO)a`F!e_+t;`(=z%8ZJf;8{o=S? zKtOI>y06{&H3cc97VbTK@YD7-yKajcyci;+KgRUeJR8M>!#H~pPon{)@96S4%#@NJ zU~@-S*Ld#p!Bc}IuFVkaOVuBGQ&D}iy85G1^+(=FR3EIa{$r{7kKRC3AFi(c zxK#bIHx$(;tE>N1s{WHV5!J`5tN&c8{|?$%YPfREHPS_Vu)YX zCVvZM2JVY!WAEQ~nmgW}7~|Wuw_us2eJk2{zV<#W^UBXf8z0x+jAbVLqiADy?HyU> z?sr8SpVr=%9x`1vDKCC z#yONM(lhT+vOmvStxUKeah{2z92G@%Vt+7j7YoI?;kTP#w}Vu2=r{V_xPO~Y4%@*% zIjP4M&6#=oy4i!eW}Rms?U;s{;@%dEjg4m{)L%W1#o`%_0puKVQpDnU2f6EP5)&+M zubapLvuT32>C-;knqM2Y=3{wleywiJr~U5hm);JpPu8uzJD>LJ@6M#wq-c z_+{Iz7NA`Su4=>w@LguK2!nM}b3FI%u~aVaC>Umr;ghM1;4(mxU1YH^i_~gcgaOzZ z+E4gczgs(aP{S!tz%NX|7k?8_eppyq#CqJxT@zigV|d)`hFzR<+Vk6&;4nOO9f7+n zgaJ^LkB(oJY7&YK&x^~mR|Kzd6=#icJP3w?R^2BRJ}^;fy4?^0;G#ON29Fpt%s!E^@?+n>}9tZ;clbPa9W?U5mgOz?R(D(Xl_h6o042Ld(GwRgsai zu@2}&Denq8Zpr^mP!PU+D`4n=G5;5#aYmRSfO7uLpmOG9o|vE%guV5zSYgg?ZAhLx zOM>xHI1sj}{!{VR7u;}z-1+41g#?DgRY>E`BH(3&E@*)$OxkM2PyMc2B5)}YI5qY7 z-o38DtE47V60@|`0)Ou$;vkedAO&8?>x{;9_ys;;8@ z#=QLMG2=11){v={!jLiF*W=Qu2De8uy48>gK7}D$$I)CMh&gEeT^x5E2dbuHH%0KE zrC52mQn4bAnEWr5$jg1d2I1F$K`tS2p~x)!9exJGX%qX5o37QO55Q(J?1D#fky(K%cF@UK0>*?~ z*IuQb6V^dHbURM0=N&RpGIlG#vF7$>OLneABbp*kd0xhs~;TKL2?d&3D@j2QO zNPPfoEzhm{yn0MhVj%mT4Y$6Xg2VogVK5H#9PyC$Ui;aoJq{v=e)wNVS!#!3Fk+43 z1r!tE3MjJWRP6TAOyX@4j2&tUyDMoPK_WIq*{Z4f!GHO#lBX8B5LaE4OsIYk0&S7& z<`d3888>D#SKMUf-L_Ch-gpISmj*zw;EaU1I{BX((2>_(!D!&T5_q6?j6(m90RvZu z*))Ya5j*XpSZRL-Vx=QPti*p6Vx=P`R@$F+kLr~%_Gk41rTtl(JkoagsT7Qat#LBtkXhK;$tGd{ zg?M~Ui&03$Bu2%NPHCjOSv(HctQ}cEg+*D4 z27lEr`m!_B2`CIZ#$h8p3{n$1LO705c%;88F}E=G1$96(tZf$$ST#$j1Xj~niDxkj zHsTpi%DB-O#5|3D$bj^Lt$)K@k794kOKwLK9S0O&? zLo^ebNmFR*muw7#-C3-!m=!3gJZviDLVxFKS=nTPnnSN>ffH)VyMk8uY%oNU^%7lJU}p&f>Lu; zxX_u_GhZyMnMl@C&UCSGwwZGI<~nXW3&z9_9E`_&5XcBDv_a!z*`b>oA6lw%>jBtw zP-vB^W`v+tX_bmrwzjPGd0J?)?0?ZMZjAltYXhO53XnEU6K(L1jk(a7=}=27YAcQ5;GPy>X+oub7Ux`90LUiOR1PCCO*s2~W8qkl>zm}z}= zK*1cz5i%@+!LWn||2B0-^rSQJMv{CES}op&63(Cv7hVoNOjU{?>t<3+ntFE9URWyi z#!o;^QOpAj;)B$i=B^Vg7EWn`fypyf9v%3aYZ_G~wn;@FhOi`mVvVP=V3BVyyVN1} z%H8Qaact8DEXX6x#z-F<^nco^=(MUwRC~u{Kb6H~4+!u=57v-$53*>v40a$GGtsWS zYK0CeL1^?;s4OQ{T@5>*f_DoA0;yzPcI`JceVP)=G!i zmg=Y4ynV`ye+cV-Vy zQvR`Lji-42`;$p1bbn4jk+?mm8{%B7MQ6Zlz;uR%gtRkZ5K8Q=cV>Txd)6j%7 zcKX|3%;Rb1?eIrJEtr3io9q>FO80i8pFXOA*NbgE1$|iKoqt0g-p&q+bQ+aCD#}wc zps7^OtEgI5&np+o>7Z2I+-_dwCKF2p3O*k%{r)G=dKK4XYf0O5|8WMA$&%lO5pA&o zQO<#2X!W@>a0~b%&vMQE8b^rBM!D#0O734_M;aIe+lWU4XXG+vFoG)Fg|aryG(@LAqy?-equVW7ag)EiDRuKVf!?*FO zNgh*O6?aDdPBMTGkm@6jeo8rA_M$AzUF{QPc)C z_Z!%0Que5X2_uxg)Pb*xnZhjP(zBdZ?J)9yhn-D3**`v$!qHib!~m$@4l$Nw!U9-ZGGQwqhVWV9GIGT?@K(h&ae}f-dpj) z3LXXF{u)4JA(Q%b8cpVV7ypy|$3=+~9~qqZz<(JMCqD6p^7xymo9Lu`g`Je|tCRAr zcGCU~Q*iSU+*=2N8!JuFX3y5Tw?-@Otbwu zj87d?A{IixxyY1|*mhD~T~yWV(vm{5{eOwundnvpH#RmjCB`B$Hk-6Bzh;89GlE;f z3%@8MCBTFDJ%NLb*~HD+1W$PoVwYgeCb@#4u0}*k$DlFTIJGJS@nQR~IEb8P(`8LR z?FT`#xO!A>BE`#Ndx?a1ejLr14O}J!uK`Fks$!wvJo5TG{I)7-9 zgTpk%C9FE0r|dnk39s?VYSUm70?8(9DmLNuth-syCcIwqWc7Mhq>LmfD4zN|4;lA% zwpk)h^Qz}n-xCx{-rN!I;MGYgw)F88L&d}Sn8leNiW|f>9zL>4@eVK3b8$O0b?u27 z`vx_pHA>>K3?jnpRxq-&F(T=bx_>;ZEiX0pLSDGq`rgKl@q{EAE4fM%YQNho_O@B* z0iV0wcrdbPJWRk z?mg&EblBCgH$0o1vza&6Q6)Pho0yU4qvWwr?4QQSkWQrJ1&cR6@vj(WiNpa@a`@Hx z;XfzRq<8_*MLwCwo4ePn}ElMTtrW zxhWtJ`npaDy?^mt+bRV?P4-C*=>g!`*Q{*wYBZ9|T63j?ZE>k!mL*hM$ld(YQWI4V z-w{P?^aqVpJc0t!q#I4+QB~}V?Q;X6JkX4{)md~o+l)nQI`LLp-hch~B<1qcLmwZr zr|5>NzVoN`U9*u_Xp8x7)p$V1XWCA~psychi=!IlmZ^~+hH+ms>yvLxL2F34-G92> ztr=K|0ZFEna~P>{fOcP(RE$Ot#3tS<5Os(nylT+?J#mGd$+y4d zE=bjRTYJt$?6pv8Lw^rSH^xEh|7u)&* ztbM|>s$@)ifv&LS*E_U9l3!ldKAeW(tN7}QLyvEg_$uLPihsTaj87ElTbvFj`9?zW zjmSg)SuF6-BAEFk=Sa0)VQgF-Z`}D!8@Lf60w|hyJI&4eqyZ)1-E?!;i5Ckerkhmp zE_!3!MfaTpO@WEyInW%Bx|2d0(d}k_15%HDaak+QI@DcGZ#jpFXb6Wt1s3dXW-pg{>I4D;&&KdiJv(E zVpssg*-iUsIP|v9z2?zy*kq6(_G9YpoO@0AL0Nn8c;fdn@4-39!SFX_yyMAboO18s zxz`lG!R_-9mxT~^sF!0>Tn-pRGsXev?we!Xx9YjsSAX5APMb5`<3#r;Hq3-zS+^F4 z#5g2U)^e!W1sqma@P~)qq0Ni1L*a28hTXBMV6qy#&XY5v0&*fcU(AuR<(zc3n6BbB z%{~C5KwQ7`{KmKql>8CMNeCtvtBCqI{;o)tBb0e+60(38qRf|bklA90GF#4}Fl6i! zMl4xdbYM_}E8~A6u0W(1uL<#X0SDmS%WH!7Fj)PuZbJ~y@$%I-ccMUm1GncKcn5{m zK7eqG*iDZ*?a)YE@xK87C1b%^&2CAMQgKWmL7HL9l_$qccX4^kE<$lYVHcO!Mdg`w zsk``6rY0y!8X)PQpF|%>(Vh>Ga>x(L+6~clgU8a%&k*Ulm7H)~<9N@xayrfUvvnc}mHO$i~s(VD6)pEQgKJ;w>H z;If|U$$fvk?d0@Sr1thdIh~I+v7mnQD;`St-q`evh!<;)U)=clqMh)asa~*sqw2yI8yx zxg`?mE*3|WH?~J(?%x*$`YP|FFZ6&n%SRme9)k1jkbkBVOdnkj(6x{}vzT!pKCC+s zADMp#qVVHH&YLtwT$7(tW_Xr5(C;D#9rK=ml9AWmHhbr7vr|vr`rdfW2kq@9=DrkZ ze_5)aA4KXON&v~ZRp4K2Lr|Qkp@wpV^rouc=U>N#Bpk$z2ug*fH9Snrm`stob7QYRE6l@ zxl#7gF1v@MS3c-|;4ZsSPr)g7*}i|3x3BUpxj|e0blmyB7K;%_b73+Ha{dJhPkar_ zqxrw2V$%>5In0R-Xs}i2vB%xsbIi67!eRiR%xSrdLK?_Fp!|;n3f1#aydD~JvR_^H zxCeQ{en}e|MVWWlD;^kKJVyXWqs%_|UJYmZC+#GXg&kMuvNhqs48jQnv5MzCq-;qG$TK?V~7UDGtfw}UFEALzKer#R8_ zsmYSWJIz|H)2!lR(yL5$4l?#9cZF*lj8g=veu;=yWH>ualA;4d*PV~Jazc~2EKpxC zt0V!t;)4tgelsUYm;w>o_cMRqj^fXt?z=CZ#gjzpGy-ZqlL4zw$e+0;yu&yVR;7H< z5Ubr7`ay^USm}w1HGH3W0l_vR*uFO=Fn=#$;<)TzhzGJd1tR9)oDFK`LFSA&Dt|wt-yVptqE=gS%d1WI~hiDPGhKf_nVLAz#NS+ z|5nSHWpv_qmkyFZ*O_JCZg4X~CWV84AquJuKrdjY8B3Dx`>fS+PBZU)Mwg}}fuBUG z64}Hg@${adZMs;zl)!(VA!!K)y`DJg&HZ)AJ-jZy<@)Z?Gd`AItesircGfQqlg6QJ z5Kq%;`5awJVj{R=<$A~21p{Iia4Ctb1B`|l&DKQ@PLNMSXFM1>rL@2q%xQn)a++ziz$lI&8lXY@ zCW#_4!^}$(=a7p~=gJWd+KNLMWwiWP({?MTTjd!VeEU~8>=$nLzdbnA7}Cb&R}4#N zL&46Uh)4j-!P0KG)y$aXVV1BTuCklAC(Sw*=IOAo8G+)C#|2BHWduK$o}<=FLB z!icp}vl2vx=>jL!Z5x|&-Bn(McIO*+J&pL635Hz>zv4LJsWb$F0|Qh=1{@qkr6tk; zhU%r27#3hyDsxa#MkpD=p=cK#E?u&U?m9zr$%fx=$%cRbH z2Syfhtf7_q(HxKBH8+siq_a_b@!1oxO?#48xj2@jM=>jsbCz=r1|1TIG=j9#DBGmT zHs$^H5!j=36f?9=2kpjT+!#)iY{V1Nmv00*Vz{)FLotfscHGoo!ho% z?vpl{E*LSrPb;rL7}_>tDKc^^Z^;MtExGHf#XNt=s_tmI+8;$0`v4g0G=nRsm=lZe zi=G2Pr88SBKDYuysBJ)}YF0Bc8IGum&BWviK4fD#JJxEcMKHw*b&O}J>*b6mc!BS( zW-QCl@0x2hHP@=uI>@vV@q<AUbwiH?RFa^K}2|pD0w#?_;0}T7VIqw z4kf-3LVjqqK2&k8s|cSpN`qYK;og?`-J-=J0mPZSGGw}n9DdZNH2g0gm8f_uN2ebT z^75&z&eBoPA2ous5%B;|QD2|8Q4F7vITL?5@v76D0jEHxc-J^+DO9;&^+=cxujnF{ z2_-1ghRnkR5MX9nfC+T>z&cW;uPA&!De?&;zc8I?n9*b+!6Yb4d62AV_}*~+w6j5s zkI5JkSE2nR5275bK zPTMSBn0qK*%$RUaye0$=)`b9KI<9{<8Il5j**nO*3*yP)Q^Q0TA-E|15^EfjI8&7t ztfwqV(qrQgJ|L)yokwUbAXT~% z9aNwlHC}-I>>t6qJ8dlEnse)&B}iY*=K5FtBo_;l6}z<9=6|bwcdVJuwKspBgvye= zNB6wwRvVA58-HW(rMKRD=^gf7x@_-7S;cL&chQh?4B|*S#Hi7@By%J1kP_kgn!D|b zPP5sqKxA`6S7UM`i0mC4W%Q(s0gLl-+6K-lzX0M$D_h@{FcDU-Mr-!& zsiYBynTaD4z0^m;q5XWEX5N21NMD`25pS%Wjco=ysec0_F|f5DY|&6TB+hwWP{Iv7XRjgqphd=c4z&%Iy@@ zaEtBvl-~%I&XdvZjf~<{XjrMtgrTVDxD=7h8rDfx(s40gCHJ^4dX;~fe4Ocrx?vWZ z7PMwI#JkZ(@lxxyTEf@_x^2d&&ezlpy;i6q*u_1`E>_=^AR?#a2dAX(a)mOe&e;k6 zKkqK7O?TD~K$0q#VR>ACal(rgCL`A$XTTNHj2a<^r3v-Lp+Uo1J{o!J6Ejj%&>_hR zW}_l>wjNv~mF>}HHWYu1E=>OXi-NNt$R;hbFT&DJ18#iM8d%0(FwJ>)Ao;bvN!qhx z5sDy+Hp3Zs5Rf*t?=x?^`#$?6%G4eHefG;i)_tFCZGp@VEv*qKXYaFfm-I1Y;a?6i z*Jw$lcPrYUhi8iBCe8gap_Oo%dGn&uYzLs#ZnvWhG;@HckXe6r#tt&;R<_4oc(#Je zn$icsnPd4R@gUA!&8;7Bxm%qTq|Paxh)Lq@KntfCjbLU@RA_l}Z$PB^R&2e@oA~QoGGlU?q$Dpr7aMKt*o_ltNz05VW>Y9`ht8V<}4 zOP_%Y@A%pm5-AsaRCn*5{@H0t<~c#Pa7};LWgnBA&SjHWmyTq-+bH+>uoLC+D-PS2 z9_UV&4ri2R+iz@iWdEg(Y<=P~4*WZ@Q&9=2`xid6vIa&O!5> zjr{ZtEs%shwv>@B_|t6$9x`}`5Z65IN!aRb;JHA8pl)hSCuv{CF`yW8FAJ^p_y zox+O+wUcJ;Oj`gi7DB)To5(|Hf%iURTF%g$$fznEu+@c=w$<7Iu|TVZiW;pJp>5T{ zKNAN(o%ch1s{%0xA`Bv0XHy>d!aAVyQYR?(z~cE{=>kHs(0MPDcr>7;+86%6n6-d~ zr+l=DP|}I_wpE1I&R@BG3QK&9yAFTk9dC+K=0s!(3mmQUj`3rqK%{8|!D~br_-)U4 zTZa90Bek*N{l>6)3M$Q?D(s{LXS{DX`rJ3XV~Xq>Bm2fAbtEStkRm$Tt>*P^ zYOcWx$FA$L!7lpExi&oJ^q*+^plfiLbNwwG<}CHzvdo{3Zn< zrD`g@_`S?IaH$oQUi@Ab^eTT_5*V!_v{qFbshfM5G#7+lK+wF*iVCQs9%k*g5UCZC zR3yx-inoVlDfm}-Qjzv^McPjlX^$(?eym7)RFU?uBJDv%+D=8?-=RR1fUq6*%h z(BD(HmPiRWG})X-(=ktA8^8m{6?p2ER8EmVt_;|7x5hVT#+t?gtlh3rXWh29@6!18 zx~=crrS+Y4TYqqu)*r0f`op`l{&3yaAKj((N9(r!<6T<+aoyG*-=+1(>$d*WU0VNX z-PV7;OY1+c+xnBcwEll&MeD|Kaf{}ST1(s4XVcn^>nclIE*^wyw_mJyt6tV8Xr-FB z>Suk@R;qcce%2>)rJA?uXMJ*4s(Gt^)+cZbCx)e(x9VqovRJBl ztA5rekfoZp>SujYS*p3TpNh-H+C5d&1;B$3Cb6`JMdV@7`g&OC>)@JQM8*wL_YABd3 zhCu8k%OPM1XV!o0JGMnSOJ`as6k5BV%GxV9(OMDJ+PyAmLqj(7qO~AP!m~B|4sDU! zZ6JHgekyA(?QfY3aqVuGHKJiV^@8QFt(0@FIf!YslvMXV^8Dq!mqo8@c0H<)+AgPx zMZxbKIubRP^F2!1ymkk=%F>o=B;0FvQ&WFAcV$Z1*Y1DGs)#hg)=R*0o(FyP zuG=h@Ufmu^4sX{g)mhy($tZ8vHq}{vMplSL*Y2dM@^b#QLN>d0Z&j7o+}9)=zQeYr zinr8XSG8l8*|HLyd6!C2+E;qK3*#SmB3Pk`?XMp%{-qZOM&7|5s z^duL891f|d#iB`i+%Jp`LS8ee|A0tr>OKf{uDv*#@dSeEHZH^XvXR9N?5{y#sI_`m zF2jH6(wxAtAKt>{h#eU&p;HMEzvhh{!a23Tu|6l92d6?ak8Pxv^V@wz6U zcT%KTw|7pb!Qbg!HG#cHgZ2B427j|>YQU9|;0ql~tU(kwL=Atx@hpiyr{F;-ngvN5p?8c%9ED#SSgirU zMO2(dFq=xJlS!O_gXYGwX@;6(G8>F1r{Ds?oDt~e0agiLJ*5n(W>r!hHsflFDt(I0 zD&3I=Ug2!Ofg+ca~Rad6IpWPq7jYZyE=xNp^g`5 zHM>ojE1R9lX2D6^%nz%FTh6U*SQUi<1LzIL+K^=nV?eER7#ookLLeW&>a-Ej!VqFz z#`41pMTmHc2+!WUl}x>tvNvy$pa0e1=i{%s-(Nx9@z;{NBUItuXxM6vhV6fkABny^ z3s4Prv2euVQgTn%4B3>8*ub3+Ol$UmHxhx$BvHHK+0o}n-WT?H+E0QB9L`fVa=Xq3 zgpF!m@vIp{jbU$N+Sa#;&QQfBUMw&^_%OJd;%&%93nFhlN#NP&y#Cr1GKiuKj;Yp| z8Vk<`=N>lbLI^$uHU0%QFIaysEEZ-v?i|#T0U#qVp%2{=P*AaC%~oqe3`zwl0&_J3 zUhO_$0D!91f^eK68@YMC$nq{B9R-OhDuLR`LaS5IQ@kZg#8Y^xAIk8;mpJf`W%7RE ztE*p7E%3Kkw`n0HyLs~nR@^*Bm3NDgaM{47^{m#Y6o7r?x@_78$}NAi4y$_1h2Hjb z8IwB2_*0c&^#zF1dJxgNECmr@pf|0ENq^f33zltaMLkztv?p;YN99Z_%%_Cq&8R-M z`G`$RvCT(?*ye!qt7DtPMy-i$UWT^7?bINTdap}iin--SUSJ5oT^3Xb_Q5g-+*(7- z$Ff8I&LDT0v(19K4d{QW5iC(?k3nKH1c}WMDg1Dkof<^`;}f3D zc;Yqf?7t>&**FheU-!`&x4-V^Nv9mfODLY}D4M zNAQ&W=HvdGVDx|HlK}qyY3#J@h<4haYNwq9-9PJh+DTBq(@ugmxdwSfo7>zZ&@U6&Gkr(;7&<(Ln6L#p`k-e&GqCGBRYpU1+#w=y^Scy7y&(k>b{jJZZ5$Z z7y-MDI=0uEshg|y@XdRJt^k!=tts#m$yaCOJ>_^>7gp6e-tZKy>Cb2i8!-?i?i%+I z12D>%)0nUHuA`8*fPx`A32*}(L2y&{mw7vpuMK}G+&`Li|EkCRqgg%fAI;ha<4MTj zj%}Kq7s-D;oNR*J7w=(-J5MB?#R#?gaUXrJ-Vdynn@kz_Y7(B6sCwc2V2KXlnpIIj zM|SRtlcIJ?bX>3_iVJ^$fc?V&Y$yTyhXU-utouhjU=Nl6_F&eA(d|Qx;9CPWvs(UM zfUTX90PFz)b^2DlUi>v6GE{GvGUJw?|v{)Y${RggF>-qv+jp_6nnO0 z?>>KR z3C*K+xx`kyqOCYay!p+%1WUa6P2tUW*!_R49&g4=@Mb)0133V%2S6i^`7q(>NDifx z`z;V>Xtemf@TO)WcOmTN@b4!CukUh5B~|mVmP=sHm@wxJ5^?@sW6n@w4u7xoXl7mh zzFv=J2@!uYYwz=Z=zkLuZc`TB?Dt~5swX2T_#2|&FA$!Y0ndqqXQtr!V%E*-;rV}J z2|QoS+9y1u`K-Cy)(2^7wfw!HT012H*cSxYKl=dK!~pD-1Z<)J`)9wK)C2a?32hA7gpcgC!j}ivg-Cg@R8x=86JUGCRig3MB?T^xe5%fS*#yH80k&wgvD!kE-N8 z#1>Bl4X7GOq6t}4>{OAkAR5Gj9>)t2%Zji}+W&=U9~o#rmS`U-wEwH$jq1_< zuO(>zSHBI;kY5Ho@ss}O>(Mm3ii7A164lM7Sm+??$KzFn-XwhDC%57T0(XBNR8yu2 zHD-0tWWinNQ?QCY1qJ%FVqz9|P&1dlS^s`ug716GBB_`~Jpt`f6->*pnAXpV>5k~n<-G6iKpG5elzj3elzj3eZt3nlm&e>(MSuNS2^E0 z?uxnlJk0$1y7d`__Z6PDF-L!RYFTF|;uF#_4^czcYbN5Cd~B*B|_Kk^L{Jd-5YS0s3I*7fU2@aB^H(dMjuGKxP-JovjZ zL*gA%qs8wfFRYn}xD##Co#+OEnHs>nl)y|CFmGnvv>uo@OMrPZ6Rs7W4}xrc@y_}e z&al+__qud0otgmh4FP}o3o4kz29UoA z3`+9drje>?)X}k2Pa`fJ9ZOK^ADT@aO2rzbDoAxqC&m|2m-+)`HlcB1yp<x*CHgPqqLD2^up z9d8(=*Azb>?J9|<6R(N?;5+S)_?UZ5`i~{T_|gx(CjFQ6y<&9BWGI`#7`20&^dH*Y zB$aiqN&g`!jQh|N{%Z<4T!6~@!VQZ@8B-JAOR7;`Tp@qL_=7|kzawt-4cz)HajUOz z>-T=QUyobAFTt(f`>0)_geoV~OPGK{^m0D7xunEDAqTWN_+E0r6%$)W4w#ws@23iO z-%AL%di8FxNeXkh{BAReDraKjsn|5X)28`~&*M{L)9lGjGgX`B>##em-!xyBJdb}J zwhy8(h{%5*N#Xii%={LQ`^)&!l@br*U+H1|0}|Sifiou( zXGRKVKJ>ezdYt*NgwTHI!$|zEF9W#TTjQ{^&@!bu>swINKsNWi$Y|9R)}fthp!bEf z&i5jkOO|7OYH6XrnukFC_2yAP{#EnXF44>-C?|i&{+g_pn&E}WV{FZE(yIijIG&O}~l${?=TNsJ^aLtCVwL83lM z5;asLDhs;9dJ>f_F-FP)lz)Nyi^DkMmvMjmNn(*50|U#Q__KA2k%INAf---Phap^L7>s`1c^60HquYN?A3M8p=2^i1gU`!uBMYe(QhD zxt!rq0{%6=$T(Eap0EbP|2tqN`?j4<`+d-)+H=|4d?Jiqy|M9_<$RHC?|ENTJVe{B z$k~G^-|cA-W&DaK7$C20j{~~fQ{73s-o-+nBr4Z+2`)3^6^Q02-zGfI+v{y?cfODb z6irG05-z$nb~;}QqkxKqq*m*TF)V*IhyawvVitg1x{jJ+-VO-F+ZD<$QK;r&s5>Srpiq?C~GapRvtraM=stQ#u z1kQ$r_FM*OlLOpSy={1&?z+`_4p#4umcY4e4~LA!;D;&#ADGPxu*RarL{)#Sn9+2Z zv!^Dqp=bNHoQUxNjnd43fa*Y|P{S32(;d`iLPvo>tBOWgxvINtg3t3wdk_qV-lg%9 zN9z*|aksw}2gk;Cmr`hty!Fgqa^S*@aBsttVNT67X<8^--04ajuuU2FT=ub$^cJJG zKi}}YkGeLbv|1l&s3OuZE-`=o)CFaL_g!zhyZehQ+TGpSa={7E7iaHm_nf^w+dX$x zr5u#KD@as%14&fgl`c{~@vkXN;**s?Q`ptx{3L!Z7S3)vjT49<_(}fQ_~PucPp(^@ z#Id*CJ^n?u(>>nWk^?yMcF&H_yK+iLFr_1NO1WIhTrh&g!>xw*vuS_PCHulmdNfUf z&LxXPJ8+P8zOWfjQV3PK$AC>w>xtB*9Q_yXvW`f7LAZ;+s9)OCBtSa#|FQS(+i4@q zqwxRxDX>n)BgJiOGW&NKc@#FWiOr60V{kl)%{VeNpadi$315P>)_I8Ygx`~VtNNmD z-9TV)GP9Yzc8sLHR8@ahS65e6S4&I9eUWuYN{W-O>V1*)k01`1iz22armgl7-7vN| zbFI*hRoa59OBFPnNBbSh>R=+sYZy}n^Xf5b zseOuW9__9#upMPHZB90eY9RMT4=ylHc~7sqr3p&b*EyR-mc)N7E@W&NodqbWfRS$X z8zgljv@npRBB@D(bsbf|fXPS687?c&BSE*`EL=jX{~&zQ3;86+PNF9;ZqI@->}7rs zeA^+uQ#V*`fo&(T&z(NXG|%M^fpkX<^3>gDhi-{|nxo(=2?iTVTjFcJB_4)b;;*+m z!|W~b*9pO3UvGbz=^XCS?PGt@SqfrpKUW~w1hiNf*jIKmS0ZeM5SAauy?~>d7Yn$G zH#Fqb9|kue*yN_pHmz47R+cf{QZH|?e(p0&ljK0a0k2CZV3;XUreSL z@QZb;YnzZs<^cDH8Lu1EzDYLZe(}J$6~1i0D3dvXN_>9=%j*eiQ8cK; zFJ3?*FIJcbva?7s!zTe|REV;hS;hHxsE6ChI2E77et;xuNPK%?TK>81TN0Jiip4KZ zl|DhyGi-X~1Cw9|XIO?ZY2ZM_fcqw2{0>JlHKp>;{IUAHMrQT8h;< zbh>N?$8Ud_?KyX0V!4p3#LHN5_BK9vkrVc@D%E={4o$r`^4rdx#BMdSiF`PAa=$}+=wlcOx9#Yi8`F}Zl!-abv!Z~t1QPXBlug>>ch-~1a#sp%r3an zDh#7!@6T;{{gDMg+S_n^$pKArYp|?h$@sjr`ZRz0VtmO8KctivS0G1YUi?Vpj-Ln^ z^0NZ5{7Io^epW=FKPk@6&x+>sC&ftm*+H!SgwSI@HR{`+cHkvhAYwaDe2#UQeefdL zFn=!}0P-iEkn?k#)ADniPD{?Ll+%+bg(3$>livxBY3GmqwA0@Hq@(rmk75-H?}FwuFzvQ@AC5mvC|Sfr zpINaw%^tl+Q?kCnJ@eKgl7^G!gzz|JH8Nom#3SVPrk0pgVA403t_f`=`cYQL4$~%} z_>iK&9Y$tWLJf@62t{U=+Un~@Kf#%t{w;K;`_ujUer9}zpBaMUC!=Zn2{BH7S`?Q*Eh;ck;AYb2NfDnk?*Veb zNoZ3ip=CIeFSAP(O}XzDO|328G}@osd#b?9ef4K*ZTb4o*5uwZ1bOZ&I5X-`yvlzm z*CLY}f?Tc1*MW|vUTv6I8FSy8nO0f8Fta!1I^LAUI`_qrX_cp3j+U-95@iPi*t6|N$As)uV|g5oX>yVWu%qa`cLd2<_99tl%W357)+6B({?{O!5U8A zM@_jjaLP_?J~+}^$`40Wp_mVXXd7Z=2FAmb^r#JCAX4)Y zh@NkZo5?+A+Prf1f0J!B6Hwe6_fzzl45M65Anr4*dQ&y(bUR`0ezTjHyxygnE_3&q zUVR#_8J5&paLs69Dy~W6?o7BQt53r%Vf@rdo*(P{UzZFnTToJm6E%cc*Tjm$RN#y zN3PaI0=F4^;1y@;CCz&^ch6~!P18%KdE9aXlcTNNqbvCZ=Nf3Kem)Pzq9`!EwQ2B7 z^R&(a&9t_r(q@`-cqV_+OlwR?wKL;7k8YN5Y3BszEXySh5RhBEq(JBqmSX0QeD&Vv zA?Y{1aUUMhviVVr8(({Tl%9%x)9#MUE{?sX*^go`hty7>1tSdM@JD{2sV5NVn-&vw zB4U}}&I52X(EoP zb?_ocy@(){5#aVhAoq0&a&S5+dbaD{PdVju;}@Jx;oc_)v}A^ZJC-Sa@bd-xDH;fm zI7v8sB{(GF_Pz?Jzr~;)VUg9F1XFL(2tm+7hvtpdxBLeMky0}!{vY9Kng7GyAt3u3 z0X{7h@tc5uZz_NMBm28yutzXR53<}7IMk9jP&1pM@QW5km<3Eh`fd12UQweBT*D22 zA(cao(JU?8vnF~xPWD*2AxYHC85E&VrrQTlKG=9gFW%`dN@ zt2d;p)QH(PqOYUbrPGZMhlqtFvEUpr`O8izz9!SLXL_|ZosmZbl1n@qvJi^(Z>T#Vn%5fR$qdG};F z2?gm$Z)Si0yBLOUQhRLV5)q>JK%#R(qO9QVb3vNZYyoA3;o`aFQS5-rjPmG|0G*6d zKNa8}B*7ioUu@^j=B>Y{=S_`Lps5G32Bm2D1JUN^JS1o@mIjGKR}n&dj=>#`@Bb`7 z|CkNB$Ic5ZZS1zAFn^?yBX&yRqk#2~Y*_KVlq)fJ zqt`S(AFE(Yb*Sm5O0bl;?Dr&cWNsKG0OG=QZMgsW6+G1Jj$`}+zYd+Q@lU$0-;BD( ze+8QQJLz0L;PSh4cy$s9MY4KUd$BstWTN#jW7hN|J3Wa~{!B=Od%$PW-~0p`VUVkY zfjNI2gMN6@={ZNiq~K>9voa+VtO+Ri{0P?;z9km3=R?54OcBXEL}p1y*eOUHJ2p19 zp>vW7twbkW%cU{Eed86R55fs`Cp^JsOYILP5-F1Uj3pF!J}ET_rPRc8dIJfaVH};f z(gwTHn98&ky)}Io7Xfi`;r;shE-sSmRpftz`uyD?QHfKsro_JUTkn}dCy!T(ZucZG z4FP5bloSTSJw)*vCb=c$$mCEW^wA7_!_A@3$2mu_^(~WkjwF;`%z_dgFUb)$Z6S=;tKc2}NV-0qheAp^I4&3Qv4L(+=(;8>z(M^9u>F z#%$WQeD3`@$E*<(Mw#dD8xn4gpJhL5Q*Pg7Sx;XHn^~K1y5mzDRP_A6<4fknNsHu6 zCTq8NepX}FmmAZ==dPtaKDzNUIkA5dTGYOj<~rEJ%;pzOYp^F#Xg_82nT1gzkW3%r zpMj?CGiD2uC+y2AV+z&Nv-BsDGd!ybNr!k!h6qa<@((G*s@b>B7tT&B_rz|`bj=nx z0bWUO-#RV{vmes*Mcnt~5q|qX37Ve9;)6uo&w1rgOG=UQECT3r90e|IKFfbQq6xeq zAg=j%Akud~3-qR+fIf15(v!WLw{? zR4yN-PQAR8^5oW@iDF&~BAjxbgv3p54KO^w`AitxuthO(PX9&%|3gmb-7vM!GeQ4> ztxoZbLLa1*WVuNnPg(R#IJAFp#E+WDnADaAqBAQp^j!ZlVbY0W63q$KkQhZZ9$9^=5(2ec3cL55yi>!W&nqP_Sxo}|JP+`+ z`ZEu~c?J%VaX6Pyxt?Vn9FqI1p9PU?!Ao+!kZTF_Z&T*LA-x~?Imv(jEe>^r?%yQf z@dOo8@V|rxyPIH1eu0>K3;QuVqBpxsTIAPRmjgK0_DrMkHM$tcxof^kL(!iw6f)G$ z%u9Vg1^Ng-^`&vR%{vaAF!j$f;c*)sg=FfXTiLIe7Y#R>;^>)h`8|qDMxLeLC4}lT zA>=(fM)eeoQgTbxC6s@T^IArnSSqV$Lg_d9ZR#Pl7dpLjcqWYV3&k~RG6V< zVj8cC)Mhm=nWTWXXVB4nwqKF6lT{_KzvZ@j$$8J7YkiFjLKKN_5)$=Xt1FIVbbGD| z=d;j}v}|&935RYj98Abq2dBiB7c!9A8=%sqsAMP2>r!;Ut5|>0G&HP`+`{ik>gIuz zVfc`zZXSfGo8RB=46;)iFWFrfiVT?V=Ovvii zAvzFuA-Y+Gt3OoJ0ONSLEwlQP&_rz0$?LV%ddJdCe<|!O};?JJ<5zaKq!{sMzA+ zMmK#-!r4bgzEoS6PBZ)Dhl%=Vqy?Iu2Q_3~_L~N25UzjR5>%rXF4uk2eSDPL(Z&$W zPFynu%PyFjvt~e$GFb~0h-0Tf4PiiGazU7-M6Y7Y?Dq+&*4MG>Arm=TkbO=hJB9XP z{WOxFcM9JlS0#7+`5JOnd_w<{40Yre$@7hT7Hnc1PCmVo)mP5rD|RNZ{QQc1rIo3T z&0^mho?(9?z1jq8qN~8@_{Qchum1PfUy)g4k_V!$ahtr}{so!E$T?H~;T1BuVfe^t z!%ELSlte?ZD%&UnjH=B`@C%`0gJW??*y(5*>d;$PZ>3qiC(r6znANu#vwGB7UmvYz z^^CJRq}mTZtMjd1wsCNvYCEn9f9M20;}bY!DocM5h+R&wjqL2Di5Ctg0Aa!XBf!HW z%ENCP24P+F=G9JwS><&#yi%xbc|*s;x(Qe7sG9NGyfZDo;Hp{>c51+Fk8fT*KB{kC zQFW-*H$AU#ypO3n+8seizlyc7-?O~pXxN5nFtYk>9-j^bwc5n@sgGN*GCQt?J^fO- z8CidQf77xRq;yQrSDHb9q*e~$AdQV(&$w*T_fVmI+A}@r8|X?WH}pHV5KJgSnt&q_ zRLeRthtaA8bO>+Y6~hv(k?VpPo7Da4a!)_~2*$i56BojD1Y4^40`G zK1`~}iqPt^{vYj54%A?MS#}%WADOn<#cqG3Y)$$=i*~F&u0MD_9-O+)t<{cIc$@f4 ztA!4Da?YqhkOXl`|1|oQ%1#YqW`jhKDQ|N*Dw@zh(mu_ zUza~<1R2P8340M}QMJ%lmy#E^g-1%;!F>-GGMnd@w~cw0RyHPf`^fS<%kI7pOYeqL zNwtux?Reoap!Ib%#_L57`>Kh?JXoNuua%HPC#aq^LA@YAF1Z9&k2lwa=CpE=ehxIm z>6nUh5D=u}jnI>1s;LDN=NFYqqzHc=SpGSY4Js}U%%N%-ugR!t=(4HFB}q5oBml-i zw#ImA#9DxNlQ?M-R7~(&#$|Iya9kfa&gFwQGEzkY!&?B?*Q6$T(8Nfyio=oDQ+pIS z3JLJt`H;mFsXZ;=jIC0{PhDqVdAJBmA0%7N?Z?Cl z++#*WThAHw+h@3M*Khj$1Wby>MJ2Q1=Pc&R{t5al77fhS<}z4DL6P#XotT zYKs)cv}dq}h3u6Fl|Ci@Z?X`4d|XSL_6c;$#Zam|K6121ec!9NScE63eR*k@6$C_K6+?s>G5 zCM^p^(Yaiq((k83r6JR>xoj>=4ej=D>x)-rcfqO?%4oVR4QtubSsmmVt`t)rUA&C7 z?Xsm$T-VC->!Mg|%4JKxZ1SK+%Thg!bEjjxUNgx=b7W3ovOF%?FkQN*iY}~`%Skn= zOh=6$bic&S9p8Njhgg5&&7_t@W{`@BRsnbYQX`+^K5#3VR6DLLsany)kY9|(WwKT> zixR<7vs?X98&_@LeNb%)>Q@x3lw2jv`sibK^RJLHc zSh&VE0{bSNI-4}Xz>fQyy+ie}9rri>kqO71>B(xUiZ9)!wxfT!8ymE){o2@GUth~8 zYeQLka}&B)Uso@oHiFkp;}ZTLc+m{4dN@cl!R5l*S|%5eX&6MLxGYd`QG_=YJ!gOk znTi<94B{eTxcoYyfkRS;P6xMO8HXkV$L1pwl~?h>AUXkt?H${msi0*u{&bDhI;7*1 z4)Byqh?-i;8}@NqSiT0o?!SeFRW-ks&Qda!wHnI0~P^;PH3r>5)Sb_%jC9yqs{ z8Fv_2cX%zPEV8dUF7}<4*{6{bUbxBTT}Bp1J+CB{#)%|yb&DgL4yS;FW_ZnnUMRB} z2#5kYF1AJFZ+K}+y6&4;Ai{RTWmpd|U7TOL>+34}ZMc705Yq>_!kVL#`miIW56iG)Eh00uV+$K9@VNbRJsveP0=}hB=wjVdb3ACLzp{-Fh zNh2v%KsRt~sa#^ekz%ie?JE_Ju|+(y0+-^TD1fREMKIB4x(#%4w;6S!J>T&&UtH{i z=4XF#o!wnuSB9qF1Al~DwhULd4HwzvvO3Aef-I_q6Y7V7!c6V3kge(BGa)o~`ByOK zq}3vzalW6v5pby)kZc>65$m;qxz5hjV-{`3N`rbYBgFhuxSgy9yB_sRSLpLH|GYNv z`Z|8iy3MEzJFmA5NV7C_Y>#F=QQtPAF0Fs4uMK_T=oLuIFs)vUU1|OY1X)V&RM+1C5Pr>TqcnKWQ4Z z1U?1RnEMcYI(7=2e+wOFWVZ_)$1R+n)$};hpFol_mnXjC-K)gm6kp4e^K4|i9y@ML`5$6)0`snq^KI|OTSH82t19bZ`ei0PGuT853?HafO`V?U)m&y&HWg2 zmE-KI>24P5mXkcIM~DQnIwX?Gi4>831QAmPUixjTKnKroC(|LTx+Um97Lzn#ADR3N z#0=2}tDUPAJ+kYOZJ-{tfx@;wx%Pi}RPK-sw(8I{dlz*uO!z(5xhpt91iI+b0H9eN zm2ZR%!`Nn1ekTHP+8Qto+)Pj|$RwqN!LbVokgwts3IkeWwRN<_)s%w9GBbDl2CwlL#oMLb=G4(Q7f>~C5d`_>4!HD5OpU$zkPp?xxaz!N>ZwFk(0*>Jk|e6i(R|w2Yz=`X@{xi20KjS@^u7Z@OLVpSz%+t*`UvQ1T`glK5KpA5y1au( zrxW^!Fw<0w6H_8}*t`^(i!3dO*|eieeXNZPBL`E>%Qm&A!&JAZ zO$?$f$b=WdN3N>rYb7q}Pclq>Q*##I`xHZJQn2b~2f8V%xTziESG% z_rANE7lYh7Vqygo|-*DGmY z&njiA#v~0Dotbwj1!bJRSb6L3@HkB58O8ld0pkD}lUv#f_sUWXheyO3c(Voxzf*IV zm_UWy7@St4KolE-KTM>FWT4gnjW)kT*CO%9_1Ngj4|E zv1K?p>|8_Es=khszO&ibJ!v?idtW>6h9DD}Zt7eDGW$&xnc0cfHg?;~-IUJ$C5_8g zC3qi(;R)#*5EIOHSv{Sf0c+iyj40Wrv9_pRJRyN`yDOc@5&W)n6uC|a36v5I5y56| z)uTU(I!>U=cvN2MsQb#RL`10S(j0RLv0lm0G|mk!fumlW3F4BpJBf7)je>QImY#@C z-5H()*PkptT&E4UI{ny04#z<$^0`)bW?_Gp4)y#1IA|voX!K2bfN6WV>}{gXA^QHL zU=wA{oL^k}GX{2qYxCU}Mmon)FFs`Y29w3uqYwrdi&6EIiBx+SlHvi#Rne zbyA4O=W_krq^ZRcGh^y1+Ustz&HFIls=Oy2su3*??P}zbk(n5a6y6cPIrLMrF*XN0Nh zH&u~0TVw1r*@!Uz>3aQ*9u!XD?%K|vV-&4n65PPFqC8{FvHe|dFwFu@Nw`x*=y=jU zk0luH_eSc8;26#R%26~qsLv3wXfU(3$2{|K#LB?wTH)Ox%x5LkVq-ZX~Raw3(W2se4sKuCTNMloq{&GzZ? zmE;?`NH)T2N>wKi=`nxt9$e$H-|_3SP*)dmC{!@Ht;~YqTD7Le|pIWu(sBT zUH}SH6sy`(Gd!OUlf6u!ClD*V(XCy?cho1nMyu=j5l&g7&2J;K)=^eLya_uju2rbp zrG}Ur-O4w;l~TlaF4cehn7szi_>n+gTmxHj_=vyIj&+d|Ci?2&-@b@oX<+;5P0ytEBl4Z*9aKm6tS`vL*fPXr?u-m5)>D$*r zoHQ(F17(g$dZKmY_jaY*xr{2kcC=JtxFtBxd8CIFZ zXSJoD8&bB*2+dan$V!ad3o{Avg^}}%WTK@FscqIbq(Ut)LUNaG$6>_|279iE1T14| z3v$mEWr<|IqE&7hMxVo2+@*&xJkFx$%dasB_XUigW31UTG-aA-sL`e})kaCEeBh~0 zFmHtSo=R;AO$QgK`^1!a;%-TYfPRCtrA#vTaI%~ipb9JjhSa}p$z2s+V%IBxl!Cj6?Ea3=${ewyZVr~J4j^UaDIwebV&9sy{a@6Y&-q& zf?_(k$?J>+&eBjPiVW=fiMoiqln3)(~Gxf3&lyAKqZY9gB~>uux6v<(Nai=WvAm&dL?0}3YUmV z|85NpB@Z>l=SD*fwMbalioOsmDG%=ksuqTaapg?2-7b4E)vKlawl`zEB(XA;y{Mu$ z_fFh_nlJ~MNMdHztkpsAH}|7Gz{K(lD%U&+8<^5d?8?oL58z{AVWZDK;4q9Mf56Ak z*1viJ5E8UkAp_<6&Wif^R9@agR_=dAi#+?ejgUbh_Ayou{v{KVH@pvfCDLG_MJ*j8 z+Pkm5=3@2Lr$dQBtg*xJES0|d!tv{0A4<$_eXPn9P^ckg2bkiXC=YRe!)t z4Q9!5_3dx4ZF%&iVE0PRKF@XOh7|?KE6&kiCZIkOU#HXrQv6XZ?y-TMn5+Uyz0*4j)BIP|o6It~kgFi1n zKf1DnM=gyJOCg0VB?F%RFiL`*gOG3lN-SrYDTo1SU4E?fH+96;a~wQp#b`qPOiUnf zYvIu35If@y#9mnP!W=h-nK@6W!#(CApc-S9Vxf135aomKJq%*Ksjp%F{>7)H}p zXn*+R20e{Q&s=JULSP!LGf39s-5sNn3oH9DJ%FEo=RU@%{3fG+=R2WJx=c9$EQQg| zjL9`#GqBnQ{zdnyQ?v|NZy;e}sa8z7!>FC{u%XcPcVA}Yd*4lT z&T$FID`K(o8j=fM#ZVa1ug`o_P9i#WmEQp~OUd_Z^A3~a&0-SU zyQx0|jd-%U>R?bN-Y?UyY>Ny75~9!9?i0b>_vJsI3V@d(emsF>BiT;?F}SV}2l_M_ zlr@`fw&Q%^JAY~{^}z$NA!|Eg+NR60Uc^1K_2;8e)Am^+gP=mAQ5_LzL~sJ8FZ@CW z@s>yz?&L!m22K5RqdK;fk0wBWn|%MhKU}O>FJBw+Lx!-hEIJUj9yVM8+-G07Kp^>N zBmqm_gIxQZYi}JrMmWwLpks|h$PG6WEXjvbG^5nZm6e`_H^&&spufUG_oJ;xXX+#o zjcFlXhcF-UbFx0%Wh8E?@G`tp+VB*3&K z+<9DVXK?$FzyCZWmkIk@g5a+zZq!RBq;?+;Paq>)#rPg#@Y0kYfJrPe++xP5?l<^8 zy#xy1n~u`=-6|~f+?=RpUHx#!`=Me#if4zqGVvXoX{rFScV>#V22*77ov)V!x5yx{ zJMAcwP1~on5pPUVMHvfbw+-?3L;T@!{LB-<=yGLEVClVF8 zaRuU_h-r%LfEW#w4EQB-dD_A_@k=F%^;!*rgaePBszagOYm8(XL7L$&1BOhh0VdJQ zVx>Pl#t_uQ6{XA#!?H4jEV+Z{RR!d#LqIKxzS*!Lc+tE7yw-`gCMdkc=gZp^iQ)n2 zt55kzoD==*DZRo?&*>bD@YiRsQM(j~HYnSl;~K+7;mcR6iG_II(;FV*IZ4+&+zAKJ z?DO49wz6rA)#EEQ(?4~SZI+kp9j|6@Q{&>V+wcX=cZYB`p5&VEZhK=83)eHs< zYG{(8+G~V?YtiVWIp-9iKrn1qVt&*`hv+40+%v~-W9=1fJkab>II^eM=k-F69T64~ z2y-jyjNX_2NTi(c_LsLpgywU!M36aAOcw-j?KOoeW$=h~1tXyjqJf$`UbX ze0?c_dFxXAAEb%Cfx<6zA9E>ju%$$ymu;fD(Rh-;N=+oGPp1E|p0V@`$o=o#r%Va# z9QU6}QC%Wn(9f!7+}>6q;`Z#gJ@yN(Kac(P3WLXs=BTO#D6C&;#Z$ys|48)j!3VcT z57MS*EOY3wxt&RuS-3mI)|C4ER1v4~O30IqTL2xtQ{=DHcNYmnHwnfyg?qO|y@miO za03|v5PrYkDdoE;O-99GMr8Jm;up+Ed|@7Nb&(9(>lSf3T2J3+azW7XcpgA(Lt)s1 z^}0JyNyUGThF4%wFr&PX&+MKN2f;E+JjtW#i<9Ed(KO?^@srD_;L^byj+)El_^%)v z-?qf1p}#2#-~WJvXBUIBOYxSX^Dh+@TmRA@p(F(NX5khXc6~8&^jz67p}%duMCjK# z-p8VB`)9({emngkp}>aA%O8I{8WdZ%IK;I*iSNs{w@}spVpKw7dpRS|1T-o7OBtyx zJP66+6QK*TNXd2h8sTymNGl+w@G!`-X^J{4etV?kOG-z!+x8#)kfg#f&Wlr?&2*3i z>`=pHm930NyjVmxzLUf?{jnc}4oEjiK482MLQS-n6TlFXpF-67`G_xqMl5TGxaVoK-tV102mSjYoJlntj zMC!W^)E9C&uvm$CZ7w5Gu~nY~LhO3HC$=OZv6cQ1w$~7~CD>~9uJXsItKK_|A52vB8j5_XPY-+k))}oE_xR0DbrBJ5(8Ic(&`c=$GZo zAHN@h*$IuEMVdQBe)6iikYGBBByZK zVc9{_fnIgt#ZwyVPNr$YoXJ#u+W~3Qu|`QAaMx*5v|>Nu@T-;thVzRrdToT-Fz@Km zzv0^lhy&DT6!&a)*{scBbUY5^1q z=r;$!AvGGSUZFwUWa^yk(bE+yD}s2=PHAlj_u2xeS!FY8tyUX%F?r4~L&}vv={sup z6OFPVT{G%Y{@O+W7;%xI>V`}l=tkK_5-S=Vgwl<%SG#}8ewSy)xy$}k^<9OOA}zwW zmti==sl>X8cQX6RDDZobYf%du!Se@{eJZHJE|@)+7&uzUsMQ$yOQEMhB-B`YcTw5t z)^2;A;Nc146r~fA*ZhCiAn|5u(`G#|6~N-B>Dl*?6eoKDMSAY`V)k9{D7c}nW4*dP z&agce@b*ZJ>dQaH@fYDoq3+~W=B3wJ5&rnbAH5&`3soh+TwSIx!a7%b_V_a?Ji_j) z3g>gXCR}s1aYNfRef$3VtKe1*%em;#d2e>#-ia}_Xp`oR^P2Jcw#_?%rFYZWh3V<< zg(l5RW+8rfpzE8t=DM9=3H7s}PC_%@^k2O=h>JaTd00~{I0F1a>(a)ezF*ZMhV05l zXR?3OgP$mqWo;AK0wFlYGii1l?Dm??Ypk5(vsFRcte;~alRnLMT1I*Ip2 zpsVXOEh5YcU`t^&{75#PHAc4gM_Sv6S2MsOM6P9>0f|SHjfz1~tGB+*NI42_ zWMD`hYyPSSIa%llW)as(DgM~F@&3lsq6&BPWA^VIM!T#Xt>diAL#2qx;u#NO_vmfV zU#Ew0$73-^8vEKfW5wA}m4$<9CG3S;O3zgNFP$L&Zl41iyIWkji~;B#ql`v-?Kn17n|E+^|NLAZFJtSGz7s_{#4Gpj@F-Y#w-xv^lxCTbeh@ zvQ^xEG$b1NoL*g@)m%TB!p|_gno%4Uzbr1KWm$E>J-x0v?22r@oL}E#{5`wSy;M1E zGXq{0_mlO^J6W~pYWd1cvOA}@+bezc+4NEtYOm+yS4n_H{4Zq6=>A5YWA%r5eT`U! zgL*QKmAWs%ZOW*psg@R{(p;z|Ziook^ZuX4;FIXO)$7jA!je>gT1{=@s{>X3gObOa zM#tOj;nnjY-LJJkq>GG`{euOa+x>-XRbWGCXd$w1)j?&m)p1Pi0i%_p3$SE``^9Uo6H? zA^G2v$`z{cE(uhtK#NZQCI0zy;voEM-@H%#0$+Q{)nL79eyprbwxh+Nu;wu;O$|u3 z)W{V|9{QRTauRN{w1xC9Y6N_|f30;zyryuMmOnOaW#TBfzFybXKU>{8dfhG^NMi-< z(Bj@>n&i}-tet4wW97BC2CgWq2fzvz1*?)rO@oRZNklQey)yUeIiVROg)mA9TO_pt zn~E>7*_DjbI#@@QtkZ$@{(OA=fTuEV8()RWJzYb&T?%YATV=!@Lt*NJ1YhYlCCjrl zAWQCQ$s`=Kx?jLBJd`zMnZJzHvh7e{C}qF#<;mgbj-WNBBX}b#3s;q9=q2Sc=E`X3 z%uTo z`{zJfmZr?a2f8_bYoB)zln^aUd!w+SUmPIObKdh%Q)_6K@vaT~4n z^MnH|q}EaXBtCoN^vrJnYqBi2a#$h2(9IjGR@de-xicB=RGN=J52U??T9?Q?`R0Sh zN4n)r*#c}%@8j9&c7G~J(AHnjmJF)p`IUJ%AVi;-*Um489hLWT?#M%tbB(*)xA_2! zj(TD_MR#-6yCWFMYUr|3UVaiJCwfztU)QGl6EGrh@0nPN%~S&hz7ALMJ-3-}T5o$c z_^KPfknbz-#E3>Ilf_&<13N_nIPmSnkYgu@i_Inowqxkd?0&mpE+KgPoK8Bg`Me33 zVm&KW`IMh%ZS9lCE<93%9wu!(Egr{qUkUU5ig82Mk4SSZJ8a%txEPr^9$_NlS@+&w zUM}ij5_mm8yZ{n08+K1L{;1A0bx&+-nJ%MCC>$N8JosvIS17gc)`!^lkox#|&z78M zHSQWgjb6i=L~wN*anJJ}5Acm{9u@!lcVdt%>r%JS>m#F`xVNkO^QI-51Tuz3eBm@w zb9XC)me@soW)X%#&m-2Gjpv55NJo{8KO=K9Z50yAOSKb7*X=N~H8VQoX_bY zQovpp7N7>jaS>IX)YpFogYaDzGvFr{AWQ*6%nv6!X`oQDn@=uTDw;RysFf8G4+)_k zfV1395e~FVx-wggGNxf69VOu>uO1GnpR@?xg4=uM1E}WSzp7 zN`>Vg3d5K_f`&wWD1kXMqKSrc$8BZ10U1qndHJF^X1L&U>~DCv-A4rku4*>m-|xKQ zT(!S$?@c?hQb0RV*D&`EL=gYo$OGPs^=nLk_F~A`s(l~ZdNpEdJ4u^yodiAMQFVyQj&i zE;*MX$&y!K5XXpVi`&aSof}|Fi$Z_JFy6fL#z8PUvDBhi@EbzJyk3 z)KgZxh>%eg+G05dPz?j8oNlBjV%uG{BOct}9*i`8Z7?s>O_~t^@dlN*3p`Twl%ZiU zcI2*aimEDhy)hmH^`HMD=J|iBNSww~&`IbDQ6Nqqisd&JG#1LI!+OqjV0E+9*|a`~ zPPY#kmqHJeL*o1pko%xEK=loNm!M^H5e&2kF^#*z6fWgjfgAu*T2qXaJ2F2rTHjR2 z!piN`1$nJqygDnVyWm>uR(<8wh6%_72uM+SeFXeM4D;DazIjdtqt%?4O=e>@LLxJ> zZ^-Wr{^kk3q+)l>Tb?XM4ShgJ!5XFkml6M@9=^F2P}|Z|$o%6n>@h16J#6mN96j%D zx83$8QZs@r?l=L+B}8A0SMS4HW{+E^*}?GK@Oh7J*%xg1Q_;dDAS!-r znM@spc}xeMtDxoFQOVF{+JFpCd!ZO^|9N6-8+-Ll@eCZpG1f^b4ypV zkvq<3Q#t$!bVQ@z*)P$B?YOG`{U8N3#s=XZX;Zb8ek}rUZJ3AY3Ug3CWCz}i zymK0j*cQaX3U`=Se=nn@#CHw7lYYu3B@ubt8SwGL@1GM!A)IAsNf+y~h6>ZnRFAi_ z;0^l*3m;qsMtc7l{m5`kwvBmBj~EiyX8!!X#wt^KPfaVB3;y?8u$|;dK^)j?6Eoz4 z-5eF6ds+(MRZ`##Fz`vq^8HfEOgfV&CuCthm?YM#D2qE2NiF_yu1>1%K%eeS$1eS>B7+7|~jE+C*Zwba1r(JOhj#BV=2Di%zA zUqi#-Qa$&~}pyaoA?64-8j^C6`+v2^JPMI1`mM}IsU+BL=*++aP zn$XA`_iEwf&ToYzewJQ-^_-M^#nXwJBd*$eJD+UNz^1um!NOS|8)EX5nFQ5Rk%Z2N zC8r056tW@>@;;aXQvEliYAxl*@I&KOpgX{>!9jqa9L&Pr`V$-?MP2o&AeX%03p@MI z6Ei4F?uuil%91&&a_rIMhOudhe{8%YJ#Ayc(uNAm^y`@j>WS{%Qo>s2K(NI?U{;ZT z(U8Wk!K_naw{VoeslG*|sB|-SU&yA1T4}{dPG^1Z%SBa{`B+xc-=I_(Z)$es%TTNA96d zcB*_&H{&T*_Pj&xVZLZ{d0tLtuS4$QYfBz6eN0Eu0>$K4INmHBxHRY>hzWX z#mL0drL}n|j(^E#@}I}tPEkU2#Ekw$Gz5*g<>x#vLtHc|v!ev_6`g*q07h@>6&eht z@E&hFEUB9C6O%W3o_#~}F`5s>RweW?o&}kp@XmMr0Z$7lJ7boa)0>H)v@+hm2-4Jc z456cInMF4NY5~dbaYJ%fM1~Y`uEzv8)~Pwu;`}m=-xc(rXuML{+DI2$$_lC{@w5oO zpXDA!;=F1!xUO>a7pS&n0(1>W?Boq;Q>1S~xfGH2uI$pSl5()BjftbIs?8bBt)lLR zEfG&N)?bb8J&VU0oKr5sy2xUw{M2!mcX1=PuY(4zIBKzW!fbY$mG|tFWWKKl6OY!i zC*IfZj*BY0GpNtRT8KfUTN41=#);1ty9^qh*pG(Q0d3z^Fyxa^fy)HvFm+H@nsvCi z6*q5|SI()s58U((W>~)B^GiOn^UJW!U>a>sjzeFt!}YN&VIJ0IW9TEpe#Q82-Ce9VEi(B@QJm8o8DsTZB zed?Y#&Yyoz$(xE7Y>~r5TjXmF;83vms}pt0zi#Tp_ddvx%N5;=yyw7N>^nUFFWo3A z`Nx4eOz3xvUITVvAA%c5`kg2EE=h*sOEFP{#qQM7z(-L4A&0CH{%Ub3&=`6AxGx#b ziA(WfoKi6eTIK`4Q#M95Dz2U<)p=Zxf^PFKtg%C6dh_T>8uHw4;fB z3mxK;f0=l{Gd7b=#UQ?}hxMF7y;4fRL@SP;SXcru(Td_LFaDdp#7aTXD>SDOI{BAQ zs%7XbwVn=OJ2At6LDY1UK`=>!&smByXH(*wB(vW25NR~)3gC3YJG;e1H}SPJZe8VT zt0FT*#gg35sS{C&!6|vW+6rHoaV3AyNEX7d6o3;U(bB?1edfR;95W6C zY(3?+Z0Qg2VLk4PMM^~feR}qM`mWc zm}yo>rbiJ`q?9(oV@F2%JDdOe4Z`o&f1&oCnN(7v>rRmqWPE$@@na%d!+mHd@@<4M z66sYQAcWhU@L)tHu-VKSU30(E5f-8XWs&-1DDHNKv)E=~@w^tPRHQ6^auy$`th4|T zlSUJmEE8#bZ-KJ)&+OR5i@t(+MPVBR0^~AAi^;#9rV`+GqP7kD!8UV0)Ex~5_{Vk# zJo~-;xkX(e-rA^5ceG#f@2<`VPPad^%wmr|K;~UO;pTOo_O>}q^XDj1gt?u_uU9?L zvP_cy?PD5d_u$3CDZMoBjtP)M9uom5@q-L^j877)QA*4v2j-8ob^i{OUaWYW06Wu5 zhLOlSsCqO%@)}~v)tr$Kv*yUl5fx=dr!B#m}arN@xe0^Wnnvks8-hx6d*CE9;Q{Ou3ilzcZVaGB(Xs0h3kY%)x<{ipXQbKr$RC zZAm5#&2B{lX1l&w_L#XLa%)hGYOE=uHv@7yi+`jx-mwkAW=>g()_T1G3Bw=58}Sfv zU$sWq-oDHJqwH9~-xen&*h2-DD00kiVBKr`lZX;X+4r4UQ^OV#8Bt+bjw2C_mAd%o zzn3+IQY4GX#dj;wn@R;C;7n_`sHr*L*tu(xYc}le6DJRwwps_7A8bQzvrcVL4sktn zdF@-A=ll9&@bA0!hUvz4uHM+>j4yRgL^jqE}+>ZiJ+0e1$r2py`+q@My~h;hm}R+bYY+g4#n%k(Z(KX)|j-? zG{ix?TaALWQ0Kt%J+$jXCh4auVOseD^G@qH11g^dZwDZ?BV{VbV0mfCvg;B9D-Pjb zP8?Ztwu+=}NNAoI%I^-h8kKEVg|1AW@d*LI<TaCT1%0KM6h(DDbK>8YfZvU^nKsytHRi_NA?9 zw2eqj8jKi7$-@i)8qrcs{foKej6IA-`&Z4`NI-r=i+t+lpONvyoi+FVh0V!+`tFDIwDXw|Gnk=4Tplk-&1 z-?M{&0s9j_)|9}fw}7B7^s-9lkcH7!O^sBV%6>YNF}MRjas~g2k791FtVJ^*|D=991JZ%m=5Hh$^b>Ro{}>CUvHSOV(*6mfr_72 z|MLNV4m1r^|KptR5@P%UGi~n6J!PJ}(}^EWPGTf8b}$mzwXb+Y_hgVSq9Ao6x+go} ze_{G(d!a11u#4+cXh+mF=gE1Ry(fTiC9d6S)E#PqY$V3I%3ZiD-YN4QRyNXB=bW+S zY)E?$frf34EVJWvB-hx@40fU&&bU?I0~2l^KEI1P>+3G1hZ8$$?<#10XrwnsXPf?O z@|P4|0vJ|DV|@LcwYL>#-Zb2sqmxawx9|F{oyV?>BXVTc`a_r{)L)}MICoATlo$hp zP8NDpV-qX)a(R=)1m<6^0tp$mk{O{h;=g3L2ie~GtTe&9*KPR(`a!0eoDhWezS z?lI2BK6b>xNQjK>sZWuWQ;NeiTq7n1X{P71VylLWZ5Eqjc2>4#dNFVgStI9;mr|b|vnQp2-KrGZThVyt?3Fz?$Dn9sL|E0XF^f(aw!rYo@M?Zqrk14nh*gx5t45}{Dl zN>Ub-!WOd^)5)^V**+dgaQJ4Amr@V7I{N|(aDcSW0}g+TIZLaVkIZIAI~9a}-kp=o z*-;LhhVG4LCff3Tvcku@QN1B~moyLbQklAP^ARB%5ul{hYoergG-+D`z z&K3M|Oo`o|Kkn1u#j^8;pLX>#&b990_LZQB!#S7iT5R-RSsfSQ>|$jyxZ%E^Iwzqj zQrLgZZU7M)0x>~De<#{H*nK}hy@gPfJ}epDa6jPbw1u#I&%}rV^GNfFK(71Ko;mb$ z8yL5aRL#BcC!C-ggTAJ2vC|e~?S$v3=6DS!*HgTbO!eEpVDN}ua?4-w)_QxUGTzYA z#lLO!h{ZfqN>BLhEQU6X3<`vZo7t9Yl034dD#xN}-`Zgm0nBF2sj1W-{<>&tP%JuRSd8M}HeHCuCU#Ye4?T4|Ic=&X`4asS?+KZ}~F%Y&O`6`IbY$WW#-u zS~A%s?JEZIS}#))CFDmw|4zGeB$-m`Y5j@y;6df?26d{CF-M(tq%aDSmN~z3CEAMD zy4W2MoQ5smk4jGh;GnMjK&)AV5$;QL*l}cR3PY>X$&2_J1q<>;e_whs)Kf3;1 zre_Y>ka4p;PNxfuG;>lW5oN}^*7a(H}`+W{Eh5Dhpnx-wK4?c$2!rD zKTO2`m>9FtB0taFK7;#KUEYc;6 {$YtE!!c$K+3LdvHn) zmU6#2L(+cc_US;Tlz&B4DHtn{cXy>4d9Uu(>y$I;niA4JtwDbjtvj-)bWJP!qTr$0 z#l%l7u6rXnRdO((_>{q^z9{bER0&(|Y-6Bs0P39Krh2`s7`HZuMuu^S$U05fWqpXQ z+g35GsEEWnW-cLg`E1WHQ4P>xOSd}qi0S_)pF(Ca)R7wf%+i0^=_$1nxzIjkwp?=F zk)cv5zos{p$32DZ&CHSpf*G#m2Tap?#bFD_#^N7&6qWFqgkB!Z7wZ;M_rl}*;sEx{ zG&WV0XsAN71=qx>z{k3`l=ZNTtyU4l9`D^!Z)*oJAXO1wn4}N=THZFeWms) zbK;gDB&^buQg(Kug6u`UIot!QH*Suq;=H~`F_+Cdro@jre;KHcr!(C2#%dI-tRK5)1AM8^Q@S?X?2)XMFJ^<@0H7gEIc#YM%Io zsQt&=XUu|jb58KqUzA^pVO^b-;8e&#{9yX%CrW4BCVTT$9V^y6$p6Ys_-rw`Dp@EI zXxr$LDNNL*d9_h6`T{JP;DiERT*4|4^ z)@L)ScJ@OK4n3FKV7EDFoeJE{)M@XXPG&1QV66BE@1bC&k{R34QgqW89xOJfphmrv zXd|g~!BER0M*1RQ6PfVNltR`U0$&!Vu=R%4ldV$J#HeDIXW0ps`<6c%~|&Gc4M6B98fOs&(@ro<1IhWL+2+XDaJj+X`RN0YA% zt%>B6^6OI4UOF|Yd>sO2h73M%UdMBs53`s>YZtqr13EU{INHGCKGbLOuc@4@GDe$! z8udSZLSA6AYs%XYiZ=Kb)vwjIcy7NEs&98*j*xku-ieP#U*pBnr~il1n@XYkIR<%- z5E3J6$)jAkRX%>2@@`U!5uBA(GrWePlst2+k5EBG9yzlEl5Ur4%l$#@pXQdc93!u~ z3K_t>pKx88M+-b|Nz!v8UCe!8N+eS;6=PS|UpwYWPBlN)zxBDazR(`x7mrXB9kj>q zOj^En1ZUf4KZ`|Zv!~xxFPzhjmosw5O=v`KS+p+X{~;_($f&{fm5z+hsRW))-TZ}o zA_#T7ON0=O~G$T~_=* zHc89){eS2z1JE2Kx>_DrH}+#SYeO{j`Pz514$tVdyV|RctZFcKbz||xNLz^-=B>Et z%F68xY0zFRy*tMzJH3dEb$!pmmQii%7<2w7TL|12J}V$p_j za*a+&(^j4K<^nDG&e#tPtjDC_720T*In%rO-+A#{G@aQ+MKNYc!JJ@<>^CqUWDw(p zI)ETMb|Wcg0D*(W7K^pX@&~+py*5UAa>o-xK@A@F#|=gYnwK!rdtecc#&~Hxm0%Oi z(gaZC)_@vLqKkAZ&zH_jarl*p5EhFZOpVw_W}>k4JqEI@&OTX>{zJe%L7F0Z6n1{m?MR}`2bEs?|crUQC=(S zNjv7|1uyxOKq+-OaY~iWMzxaIO|8!HCyklpr{n*acHJYD1J27VJyZPNy1K+j(G9oy zXHAWbVDZp~UALuT3bU1!f`b-ZU&+)8n>RLpGCDe|>+N5%YRfxv!U`)2r#-)wuE+_Hz!4qn6V;#Cw4+bkQs1>!tyf zmz%@H-H_;CO*hu~rKB}&029=^xcTK{@5xVH}Hz*UR+yM);=*yHkEU#pe1mxL-| z#DqMS$L*SAilY4g5&POs#g?ZNsrI)}@-S1KrQt%WO7thMM6)Z!InErMS;r~6g(msg zxVYL4z#2t%lPUqj4dG@0{dAi5;^k0_&Tg&~d6@RqJ7JLju9e6#*2!tC0xuT0qSQ~v#g~5K9j@(wdIywm z?kzqi?4J@aX7K52>88ENgd;qG8E(&hbOEo!WvoZpHg4v&=EV>MO1kFJ646GR5~F*E z`;DPSXfermB`PGSyg5whWxO;%Rm&nj<#;>eT=1Lv%v}R24u?%Sjqs91tmZhbJMLw% z)$?m5=NVmf>>qc6lz$Ew%O8^M@4r{T?9O*QOUOK{F*srDb|%_Pf6!ZNe${xoM)LO6 zd+BX;&s>D;5Vke&X%BmJ7-A^URLAU!jdB>cow6^E9pTRY*K4xd)(fu=EEDUY(+O;X zP_sFC9Je`@TS|PpeU20K3G#88x|7wlzr-aW`%s*jj>DS2b3no)gKL2c&OfC*ao zBR2u^dYNM&%Lr}N?#}HHYetXYOVhVXHV-h)yN;OO%TCegqX^hkDLh^+HSi-}{-M-n7^z=QLnkHqI?-T_!tfa(D*cbmg{?SfEK3M|`1h}?SorkP z6AkJOVC}Rol|L04@*_ii>Vg;Ogx;@d(5zjcC8#LtE5_6;7W96KcJO~G=?WrS{3I!|v=qAWyk60#bO z415}7aVi)TDA8Iy9vpeRoJp&nMl2<$Xm+w{4Hkrbf5rWALRi=+<0bbprjTlBiPkL`u6xeO z7|PTQK#?JCgIin2r#${wYSyFZiDejQIP$gyyh~gX<8We8G2cPz;x$l z*`L``Yb>a`v<{`GC}OY&n@uL41@uHP8y5qx_;AXT#j;}b6STvIfBEdKzeA84g4PWQ z)^xg>G$PcD*$Jl9WjpzFeia7)A#=kfLI(oq&MLCxdURNt70Jsx`daV^^feqc%KOu- zq3){%k9DPm9GZPZn&_ov_nwh`*1I1&ZFM>=`S_GDkkhW*Q37+*R*}hUidkyIchsK_ z3>FR(QGWPdFP>@HcuJR>gKTinJO0_+4CSA)U%K&r1XXbGuxey7r8{a~KG|MOZ3Rr+ zUZ2Jt-gcr*ngr?3x=Vyj&i=CXYNE8?FWBX6-7Mv&>ii!7Z9tO0Xv1R@r3jL36R?e4^b9SG;~|i&{q!|W3C&?(na2;{2O$t znCOWzqg>iQz(|SnYJdd0>Ek#sa&;G~C!q}j!RqgU)s6d>;P!n>y=kewhJGJu$c4w- zf0jD-dT@!cjsp#JV!$0|bR zHO5)`ri5%@>6`h)YteVkhePb{njTg)5KGc|hg8w0F;$3;_f09Z10`g}O-V!h@}OrA zq@6mD(m0&YJ`SJHF?64E9K--Hbl3o#e~STNA7TS=UqTiPzKL43N%DZjLyk_l2N0{}Lm3ql8Q#cq2E#sm)ID zdd^)9esa1uN=ShhF|svE8v2lj=H^0a{&{wqzdy$S>C7|-q#3Lt{NF6#3u;-|Ihbsc;xC&!5;BGkhbs)t9G zi8_TUu|(8M8v2-r3!Is_pg(OnfBAiOHaI`W0P5^)U}44sze_w|;TQu{OQ;2-Q=NZw zQnwyuw)c2^+@5oPLr1X66gx1BCx)?F($JR@8UX@dX4-s0bMz<|XW%bVN3j9_Qqs`B z^Ki>(CT?j>;}-19%q<_zF@QQVw{XlE%U~y>{=t_R-&~ha56FI96hmo!uK~2l29&Ucw5lZNi(4{X z*&=uO*nAP~nKrIkMb9@~-@CB& zq0JH)JuS)ncLg#Nnv>uCe+(c&b!3IIl#Ep+Hdcx0SSe}9cXG^=-c0kPJ#C)2v(J-n z=NLepd7jAlv$^7mxgvj!&6mRx>HrrX=AJLap&6A?hb5$(!Rr|94oe!c^ANtXP^HG2 zo$d$c7$BXQ?gVQ_a7z%JypB=Y?Hl6&4G*v}1_c}tGQ9`81z1r)f5%C^Q}+YIyfZDo zaO~zO?(*WNt~0PaTy(Jq=i*eY==ZQqNZ7M|j%Ruk0b&+=gbiQSitxEehp-6#9cwh8 zhXi)qei3jnAYg**D!|)A)VxgWqUv4_{9+aIVAxJzm}n%9BQ21LCB=&1$uxQm4J|wY zO`*}`!BHxm2f_VTr86oGR}k^5miV-+%S_(kGM%9 z2Q3m+^3Y+BphHSCaT@RCa@iyYPlJA*_ z5`+krG#ZIcbFivToaK^rHRmLkYve)nHg%3iTS=SZV0@o6!w2RtoZ#Tk(+~?U%0@V5 z&CG#tyha{`ZxRS6TZtpgN@OC;P$LNQC@L-3AwU;GrKr(TeT2D6XdTN0mc;8=Y0( zSI_EIy@U>G`v-@${ey=73LRC?_N)3YX!oFccJ|@=w6^SI$K7mLNg0Y=4QvFoZ@SSZkt(#8I+V|T2sf1;sxJ_)TjI#PwuDfq_0wn}6|abQ~Z z8yE7qfG?Z4l*OwPw+(WE%9vS433L%a{VA;l;R{Ihy_iP6}m zRUK$pcY|hAV}-F7DG1HL$JWSoX{S0yZOdiRm&)Opf;{|H-$u@mWMF`put0L8f3BJTk1G5z*0zyd9FDx6YH1p>19aI0Kup-@jsAb`-u^vpTxkIP`JTUm z_+(kD2nR!wHl`|1KAI+bnvW)F)0VP{e}hGE12(ly0s;Q_`;5LUgGt)mv+w)fyWJ<) z@@O=YMx)VaGz$D5J7Xb&#s`#~o02H-1^5pX)@BYhssTtc!$wS#J(&O-!3#MkqU7V88|^WAxT46KHzyeH6}BootBzYFX2v=$%{f}AG#H^6W5>6Q zn|-e?{T~tw=AOE6xU&-XHm--1EjvwvbF+b&aSi(jr>*xEob{nn9L7n3l;0bSr+P$I z6DxM%D8VE11u-M+!Z4dprjYCtf4{-RY)IbB1BBQ`5_wD}zUM^Ksn!}X{ZTT?MhUna zi)M8w8xeC*CCujApwYMrEG~vHRNV0!jb;n;6AQ7P3x+ZG+iNsiPIK;y<$EnLWc5tx zIGxq!am83QGRTku&uw6LPWXVZN)dA5!hFbL%lA;R7*fzr0`q#8eJdR9e}Oc&d~a58 zdl7ZLaewRBXJ{#(cx>19Ij2_e<2B%0fiC>IIveN z4vWQ}D1;C~7x`>~^NBjG3|A%Yo@Q~)`;O1vt@^*sDD2U z+F=BfSz!pm4E(|jR*qp6GR3;GU{&7lsLmC|F$2Iuk4ZQgCs{ItO#&UBRu09?ge)#w{ zKObu`-XL8PPN#-}J*lHzXGVHVf6U6O6VTFT*Gf;j7W}8NITxSHq{MZ;V)s{cH{5+% zd*j;TRba6te<|jja=|o6@p9-nD=U$vLoOAHjvIr_m6mq+75 z+i9gZg+pF)oNd9l;0pbXr{G+w1$2KHCooT|dRyG>WF=b8<1k729Wx|^O#zDJRcakFK+_Vs#QXl!^R*PCbdAwJ#|RMKhLjZ6s&}R>y~EP38`d%ZHq%UM)wM zi{NKY)-|rDoL*;j;?J%f!vH;RL9^*D(`>p-xB6Ahru(a!jV7F!6;*!+6Udx;1Bc%h zf7FHK8N*V7P<}^~q%NJHeo^*NeYDYeqYq<<1vXha!8aNJKchW)?6p8iz70%Tr^NVt z==$xhoHWN&8n`@R64MP^N;OZoS&NTXIzL{e@hiy;R6R9sRhzIS1Qq?qp!I!-i!IoO zz}mUJgq<=QopeCGfn#xHyOHqSga|o_e-#gy`(uD@9Ko)_#TGV(gP2AcyunHKWTD)_ z0QHf)@nO`yap7;ncU+t_D=oxK&zw-Dl-%)DynNma+|^{-IyU!-z2O9Z;Nd=xmSF>-iST~{f0G&3dz87F+~w~RH7(0pW-n%Y{jrH!Y*ochp^`V0 z8{S2D0^k7oF3yos2liK`eOWsceOoS2+bKaf$uu4l59J8{BAjGslFjk{C#sZcBpd_R&ZHdxpFNL4?XPkS`tIu9 z^SNQ#;u#O9>lq05z+ag+)dg2tu-ck;4k}pRz;(t4uzx4FHl6zeiqoA==jK4}w>zT) zDix%Q1B%(I%6WkAsWoDkf4{Q1#fd|TwIS!6!$%lV&Rbr{A_F>i*)Pr&e;2*tY-e71 zmN4XLdb2z4Ibd4NGoAn~>b32QR~F*MXD#7$eUU{^9QwR1nS&9} z-1B+4TGH2GhL2e{vVDH?X7YW=o^S#^4`M*?5tF4NZPtp|vKm}Ze|Qjp7#$r@GlFCC z*cgO^Vb4v#&UBP1M4i6pt>v79Ukw#Q$UI@bNr;D@V4H`cvI701Ni&PpaE*9qdWtY z@0V(_)ccF)0ZA%+f3VWn3J9Ob{W%ksF3djHk8hnsu1FdU!{7@6zC)Kv?yI25lUmN) zhBvq9H5wu^0}{omc0WwZWCEIR)`}@0Q4(EcR6VhiW)$O6Z6^xie~MhOU-uNPvR_YS ziK-w`m$Wzc7h6zTHyt2GD@Carq#_CwU&Ip5ktWcz&9WSTe^(FW!3^h|dpH&n#ragY zGG4SzEsS7-QiCc*FfL6B0#mUASZ)ux#IE4WE?KYO#~xY7?IEe+(++usKcA~`HcbOm z*%6D<=nY3@&yDWXOFQhbfDGv;k<>!?VT;&R?4QhIdNR}F0oC9$Wi7lYL;(%?*A~M2 z9U&ZWL{@A>f8IpJV)CZaFq5*4eluy=MkU)xeuEPrZm+!yC=NmY2Oi}?e8AgkHGTZ! zfz&GazN!-FE@`&#a7ZfnT|}6()DJF`Kp-8)78Cy_!mH`yeN{cOj2wr^uIXUyP;Q;e z?)Abp3(7A%rQY%Y$;aoW(M^(pv$po|@L)aEtT4J=f2&q1m9_Z(mfa;Vg7t|w4<>@N zBt!*iY4C+j0tdE&>9=6|`X>4ozxcM+c(ZovBPT&h*9a6f{$Hjh9=HLR8DS3CPLjyK z874G8+vlVAYxdUGt2Gc1@xX1vap6(F=g8*)=&#W|4Am??)9~OXY@7CTJ^=?;a?+VA zD)3eKf55&%!|jGa0+CMw>BU7YcQBxVx7+o5p6P><1x~zPIqApG0bRsM*q% z)Uhf&BviO>Fnf2HG@Bvr zV0h|AZm&msI~S)RtZqIY%!{reEQS@if5LbekT-#hT*vz%&lQGuyWF|R_J`On04>M& zpjV{F*QzpNSv)vX8c6TC5(Z)Hb34w{MM>w=Joe1BVTJ-Kkb&e`=Tdx7}nRSxjHos_`gu+2pU~u7BI@LB7?=e#i9j zX$SWZci1S0!-PiQaQ`ITn?PN4k?e(ZMfEGkt}YU-r#?w@4yAq&0Ht*>m6I=DBOvXiV?WoN@@&F0rIc%P<&>(KlB(8*Q?*`hf5^m+50_62 z8^*sY>_519qSNUZ{~c;d|4Y=cOEMK3*>kjvZBC1=AgY-j8do`kDYD`u3h(GYMOgWN zjj+15$I>N>oe4swJIBSiJIBW=A?4&0=BJ0*HNvj8U6*dy=1}F$ljO~lj|=E>1Y>cd-7--f4B))3OXcgtUDWuLeIe0N3fS`jmn)FhKF&vGkeccN;0L? znH^#`B^;>9mh=$=W7^yn z>vXDTDAIVDN`=$w0s*zn({zazj#nX>FwSwkv3@y76Mm+Q49nDygb$ym)18)ZLuY*fVI- zrcoO5lDgn!oTVbj(l9py-*cA3|H%x%bojZq+BsJdcBg_}e^S9QsVL{JroQ9aC5Dhdnzfdxm^LJW1SJ$HU#QN1ZMP zVFOD`4$c-Ie}0KnD>K!&48F(VhaA4E;JsPcDTJv9b-Y%^1HzhW%c_>W%p^MBU|f!g zuY=Hsd<gzY6TX)k#ox*Q({m-dYu=fkCM~oD~YozLwj=nff;02pp2bb)JGOxog$Z zFGH3(rJpRFLtZ01)F$nLt~au3m7rRhu4r2e;u{(ff4aoT7mu<>`XnfM^}p5wye=ak zykDx$a#G9lsilK1|Io?%RB}t}Kl8cNStw2-W}lQUkT03+Dz>XiBSbA^c%s-jRlm$;heTu~V6W*h=OMeJ~kGW5U*a@V?M*7M5PnZTJ zp@jz;(ZVob7nso}ZB(%|Af1XJB7Mp&M`1pdf#a9Vxbd*HRxR01xvD~qaEn%mGZNeh ze=@wJHRS%~5>Co!_xYOl4O@u7uyub1oXKlAzXb|WoL{X!9vn?U0v{i^t^zz*a1ZQv z!eT5O8ybxj8xNrZ9`2;X4}`tjLk;j*!F}=G;qQ{S2HLJgKi%>jl=}{_9eBX}hmIw| zT@rGqm?5fbTn0;ucL&t$VhRVByQHhBe{Z;}tnr?ruA``1qE0=vhrl?7tzyWB18R2g zy9md4HC88B2jmZy9%JrE9i{W=SNMSNJ?Ug*YKNbpy^*7&lQKSYYiu+s_3z+YfIE1A z`}hXmv!y3!b$Ebd956*#zM@%f#|o=!M_644)(DTCK~~S0A!h+B1HiJ3;WV*6f6#l4 z7$g$>f#Dv%84im@b2ub1Vs_nhk^xqwmy3&LIRtapIgQ8~y$-CA6ItWefi*@A>GhHN z5rpL29FjM~^mJ~F4L?2+r{^!icg*pI?Kt)%EI4!~@V8iGFRz)O73ABY$pfW=`rjnDe$-)pf|*>APGu$xq2QToL)GT!7fMMO%+HfyK5UbD%nVE zg}iqI7MAWZcXAU3cV8IXU1?zVxtNUA-VOKJmah@K&Yw97pW4>pgHLYff5f?446!oU zz*!^E?{rz-BlME8D6lbxT{|W}hOoQYCG0R_1$RgV59El8=0;pST0H6lrL7PWWjtd| zg@VqZ;AQri%>zw_#Mmy_m4aQt1^GWCW-isnK%EWb*-{MOlh_)+4y|$HrfSC47>Cvv zIX6`^w8l6FYuycrtNqM3i%g;NIf}HUO)YLUnNfW>Wb8tik}SR?=lLm%=sbT$bUP+pgS{crS!*W<4>$$z)@vWK5w+$UW*kx7!3t|MSK7R90 z)Z-_(?)iHB^jKi^U|l%=*)9YvtiN34G$8O|A-&{0V@03eqfB=u`}50e7j*ps`)ic; zJLUj35M3mfKyoP%UFJCq{lxm6VTRR6W?i1^qDO^?UfoYme|q@~)+jwKb4%qV^V%0i zDC~m+f4Y?07G&UH$wHwQhIfvS`Fg?Szn|R5cW-($RvtSOFA4|eUDpdAoDg3eygh;| z=ii^4UA;d%I=patGZN#Ww92@AmC==}4)N|~+pSJjJ?ww)dz9cM1_vI=c5pT}Jp+3@l94ZLQ zSMYGSNngRgVK~%2S2Ld_{|Ev_bgxn$>6(p>`i}<TL} zB~Q=1!3wXiJ)>e#6`|$5PV=r#$|q~pa&3kSf2))7e%Y?f(Dh#`5E^O!MYZ&j*D|Zh z{!Be#0RN?OheNSL_G`7>Fa52`4u>VE?z*aOPSF~gvb`lZ!mgJ0*90%9IZit)>R)D~ z1}M9wJmGjK{8{k?_9-Z4D_jI*+b&W9BMutKgf9cL^Bc9YohB18?xt}X{GWQO1tYKGlh^l}9T|>|pC*eQ=gv{ihMFRlxf6&$- zlNb)%wx5g*Y_o~|NrV|Xbd>#NC}+cT3Kbe*muY|yk#k97^G;f5WNkt;=4TWq!CwV@mq}vf5Fr5ioE?d1Zm6|<#U&SjnM09hRXQUJn#bR(t%^nW13n!K%_Htj< zGF2ec`$$xc9eFl;>@pJe%uaz}*Gkw+I5={nTR&(tDp*LH^rSTGEZ%-Mf5m~+9(FBp zcf+ac!NA0>HH_(zJGx{(S7J_qO_EDWCh+XImvn}^AtkS{7t+6fR5QF>K=LGfF9Qz) zD|-mDefc*}aSj&=`o&t|9J0EXnG;Hr`2O|~ZWSX*8j6KEUTEUHSfmJC(fBd5N5b&KG7}&? zA5UTYFsrAYN$kIC{Y=s=4di7y={$kG%lVU8aH#7IiCg{BQvl(hh~ui;fAranmJiCAEcizZ*|hW zWLFGa>n^!H68_c=Y5nK>fL#N=qlx@dua!sTB4sS60MDXZhU2O3VHppD`&@)+`tu!> zPr>y}46Ar1j~#{oe|x+Rx2!a-J7JKNADFh`aEOHNhe2}5l6YLTpXrF_`0FnWid3>` z=+b&UBLx=_KO+MFT66sK19V|%`NCTI3*+mb>vzAI87boRSGxaM47oktR^z6jI^Pj_ z7jQq@_0M+b0#$QE`B%s8|AnsmpPkA64~*OY@64-8|BAVje`df`COD2JwXW;c2@hV} ziNe0RD=CNFW>|#mig;Wzs_pPlHcg9rxR$XaeP*VPmdw;Ne@cw5CN z!Zdx60cn;2mk=QMiiyn+g*~e+{n|YqHyjj_WLutz8yU*?{S|eZMz$3cn{2y&1N<;2;+NjtloR^4!41 z1<>DnxDdNRT#jkvcXBe{yOCK2XLq2Q_tUuhi#_0J4+ z4TgW^?Ezb*Y>Pk#y$bkbbzfKZ2E%VJ(BTLhc+rGPvz-BkA7lg4# zWHKCU111ATggR2QSbE~#E-O0yDC(ZYC2OO#ot(eZoEZw!K3`~P1)olkfwu3ISm~Co zm>1KUf5Azkj3nn#dU$tn_S6q@WSDf3@cUw#!A0QLSBj^h7VS&M@VGHAoh zsV&f?q%e=}z-Y_=&SEP3gYEP$DVaqXYcC3iEU1zn25!$O1T-u#sTvpVC>^k<_BUbA zE4&(vxEDmh?D==Jz$}M;TL7baAq;xs0=M_vf6}l|A+WH(1b3bQqNK~KC$6>A8_g=b zSj%nP)UGkt%CEA$0b;A|4x9pGdA(JFFrc!%b-SQw0btoOh)|I5ec$tXRFlwrxZ1A< zqijQGSe;?N=4V09VG9?wm~JmA8C+7_zm#F(B4_o0V(-T3g%rz;94Ee{nC<(<&g~_g ze+lF2_>#)27&{TAkJJ=z{M5^71h*w5V{>wKHHg9_yt?9-Pzsx+(+5-J`M7@*_N*j4 zXTilT+*>?hj_!_e6neuRHD-uMx&2Th6FM4%QNr$&#P^q!e5hF>39nwJ5tVN)X&MN0 z^>R8jS1*Z;Gy7O*lD@Jntwf?C5Ze}+fA^OZ>v2VahKLxRJC>K4s*86`9wLT;#6+bI z6%9kn^*nREJhc2cyrlHbgB>LZ+=OAri8T+q0x^^TU#J_A#i*vS374EAYs><|&9H*c zlnOg*>@w8VVdD2<6InwzBOrro!55(CHZJ_Sz1N9LG>f^5u)Q8-GI(dI_f9@Dvr{8zt zxUg;D_ZR$?Jv+wH(c0eL+Lte1z8LsDdp|lV?BRk;nM*3Dtn8ELc^)q00nBhf*356s z=AX^hi*GG7HJjxtXU)PU`WClJXliax-RXxZr zm>wK7ru}|n8pn<4`NYPxf7$eL`t@rAt=(dutbOy=unRx%5c7w|8V=#=1q%~Mzb0A zNOP@ODz|_Lr(wbmYD~YbVI2wQ#K$n8(`oulCNqRAzC%k)y#x?qf1~LXyk?EBh7?{E z#$vl0gpJ2U3@`$ z5C_=ze9F${T%ZYaOW1R# zx%SPQ)MjhXWMS~J(~NP~G(@6-S~$*0>x-nm9}E-9lXB7yL{c{#Ml7K_pK!1UvH-Iu z5}535;k`YmzV;r@_lDp_2zBfSZV&I08_E9PywV!mPLuN%0q({lBw6f&*!7Foq-NJI zfW=1U1+pSKf9SbwYOZ~2PQSI*Zn0s&Ty#?`rf4ppw;u$he4=gPhX+BbOgNHl1Ps6u zjs%33a+F`6jsOBpbeEXw^}HLx1sT)nh==G`IWLqXy0Bt)vqlBi&2!C-sC%Bg1@xn*(T^DV(X55Pe>hw+HlUxNS-1++!e74R@;rPd zLoSbChTy!uKFj3&>Uj9;SI3*B6Y0I88}HUf^7Yqi%z!@(@oe74lo7+@H)8= z+a>slRO(l+-`1~y+ZnCf^6^MtL^rB<|;ly zc%SSm`i~gdg6_1HKXJl7l256)2l_s$bMYMDlzg(70IPp&oW8cJ#iA(^O2n=r=adkl zf2Tr(VUPA`LJJz^*$kPh2(Qi-+V2K~Q_*DC8i+IMr|fPI#=c~wf^Uk&8(#g3hj7oo z^%Gcru(L!t>0A-LAft3?#dw4P*2Ql+Szk#;xnhblz9Uz#ios{(%5tOIxGpq$a>wwV zkTc+#v=>jbUSyc|$yu}7V$Q&Lm7Fzef8zNE*`H2V@gw_OUo93*{s@P|c^SR1?Si8Z zUfC}eA0f;D*|pxs&BqqP9KzGoq#b;OKjDvPl0;)rn3^nB^=G4{B-RmAALN;C`cT+| zm4SH#`p;*hVbhvpqZd28!A{A&d4$Xzgb&CmlSTMDIpsnPeIyj0<-1QmLkHdHggAM4}Af3Df5cmPD=Rf-QNeoyfUEp1j_Bvh!bFKk*v$oce> zdEs=|QCj_c80^ww5x_p0M-;I(GhK?TB$O?4MA57bGH^2A!ECG}a~q%FJG?7c2aXw; z2tO8!k1N2Aa=KrA&zVo~-XpSB-y{5^SlnLWANVX{o*ZXL4H^^|#B+?~jJe?Y#;FOP!%6oek2M2ti z{?*86rzY1GP;2^O`VdYZ9;Oe|%ggEI^zrd=`Z&G4y}g~jd-v`ge=M9oPe;?ciH)nX z>3K$x@Q{othT`I6B6>aMGOf$4rk4iRLt05N4$=C}Ol+wHbXit2H!WBfw zh9{Ry{4wo_&I6!2V^BG={R zTrOqn;~6jKGv0}ee|LA8jNCp84RFAg(baVao&}b>c`To^O$<)O5oGp2IA8dEYN9oe znH+kgwUiFRzdp*ZM$;&TLgF5~08lboh5&k84rcU1n3@@IHt<%#gK=KZBa>oVXh&j<#`MTkvn z*d?2E9mk}$NjGpvUTv<^4csG{5%z^E{zv?0kB=meza8+mF8^_-+tWUOjQP)3G49S` zKEexzuVjE9EV0wO*hvsIi!Ml$Us! zm$=6gFBU%>fBZDwbJReM)ivB96VQ5MXNdXQ&*@^%9mh_HnabnDSm-;Bi-m6E_*hqU z92>*9jGfKO`YXDTF$!&~Zr;|X$hTmvNrCVkK12G9{?^>aXZX%q?V%Y&aau$dSOaq# zm5kV!;hWs@URP##l=tPv+(wO53~nPw8?f7GhIjLFf2rs`0CABaJ}tAsa8Cky>n8p^ zbyg~vPcx2Tly-sOyP2bXwzbdO%fHQL_$|?SU5%t|^9-Nhea`)>Y|>GtkyQ_tWnvm5 z`}mBcLBIq=KPD9p!7mn!!v2xgv!HRE$Z4)`p1tTa@68j`Vp)*395{m`Bg6g;90JMg zKlEdAfA(YnSdpA!;%9FZCb7rH4q=}m?bxweH>1g_wdytR%{|m2XU)CV3<(9W?e?B8 zFSC&OLC(Y~n+H=$m;Yh`T19h4nmyJ3dn^1#;bYbm<{ok?nyeL_!d4kEd4vVIOyWb2 zJT~n#jg2Yt*sP{WFfhquvzDgtmFHt~UBktPe=B)xZlsCQLipI+Y(3R7YMIJjpyGFA zTidM@U+?C#lQ}_r##vD@f!>FLCZw)?Re2dF%U&;;XV9tp%%J_E)7)>(5U!vZzRTyO zd=jAadbZ_9=God1;j`b!aJ~cJQY#tr&Z?+YMO+H=OFH|g#S*d$uuHJgNdUcCMbFW15zJSt%_jq(Q z=0;%JwDw|8C{x^GbYbpc^_n4DQse}qn_C))F>_WVP8e$<{1)id59Kg0?FK;+Y* zcxo6I2HahDM9kxcQHEz!GER-snE)uA$cI(=uv3y4OA=v8;*;Zw87WSU>6AT`PmP9g zTG=z4BhCwdoSz)$Y>~58(>TRsgJgbvbH>@`gq-CsL=3!7CSRN^OMUs`1Xeu9e`j3l z<<{E8uj~Blku%4IM@Jc8kt%TQIXZK~27wOC(gfszljXmIgA6E76tI0~o+1EGV`)r3{R(`|Mr`!EoSn?ca|Gx zx^QlGU4t3<47C9Amge=ggv9#2Q zx!=Mk(`kj#=6PC)nj)eM;^=31noSa)ww+e_={ici49W z|B>ePPXvK1JTJ{<^kG*;SQCU!hM1G{arj`aoH2~d4M=yfn5$%*ov|THf5{A}=Y!xY z*}fK>wQTy#7Mhp$XG)wa?ELw1GCAZV`gEnlMy0IJlUaCGv>bc}f2shngUQh!JOvKO zHE5D`zl!tP)Lq7XnpXqEU`90EYMHRa6ryXlv)wbEN>XGqwOR+e}nK9%9*9Cl}c=_ z;>l{yd7R-NXok-$Ki-oV24ZLDE>-V=P`sZ>k+Qcw2S#$Iuz|UX8duz+yozn)oapwY zRYpV}_MgF4wvn^HfKC{!5-?aLS%cN_B_(^B!Rm+`td6C@YIlpw+m8}G^v5F>8?s=^ zKO~3K>12kF$)nt{e>^Ui>xa$9=5eb<_EeJ}&aeSNhA3%n;#b(NV7P#whT)!o4Qy{> z`z5wt;c5j}ZCtJ5Y7JM{adiV%H*xhPuD-(6EnKVMnvH8UT-(64OU=MZ+_t`_Wh40xzt%Yyc!+Hyk*uzE(@3M!@7QSE)TP^&SQBi5(EB0Ww@HTs> z!d^5y)L=In9yVYz8mQQ4f!Ya702elE-7#Y^WZH1hWIT2zGaNI&+4#ztu#hQE6*GrG zr-pCcAW58ce=P6YbvE$ZlYM6sgZr`b5}%)L@4j_jVRiMlvxSe}J9dTHtvq+^*tUGU z>W2YKsj8G@NMn{%Q%Mih3q<023fCP*JZ(dzbt0doY^s#lO@ z6?bN?Raufp<96iKYUzvozOE(phrPsy-jW|Tz}5(y;M6v8yXUv>)Sc{3?Ilj!`0iqq zIJH;oe{s)ET&K3h0iE>s8#1XvbNv&0*ey$Ue^cI$m|# zZ8}Jt3SMQMF~bRs`mkF8>{oRR#(@T2cMQgR2HtdxwWLb}da4++|>UJxx^nWngF`t2Jn~ova zf6u_RSB@dr&A_!S{sIhV;Pr}QFb*>Cy6qS`(;0ZZnx+8T8F;z$U2KdViJNt7xh?joc?uixEU_vU zyKrwA+fC=mHHQQ7*omK-r^-Wxh};_RI@?n$Y&a=I=KCi9{xZL)SI!QEI+HH!hL9Xc zhuNBgk&+|>WLM^(Qqhuyv*)o%S(62;&VdQ>kp-&F0V#Qs1zVp78!lGT-bjIXe@v*n z0ypP?mK6AsgY7AS#ySzS&^U=q+eUhS>ggFQ&^I)I@Gpn+lF-aY@G6S{I_`o?%lr&k z_^Rl_Z6#Cx3fWcB!55k&&f=*p!BflP5ghPV$nOk}t$Y+)Sqy?b4uijpL2%ARI!|P) zQe9G&Y8H*;2R-1F4!@a?W;2WBf0aJOtt9gMCc?bO+HH=M17x#paRE@PJe7S9W+;Ea zH^mo`)Sy#c&pQ|4`Lay(6TDTcaRe7`d}neYhBJbVO?O5n%es>hdYsl>m~vkjo~J%s{-PPjoBjQimbeDD(x;!bl?b8Nisz`C?G!xP(S)><>1m=rgw zpq5NFoZ1ZG$tHlTxA046e*?dQ=gk)0a$bU}-?Z_o7Pf6z)!9`i0u?_1mEH#h-UWR< z1_eC?eY}V5Er;0voFVAlT~M<<(5*Y5Ne@7S?t|KV51R4~D99twi+4d6z5p%wEvUIy zpvP{5wt9zaFJXCCd*z&gR(hhSf7xR7sbU*;Peo#_h45qxR#yM_e+b@aDKa+a?HR^4RdRwF3)~L6E`pLS@ShdoEMF%|DY597!HCn0~F*U6q zuoF$zSqrRJ6~3Cre@;-0EOA|Dvkge+@Edx%*1)w_DfUerM(gm}RtvST@M7Z%KX{n& zGYjk_%AEesPSPD(5p9R}G=edX_!cSHlgvGoo;5foY0UXORObg=j^Su~mmK0_kQZqw zaE=#VGNmDLW`P+gj|n(+?2u*)ACV?V^A`RDZy))_6O%Xie-v)UIv^GNomB8wQpKN% z4W8wnxPu9I%5|e#X3L5p%IgQ|Khch;I`G<~BN`#_JfAQF*-RaINoc_rmh$l!iL9y7 zwd=+w4}mBb+*V+cd#N5LS2Js(G3;7`4_?Zpf zB*M++gEb!ae|lm2jWLAq_3{LJZkSMk94V;@{?hop}J!X16psmCbh25eLyzu+*V3pyoS@CdXo#N#sMh`r;kM zM>1JHl;2S-m!#?1^c|g@n*qhfARL@0Zu`zaX$j!^f5}+wopQo?N6C&g2nTSS`v6=( zqrU@m0X%$`E&h(KD4(oi(R@c2T-1w2bBDa6IK_kD`OuP<*5*6fnoi$QNS>X8%f8X0 zBcMt!+JNGt)PossO*edyF~%EE6g%rvU}i)J z>?C!vQg>U`PX$Ro5w_@>wmo+4M5EgZVT6?Fn{5ZnIIxNi_3l+CWYUPk~vSr z0J?BM5m4ehSF+(0J_eK(Lp?}^X8+tUXyCz}?LG{B!!e#K2jRK#WbRQsfzTYz2ku*k zlkkoP&JrZtZqMX_AJ8Dgy|C@L6idpSFqxs5-!WPLEwZ)h;x`Lt7EMuqKI{w3^f&0y zg3GxL?temzeTcU1CIz-#;1rC~5rr1!Bo~a*fFfx{5)33PNynTQ1{C2V{s?t|dL#TP zO#mT>umE1AO_=QmlyNuy&cz@NZt*FRx$yzf8bcSA`g+pwJLaVrL%Myj$%<%!YvFrp zt&*dr5<{1irCqI(Nym@k_Jb#| zaR82Q5m;j6UuM{cqd|;VF8N6_4>S7&lW-OjPqtev1jnIx6X^y-aqi|l#m!Uv9Ut(C z46~L4OJYkNd#4mBk#ay^g9H-N_<+_gfy85Std8oI?H8ByMHNmg9%T~|{v_vnm85uL zX@3`jjwm<_x>9i!YZinrK>lgMw%TenGqSfOOSquf)ub?ju2iJ|=SoGYKCs2Uy0B6D zNG7nwW-n2~*tV(kLsl9A%D(CX0x~eQtS~=d57E35CY6u{txtCm7>{AYRy?wuTlRd# zWEj~KZ~ZV5>~IBkdQcGW#4H4UKr1#D7=QTKlj;yOsC1m>LzI7EvW&+240-kV{= z7wtA&;7g>=G>b!kaHu&R^!y}SOQ>UpLrdD*BB$|ZY17NFq8#prnQktVL)OSU8go8L z2WMX$I8zo+ladADCHzmlynNKta(|}sN#j`7x#d)kw#Bhlvd~NQ?5JNDMS6zZSuD#> zbAxU%ch0PJ+%T2qPsomVY%I$Q7u4)DC0JQzZK;H2MLsVrzkK)$WBv#xMEFzE259+E z$^jwI7FkFNhN0kYkd|4Yptn62rYlOEz$@IrM`0DQ}1=BH^Cb-C(v&>178QkN* z&&l8(jpI3~!*a5YGxagdgn!l^yC@MdF_T8TIGtw1{Z9?#1)(5`HKpWxQ>`=%%d)t$ z{GLQtu2%E|uz`p+0dsz==A+@D9rpd;_9qCHZ6u3*U9D(m3#9OtRjF3W5)dJ5?&)7p zDWCRyax)}?mZEj>Qi@d_O@t4bEs9^gB+D(?A_A{bPD34usUcG!TYn&4mkvwDp9W0j zTH&x9qj7S@T4zCLVpcHNF0Vf`DB)l}SeiI5W;qjcdE@-L++DJ0_$jfwWPYDvF2o#7 zpkZG5luLL5jkP2=9l&{7PxLSskB%lPF`rT$ZF&&EU z&ia}|&e&qA6{{0{qO_mUSGCHbc_kbwcbvC4PNPIf_GK@Jd4DULW*#f6?h$1I9}9(> zQ>Vgk@l_YX$8uSHtmIN!%{1`PCz!C0n7+{b)FMaCPcnAhiak>g*hmE+T&4@cAy*%P z;xp%0-=6I2TDc74$H}a4om4m+)zhAlU_xP+OF+3GOzo#aoxN%gBZy{wHtaDMl24>k z|MXf~Y3iT&oqs6DneOC#&Qc=C)`YsZ5I!yz%@qh8m3H)-L#@;K-UvCyJLFTAIp>uy z02I?y+I;3QhJp~@gLo<`%+6kJFCCH<8+@-5KN!-PropY)Dssw7hK5d$ju79fO&5HN zL>%Iy=8htwvFEJVNSCy5eo0vU!AkM>^u><>Y$V;nNq--Y#U=i`THFjS+8S}aZM3Kw z@Vz7pKvGA3Y0F?%{+Y1D;~RSGXOxRWq4>>>KW6h`h7^_qv_7`QkkF;YFB!p#o;Q_7 zZb`6>kT;z*E3KK_*+^hrkYW1etBPDYgzWeg$umc7oCp0hh87=abCruNVaVZMXV}P8 z43w{&rhiV2RZll}Sw$TENx-0xL z#1I1i7dr>k&rE&;VKKg)i2?S;GTaLoz__`mh6AR?rQV#vms7>F*%8L}ilfuPt6_u# z8eDn&uF`ubc0Q$^b@|lurf$Uu*KBE0&n!4an}0&2nt89|tQmCyG51AAxK@+Cp-&;! zU6t#)6X`t0)N?uO=O|obQoQ=dmoj9`atCPXf|~I)&H9vPJx4`t?22*{&3c1ooj&!t zFn{QIhtDUdw>M>B>ow)nsUyrdVbA+*K81K|{wvNy%RIT~y)z|6l5Om#3aTouTCXa9 z$bU>x%%gnX-|;Do8w#W7fNI)G%F|IKRAr&BR7y=bB+3+#tEQ?}-BA99GG$YwsOnT- zDVIW-@=|#W%9JhT1t@u@s{Hz7N=>=s$rMSCqS==8D4Oj}<-aCVUMlxAnes~cph|z^xJQMZnA)kf&KQ|e6mVuW}&|Yt$&hw z`xd9qzs(^4xzmK`9-3GXkyAuUDAY-*V`nC72I#|k4oi?;bK z{uX3fDbCQ%jvIZuQSa&5oNsaS&wqal>Kd|zgF0G9aau=9NssL0pwiFpEGx;Qan2`s z&Lb?zMvmeEorEhVGpMB6MO@BX$BM-UX)Io>*oZ@&x?ni#cAor6zS&;v6m_sQI zyk#i)ryP_J+#UXv)gQg<_~>OEowiq2{^Yc_IMK9_vH7Qyd3P3aI_havJy~eYZ>46e z*qP+$6V60Pp-pf^RqW`%nmj!mD1p}VK=}DW2~wR0$sFucQ2fYgJ|sI5D1RaCSJ>WS zCswn-?0ldC+F++#=g_gEhN{GMcBC~6BJ^Z?R*+wstc3B|8VacmlY} z4gs&rbHFd*C~$2HuUGIo_+#Sr8isRG8+d&aufN3WukiX7-l*UW8*gNrpfa1Oqvnrr zWWK&H-1b&eFS8$}jLJQR@PDQP{M`J3x!(*Zu|HB*Lb8wdE&hT0z+k@q!7%S`Ngu%7 zEq=-z;)ib4L)W6C1WxE&z#;7P^=QrdB*|-AQhYY+EQqnYBzCyqT*nf5mY_uaEZmIA4 zJsKxG>7GW3(ZXGZ=js;n?v23Y=AFRb&Iyqxm~ga9(lbc-e2Y}@A-gS4TSzU^!!bu2 zq=N6ZWSxQy`Sjg~&w9;=&(>cjkddJ^2(Q9_z;v;c_8B(XJ${GHPPPIGnq1wIg!>JM z6EugOf$-@9oO>eS(tjgN5Rq!WMPy9M6Mkt^26%M=Ypk&9N17lQ)e^k1z&i*2V*zuR zV%83#BK&Cy;!q;aK)+kS`=O`WD?L(+@W*+y&}ra*v*eH&1VLIt$=--%<8a$in%6-1 zay}1mMOutFkOpy`mLT^|xMcyr-m*N<-QO3gIXp?(A|CYI@qbb10Rf+v;2nzQ%R>KW z3G|1afYzJv>jDw)Mqhvv5!w@PbBdc25(#|VE|QsVm&FHr;iW1+mW zpDa%vn}Y}uU-HX46Xj{3$r8|>XgWBb!<7Cn3v~5Kg4-v;u?&bvkBfmVdQ^1qv=$8bx~u*cA_*v9)ORTUvZMT zM2Zmd?y?!}wx-i1A4)cwPBm;PS#Z^ZfwJs@8Y>mOY=1wS*@dq1WLJ^|}}q@1Z?OClJ$y|;k}k&MO80AmNg zp76`N;Dhdl4%KS-By>#;06Ft1m_l4H>=U0w(y>`w9){ViCvdG-E?$>o5ucHhedjni z<2GX)wtq&Tr>&6rRv)V)gvAvF_`7rVuxNeR_j0O5ordW-NTZ&DnCt-a%qbgJHN zEfB@JFd~sWbb4-v>M~!r`;8~danyrdm60)>_J8Kfa!F(b5a8H0$A3OC&G(p<9kC%ZD^TU;_5uYE6m)BNUrdngxR8Nx67h*&sQcZHt= z;Efrk?Z^=g!9~Zl;EL5jZ24X+q_9yi5YN&jmlbn}>fIGB8tzIsopxo1zX=u76pLm^ zx_`{qJe0LiU+c1^WW7{N!8sWgEX=H6_7CCSjNhalx@Lr>@M0|Jcg&oi@+s5RCn2>w z2u)%dLL3xe+3y&o2;ubGrJr=!hk}e7Tv9?(kQ%190PxlfRY>6J)Q^wdV>3)ck)!D} z%-%rpx@^<+h154TU0?LGUm#VsPB@cya(}u}A_QAMoEJoLMp^sQ{N|NlNo;-dN~nR% z=8@O!#}DJyv>&5Y!5oRIsVIdCK4~;Lvx%6oy%6RO=5kM))mF=C9=pdZ5LZjO8Os1! z5O^q8^1;66Bpo&y3lD?D@BJbRcjsBS^DGMwfQ37#KFF|ecRC%UGV^s;lc;c{i+>Cl z8+RpxY2QT+yah(~av0hBMMe&aMKdOGMs8`$%||gvW+{w&c-SKSP_pQX=s(V$JtSG9 zOG1XThhZ?M<;o$eMyo7JC{=-+OxZf?)9w5OD6|tbFdAmGL86V4jrmddQnZ1bL^2Co z@w68NKJTZfPE&s}o85is7>$UiRDT=GlPbuGi0p@eM6$~<=v`zos}D}tjjNrIa_<4& z2bFsKI*@JxajArYX51q1NAf10aSTHqSdq}`%!+UM9{F@@BJ8IOLDFf`B>^~kXAhd> z=6Sniie>1B9uC-91;}jAg;0^1Im8nPY=NLE4{yumVX;Of#0Jn+z-OT|DAqzNu}SIc zMD5S89VBE_M(!38xepE}5d8Vv_|8c%ySp3gge|yGb@+vv!3L(N9$At5ptVDwaXbGe zs~o6N8$l}umha)nlD&NBkzfNy7PoYfKs?}xyE6ss2S*lIzDU4+aDQYe0~iU?XB=5z z3?l*i!I8yosVC=K_{XNcb_jiBUBGI2+#x#+=Pb~@yj+}i~?<7o~SI*03b`E zt|a~LH!0U{1D11V%tWyFi#_J0rgA6A?}7FgYTj+}9$41;Pq+MkzoqZCNQ9GJ*{o>; zohYJVBY)PQ{Vn^B7|(6kwXrDj>qf>sk33F$J!nMl>=vSJ1rqoKOi zOvF_RGarZiE+KswJAPL9=h2`>I>LUjD9B6;@lke^&wW=p^m$_rCR?%qgzNG6gp$dx z@Ts8>Cm(py!o0Ht=`)iN%cV_7k^)s?IzRCt#JUpv5>sWe8GqrR6?O{WK`thd5AKBs zmSmU`S}X=BGNm_XvBJu+vuxTUw0_DAU9>%n{AB!|-qYR+Ax19@V+yCvBXU-;VmI&; z|B-%-dL}zQsm*%oHV=h9Koj65r0ce$keUHD5qUFt@B=S=u)wj$jIePP(_Y6wGlY95 zpsbn!+?zf__1nzmUg-dM9R!+2UtkHz!N(;{elmZ7#5l4@5b+_Sd4+2^#rEoD~%^sr+-ip!c1R@XERw0+^5CZk6R`2 zWyMVN9v`vZV;%lJvZ7(IKMdL?#g=6STI>4lyZs?7)J8eo*%e051$h{etJ}u)>g4Kn zR$iSXvuh{80g=IDtsg@gjn8S1wv#Y2ubaL{jMYgrGg{ZY+hGO=;$6>Uv6kNZaY6$c zN!J~$m46894m896EgH(;V){1-k&b@6)oydy^4Z}z0M&%SJ~7VHP*kwIU$8TFPZm*A zpfce^LYU`$@c~BA_zNYITbk^KLC3#!&Q0JAHhP#x1Y6qiZ?GPN9V_SXlH$x(i}UW1 z;>^y0^PfwKm+Z1QAKACXtrX`#WfFTP&gCV=*?)}@=L;`A-NSNDdFfipK8MlwqnuR^ zl}URPa9SAN9|BBE`Xove?mf=ufE6cS+diHPb?5Ya)*O1$*8uC=dCrb##B^)M`7T;f zOZu#e)?5&rp)Ux~6T3c6Hz1to3&SOM8JvK>vzf>7zfdgH8>jmPP6(wcpL1Eksp{i+ zUwoJRHjffFcqRGdHfclAzr{*-B*Tb=^bh120wu}u~y`9g7qJDvU)iZhlY zryo+BvE4g^kf9T%cgN)ztB?BH-4X{1ahr$`XeLEVME`O>g=~18o3YqTOAIV+&`}qxs)JSxrU>7Vs2R7=1pcP#G!~_hxI}UM2DD6XgbdSH1smVYiGOqv=%7quCtu*7v2Od_!xcsJq5V2Z+BVjBPU zjS|&t(|3uP0c^xp5W-#RZ|oTG7q(o;&*yaHEQ^Pv2bS!&Jr?~N z#0u2rLz@i2T1*4^MI6Pt^u45uKeY90^ggtSU9G_8lr@YggILLaPCv++c7F+LMJeZm zmCloqhd9s)ut*nqT!%T~OR%~}&fr=)VJHTJ5w{0dU-(uM4o+Rq^MhN^4rLLVm}Xm* zOu2X4i7}n}mY06iKgpgyfdW#JRyj#0%~eaVQ7g5QW>TB0Ek{ofp>B9Z_cKF*A=Ph( zJ5d(iALQl>HBXwWExeCPc7J`pM1J5wiTrqB`qqsb9Z>(ao0Qn|J9mI^r@7i9KlrW8 zlR=5dqsU9(=UdxDo#si4bghoxOK4>7lQ;XU-3cKlNSAvLz@Mi9LQeklhBHpCa3f`%5+J5PkvNk#CT!f^#il{eSbjBZmP4THyoX$ zl3<4Lm*rqWFw9U3@neN&?7p;S1%GIleXB=1iC~ekZ$;1=;m!UTZk4zX(c!2On z-|XW7ys+_dMwAZTgb!=eYVt#}d z;o!)PZv8-hV(T^o^Z4=?tbnv3M$iy=HDyPQi|`})p*RWe5q_OOr{flv*qJR2@xRhicui_IdTS0|l zMk-0gRz?V4nTL3f)dcUFCzxaSfsgS%!rOol;X4H~J2ywz=(~6H9lO~;YmZ&t9{2}G zfhH$nGCaixppA1&6(I-gp;2*oO2c*_d^0eV&YaG_L2vSAUF|YAAU}4*97DK2iDbCpDWf z{g~gBew5$tzL%}Bv^kZGvQavQweiA) zM7gV9&O)HFwejN7na?)+c@7bb?pwE!@4fc}%1oPr3mnEjOSvb%4v%v1Sd~|Tw#+ud zbh@-U3x7P9TNFe7%mi7|QeRY^M};|w+#m)ogK`-8aG>G4KF)tNW>1VO&e;btlsQaW-@)L0s?2ucoHS@`-$|OxBX7XAJInM{S6rHu;t%tK zRE^LN#iIF@P?|p+Il9k4gX#~yMbJ29y8(^QC4XWRc+xI7B0HbeyWyO&{R0I`i~_u; zaLj|*;h&2|li_0S%m{zZ*xyWmPWbkV#(d&~dM_BI&q(mN_y&(W`E!YU#s4pR@4D5v zlB|pV@27BS(JZN)Hj;e7h$$FcC-ekEajT+SY7jU9QAVb0QP_aTI1h3DpSL&; zh=05&B}>Ls)$E>Y@8$=VQjxdF$jHcBe3*q+yd_)3Pa|+qmm0ID?EOWJt#6I^D4!{~ zP+r;ESKTlw_2G^w3Ci#S_f2y&1@L^!O^O-0btiVMMO3>gXSRy&RO*D>x?9C3!8UOi zBHazR*8R*b0bkQ-b+tRtjWQ|;AsnBVZhuQ#%eTePMXOwUpD-nHP8_P|Un@F`ylP?}H!HSTX$Us=gm6!N-1VfA5gS4=OZq<`PaK6wJZx%Jy}(1zYZ6Ki_6%ss&ny+!k;L4nM z(1B%ByxUDq5ZsfOCrudny=w~hY|f(YJsgRreCSxa2|8{41H@1RKBogd!GE&k=ulrH zTD#{z9?;9Eug+PHl5-aBmUKHY3@X0+5*uyc6iasWXQ_ak&xGq8=hFxd8yotna*Xox zZ>t7+*8Xe|eOLMLX=&F$Ct9D_xwh4pmv_4&KRAo&>$^s|9bDn#szDIqR5O-pxPbcT z_d;Dex}gOip*yyIan_%bLO2 zf+ldbM$Z21tbWXvm-Y?9ax%!4yQQ9so@z>S{K}jWte4O35_A~O4Nw$pT*|zEpqL?_ z-KFokpvC`tSBUDX889-c>l9g|acb(oQ==gaIqf*5Qf?mU8NpL&votxY2^Rim@<}Kx zUFK*o!(8VDQ_7NU%71@)zc-yBFK_}&xKN_O`ot0I>wMK?9kG$)9={=aJofaN-(2(M zWp8OySYXzi$@SZlyII;J>u%SVsJi-d>)Y}&GR<>v%9cXhmM-{ybIoOI&UDZ}%Owpu z`qSJx6mEl^GVMpfogdLQ?BlI)P_RtNp#LIk55+-{W3h*8YB4`ukn!?`<~iX}Yl3^xY`Kb#AcD^wPH?m~Ppk08~8J zgPOi=#ES%T|I}MnX~Fx_esAasuJH^1VZg{Q0Gj;L_J=QUujU28mgR|UxdyJ{kr}Wm zt==_fs|oVJw0}@I?CfnA>AT>d+hT{0*$LqjG)3!OKJ=sRU6Q_h&S67X5suwmxQx6nTS#69f*SA};bhDGE>`_us<8zg);_yi zQ07nWhJH&vBS;|>{?pRRN?c@6^U30BGtVcZndjq?R)2WxK6KiJYuM?B)BZEhpGHXB zCxyqG;PM8vHKpx78x{OPaQARm@H?IEBW)M-ndg<2k-^7-J0D!2wu4JZ$Pd9Csywt` z==Rt+!rTW=$DRT|MRv@Oiz%|9IZbTZzTUqp)9D@QIfnUfuw9t#%i*+i+e(Or?WP2Ued= z)0AQTsMq}pSD!;zQplKeTXGq-J=BP1(L0T=L4PNYL-3Bx!kF!R;`V+{7iB1h<4KC) z*m!w4{?ir1K2r=^lNH0Qsu(`Ix1bn4xwmjwKDg31V2mZlWZ(GBU0E@Bm)g(jQYYyy zb)4O$PSRcKIJ--oq`TB{R+lLl(`TV77tSeH6Ucd28gOZ}?; zw125|rIUYkSAvPm8Q*-tGRG#v3fq)}jx*y53+9`vZk%2jxOej8F14P>RqM&~CRo0_ zHfZ^N8?$_+t@k8)*1G!ylUa5$Y$hs$caK%z{QB8?*^s`2^OUMu%2c*ei57;unQv$3ZrN1f)@&uPR z*Vw{t>{11ix%D)RbL#HtF z9N}X2Cccjr|5hlB{st)|rlveL=zbQ3e_j20z1Hn?drCa94a;J%k-;gzz_5rR-FyEs zh=xwVEZbwT%(0C4hy0A}*MFke<8dsayi~>#@H^trW+K~H%8q?>yaFh{Ic3Kv*4v|u z*ZI{b3Xh>!15N=~Js2~l5Tm~p3UluZFx=zf9ZcQ}@8>Whuv-df^rR#OQi6{; zd~dLj{*8Z6OKfWkwxMBRzkk2c2GB%V86^*>gy6s{ zkcEKftkNq|EjJS~q=1=(Q;UI;T4HBoOd>hay5IY%R{JL;a6D_=hWVkKY1mHi`|zG# z20kn`_h~`i5m0$tj(k%&op{U8 z#G>3OO#|U^x^bFudf92EMy-TefzPKfn+<(Gzl2?+ovXaf`NLHe( zl~!!Y=W~=z>_7PZ245l7_xa0x{&L({1I$kM!IA_Z#2BpY8%WQ<}w z5&P9d#wf-Usl1xV7{z2OAkp{pgdZ;%0LTU2s_6w0LVsVV1{VY}(Ss*TKH2gqt0O@8 zq)vd}r|ban0T)#*tjW^E?{@0_M@sgJCd=udap}aHm3XrgZ$DD5>D5NgI6sxiAD`>v zW~*2cbqc*MdY7-(+Vt8e^e_Dm)y;B)nB|6%k-$-E#(*mdP9cc=PH@TS6^j)p@3(~GWrlM>?P)WG5MH00(eQms@! zn_dMW6|05%^Vu1$B%YlyUpm|>aSmaL?{Ii`(e21XB}e`>d1f1W+HSY~fGfo8lImAk zNPp*0_xr=}vJgq{ht%~S{U9nFUFup8UUfAR8H@53D>YPb>@!H{JM94isH0g{*{YUJ zZA4bs)l$P$ zv;htbT~UGa_i)X<-VoRi=wTt>ZP*Wi_JN8N;jiq%uf-B9eG(&-&9Om^PzcK-^SDgO#H ztT3Y7&J+JG-oHVQI7!@zzkOibr)4D~c<1Gh=+B3zj~meFqL$}qFwD0H*nebSzW}G` z(`w!OfToo$6ilbU>4g40PVDO32XrmyU3TcW>2M#=LwwCMt_vwTyn>osUyn)lSinfy zxe)dc(cXmY@%!X5WYMbSNG^zrjE{c6AmI7PsIZ|sHYHIB-ew!XP6_t%w{Iyx1Mp3j ztZcFP<8(^-=jM27k2gUSGk>Z>uW8s$Y;>r3?%?OQ)-;Q!aZ0jKW5&|fDRqxeDfuXM zj_3sFXo8)O?(2qE?$P$cCDp+>wc#!WMIYR-ayJ$6raE_6(F%y~8Sau$@c~!y{>U)I z&4a*Q3RwDc^u1-8ORgn1S9=$5?*Tt5bOyWWi)XEv-#K=|Vn3iOy?;vt4N#0066TpL zavV@?mH;>53G*L8`Y!eLpe$9XZV(@MYLKp5HA%;{8sx#Pk{h>LGfCUMAy>@iA@}Z; zYUC{5zjEZKJ!cm+q7`r8*U)%zo}(LjM^F4-0L$Zj=WgWsaCo-$-E*HF^t-ISX)JzU zUUqF>p9}C9P6v^I27e_37mo?w1)<(1H^!V@>XJ3L19!rMFr>W$za2dEb<-$!Az}VH zFv!t3(ct|>itPObR+U%$617i!FhRZQd^uEJdKwuNzsI-ag^8C`V}dJ%4Hw%)j3l~2 z&fJfuRNpYjirYf2SOkA;_ETX$RrXV3KXvvq&wd*0XMz1#CV&6s=~yHhj24ce%?84PG!H^If21}Aj(+)r2fN_-{1 zTrO|0Q&ffr+*D3V-3<>xjrGN8se|!*0iv2dgNfd0xF^#xSwp5L{&o$!K$S}w^H^FZ{LTbQiEqxYen$))Vgnvp3ZmAjC$XNWAeLaQW4e6w> zdURyVC4^DPA^#>$Cnmp=Z@Cl2PVqr$pHAr^mO!Q_grR7Fmph)~sL+CEWdF!JcSJ_= zLIzWl{y;C6%il7NEAne~(rd&rUh9O7h#jZ$h3yxO!CC}w$(|}tP?P9msDLxdR z$hNzQiGS$E>rqM5ZO_@I?KzvQ!c!5Rc4Jj;k|tbol4V{et43*e@rtuW`h_{4dEOlr z%mN(VFU&mOjLy;B$rZUF$E2U|b`npDZ{?);6io6@%B1*rHYq;pDwE>dctvF^o*)15 zlk?+GZ<`;VEx2hg>4fXq3rbE&o02Qajt91>+kd7nFV7=#McoVGA$#$PmP(6l+Pa{v zE9!afskBYn;GDDz*96^`MJgT`K^Ccc;GD}MfWHR6b&vS)JMWP`ekV1ATa#F84Pw_2 zP;DNe)EJIhL!zdUT7}fAq*f!fI;qW*x=HF5saHt7O6oOIuao+`N4oh*+l`-2z2mk7 zg?~pL+?Gu$b&uR&wdXz3#)rB`uJEDZk$ZfodE^euRq@Doe6T!n0S{KyBLjG_D;`gbM;X~acoA@yAf$Fu0-SEgad|2?v z6PCyJ$T~h$JhF`sRgX0BVZkG-SVGeyyMOp#d*lQksvg`Ov`8H<*uaAY2kKi@#Li3c z8_@6O5%f-SG{wtXOri!iZ{VR0C+*>3-UGD@PYsWJz=s8o++fhW>5+&%SswA(6X5Bw zr;0~H_Eh!A9eb*I}$g#rx<3LwnuK^(Il~8`H?7PLzJ)rP=o>% zQ6U|G|Mi}KnF0eJp+ya2JsA$2=Mm|nw&GCRUx}TXI05@b9)VvJlgnluN^tIDGTh_7K`rKHdn5D_mN{)n4j=g$%7Wi;eXMAQ#Z-(`WZf1 zGLlob$^LP3?dW*rXnU{e)GK6v=lIa6SINeQ{vo#_S?cD{TkNw7WH0(MWsX7{V7LC*#t$Dnwk-DQP9Y!Pbjs{&u zBMnExPNR_pN8{ZFR)6yy4SSA8EDIiY_L>^8Y)4z!-Ped!aWv>Z8nLR5w#%Z_98K** z8nNav1fCj>hP_53)`Fv9ztMZ`R zNoC&Aq=;&y(okL{&4Lr-)x*Yw@+xSmmNNmXl|TouqrwSVepip*-HS`z^Sja2L6 z1vWwE9W9nzjZ_BR(CXzVvW@19c^Q8QzLZ~+TuVXb<5G1oNANQ7W5~`7U z9VF;TBXw+LA%CUX2p}!m4{WY~2GF&w3bDLj@!zWdiXYn&KQ{c>?9FCxEF-%DCL%!d z*5Iekz9oMah{=B7tzxnt3j-@Ghl(Wvt*jqA>qjN2f_(}wFbWZqMwDaAFzth!GFXG8#EO2flmg=BPAP@Y*TVf z*{tD=y4zGKG>wSn=1e86BwwqIjF?qU4N1Hfe<3@*%-J4GA`!o4X2h?FIITJBti8L$>}y_X=bWspmzO1;YB#~+9HG?`5OZMn`*Aiwi_U)$ZsFcqbdKO)o@ zUVj@A0FTlSyW#Mz`+#7}u<_%xo~?#MiCuSKjl;3QqV0h(7J?BLfc@o<$g}0NDjxiD z;>JW`PP8zADAM}`)_W=*dA1iE%N!Xb(z_5=2S_~eY%9+d&%lz{q+)s_@d$Wm5#S?| z=ZXn)=86SVX1fX#=86r|<4Ogl#FZ*ch<~dUn2OdKFb8D`*dD1mH>BpYVJdM2GlzSa zHQd33;XBL+F2L#^fO)?LcKi_->KkB*pMkx-0><)JFoqAn3f=?LcN6U088C9cf#v!H zR_i*LtJ`3rHo-bw1+#P)OwtpqJL5+c>S)iyoN}CH9VD4YmSBaasbs~1S?OP)hJUR1 z3!Z$gn#wb@`g5i3z}nb6G;gJW&kcC4n)tlnNj6k#O58e12GZA1G$vKIT7j80W6l&M ze?2k#S0+~Zm5Eh=r-lU->3c@O5Y@YL`ikGe@}3$VnIpMIoo zp?;~NM6u_(@;o0u&zs7#r99ipbALs7R??iWDbGs!^J@AH<#{1~Zm@irj!-1O(olMV ztvpwhXVfVbShA@)x1{ELCUxf%nRh594d(+{aBe8DHKMS7;#1&mK!Lp>1^(VqSTDJ! z#I~GzMRvd%sBXqu#^&i-X#v`1e%_lxRn+P~kwasu9Oi!{hbhu+{7LC9{C_#=*3Dm> z?sK(J^y03jbcKe}jT%ZfYE+omHte4iTQ)8d~3Bt!quNo__>NB zcB6(3jg8)@vk`cPlA5zcNq^nhffn1tcKV1dbVP|&cNz<@?Anc>h1Myow*F3Gp*4tz zZ99zyu`5nvUTL+e!XoQW>S5JCC*3M&8dfV-bGzc;!S&bJl+B=+^OkAFMiJ~uK3k@9 zN-^hK#x}^>symih`HAcz-H$LeCjRWjs;Dnj^(8@8S6}AUmxlVXpntsBrut&3FX}j# ztS}2}WU;#XQ>^}3VYbZLD6T+Vkz+Hf#Tvh$#XQnx4j)$dsp#hhpE{8RIdQ_n7I*+Y zy=000mfE!3qnF+9vBybEPlXMjqULMA%D_O2@)CXhZV;CK=~^> z8p9aGaZx|Ohfb$^xuiV+=9qkUpGWMx%1Y$Qz{PFKR&Q4#_HhG0c5$JyKRX*gGsK?$ zBF{$2A6w9MHPLd~GS)`W2{=xEpX+a8RP_h&)iT8<9aoE+TMAwSPuQ7?FNNwxh*G?5z*fy@Jz3 za!+gt{2A=`#9vS>G0x*E>NVwHnqtLflLR`(r&EnP?WU@w=zR}s)?T87m z_TO4DgMY55{kO(?)J^wMoJ?MZ-1b4P3b^MCx5V*cxK`AkXwfo?=g!~Gi>X+;Q9S?K z#^4@S=)>#6d2u`9APJNB(VNsYr&2%qs$9L9*p(jk6ar=@t5YGt@$?|7BEsM`*sQuhi z{suq~OjgdoI}4biU->}R4Jp6`^AuP=6?PV|)-}a9=+Nv7Dn;5>Uci#XH}EGMFfW{t zM@!poZXa#0>}a0M0*x%C!&=GSW`8Oj)Jk+LlUFWjYR%5-O3I>FnFQxSNRIHVydLb< zCURCYNRZ|*YyDGKVPebl78MQ@1ydP&ibXXO@rFE+l$>2f_jHk)>Zcr0c}`z;zVyC? z%P(I-qx^pES~<+TtS8z;B+aWSc~mSK&e#XWFj=+~zsA_rvOGb{1xI=2{eRgq$mxh^ z0q5Mqm~6^<$SLoVFc&%HK7kVzg=!|Gw5Ys|OB;I@Tloob6rI0K6K!2`IUvm=Rb+Hx zQJ55~#EI-!m~>!Fa=HO+XT_s!C8naW6v@RVE-Ci8#pfB+9c!({qyiZ0PilnBVJ|6H zsqQx(J7b8uqRV95rs>gP^9E!ft%VeexSjM2IaVz zjto`oM?_<#25@iM@239rx)gFy{>=f_(LnK^H>5q@Hi7{ZRZat+6+9Bz{$>MQ z-DxqY&qY;ivm^)&gXpK~7o(V6_Uz&&iU`Jw(!{wXmUYw((q>CxI3bc57cGO&97_^Z zs=x<}M2we5Gs7&gy>~xV*(gGAW>h zX&&e8nmA|HF_j|D8Tm(q=`u&rYlLwi78Vvj`$`b)^T4(m*d|O%I*P_5Y@~IRQJ0_+ zbYgu-n7}#e=sp~ZR7lcPbTZ6GF_ka~n5m95So21J4Vu*dVKBUDQ)vsVgfjkXz`p$(`6a!dh z1Gb@|;bLwSgb#G2SbXm+_6DGkiE>=J*64#v$1zV&}q1{z(NK=Wl0+<6%BeF1Vo zuY)kTlEdxAR42uSB(^Stall%{t&fQ27a^yk$7NbFmoqbiy^X99umy)dG?B4pkVKEj zpO0h~gzK2MXsA?a`&rbJQ}9>^OjWL5=IcW2>xgKHihlKcd@ZP4TW#t&a+M0SV$5uify_c+Iw%%m=}u6B@e9A0Hn{hBV;h0>nuxC%gm-x7 zS%c-wQV{lO2%QMf-eDy(_X>@2fyQ{|TL6#Zo{Z@zOQe>QSdHh!tkuK_wggxSqa8h{tQx?XM}(AxrwH41Ty+YUc&62pg}4NjBsIM z!s<0b&Mni)OftS!s3jJlEz3!zocJpEJ>h;LrxYvMg=&L`$kwQtJVdg-%4=sy2G=Ye zA~{*Jd5Gjyt-?bjQ)*Q%7N!WXc`Msif)97?vp(L9PS)O*_2btM7ZdlivY8@oYVo8q z)2)9^OhD9HQ?i^-B&yuoOh#?w$wPHsUd_r7E%nN%L8_c>6*Hd}Mx?6fWD|v?VyC~7 z@#KcddQ>X8^{8_SDLytAs7fq8JU~j1Wy#BBJftpYB*QE&g%!!5IU91F2ztg5`8 zCPFIm%9)5YFRzk`5MGI@EV5eCC+~Sr>0cgaUA*l z&o7U0YMk9)S_z(8#*1$19b#YQYsgh z@=F{@hW)`{wp3VJ?L+i?e?PajNia0T(jJ>pE%M=%y8621qG&QN zZ{V}J+Y{x$5410RGmBZlRlrxzzyTgRXeOOqvdKO8pj^u&Jc>UFYVcK;CS%UmM(F@P zKY5lOwHcULgi6fAviyBnnXr>t>EKCFE5tO;xf;# zd6C#x**J2SE~j0@_m>w~7~x%VLZo3TQioneu|C)acbTEzVK6s}i`)r}&5iT&V#$Oz z25(O|H_pq8ttyy=N)=j0D#cCk5gql*iGWx|ra#+>&z1D&O5%TWHT}7o_>2m9EPoN0 zRMTVS7$d7>kyXaXs##>!F*0;ektUOYNwTaI6CWfw>h&!0#0N=!nn!+`NsePfnp6f( z6ykKOJer9Dn@%K;W;8fQQl_x_=(v{>H5&iojifgm07FSwRR|0Lp`*U^6;2IsJI*fR zXfl|W7ttY{f=0wyGR{|7UiQvQ+@}e~rBhbEfSpPc7Q;^&(8LieaC+!7ifsFaP}-djYv0<>Da)Z z%5;2)CLQ+~#sz1LObi^5D~=qqv*B{rF-Z^Yw2AacA|i~)L!yug3#vHwMV6f0Fn$Ef z50FSZkx0sjF$=JIb5W&cI+ObaU z-aA+FjSb27@_oziT(Pk4aTv47?-E2j@M44mvy`ZQsy{p@3+1aN?vLDnJZB`@O=lfz zX{^jcMsaTv6>O&}cr|i;a__!-7b~pfe23g6KB|B79PrHRC60K;@x=sccD6S=`<-o3 zKF8;L#t8``Sfn*e&Zs$X9*X+?^39y>mlhYorGBj?vw{rC6{~n&E zX7GQrvtce%Q>3qO^)$uR*T;?Ji6hi_0tv=G6t5;ScIdQ=osxdH+-1$0$>@w>Pi6Go z+ZbJ1$Y3?s7_ahKXqNwROz!?WnEV|^7~v}o4brTkr8jbE=4cWo2ah0Q@bD9ZM}Oq@ zz+XITx^x33rgg8hpry2)NrsM@&9ux#j|6|;1lQ8+;&>iv|0e?nAcuxdpFHx)-3Ug! zQd*qKkjd4yr>M65Z>si>RN9`V(v>MHUHLawx){E-+LdXlU7e!Z)qksqzrEtPU^8NO zwb_iV1NSJpMhCqlmIrR9JScV;s>qzJXm~cmjj!04%Q}xUbUWo?u~TM6n6n8FPt4C14r|Y_^l8mSBQ)tRpv?ORmKV?pH4e0~em4IY2!Tk_BE)1Y% z{bJx5q%(mgEcyU_Hf~vSMgwTfjYQ)S6FG}=$ zJQ+A${iZwsYp#`lY!;*OFc5QoDLb-PQUn2?2)1EfNuXc7OD7vMJo1qp|D6rztsEp7K?ML z=qGtq^#8rZQhD`OPUWs^zgDE&T^!bc-9!U+|0>1e4H)nSEb#^mMjogW=I)%i0T4GN z(#DP4NqbG>+3a?T!&E*^qTTQ?;7s7fh! z+Gl6qz0-4+p!g~LjHMJnDNQGLnvtA3hgDNctsxjB97_(l3dvU|KXnY^m9D2T)67?5M;Xmi0*KIn4^P}!hMIrY08H_E%*h77(VkH0`MJ{5Dsy< z+BTy`KwRb%154YqNXCCBD68U+YGpx>#7^zIxqtrGvfldAUMX$*r7Q2bK6+8!DkEcN z4sXlokuf^dR~CqdsrwP#qJy<=o2s6!9=kM=^p|!q5&f}CVH-AakRHXi+ckVs%n zO#nLkcDNr5Xs55SdsY89r3i$p6zMWfvha_d9tlu|f1FY*(j|XEH|mFe7(~Gn76@T9 zeB8hLaH^b72e2C(9TM5BbA_?PVj4f zf|aZUzortbq!T>LPq3Pm;8`lcYC6G{@dT5npHc~~@B|Y82x@{mISIz6r&1~Is3}S+ zHOYhVBok+?QVD+^@B~$41vR<#oaB_#T&Wb-)f8hgHPJr~Ax$yvJdcz)bPs(I@Q* z>vF*|?+1pG3z`BVm$c)eb40!?fXZe{929-njSBsT`}=M$qV4jzA&y$o(V_mwA@_46 zkj~=F;7x``{7XMUL#cRq_q3XYd^6Ob`*FXtf`ksdac(D?v` zF7;cWA4r?_K<=4qH-2~x_WJ(0cYGSSWLcOUd)kkK04IhwSInp=-uFCN%WNhju3E}UPS7+-EyB^KJ7+IUsHMqT3!i8vNG` z4!*9Rw}Q5-!7NYn&JA+qwk0I|wZwzRFBYPXwz+J1Q%&d=ZFkg&dqG>gZ9 z-X?eCo{W(ykm<|I@8Irt8gpGU3ub>oE8Z8if>yjUNLX%Plx5%7l@LrtzZX3F?&613 zFVYQi;a*Lsxt!x`1{qAGWb=5V$m=b`cp%Uc@ZvCHr#zjVW>)Q79=@n^o0B}m%5_m(dFKE;3g(87w9hJx(KiL1-9gG0J$%eEeQk7E)$s2VBlqIvrhO*Sc}J zNKeoiWn6934aqQ0${A*9jHxV?HK?7S**^){G4Q->0cDBx~dmbLIjHbSG z>tCfpK^9_s=3b~Zi&r7z`bmG09j{%!d~3$ynI!9>d$w3=SnU+iVRaJ$YLW3-d|=z0 z{0nBC{ADcRX{XRv~y@ZV%k0KtIUXLCu!j19!<6%`N;WHY{kTozwZv%}RYabWqsj8*wNMUor|0YRES-v*ay0zvt|fnY7pvHqflT90 z!#p+i;#Wy{8T2kYv1+&+>lT+|{i4SM*mA@xe9ce~xJZ!vo~s_n*B@)`ye9vj)~QBB zYxn#|@P-9b19*0Nw{%1TcxCrJozJI~v@e|KmXaQtXtd{qU_3MP`%u>ncS+O0j|*Gj z7;zEvZzXWXRgcmqs`G!hHoXc$DiARA=d&}sf_iqwTq3oZh3y1Tl0yVOC`a8xyrFyK zUz2BCZ+EoaZu4Xqz<2D%oYe!&co@bRNCyZVS&^yQR|NYHPc- z>v?Wdo_JUt5v{8kgt~~KLo6Hb_}0bkUJEZ1_gutyA|X)0vH=g(ibu}y!S=|C%fJ=MSC=6rl7k7=SBkwii45*Q*YO&3 zLy5Ba)+m#2OM8E026zG;dtd><81X{Wo_f|?C=QqU{}dy_wLR=r1yT$k7%21 z`}7^VmZINit~+*}G>>;zHxAA|ZXa!(t#7Pt@2>1P_B>hJ+udDp>;}7+iM6s9$b}!a z@wsA>m4knSy^m+>8#~*(+eaG*fJTeWkG&CLg#E%ldSCSJ5>vc?^JEFva`Rn;#4bS zf9LqnsaDCxhvSuEG2?9}zWBd0n~Ru6yvIC82Dvb)^`$^~-VT;Di2T-!U? zaB3!*@h>mwedL&AhK6kiTo_1*4d>Z*G!#RP)EteAo<M)}41kSkOsF(~ z8`Dn3bKTK^85$rzX{##-8h}43-lhNrYRsJ!AUGf+XaEbWp{!^CQLCkdLIWgQjW@Xlz_c1Px<)E>N88xj)JUb_pi3lx zsudoY0I^nE+1=LwwHC6~0OwA_Hr4B+FJwkTP<#JZA4TE2=E%wsu0_Q{}q2PezrW)s^kB8V&Z=YUwGwzCFhy_ht#Zj z{9xC_4+d7mj~&0+3*raMWwIYz{9uHd__5=+3adyJU)2BL^keL&GB180iK@xyf9A)_ z_XmdqJ~<)BWS?v?li=3fkKGh<7jehjLtM={fi;l5UO+>(l%?;tZj+ed3yelx1w?-$ zZWrR7T-w_i#(=3aU+NWJAQi-KGM155NyXc5-2zh6IAN6$uKK+^T$7E9ULm6>F;c}F-}n-E=DAh%q*Xs`XXIX2NDknfFE(AO z{%Qr2(dQ?yQ?^r!rIXFZ1(hoKtzxpmolan1#mb^dv#(;0QN7N-N=1qEcHUGZZ&?2U zibM}e5I5dJypT(L=l8z0yN_WqLe*5eOyY}`Y`~(X6=RyThc-k#bXs^T8~}fEEmC!C zGVfFg0LE9UP5{HD4MOSwg2;gTTF(T<&mY1Ciz~qtz zuzoFsYqu&M7%=cu^}u|ArutZ==#BhVV2+7MJ zM!O0OHhX3O@D8H+W>nR-@_By)BcaTIrODxZF$Fs-mIX$1WgcwiO2g@Z3GzUyCYZlf z%eevTqYakF71$j2U~b%jo$(z^j0-R?24GpNflYBV!t^Q&fah6hfPJ+AM$;Lw7rndl3R4QQO{@M%>3$==s`TA>(}FJBn$l3VjVxy|Iti<~`o13#4K@ zwZ^Y&Pf=2()UcxRT&aHmrZdQWT)c`M7pZP3jgH~gyi>PP+CVaDPQ3!rXJV?VpsH~y z@u9A8Oy#yxCd46sw&yWxgw3{5H`eFHGsASYQBT$zap5YK5_3T*G)oavnKzYGERo8* zTE&`D7NxxQyk{saGjIR$mZ?+}?kr%LYtFpjttfOusetK?av*<=Ee{7AoYL65lahIx zr$FW_B7P1CUX!fi0khRSu;ZozcD$=#9XAEm@h*cpUM0J)106Tngk_b%`0gUi@d=_D z3y|Y|c-vATj&A{D;InIzPXKZZ_{JYxi`-CmKNsCNnuKobkE0t0^oP-n0}9BnKB5~3 zG)6ZLsAnuj3c7!BllTnX*jLbvBg$Vh(2b)Mx^XmyZX8lq1}^Ti%i|$s-|q061UHWI zz>WR4fE%ZYe;VBQp6aL6c-|FPB*jC?et$~Iu?Q9qrBh18R5zaUp2C^LdzuYvyh{aO zk;Gg(rS6G9HI5{z@dv^8QLqJgII(%F&E>1YQR|OElvE(Tsnm0?qgc`x2%z24;K& zSsc+NN@ss(f2a9i#zz9oI7)#T2l;@)pCy)Y^a_^o?{rEm;~8kh8OpGXU(0$7${0BR zVJakJHJ@=L<3J!8N0X6^c`6)zBZXuf(iqA3cgm2Au@T2*TekBrLNeY;A{oz6iDb;B zh=UjGGI^Mx207+nvoVhGz7oP;KT;dgi0(Y4NZYTx9fj4r@Y6_Bg6`6eUmjfh@_0u>W zar}+V437VjXvDkA`fltffNH z;P9@PR_{)P8{UTj`=k2K5=HT?+8@NqWE@V;v7ayHr$Q25{ST1v&j1O>i&cM<*&V|O zuOf=@Y95I2>f11cR}&DztAAYtVSZjzq6eQ$4<5{VeT+F;sU{aYa|tBCrwFL2>DSXx zqbXEi!Nw$nu(gl{3H&;Q@WQ0T1&pvQV0F!jsb}B_3&_`ubaSzU$ADl{r(~za60W8o zQDfj>5s*evwend#2>NGjbi#i?#JT%4u<*nUQ=d!#4%{;~vuGD`S?yrt>BqR6z&A7n-HvHc& zqdfHA!4U6=l`d%HD<$Q@2~1;0T-1DtFL=hxU?9Rugkd`1ODhJNEiK7s(0dBih2P7L z(<+v{We92)5x*7@bzgtjZ%ps01wQ{`6sGw5@{Ha6OWbY0=n{qXi?LYvGWrt!CPS9K z=wFr{`1kHy`(k`4e=)ukGgB2aG`zx-oy@r+PE(;4D;!ZO`xB_azaA?%evZL{$MJw; zm7Kt*t&$q4lXNgC_rVJB2<1^ z{>cIJt*rQUe2{~E3N3h2A!4v#JHGh(3yLxcml+R&zKY9inXdygkAY7oKfjL4{2C;4 z15dcV4#_-4JO3Ka#xTs=2$B4aA5?r&97X0pFs~~J%O`tmxayd%Mv zcNq9`|CYjI?B9P-eew`T^krn0 zJDACJLk55-7jzU_;h35sSI}~gwjVC3uKT2KxJx*}z4Lzux^R9B-h@r#eNP}<^o09@ z(B(;(;*&WNK9rU0GMr+35BkAH&bPYUowf1qd-{%hX8bS7br)0x(^ZUamVB02# zv_jjo;xfxa1}dKwzCq$+-#uV}>f2oMAyGZf4#})IRfBoMzx=u$uoIzahw*Wd#SkGE z)}VjLB|L~ZCrBZs6IiO~>xNj=;(pKflwzkA!_*o9IZ9`&ACts6ovEDGs+mOss2J)l zQR#&R&OxWTFq2;4u^+UGY)7>YN8RQ$%P z?diFR&Do-`8KRYRX1{#}g$uXje5^AB$pC*BgFTmWk(N6TO5N3-KRer7N`LqHH}pC* zJFE9f?nII-ePWKYTxNRo)-dsV1JX&Z;1^Ch&BOV^MJVb%!s{>nV+Fk_;Bd5wcmy!4rRC z6`f-1w0)=*r{IlclmNDXX36Dk5~z1EbL5b`4J2=au@THPM!CwD8wvUPn?IC#*?r}N zFJh?ugvr?d=x)Nh`ow-B;m8sl1uOqrKlx8j_^bAWQt$P?Fa}Yc9BO~me0r^aIr&tn z5i4)FBYZ-W!vkSC<}m<4;8%J0YIlF|=~UWH3F?7M%YzIy4qaLvf~5jwhU7kCZRJLY1lg{_E7 zuo}T#nNA6}syw#h)p~{~&iO8azmS;>t_(+ooe5tvO3t}nI45aHsMOp?)&_rlAC6-{ z<<)!SjbddZRnY8gk{QhBMlLg$+f2@fT=TK#E^)^+J;jO?NK8{UVyd9aleDa38l|Kz z93zjlV3Jr!+E|1H^BBIhs4(_0tTA8-`K;dA*MT73*Kn z3L|xFPzKjGbuzZCFO^Mv+!Q}d>P9)ks1V&LmC&3$L8dX?S7bVg=O$&^o=-_NLc66z znuEK6wjwlV{9yP1KR<#D$GG<9k%A$qsbfX%P?6DUAf7!Y#c$}REY^QtZ=gu>;#Uk6 zW4d;NAm*-Vv$^4$7{Nw=e7t`}; zK24+P<=UsRC@GgZ#Ybb#exsVt7&hY}qm(u8`g4YbUoG>V)2gaxA28ii&pcpxRs2qQ> z(I(M+KRT%xS1glRO{Hh3~1h;&3Cuo=`w_%H(7wf*52IQjp`T)AE1t$iSXOGyo)nP|YBF zmO-{H(!HgwzMTeD-t5w>vjM~xu*wu(NRMl;OFyF5-CjWZ;s8J&`n20==tjBS1*|PS zMQAWfNbYI!9a$r>{f&8*m5|Z+y6N-J1^K?tT~}yz;Az1A7Ui*4x>r3OYTrMk_ac?A< z`T-PikAA1UJ}kTE6r4^f?(1!Vd|$PQ7N4-vfa@ww@q&K@8|1YJ@Y45w7sf%MK=2gU zGK6<;DYizG5GXz#1cn1N9Zu7VU>}UY&A@@D5CPcn0s{ZB65)BTeT!UzEbPC2Dk$&R z4?m5eU~q_oLKp;x%Y=+zz|WoyfXC-&d$_t^>YVOxUgvZ%kg;q0u4`;9}P@V_PoF z-;N8i+sXX-ZLVyCK$%0PjjuTW*aAyfUF=qXFt}9Xj2mA`BPX{BNo=I0csSMO0JnR7 zrD^xtVsW}Js+L`BvT;icG}^vJw3wfoLH1RRHWPniW=~RS5OR4-^?)ETD5V(=p&O^Y z*1fy$h7=*oKuK*{Q-QG(~v%yW`6qjS+u*c?<{6X}gjsU(Zy z595=m6p>i5@Pzfc$;VQ5N}6n12AQ$Q4T!|dM3EqUF%U2;4IvYW@usKBNvO(6FfJ#4 zT2A^?$O+Fq788GxnD~>$#Ajk6hYVq8$)tbAPba>&Ns=Ua5YKq8TcxsD!=oN^_Ozmx zEjSl`?=`tWJWeJzRIo#T&QyJ5=m0xPffyS?ZWZ`)Q8g7IR&avrS816u$D~vxg;~7k z{PN22Y7DXDyb@vlh&N$z6BGC~)x_R4gEItv1%b?126?hb8#>ohZs!u-1r(c)rfq+| zUXIO|VL42&`PhkI+Gp1al%7h}p4$79Y(TXu{LCr6KgsfeTNX<17p@E8*+{Nl01FFu z5B;ccK@0bOzYi`fx&?+CS%9|hO8{``1sPvkJra88?kr*3fav!De-x%7x?%8Z`5|66 zVR!Qx`mmF*1|Dvy9xB>MX~c0O8J~X@&?mTWMGN@Lu<%no>`~l#=oXC2!w~(9xm(#BC;sp0<|0S>y_O@3+^dbW`kE31vy}4R=h(({LKb!uTb=Q`yZC>&6R*U} zwb(eKSe#AliO8rTU<4%`#w8l^5)Cs-G@MkT;e-+mCzohAR-#d?Y{W@IrgYe8U2Zt2 zqQ?|PZ~Oz-FrjObz%_}l9=@mJ6GmvP1KOv(@3f6s?$aJjKjtjcG)P~K-Fs{7uA3n; z7$G8Spc?TUYD!XvL(cA^X{Jv-GL-pPApVCcx?)vU5IVn$Q?UW!=9 z&8stum0dilmgKeUhuPV)#qONUhtp;rN`@=Er%T``(J#7`P}ej_58wMmw?}%eIK};A zO`IQhZ1{d2I3XE2K~5yuDr{-46_T*%d#})D=TOWm*f5nxK!RdFCy#$&ZXRZ$7OC;G z-@T)H$6Y#D&^v}9y%}W`|MhD-u||nc9se?&VkR}ioApZfr}Rqat$L*|gs#i7t)C+7d%GI6-NjZO8;2?}O+ zVi7>Kh6Y@Pq|gJx3G5bLxF-45rDXrY9qj1_*}QNs;P*askKnht;BH7h2ZyGSyC8I|Ig{M^1E*xonIk@X;`He8A*POZ|6px24#(b(%cY0<(RcyV z9wI&*f`RuIznkTM~C|3UYw1@!Bw-`N|x2lkbzV_iabQ( zHu#4_ow9$r8FAiQY8~M`fST_|neQ-b;C4gnaX7w@F9fYAN@S{FGR%d!lj;{|!&d52tlbDiR=sDv6=KUt&zmTyLf z`t4XPH+$W?eZCK()^-g&!7%%sACip`CQNbMiNb$}cb^aAU29gUfvnUZQRy)6yQuWz zo-V7=12n?eLkWqb3t>1?`hD-^g*6Eo?!{@&&g#^a>Be%3QmVr;k-OCDk*F1Vo?#HR zIB_M^a+A(tU{5SZ#)CI~}SXdzuR^&~)aq z=|q2TE(lzY(V>30r>xs`x;<=mHe#x&eG(l?aAIvwrv`{3v+LBegt*G8uJs@8>8lq; zVlTjEI}%`(uU-_3qeJ}@mq3AHujc;88*+b#C04c@!Lv2 zEi;2@|AO3yWb*m49)W*$ zlnD3X=uoE}7J=Jnip!?!Tk0kp^Zo%J}Mz`yi*n`I+62nT2{$Q`%9&*4w z%8(T2gA&ez{=tHj)^=!zj>r%jTb{IVm*U-xa{Ge#F7833bI@U7H~u06yDU)2MK@Sa z1V{05yL#X*4Pe(fmd}npkm5OzCsNT+EM3s6ZjY8|`PKQc;Fczw3~kekhim=(05ubw5$0}13-}+L z#EThe+db*Sv5PCWo#CDgCv<-r(clmwIP7+>BoS^a3p!l(&S z$klmbdxFmT$ej_k#kcqC!u#LZZ|)PnpuaL&Jk&Rcb`?Z@)eV1$+-5%m-+U{sWsK><^2yH7E2)nY=j@qi|m?62cO%|A<_-c;l{=GL&7VAGr} zsBjST*&srW~_bD^L#aLvd6k=P5BGZTC-X_myp7%!ggL4BX+pImY z(GA2#NlWA=nIMy!r0LGY;#i(1tL{^IP<)anMt9xSQgeUKCMWJ{5q^)|-6bHIojv(Y zB_;drQ+ZhYR-E|_AD)EkB`yWWv$Ok(gl~tdU=T{twoI~;km^k`6HE1`l!Ya2-xhyR~X;b?OhD{dU!ZHrO(5pZ@m%OwkBW)q_!0ym(E zksL`72>83dPgP&kl4V1Z*>ldmPoCiJR&{rEb#-<1t!kV_Uo@TEz#0+4{@tH+MouBh zj3$5k`Ja@GPyMSuDPhZcn)x?>Qeo)#_D>q{la=#~(yz45V`F*_*MYNiO0(jweSdO- zmYPpan6ITVTR!@yP~YL*)oD7BQsyYSAoqAq<7>O=_!?FZI=6j1nDcI3s4MGRNxHn91;(=b+*r1)7-VzcA1X2}Ks__e1he z3=BeYiAjK4!9r$8A{Mej64RyBSw{1x6D6U+$g_zDoP#x+h8dFSlB$>0>nYv6`<-Px z9rx!9VX)@>E63dn$qo<*G@0(G~SAj~pHyyxTlFIXv1pIP$HY3i3J~ z-}zRb93H*j8J-*t-))U@8iO0TelcV9k zj(po;565hm9Bd!{!?!(>#rdZldP66^-6OvZ54PXD-#z+u%eVXRk}N*ILtO1aiP-*I z-!aI+@SpFt4~DzLy(8Z-$(wh3n@8LGdmB3^l`j_A-a8r|yxG_sRzKL}?eO5u{=x3X zUj36p-v0XjaC@^}mP>!OhKJjK-#gjd-#a`y*w}_dkL>LKeuAxWdSrLF#lwB_>-OJ& z<&gnz*~!M<#?Jf0?L*%+MAFu9mlX%-`>rX{xAzX;4mVk%B@&N@hey6^li?1-$(7uP z{pY$OihbpJjkjLb1?2T`zc(Oz?{@vZ!MM@yo8;Zz_L1MW$l=?K&7t47$?JoE9Ql2R zyxlzV`!3nt-g|fG_dT++@p`!9_j}}UxVz1>_sMngnQ2vie?UZVV36n0*%_S{zCoVT zWbA{_5nKmFD90>cLs6y?*Vnk<(un742U{BH``U2-jYfY4zT!5In1(;+7mt{xuXw*B zrsdChwmcHC0e(#2P?KMJ{N> zHhpb-OCz@BYeFJu#CCiQq=80kAj0dn;ZNZaeBTchQCIfzOM-Zpb=-_Yf=Pg z#5F_fxWDo@!aUEad!ayT#&(~nUYs4M+8XM{w@l0P+ zM!7~j+t)Y~I_jqbjd(8f6dT(b@jQsZ=+=nW0}6lO_|}Nm_cb}fHR268Rv7CU&{a6f zHPSPEjg51S^neZcNY_Zu;W3T$TwlWhu8|&Axw{L&9%m_y^bKFzd$+5RzR5XBBYn%) zU_5K2Z~GdKXpQt8UxP8Nkv{b0CImcR!*Q*VK6Dq1Y>o7x1!8P#q(AUAIl476Fnmo! zW@LYwrQ>U4{`>@7`;2T@%8YDc;a?{tBL~CcuNjh2j~MvZ`i{TgBWU4|1M4RE>4gNG z5xGl#EcOHWEcdBDcCYDYu=vMx8A>jqbx zQ_Sq+PtRsu!uqYp2-0KZ>9IEa;E(00Kem5e`Ek`BxBAmpe>|i72^af@6{~Xco{T9u zr{oJ|%l9D-&S~kgn4g`D`MF8UVHZxH2j_G&q@lR?_P(o}S+mQW&nuoQU7tIEU7B4v znQkhiCvuO%ir>_pj|FUr`K7HLy{awD%%$sT!+gO~Xc^t;Lxa=mM4O_LA%k+Cn9-vp9e6oIX*>=qee-5~(Y6jS8gK1S#~83S_SdQtBub z(0&Q}n_Px?R=h+s3X_ zj!Iq*;MF{W9Jda;m7X2Y^99g-A!o|fnS^A>ERayn;L)6`jwqrk^(zCm%$N zk5x5l6!v~uHP<)iY{2MtfUE7DshXM4gCe;06al38(M)j~qop*E z2jLvD&j9JvMmV{#$1&Mx?->QMJ#<(aAZmc6b$e0$GgjT}5W1UIN_z}uv;36rvC0v; ztKD}?js1jO-i)fDG|1v$`$Ec-5$myfNg8q5>+HPrEqoIS#2SbHBHd`Iry2$cdj%O= z6XFke$()v2nJC@RdDlkn>0tqMdW@GqMGwmC_4Hs#w2he89V={lxGAAC>Nw~bK%@nA zhO1R1;Oq3sMt9F>=p;aq1jiH9h>-3Vb)4OM;|_azM62;*vuorD4WqlMdTT8paSfSn zE2vt6$9H}fsyvl{IEiaYfbN@cLIb##_a-z6r)h;`)IHE7iO&0p6yM=jd`sw8{QC8I zB=j@86o8og0KR4Uf5P+X?tTJHSxL}?IPahm-ixrr*utEdtqd84SGJXJ2i+Xug^0pS zJptckn%IM0I711#-i#jXDh;bxv!OAk?v7u-Ph5FFZzc1ZgA`gO@^dy zNR83@y_MGtXBeOCB2#*o7CDWelmc+A6=uD}3X}Jn-5odDGpAo;TM%(Uuij7e#`w>G z$UUU$;5Wu4z9KZ|DBu&OZ6FzqJpvBaqaQgisUNL@eW8ulPj{~F-S<6N6(SNxWeEXJ zReOL{=8PZY0YlNJ`yOIVSgOX54a)$UVu?AKEnZxP&FC+(b|j}|pDJktG+q%R?*3Ka zwinWQ`tUSt6E)Fs*o48{N{0oJ{f{zqHR#O*Cx19is16Ixasam@^+e&7fi@fljR2b} zHY-=`f1fN1N0IiN+6X=%i!4auG?}%{<^3>0!)udOhtuvgu?KV&F|fD63l{o!r!uD; zPo9HkdJ#H_G_ijHq~}In-@WH-{r30cOEkoo9pT~WWUd^6F(Fmn9-M&^L_Rz?ug&@o zzz@`{6kLwHviSQ5v*JLVXi{LF{7);kof2d`p*X*!M=VHDT?Iy5ouYZ#)a4o#ycbJZ zf4i)eM#aKLszUW7n{=sTso(em$r-Qz2oJr_ey)~2l%1wGj+>dGRu0x2FW0B;`4*Ny z2j`?Lz->dI`M-aU68I5v-U!`sjAaJ}3s^*9_Y6})ReX=){$U<$*B&ZVY*pVM+TAwf zmNBdgatpB_CvS9a5bPRc%ME_L%(iEyPTnwRS@9?N_dFEzDM{r}b#-sA-DN2}H*5fH zyfyhzVs{o;IoadrmLL>gFTK8@y5nv#+ z>&{&Mj8MIRYCyYwIB%l;-ZsmLL$4kCBMQYivAQ@y26Dh&gpcf(X`&zg-afx_bNP20 zyRFJ^C5t6HzG0C#1SQKQTfU{^cRW)~sqWBH9J3d8N4XBcq)1LYc&;TY+jb)3hyx5} zl2~mS;c51%in|O%tWyMW&rmF1r7`Tu_KyDVl-xaSmqi1208W^{@4A>umj1) zwCzZdwwZ?$Y}dIOhONt=Hmye57B?5PObjsl3WX9Q=5 z*b(4w5I-`ex=8db3{bSXB)?LTC#RYh3h+%Z7tNobBH%oe9@{6GVWXL9#$f&xrpi%> z+C{4qn>`tUGqvSbq-dM`YnydbYX?JIY|W{8)km@C%a|YZ9Y%nhg^17daN%gpHSC%t zF0b+`supj{l&OLv;uk(X3kD2PJrDlsI{RlLf1{C|)Xuheys%-GoYb>eTp5wl9`Jv~ zZZrIl#~JEtaI`@_%1-d&?Te-+z&fO*HA&&hA6j%}lX_nY6v_#$+{H*ruyr!%MC=NM zW`}`ze@Iow(*>o?*1SMJZ=br9@2_zu5-D2o@f4i@OW*L#O}nfSfKm zzN-$I;Qwpu%mM2SDUd85bwlF1nOQX3_;GcGE!7hEeQCoiU^v{&H%Ui7a|V70sVWcE zbeEgY*4kL}PgCuTH{l*6wKNzDjF4R0PSQCQV^45!yU*RSp+`Q^O2Ed=W4dc$4v{{b zgGNlapU&)-x0o}WgEkN|>t{97z=l_$AHIcl@iCeXy$1SI^&+wZWBbJrneJ(?X;p-Y z1T_DA+n2*$1H={-8Yvt^q9DGPP`kV%05u!dvzoccw#cYwo0++b z64S!8n10dR)!Rkm4Vp^s6^1r`6F*&eTWAX~;`;+XEcj7{mYvoczmC=CcknxUz7NT0 zqR%?Oo{?w0#!L_fVa$dJ`0`=>TxO@z)p!n@b4lPka1T#bMf+3eMiF(17@c{}XsGsq0DJsUqOid*Lf4`~R z^Fy@n+Hh;i(cz@AYcBq<``s;LzaPfAj|)GMxy(zOmp8?I zi5_%_%o2jFxAILG>q(Qlr9&zyX-H5bRdy>+<-uAEv0D<3WV{H5m)VL+_lbb~ekLG% zMu8I3&j2_PrFGS1Z~3jS%#5RS6BTF84~arX-eymZBw~>(z3iy?2G$cMeHm_a-l*}l zI-``rtbl5cYdr61uiaklqi@htLIyr4Q6WT;BvV)IXs9lHMR?~h>@Go-nUObEK4eY{ zFV2>WKawW*W#zRRCs*#qQpSx#eygVOlNw}KJpeIhNl=ehXuUc)C)esGJ;a$ROm~(l zi8OR@G(g1*)#P72_1gfW*&KsXwTsJ(D_LBm-CcJ0?3^b!emjC@E4Y*CE0oONnz}c5X~@(yL)HN`ZfIuI*5#EOq1K;j@0}F zzW4Q9lKQU}8h_QWtz`yt;>-c`2$P5CgVmeh)!Qv_F zN?g&^88c2rxK9d)3Y>Q7M5jGdq0o@<;d5lh7RcnE0MWM-ZIsfASQm3)5}w_q zWS)99yivq_}o6bqY3LMTHtd^*=>^%dPM(ZBp=7=b`dW#{3P(M2Qs2f41 z>RQ7@$UrsJ=_2doso%FcqsfN(>xj5Ba7h1j9OGWyL{IOIiU~-0oCQY`;Vob_Y33@? zr2O}~jruK{?4^&6F=VAy(8l=DAF$V-jM4GQm_KJz^kPPzPu$(1*pV2r{K|3?%AYae z;9Y>6%u)l)^O^`%n9|b%-8`txy9qxER#IIdv^(s=Cd^&>bXbb1r3);ExRFwxqKV}A zvceX@AJ!@~{eee=a&kN?ggC(13oKOiNxqxC-ychbnxzXoegzE=#$=DDZ2m;<0qIG_ih-A$eegr( zOp$2QS{=rDzrO3iTo=%lPf?V#PWF$DvS*aGS0N^_YEjS&?f3nxl0;&p3A?;tOy=&x zYf7d_#DvASRjNakW_>Ty31g6mV7Qu+V=_>S>5>Kz4D`eE-gk~tiqESYqu)&Ejh;^p zY7g-~dzKvJ|RNfO(j*5;M?0 z`5E0fZA`(HdZ=npW?^7YW5z$2$aIDFJ%w%W!{AsnezFtAlQLgQ>nsQ;e5U>_i^D!U zzgC7_LVW&Fc&iJ51sh>XzM;1-`+k2CQneGShp3Q_h547MPV?lefoZTZ5|?J1yye>$ zL5LNj?2b%1PfxI2k;koI9~^4EWI&)ma4lGn6RxPiv?Tr2tL!u~u{&3Mmh9WdPQN7l zQXWO3VvVcsOi0Kd)|)@ns=e&CetLSsLr{hl_HN0xm^D=ZOP(qYl)E-~O`>j%I8{d& z`*z-JJAx+&!Q4?UNg18F!lS&0zJ&Pehk4DwP&v**#0 z+O?BWeYx2FAZjcFeIg6{a%kr6oj-4FA{J#yp+YDQT@E6G*y zZhn-TB;hCSH^)EZ?ctwiG`d1;5+zoWJUQu36uGQ-eRpsQw8iCM*v_Q|6aJ zr%v(&Xq2p;J5;{TcwBOXr_K+LPMziXMy=$2Q&=oJ)4lh!q3%s zX$?aDu8Q@wd)9<8JB(#nFem^r;6t#38z^@wproEXjF_Y4SuGO~F}{61+9y1BA~boo z=YQF?9URtLn${nHm?gC--sS|h2@e^K-96ry?QgDfIF7uSyvYQab<7#wDfP0Ow?{~9ik zOgvwT%R=GesfFRD4`s%Dw7DwvGiawK4t42gs9y~WxqCjAmO`$SPJ&9V=g)Zmfy*Bn z;(XB)=C@{*qg~^nkRZt}UvaCn&L|54eX{f;Ev_)yY>Hz{a%a)O>jtUz(Wf1yP%%l? zmeJjIr3Z9c%vX)C5<~m=RZ6Vt0PW$yL;{+|nW+6&AF!ey6$>f-9El0MG&^tYuz~B! zvLjb8O=*6MD6}vx%B5i)5r+p_K~q~ zABZB)Rgh(h%SFi zw~}8qO!I#AK%t>J?enZyHoFcI5>9+D3~z~G*8)z!3Gh`Vcq<*{386H|!`_;TFZk*y z2kk@otB2AUD7bDy*5XWOGa$FD!eke7_R^|h3lB^%o+nU7M{?DjE8-To{p&eQy=RhA ztxoMNR;prg(PRS|lHfvfKztnqiSkEL(f;GF)G?$F&Dbt$9E}Ex$ONrnOM#U*~`hrc3M(x_6}K%4UyL=QP)~L;{CQ3 z0VlWZ&4T^vt}!BW&+>v32jgfn6x+={XEZP)z(hF?^IO&p*0}4TstgA6XLiGU;z??9 z952r;3-bh=K}-2mbBs}e3K5r-ifcBXfuVblRUEVB^s90^bG}E@Y9tyV z(Ap{hjeJ~}S}*sMyi0iM$hkS_7X=1-p%q#tu|tZ6a(t?L@Y{f1U(>=;w{p^yW!`+( zkHTlR!L{Y^uW|?eST`doa+jRX_Qsqo+)|sGvL^UaPe(2)eMa9>Bj)Jz-Th*s9?RM|qa!_b3&@F&U0~)rj=1-K4LM>w(khkjh zUTWiwEo+gZ%3HJMXVxm2<_$~rA;{GQyE>e*0hQWJkTU#XW$9Dk&T=DP{>W&t+eFGJ z%7*KsXfRYmP!~%5?ckBC;94tg$L{UvjsN0cdD#jbY`5J$ulBJO|h$Klv5EptM1;HAxaa343IipJ`}z zRXCZxKl8B$sbW&0zF;rs&#;428j;MQe-s)m5>tlE57>S*blwZ!sxv2B0Ho=kNJ1;B z30^qG`Y6_oNlXKhPAE>?EHwsFgRGA%U{S4(0>l>fk}Ox8P6IkI%Kfs+E!1Sm^;vO{tFVu_$fCG+>u`4oCM%*Wc$&aOQpB3b1V+;ic;N=*MPihC! zOMs%-g1sm;4s9Il&+aQ7poN)C^-SCl6vgkjeUD9IVNhP!iMF1vAKcc9YWLgTuD0%9 zn^%33Gq?K&4FAWSa@o9PWLNSIO_ag;vlsKMaFQRm9UB2O4jf;nyqVS#WNAZJvC%0( z9ZS%)_T**0BF@AD6Y_HD{Tn}qYvo`*>m6GpknIJ`(;xW|{%vCedb6W%O1I$I&r!(g zisE}A@q^zJVzoYNqLf`7I6Dj`b9HRYi= z(ooYZPXkY&=NHG0D;jgybH*H6Rgc##oxU<@csKu&(Zyo`+TZ;!6`0Ci-ZFTnWy;-W% z->al1p88%@0=jg^3$9*XnoVza$dH`+o#x!weh{DWC`&6H*%g_#jfUkcNbPo}x5x4$ z$& zfVpSSe!avoT%>6CrmSl}kTQo}%$)X2rlQ15EaCh@AzQz;P_Gmma#C1ppbounfSLV; z+Bna8TnoldfoXw(nXE44ygK2;EHpys7bD5wXRaFwR93Y?rFP-w$iw=e?1Na*4Ew7f zUMl9NIfHEuwW|dk=Wb^Fr3Noa(UtqTR8KaYOvRwpsoOxgr&Yef=>M@Iw-D&Dtl7PW zs;fStgmmt6&x%svqF6#uIJ-{O77~B&G)f-V1Ivqr`Z8{=A3s_|Qd4l6aUs@3wY9LA zjqQF6>^=XyKJmPxB*&~bkCY$nCqLWq1a%pknPg!i*MCNmPM*XSIJ$Y>Th-ye6xg|W z#wVvt@GK0#u*%=1Md)Boo~-}2F$^tSuc52^DkXk-6oO%hm65=Z-KnO-uf4WkH?GUi zb996K2JSOzW*66m$C1yW39qr{$dXbkGC6Jl3?uS!_}gmUt-%jSOgq+bZDpm?CwtgH z0h1g(o40?j9zAK__-tVx$HI9zR(l-ldcO|0ZwKFob=Pn9^Cs0162P>{5`g2FJi@~s z)5>!+X0i;Oh{X@)5qH+Pz+1j5AMu++h5Q8gj5Al zrvJNhS5=bNSs(Ve1&1p$=+8HhCFD-g+SZt=DQ4P+ZpHGE6KrvSp?1&U6|zw{%Tm97 z^teRZ%AY>{!$Pp}(R+1ic>}C-rug_=l7W{m9m_<_m5#|@Dd@FTfIcUk=LjQxqqv_YtgNzL*CE%w&kU18EyXV0{Yq&9Ao!wToA zfjPyV9$}Gs7DGl~;^*_#43&T1GA>xsQVL1OpywyrEUa;MgavYcywr|QHBVxr5XBt{ zciXNDowag{orSiecZ;<)(9&+f^PiDRsJ_iAc%daMe}T|A^yTz%JxJ5^bODIV^wom$ zoh%|^ez78yo>`G%5!oshbX)$G&^}!_Tr)M4p45`^56C&vCr=Pwn`+ywSrVy%EoLwp z@ML(YVt?p>NRg|(atE+eGE8omxlf*}KpzWA{hghgfJ>Pc2IsH(`;G(jUIi>qe~Ov{ zA>}fW4PCnG!n zlv|ALwrX*DmxTD|mwBW|`RC(6iH|e6BnbCCiaZv^7K?j_!Si%kGGpf*PH8ORt78K` zJb+7phuD4oN5pC8v@4}d-kUj{CPBYKlnpim>LD(SJO-#M@rK!E5E21%+q-{Qc<5Hp zp-|;r{+I`2dyD!UGJm~(|&b7q}8lp#m_|?81%#&SY2m=yp5T6g==bGFXyFWV@ zaO|XYUiQ)-ET>Om;c%Kyr@Sq8$%Z?_4$>Auw`~|9PIZ~VrR>dh8HTG#0SG!xOvOW6 z^E`Y4X23*yVD+I*n+0|gLbiaE=-^tZohd^rI`m%S`j!tKo(nDFkabfxC|C2H-j2`O z#WT(~%Y$p&pABMXzEy>@eq8TS6p**)e38rt71|QU2U*%f#s?m_qD+qM;{i;LZTO%q zUEA#6j1Ek+V_U~s9tMbSi})y`Qsu1~V%VzTD*@j-6aEHlk}XBt!ZI=5aL82kbEO{U z%@v&iX8Dx>uIU56M6PL!yhOM03npN>Y)sWz`wIj;u%Q)?NjB051Xfw8`Y{(T7sAhX zLHesD=i#^-PaW)0Io4Icvme;BQDCR+p1T=#t=p*&3OEk&3GAhMT$rYg@H#Ull#YeF z0ChV1Hvcds)ea6kd<%Zbbz;JCMZ%9gyN^bz{p#O$@h}`mY4fdv_eB}g4H1Xgr57oN zIDK9b)+~z^(ytAbz@B4K=}ZqIBazaO_+diKEa~uFN>ieSJVwUB^ZZC(eEegvqWVSs zzH#Fa7+=w!{Yf-y%)dZ?{VPcT{A01F6PVChQv1+?Q^I)9WYm{+={TBi{+c5sIW`*r5g8A@^qaOz~5$owg$(uK6>6gG*OKX4HWy=!5Bs#;``AlxhsxlyR zkmWrcJ?M>hK!(q=Xoy~8>hAy9M|gMD(O2BI8t&Cl}v59Ka9Y3ld9^iQY!3<+H1#{HI!c9mtmQuNHsN4$4XIO4~2TXqyiLA!)UG z8!>3mp7fC|ypG);`~aIWw?Is@5BQE2F?)yckl__;*q9(!bQe7yK74%mJ1s-8{Vp$7 zYHm{mzpAhB<+(a%mL}w{&l^U*q~m95xB72afgP4}KN9!5kMrub>kD(>a{c0TySv;- zbnVFoZCng(yc2}-)`D{wcFeY->tz78qXp8r0&H%G`mjgT#G1hRlifIs0N5OfZ4a5Y zM3?)8K2$hLi*;emr`K-%G^Q-^70!v4Gu>vEV_3=3!v~qSO#~aKL|@WYGN{tZQAOwI zVFoV~<^5yG5tXg(xYEI-Q`-))zb^fY>q0md{1ks<^*irQ7P7+8*$i(qLkag(`s;5q z;FJDWu&5Et$N)idVu)~Z62P^#s>RT3WotNU@IIhD5M|rhqM0MkV2d&5JN^=jLtwkN zgH4(l#$GhL^U7`ec}^NBQ(PV?pwhb=dB$jE%!(WtL9rRyGcZB=HRx9gt-np6fX84r z#4%}ynWcK|plDy`)Yu5HNTB}>wg=S1L|tFn^nBR%eug@yz^xJk>=pr5Tho`nrw_Ux zkUMttR!9^FYfXpa2yD|EG<+eba)pJTUbXID44SW__hox#02#V!EdpB`ryK2tLLgp| zI>*i>@|{6wz*AWKqBHQHKem2OK%(2+HGv2u$751-G`R%GZ`(6#`jYlfjeRQ-`<4hD zC7zMy%-(IklR!J5u9snr1*Wtu=>}K(yXfxq>cHf${p|}Q_}>T>uVH|O6sKHVQjLHSXxeugAo zyCO9`kCLkW72v3dSt>JOk1(5;f?_sfibMIiK#80fl|}ah0M*zUrB>)^r%5%U(U<<2 zwUIYj|LSb^3za_ikC1E$>o}}x0!HH`OA@kuaAvqC?l7;TW-Km`Yu8PrsMcthXBpm{ z=dYHBT8E}S-$@RPlX=(%;U6L@UGCv7^Sr|=iE~R4pqs#K0qM;5$vc|~`7N}GrmV&|tPjV2;TVY#;jc~CBR|P)9g8{ihf9pDOnn0%S!vwT zv5k%s}#zI&FP=i!L8^p7E^^~Hzv70lJgQfg6;3+yrdr!^9aN4`#uS!D9&E0$ei>7cV1 zPVb*O0+e2z@=$hVo2+jMDUHz&_U|xjbL|wSgf@ri;GZZqx>2Dfy@d{=*OQ_9J&B&9 zfIsfD8q&p%wpVkAErO?2ut4Bzvbx>=4b+87R!`xub~8>3OcP1;mhj$p29c~T(IJFp zh-a7!euA#VL9gcVCny^R{$P)=>}~HI_2!snNOk0e6B zBR19<4WfO5M~HAG>0y2tVSX{OBl6eN%!a$bG8RwoUWIMvIEJqW}4)H*(Expw{b**ypYo76fgym@w9Kj^PucQE=rf`MY!MJ9$T zzikiLe^a-zz5Z?OPf+EUJ()TH{DVkyY)WdO{8f^k!Nk!Gl7Vha89pMav~Z7-$l zJE#KN7=GR|Qm^zo{23R?P11LQ<3~wA5DE&rE1i?Mdbo@DYpTo3d=x8`4d2Di5klxW z4kc@Fx%g2KXU!XUsmV#hWE8Ns!Rj^p$CMlb9%~?|=orS7Lss3P*x~_@a;~F;Y_IBq zN5g9R*`*XylVE5`y*sA_RccLbh}+wgFl;`{Y&zep8Lo}>>0>{5Cp$_JGp3bZXS~Wm zj~UNLj=c*Z@WAw(Amq_uagXe-P%#RnMnx+U=3Gm#GtOrjHWh+3TGQa4FiaX2rk!yfLR+ z`4uLdSpykPJl>h#yx}n>6z7aFZ{qf)f4_>p!;eA=-Ks$bbNy@eMCWkJ#t$wyLa+9Tf z8-~kBv%k*KgK!V$B7Q($z31$`!mZEmYMG5z8%_a%I$lnF*w9>=xTL=U*5nb9-gz4X zmXBjs0%Et%14){noz|)EgmcWkEGHK7wnc#pARn08!v`3)Hg^0i-5VSnOYfUj)xBs! zRgdckfN2_AG<-+P{b!lXIa46!Tg4lXxXq=2A; zo)c&;9lw>ywIOXn{VQzC>&VFfK?&i@KD4+ZC!R8-(gI&pEjvy^nTMlK{n3v~LX8n< zZ5STmX`JTyN-Wm~SNTwIRgcQCl`7{)gPb!-jeW6zehw14)h2k6N<}V{RElRIh6ubJ zAf>}3MfQ|@v^wD)g&`qi_c_ThSz1Q?m|#(HAZTPQ4CBx}BMM_P)Sx>q-<@3i-fF{n zRDn~i`Y&ZcwP;2MirQ>uEgfZs?+@hq?v8F*Zo37<(7^`?LwO(C;cCh*Cu5@?ywH5m zv8a$~K^cw4ZF8cc-?v}G#qE6G6fb|kh4{xS`z4vt1OA3&AKo|N?~YscUtd$Z0YnEm zlQ2Sby<6iHNrpFSsH4@c`JpCD?c;q$WWup3F9g{ho&F>+$Gv>a|BdMs4Pf9wb$H^G|lx8T=w&GSOrEArW{c14UIP zB_+$I*3ivD>;5LA+dWO$_eqUc4Q{j-J1yiSF{7eR}vAFJiB0>~5{_qvv zKFRSUEuL)8xheRK9A5z-?+3}*QTM68urd20#8xR@R9CzZo`V9sI%s3F@4dZ?!hgDg zcQkYCdEmdE38{s2;)P>$h~nh5_gi8ZUDg5ipixGV`5zG&O*D-1pN zo8boCl%4An;Y8mIy7+jn#10^AZXbZ?OO}|Nojq+qR_LVlRalk9IRx#XnVf zJ7;mP@j42yb>{uXq8U?UBj+)*EfwoeJ68DOP@ z0+GRR4N@o)LSHDc6O*((PoJo*_pRH<+yV49j1Hm*Gm!~BwX~z-Zuj;9fl#}&!Vh@? zg2PEN$tfE;-bf{^G#yM?J`4Ks&^`%sOlb)LKhdbnOZorDB+7*+CbE+Neiq z-T{Bx^>AJdf^y|HVEq0v?mWXi(2?egNU`U@EzwEDB%GPFw<~#R94S4t(|Us%_Cr3k z8J$Df6%yg?7apkI_RC)PfO-3J<;TI}k)lJVYA}!YOa$)xZ3!Ih$KA&$a4+W*vCuNF z!1gN2ng`bw@o9N!jBGvv{+KG*J86kUlS45Rsdt{@{;%5~xSKjT7xu4N*DX`3%~84P z`K2m`nhKy+^Wx9yrHiV3xvQ*HsilvRZ9Mf1BfaLPXuXtFAAYDK`RWz}4V|dfSn#ma zF8Z8us5rbVFpPeYD!G=R_TVC(v;}Y?XyJd#e+s4=e+UM^8L6NGez605hnBhJVDoe) zLuvEZrc@$xOKUJ{{s<8 zb(AHhVvS88PX5eU{)GRl*V~rd)k`E;Sf3 zbhb@5t{9lP*N<~xWwknCa5Ny|~W zP%B%|u{MlU;gfSuy3ma=&enesM2K$n{}{wATGA)8QoB zT5_@$-j{dQk?X=g8w;V6xZKMOnRQV;B+RPTt#A{+-whE)_SBRQzcF7m!wrY&a?4A; zH^64*{=G;wHP;zDzG1SU-nXPEJ|YihP>THr@a?V8oZs;DxV6jMwE9`3LN3*)9^XCO zJM~cI0MO$2lEv!_uXn9Z7~~bKscQ{8dlc^wkl=CFne@vRaMR{qEd`dW6RFU|D{(2l zMFNGI-uU~~L{^OE3bf|v%WU&)0$#>m3c8$j4Y;N#Dtd}78D_Jom9_8iR?*-KX>t@> z2E`N+OtcR=+W0e6<8md4sEo$F>t76UqGAFXkjGheR1)4=O+vZ;KMWDm^Wg|TCbGOs zb#$t5wI+FRcoZ(rLWW~#Kf{TSPr7PnZ-=@WR%$p6sOgGbfjL(RY%`BGDVI{vr94Mr zdn$6lV9muohRw^FrTX^|%XWFLQLaO2jl4HdNz-X??m5mub#@ekIjK}7EPOgT6R4`s zf6wh6t1-=jsyDgJ_vcN96ihmaEV5)w zb8wcPpXpU0Ts;yB4hYgYEpa~`vpCgI2LoVa^^tP|WZOHKVNer7y{QRcc6szO&n_>1 zQWunpydbz2YM2~B+^OqZ)`n9ANCJwPhzAtkG;* z!BuU#OpQ!LtoZX{)~c7PDa)0=5brh{Rd@e|YYRIJT2<#I#89AEmD#Eg^VMX}D~hJt zi&z=cOtV>&%gPH&H%@9r$4)%C58&{enAr%Yo#vrV9kqDtquDFF_6Zuz8G#Q!`&KA1 z0=6GbXB68dys}j4OV~kvbe`8xr3D(zvq~CY3bB$(FmGKUWt9^01S208rzdL!0igx! zKMc{wywG#*Pn^%3xr#mrobJ42(5tOVgPtq2=@O1irs~*zMIt`AV9N|6Mxs%urp+0w z_0!%N_o%rNo{oIiJIR?4fc2Z>4zoqJ-WfbR|EXQJ%xeq^q{ukNrSIrF7`?jM%A|p2 zMQLtTN9kEtv^!XzKy$9@M#ZT;2whQAT#+@b_LTxPU1=8NRICH@@3X$DspYN5f{^&% z+{%Bt%_zcstJ+{`4pH69>JFhs(rQ6dtC%Ju`DusBv%BDAbkS$N{A&=QPS?XwGun&$@?0>!Z>P%y4SOnasEo9$L( z>++o_)YYzT-W-V?Y)K)^{Az>tWX^xg3%IoYA~8kJb`WNrX(d=|rzN{a*G7fN$PAVp zq6+iXi%@7{h(?CmG$gEE|gB6@13Xe0~QU)e{Vu;kQ#MNz`LZ`?m1Jy;(O9+HYs z7x#$X`-$?%fm%md@iaBv6iJ^H`SVq%H(hBh7B3^>%6hrh6dGsw6--^QxkJGV<{VIH ztpymwOX{*3)SuFj3col);vl%7Mt$%sHvYg&38vBMg6&DM6iEBL%AUmFX?IDW(+JY%f9#Yh;Tms=?D-c)O z^I7}yr2!LxjF^T`myBNs3VC2R()Xu2ZsZW3A4Y#N%HQcdT{phn?j%1yl>X$EwT+fH zk@@kxq#$n|gM6Y=hX!U%FfWZse zW(2JSOKTMyUZ~sM+ZF;8e>I1!>U<(T?Rv2F9=T$u4eCA1YCIkW9jS6l$ZOLa0~7NXM9lR? zNuM`QPtA^N3(-8Cc*(u&XFlZ?RU7=}J)ghc4beaG1n>w2%6C4KuLwW+@j5*@z1`lb zU+g?10DXeazN>2*dHsECb;79C!Pd&?D0Pt>i3+)YRwpNA>dbGWjFwgn4}Whez|?}o zn{sb*QE>536K&_Ia&#j*0G0f~`6|Z5s->%WW_O)PuuvNP=tT3170Zfwsl(H9HO-0| zt=x!b8CW{(5AW1EJW?t9sWOrqouJm2QBFGf6o=0aq1D^V=e@!8rGeq)J?>~*1Cc*P zoXZIYrl|0^Ltq2gbB2vgd*b0s1>!PS8!}h#nB3Nte!FTyTEQor&HakQ6;t^=~Q{hO~G;OXX?`F0*c;iBtk7c6;MiMQ`V7AZG; zs0eH&CyDuzeaNFWfF_)jlKRb*aZ{tg2mH)qYp-*-eOsiU`gVd&*;P-7#UG+fVZ&ZFI~i=Xu}!{N``>y7L?*m$5TuP`nCg8w_16K-HZpNTpk#qK#|oQ08|Z z9=+pw(2N_0PuQyfMK)I0N;hfc%&jc-*6$#f?Q2V%?KXQ9_uHYrj&H%TxM4rhuC^4N zL@l^fVB~pblJ`C>^X!D zUtj|&-g&FK$)+Ch?VdfQ5Pb7rw5y_1GMhLUy;Wj>#sVkI9ObPTRk!4o(QLvNtE+FM z>?VtuF&xx!`gvw1afA|{@j=9y5Dg2<8E!y2@`EfGP`;{9P_N8p)_VQ*hNKExA$_95y2z{A3s{?pAH zNTP6y)fLGV7Tf*{w$Zx0ZryahrTXffHl2=OD!?2$NbipwKjsAyR9*KB@gBIZ|#83VIAFWHOR zI%#+GXWaBFQ!0tY>AcSucbS=c8`eXPUqyFD46xqgoXCjy zuda4eJA!)uu~}F`;m&lWTbGLPQ0%`0QKATXnyDbqPxjX&C1yfC29CDr{5JJBM`4W# z713(mse1AQXL2Xh){)0<8B;%WG$m12{Cqduy#DoCQdb9fDrCKkkzs`FkL^Qp?MYLF=)@^fV=x(gnSNI`AxC z^3(QHBHiOQng0P{K%T#L6lureC1Ik#>dnB5dozdLB=>-OPH=c-MDYOOC(2+;77Vsh z_&3xeKN8$n@$r47*g}CABC?qj?9v8oIibf$jIjo+uUDL7G`C0Aqq8Zib^QnrFD+y3 z8lDy7JrGO?s6Kmy(U&ukltE0A(dBIj=zomw2E}QznO-L_*Bnb@QyJzw~m4P>& zvcOo&erYIF%%S44Q`YI|OTb1M_Ye{U6>(m%{omMHwFI!19RvX|w|Fq}ebo*3w!WpZ z)m5?FN@k_?ZXu-`=NCyIHpRr_CN8cKv0J2v%v7t+41-g!1)d3gI^O7br>gMZ-( zm>#0x@NznVyN5Z-*Z6VL%<;*z&l@|A-27~+g`Z^dqd}hopqkN;- zp;2D!C!nU)F7`AjBK)%9eBR&V;*$B`e7ul6y`pUzyrMV<>9Y%3@WGNV%`M0V8D2w4 zkJmLrJs0HeQdlOM0eDkgEG*4aSyn*St?G(mY3ADML!#NHkE6-8AejdwyML@~)a`Z` z=lq1A;f&%!<*>S#X*Y_f<`qxy%$SYi{D(_1XKnFSWZbj`fG*FE8|V_l5pk_U9U?K}nFUcSmNpo{gll3tua;D9NW0=v*3!5yS!z zOM-9?h|k+!;$)nDS?_Kh9_lO%!ESy%ou*llw>4ZlY9!Gg9@*#V9 z1l{^3tOujnjC(C(>W1iuIJjpnK&ax(?3;9&8Hp5UY?M&`T(-*KxRJx==D1M}{!8ZX z2w#_^egq~BzC|y?`Mauc!4|nn6Q;7E6E+~BAYc-d+d6C>S$`|CJ5<}_;J>qW#%jl& zS&M_Xlrk&y^K~@I*Wg`T0B_DKAET=&ep%6k7>oiOVmP3n|FK@U%$pSqtAs@Q>Ze*Wytc1{2airufImq!xyh zf{Cn)D_y=I7qN`J%Y~&HrzUJZWa9fM34?5u;LcL%H}4y$Un4qM!Xirf-_9rH;(d+` zb-a-lCA=hvlC+pAC6FY|X?iZ%apk%YUgz;$WPfq4hFI9!_wOzrNcZ zbAqaLj)J%wCkf4dJ=)zNxk}?mU&|G&`O>U`;wqF*a@PM9aKW7Xo9LnFX+6X*qwwyD z^qJIBg$=c`d)5_Pp4IfPR;3fNaK`M$Fl`Or+jirey}PBlPP^x6HjK_L+gb4HzTBd2 zXZnoWG=JgG1}HB0+0y|{C^y?68MLK>{zqm5J`aM!E*26q!hH@74}IFLAVTtjPV0$> z1)Y+c7_BKO-+p5$Gd8QhlR=n3Xt#6)HdF7A*4=Kg)|C6n+>u!MtL(->EQ`Jn*w_YN zV3l&&TBuTV^X@EPhg?Rvs7;?YDz#m}BmN{UN`C`VMcTTIZYbljy!9n6F3TO!cuZRK zh9<4}9QR@4yd~FHty6lQW)y*8M-4vmm0P#Ozq| z3z|0WRmeGEb#zIEK&k9razlm-OTxXcj(^q~r6ZcCqC(z8!YEb{rGHD)Kd-NywO*IdLi-N!`36G$duS5_$Q zlRp8pnZBhoe-eddX-}asFZf<`HqU^M?n3XC<(_(FGki89hwXPJ(ZspM)@w~C?@XQS|4DO3SnFqFy&wIiLdL zdrPV!%=o#Etx}Kqt@T)>Wj(Q;Q9OPgXsc0{rC%;-G}giv@YP)J)H6S&3DtwY`64Ty zoADAb+^~E2C|+vjvnU7B3; zI;O%(Wh*+()5&#FpUq^3w^2eTOLHyJCQj4a)f_b!zhz8sTm9*6%k-wV7=a`6wn6Y; z*V3y319TpqwQWytTkiB0Miyjh8!hJGJ2X8MS7)?|2`~JZZ&dfi0D<6XoOzkS^Xg`+9NHatyfmEZd4RmTay}^M(~SHvKi4}|M`F!r+tm8 zt6Gh?x2PT~^6iUxeG;fVl|!$<)b$N6*;-DzaP3Vit#vMSBH(T{l6G&)_#MO<&C5g> zPmm73Wq&Fg4v@}5X!6i;d`&nOuyw|<7v^K;7=No%c{#w_zOmO4r=F3_G%ycry}qx>#8YgJ_e??ZMG zs(&0~aL5*4Buos*Q5Xl&mnbe;cbk0IhJc9DNggCJ=j~;2HSx#sjiyUhyqi#sXk4(L z$HgiL5?xxwrOLH(7yu?B^y$e6>SVsZh*1LFd z^g0>G$;IX*1~YwVPaK9?QtMo_yq5uRJAW5!u2)Ay1q9Q;p9mZAD1o^irRnmHRv|FK zOURp-@npP~;*+kT$l}xMf|eMFYCF~oM!el9yNHwWolJ`D!Hc_VNhtvov?kr#&V-@% z(pt?$NH*lI27T9=@JbO}1a)1W3uM^!?Bx2^Pf1>+(_4Q+FyYR>o&_0DGkrA?jeouj z(zP_0kV$YkYsNC|NHd4&>O`+%suEP__}Y5X*nn$Y_ZNIwEjy79XSmhDhUh<{0*z{J zUCm9j`0ODt@Zp1CY1SFsN5k_1<}Lafc8(6{1-;eDC?a_ne7%NE{WK}S`XQ75DZ0H2 z400VD;@d^qy(8Kk)X2m=?cPL__&VsKsoW*7Ao6a6ZI;D zq20Sqg}X|Glufm(csz#PS9v5#vxTL#vrbYi@}<>WD%X}+sT8*CmK9kW1*^-jo*^-# zH*MCt?fpY>u zT-;BOFA@~|^^cEsMk6X>5Gi<+mHjv(XuwA8zQstaE}{$M`$1%8T#XoAl5q&G)w*y% z2FJ>}e*c8=1N!O8N~9`pli>12q)XMToaXRelfI_tTePNcUAOhJeM*@E1WH(CUo{CQ zM3t(6Kw>rq)P>Qj(=K!4alK4(N#RTt6+o^EzI3Xv3ic5wFws1fk;e6rCdd&bJ}%HFXjLMIWAkcE}+KPtnr=hLtRStF;nAN zH&27{!^7?eCWmojM9g4U!FkC5@Ih1bPtE~zO}T1p$`$fmd&(!&bAJ(C`(Duxm$^GZ z`@DN{k)_wu{Ndpo9tndjaH$;dnGbX~ouuq8+qswqTPdFfnWjRrNqrrt-%DE|Svw{X z$w^8k@@ORPXhiEo9a!%Cf9$<$ciXnI0Q&v>3WYn{hm1g$;8UW@=qk3-q}#DwTWOQ{ zXgQKa#f&9U6)9Jat$+L5?;5-aQk1NuY1ck?pQg(K@y1{!8k!c-Na1=q5Z8^nkn%<@1fjzTfd-l~fE__@MMLlBp?{9il)#Pen>DaQG}34s zU1hKd=k|%QI2wW-FI?n_K^o>+RplRSZ`v1|U~T`&)R@Fz4M9z<_V)S)h+TKBl#?Ax zK`gG`&!x7YT&^O&M*NbG;^k31BF6)-NNLb{oNm+z@DWT~5v>JG4v7Frw(k<_K}pyb zFl6UmU<(~hqJLmPe}C=IW4LjW2G^@_j_wCcSw^fogCQE^dNCR`T7}nWR@~nkLqSVBw?T>La=}mVngg*0>A%=$4{( z$O+0VL+(&u`7PV94A8AHUxqgP+>sxER7e3P4^<`kJetqr<6DML2kHcr8V6xa@BC3v zw_4;9QFKkrXcutpe#x0FpWM;K!9Pd**)k1@bbrc?hK1Au*q1rm0&GUgVm?;?A?b59 zGPhhQ7v7>G$m6R-@XbyU@Q}nWMRbg->;Al*sip>P|36CW<_!$iSk@VUb;|^ZgQBLx zA9=!>7Ie1c(^jzTCu`^{-{8-6L?j&yrnl#ikQ^*@)j2wg)q)|frWL;t=^*rqV~fBN zu76~r6op(@TYX%iIo%+31rosoFNv-o2j)`NV$fYb&mMMo{aq2{{JqQA6=4Ek=WtpW z>&yS6^8ZKW|BuT5DJn0~bwRv6bP(PfhH;CQ0gx+wiS7a*RJHmNl{C#=LFzj+bO1|R zqOlba+eV;SCoUi58{KujaVhhSZkcZsQhz&-lEekE`Lxh!>x-r*VIrqoD@LXDSv%m zh9BS5p5EUY%N2s3yZUlPtRMQdr}qaCw_MezMTSW-F!Dn3T$7TFSUx-0Tu?8U{P173 z+QyfR$D|bWk%Zw!pGr#Cp5E(f4p(iZ zeI%XPT8=}3mCuWl(wkUycXw9Z{(lx$-QLQo+mEp7>h!A8+gSC9UzeG>b$r{Thv0ufYzhUQflQU;JuCuT!baH^80o>xzui(Izp4FW(hMfcAYzqrN z;k~#K!9UBwe_uq4Xe;x+DKqb1SdlLq*fw~Q!ezWvgAr;=0CNn4)f(TXsu4ue-+cx@-%@IdiTx zlCkVEOzXCV+M#9bFU7!y(SIlfxUkPje|`g!l{D>fUD2US(NG7gZJqlf=6UAP=$(Qv zmcHLB$Tb=~g4X#PolkiAT#kOl4zw(hJ(k)<{Dn@ zsOB414V#8jJE}E|h7@TUjoJr=OcASy8cm9-u9gbwh>ts9w|tBWYJY1buJrNg{X$rG zSFk9s*!?KCRzOJ#4V@h0(!%5vrwa0#D71;qb_jdD)Z4&T_xaYSU*?RAEnaJ_b;alG z;^v>Tjf&4vAyo_3%TLzI+zN5>tV#tZ{8cdQKFh6k)OkyCpv4cDDCV?U=C0aASYc$9 z)!TJ-+HwPIX?%5wRe!a{-p)u&;cc&14cjxWREZ?6VO44fDYCO=%A8-E=$lm z2>XCH*bFQeb_|xaKiNh)mNMx$kVr?jWdFvR;IZ6pjdyS3Hh&k`?^5r|Ja<{|%KZ31 z`m_q4MRICY?gw{}w>#_dwk&K<*2U$HEG|#V;QoLe!c4M=B4B zqR!3-F$223$O3Q!+tm2763b}|fCd~zP-fcMfc6HwE zpH}DH{ztCJ+mfznt2*yihKZ!kyUxk?t=v$RI&YAx^OjrHdCMww-Wq?Mww4k%UrOA( z%$RrO!%#v#<1f_125}Iw`hKucR|My_&c-GMHg>xTM>(5X{6{j4N{!W^V%N2#8mrADxqj5<7bxP%JbW= zV@samVs`AxGfwjE*q8o%l74kpw)CW!n{>u1bf#j1S-hMeZ8qgW&p|6IGmOFR45Pb| zVGOmFI#|>BTy+0A$r;9=$S`JwR4rI5ew%M92aj*~I=d0v9a+f$9Z-C(W0&Kvz}w9` zn}5Mp1_!Kv{DW1;CgE^Eu?COO{6PiHAHXG${`{_-yc5lTkr#gZ9clh|QX!RhC)XQy zCxYDnXCC=ilKa~VazCKtezSE}VTglVj3{&waP<-KqykYX_&1F~Xw`(Ksb#nUMh8+v zzpi3^sXepJpuhj3*ueAN^qEP0&VdyVPjC zl*PF?1vVJu0P$#_I!M0bZ6^Sf!$z+*J<1Rcvmt|SzvLwq~mSveAplDH=xqqbQ z>X*b^eY0T#=V)AC+EQ;Hu`amXYF!Yl6`$?O{%+AFu)n(PK3nQ)z8P$H82e^^ zxQPq3DP=&f2n(vZ4o{EG;khh+#XD`a*ju71JjT;Eh66)-g$V9>E#Piq&zSUQsyaps zEqs1K-{V6IP#;(MDyLHvFxb;u^?z?aN1_vnCR`8Z{+$cCPb+c@7G2ExQ$<#O98}Et zMamhAyi8YF%=&vprD9uH%=&9(`?=v^G55=g+|)RtnD1#J-%6fqMMJ+;NE!L-Bt?c5 zk0UikguT&M6aiZ`wnk8l*rl_2NjF+o`Q1Gx=si4`+7Fhvo0hwvAlFO@W`D+9l3?AX zx6|I2I-9@!BlmNK6nedsxsy;d^m(J@hd^Pbz)i}s(RdY3%d*j8T{gN#lYR^ykHGL_ zj7Ef7p;^eUx<*4Z;VxeGM}&w`X98$MuG}&CZ6whq<{(L_$N#j^NDwySdO(+oGYU87 zad$%AcsfvLXr!TKsD9=0Jbyr4Se^%TYP&s6BQ#o_$h(R}BbRteRP6d<`OoW(L~tRe zwpv3?%Mp?fSVQl&5*|KdgJelDEa;;G#sw)VZY_dDL=eM4ltu~E%d;Oz`*D}DJ!g&WW0sn zmwi%Krv>L%aNuWZ4-b~fu3fY1{wbPp;v#$zDsb;v9fA4BB<#a0hO7*D`vA|wg;CdG zcdV8v5Rh^i9QA%Z-F2MRz2ojqz7DYP7D)KSWCvqsu}bULT7Q%c#s@G?6luZXgp8Qp zcxPBd+$>AavD}O2aV`dE3GNlx@f!EBP%5cu zwD5Vi-hrpz3V*FLolLFkE|ld+LR|G@WCg$sc9F%h1G7}CGG z`9!K??&JQoCRk|qIcq3c>!o*-fnOaS}rBMg4J!fntU>)yup@XxedcK@z}6j&oE8Luzy_FFiqF6T-z|shGDtbFtK4d zO~Zuzj&GRQH7v(7Ozat!V;LrH8kU0%(=sf(X_%I6Shi=FmSb49ZJ3sCST-a#49jX7 zri~5Dat+hA49l_&({>EYGECbuEbJSm-7qZd7|<7t4b#DfWi|}cu?@>~4byQA%Y=B( zz)gs67=O6w7^Z9BCN@kL8@S;crfVCxVH>9F7`S1Wu4iE1HB8qxz*5n4n+En8hUppD zvklY32KEfovkeU6_Z$Pmk7t;^W0)`q-)6sI%Ht^uf=}z zALwkO^y?BZ+Ih1{zX8hR+he~D z`?c6F$$yLevCcnqo~rZgIxnyD3U%Is&YRSEA9UU+o%d4b-PZXybT%%Xk5lIZ*Eu9~ z4u2Y*!%FAC(-|;z4qTl>Tj$`{`F!Ynf^^k*FpQIA}fgTaO@u4FGl{|v%5P$*%-5{P~AORu4Ndh=PQ`2{J zj=@$jM9`ZDJg9^%3K8-}$P*z)=YPw|79mT7un6g5rHYU*LY^*Gwg}lGWQh=^H2}Y6 zMaV0JDB0lwn+Grt=z?~MkS{`>2<7=m6&6DZ7SaXz6d_-PJYCRT5wb-Hi;ylTxGspg zh;v1pEkc$EVO{VH9!KVoaTXDBM92~$TJ~1Q{#bm845EyvM${}C6YYyGiGN;-j*GE~ z;qd_r5D2IUKnd6ha0&=>n2T8u6C>tIOrMxhG0A+|C2nQ2Ux)pA(l23a&2qry9FHNU zz*T|10;2_z3%utmL97k2T*L|zi%P6BvGl}h6bqCuS+R)4x)w`atbRcd1dR}6gA)=# zS_HKb1W3>%L8dt2;*?C#Hh)3x1O*gCQP4?FIR!1{)K$=1L4pNU7KB>RZb8lkh37P1 zZ~?&>1g{Y6gEJJtVg%O_j7ab%&aJ*o^d^LBmT5T6=B)u66e8b&yk#=^5>N=3F7Rmb z?Xhp4{nD)nDP~bYk9=C}mx-$&T##S7VD>Nr0tzE)TF@m-dA+374@pvJ6SUWn9l+Nu9%%4@ z&jT*ozF~*Q@P7>*oiv+>!}+g81!WrW)&fo;fEnAD0=K#Y3l+AkzR&m>XK;LzVm4eJ z<1;46nPJmrBX7DyvZbU#H!x+NgksQu%Vc1(`vsAfY>u@wU4>YJ?gIz*TKxoHQ=E0stF@z8}SfSWssDgn=lL()p z3Wm)opb8C;?Et15AMD!{XK27-TTQ?j8i0CWUST~DT1kGJ6lwB615>2I4U2BUXn<@` zLGxkrfPZzZ8#Z7Il?_NgX^3R8bY9BRc}18Brj$&uc15V6vp#t`@1>{nj=MS^3!!oj z-w4qWW1Rzm3DB5`NEA}O&VlFY44kgc0Zf(@iL-P*4Va1TR8k_7MJO|!KTqdV>WYx9 z^NGhgLk0Hh@I57V_?{9InS^2#-(6z5%^-Nk1AjK(BT=G9Lypc-*b*VSqrpT_A_2aG z!BnOuYr_&DwpqYpqk%EsEMQt030Zv8N+o`>PCXHF`9_vX^e}e5A#3_NBLFTB*nBI; zce^GPBP~KvbU|cvPGxw&C)u1^LYclyOx-m+*8#z6qvVB|>{^q$+|5!K7rLyn(B-ZPT}>u*aetZ1;xd=bWiIz|nF|6w+u-glb-7&X@;6Ie z4JLKDjQ$YBDM(#-P3*#4?6ST^?6Nosu-3#b%)~CMEOv3Ji>XY>PA3<)gaC$l%vZ}@ zHkZ2`E_Ycaxy#-`?!vMFRwZ}YO(AzVOzv{l&CQaR$0aXsP4cqWBrp3h$*aL7ug1T*(ZAkq%Z4H>C0|1>C5v9(tj5dzN`(x7ydqKFD`u9CE?303120(*Iz1p;Xk4D z`bOEStn~UjWv^F&kPUkxsNd27O#w^8^KS}*%A626=r)Lzz~5Wbwv!he_jmkVEI zt=GEfCA41NX3>kB)Vm^}^N>>vRmovqg$k@f4$FnFzflUaw@P8opO?a{9W`LicaXwx zg&2mvuNc;-5W^Z&40E{@M&+?hVwkm631)8)!(98zq+$4u-T=HAgISEvZDt&9GQ$jJ z9Jb}K9EaP>V2U^voIw+78GoCd%~J~?YWhNja*H2a5GjDzy|6{i(lAxok3vD`M0{rmf-g08`KV%z%unS3=T!PUO4>57=y5>al5{Vv^3}rUs)v&UeD)ebhJR)OpP!2O4x4m- zT;g#?LHk4nRL)Fwu0-Sk&bBOO+(%L{qoqtCsq?d8ovSXXoWx?djRm%NK>D?)u*Cu% zOQE8>&X2Nr0P9@ks!O`p@~>kQPr>;%z~kJysDs_G3vf!R*iDDuT*N4C0+=S&#f41( z{p;p?0Ej^+W=}t%jkflfyHb$!1n<@)4^i45pX1f zY|O|JCr_MS8Bp6_fAlSO0`~4l-|Jg}^`q|w-wHI!N8ej^0)O`7XWxyDTG-8J-~Ucp z*z(!;x(=3a1KiEq0Gn?EoHZTnSDby@Jb-uE2Iw0?PBFygI2PyWoM1M1DlP4_%NGT~HXE(;Qt;AzctAVR%f; zulcNVilz%9rwh6#?460Jw6KbHgr&64t*1S1P)%s;7k_f0GM=WtRKF^ zHKD6yGFxPlw{Pyz#BxLw_qD*{zVTL&RkLofeQlYyI=0~ngD(@@s9}7qWA9dPUSsdJ z`DLPG6Kn=+-q>(FPsi7`;aU!S_%(d3JBH)>UnamktVRv0amJSJT?1uw#yU1^yXIWu zhT*vIWq&n&-MIz=XpgO$_hq8HIySF$?A+@9HFj=&8N3G!77V<lZlg8*YhKFeqXo;;W-7`GPubDcwYOZ1XHUzMh zl5mZL>Hj*9(Ro;>VQhVwxJJWi)UahZZu5$XEq@L2YlHA%V#D?=9UD#4H*62#pI@GM20Rh6A?EbPr=0HrazWuwfHD zr!zL14Yvl82l#@wn@$a+pTb%@fSF^M@blMTLWTEyz=ZyMp8NqG+)F<5eWO`&nqTw= z|9^HG!{fWkB8}$fv;I|dGJTttUB)xN`nkieqF?$qmtjsT_H+7U%E8Cq=^-77LW6utZN(2_jfm){t0a~Ek8V16YmzT%AmfW`LF;|B6; zM@@w7+7WhG7~Tyi0^lX-H3LKT9l*eSntx3flYx}XAyI?_b}IqlZ2*L0J_d*iZ*zGY z;J-)efr7jo80W0p$E@3E{vBX(HBZvCfDlF8cdLiFdAcP~Iz>o21jVY*fx4SeritV= zA@}xWlK+%#&HzkQ+vr3L&$2S!A**&&^N?SAQ}aj|BfpGw2LKp`bkhnz%Z^CqtA8-s z-w1i;4Y1(#O7aP~&a|*?{&S7H@km~2bU06D=fxU^O9d%87lgOtrOz}Q9!9q@_1l32 zo{q*zGSrh<{|X%9fYUY8Q;LaK;5&sp!!ZZX1#s7UsXRR7A1p^pOje-$<0bhI9_Gj; zEvd_>U%bN2y=dGo0~6f^CIX}g=zkS|M6b~EFM|Qz!`eSMIVPFwq?9 zokPXsu6^*tMD!Xy%MH$UK1CT^+CLe5hAZapcIcn-kIvystKCr$#kyjzuqnE(5U!x` z9zu%f5o`K5$s%@DJ-ZI&mc`@tnaZBFM+SRJ7uymX%-WpGDa8fg2XKT)wiXvEhA@tq@l zv#^JgB>ydwJcjvd0nf9DIB*EREYul1Dcv{H**MPBrx`fvj$X{8{>@qRDOzg#;PQb! zM{MqQe>`ALYWBPJdj1%3_kY8F8$ipA-GQ~-VbgMO(d~iju;QGGoXI4f_NSQ+dm7@11}RtI3ZtJ3 z(gg9r-%@2J6swmo>8o=!BC}3=mQVY9!?f3C5_GAHFz}`X$`tZCr-RGuY%&gp@ohdG!#JId30ug(EmWS66IhebQWh;JEQytTBW|lzzlz3V zrGy{=RR%~x@LA$5IC;P7k41*^Dnqc2W(9zvSiPkSZw^!NGEubsqK~E8bn`4wKOesh z)IRz&S2ge$Q!z0E$$vZk=7|9;)MsU1xE$;BS^iF8an@$lPp`~`%aAQoxZ6w(s%PpO z=K^}6Qo!9EaKO>2nUtqyK&NI3Q}eHW7A@t~5v#;gnea+eOKS17mTDLBwB}U_$#|%=vLITmG*v_WchM$ZLtL)$p>yOKhW(8MG?lO;*+4ugA7rQ>Yx`4m zh_1IVm_jE6%PTRM(Heu9tudGhJkoa?#*Z_VL1^v|e!S&OWsozKWjJ^?(nrtK+X7QL z_)aic=O?3Tet$Bl<|i}oAHI>Fq%tpAvKhF&81yuBAoa1pb^bgrnW_gczgu`o^$gcW z5>N%nnuMdrNmdEu1*$YI)1$>-$x9}GH!q2SV8v)u04SQO6S~H7ULtW3@}_1^tx}*? zeXU=nR;jkP7gOM+sDF{l)M~ngTE&7;#hZv!MM9BCrGMXJ*Po2zVKU)9xG1M(V-uyR(yiXusR(5?C$gku4 z>uGoou7C7ED-k>$AP57E4-O|Jd<4EJgZVf@!cB4T>NEX%kt~DXSojp4CktMDj!?nb zZ}9%JD9QZE2A^3J`1uRo@wy7G{DOEKp^}0;`1x}oF4q|c(L0_}RGRO2L~rNg;LJ3nPgK^S1=Dxsx*DfRR#_d5-?1*Lg=Ex9Ls#RdKQBU9 zf>n6Yqfi|r%P9XM;1FMYG$MlZC%ovbkbgp|2Q~0;2&AIuDm<^*m@U$4H6xC~NlsdX z(wd4wY$gk(xc~J2a7f5XMKL;!g;LDZXn#0-Lx)jSPRv)KC@Vlq!>X?;O6R6f4zhx% z(ND9r0p|YG^I=}BU%E;g^*3dk!ih%-x6|g8)#vyW1h3a{gIe&=Y zs|=%Jl>|~3Ylxm##^6Q)0hEHE4g|<}2<>1UfiS5g04$8BaaMui1wtf{SE5Eah7*!x z5M)+08V3|H{8oxcYLLicXrl2rQcvNvJi@MHSeuL4u%AW0_Q%1xr+n=`yNG%rcaPj6 zU-N+cOw~Dp08}OF5cQD& z5t?c!k#a!9KIz{U-q%*Y!ztQe4=6apu= z(R|$Bxf;4|TI(qn8-FwFxMw7+l_wb1vD`2fGtb!*2T6s9Tfp3kK}nwar6&U(9xi&Q z^mam6`Yz_-%lR%iBqa3L9FbH_putKj*UF{fDpo;~A|@ag2B~N$?cYXHBNd`t0a7YF zf*#9Gxd;mmTG zl)kAT^S@%sn(PT(Dz&d@=+hPm$XG8`M0b{J)vU{#f;bImlIS7d`%6MMvzifN2U@(_ z^bnDDf0!Aik*KmvlRvK(7DOHKkVXYQ?{gkW-nyI0FV0Nm7iXr$XYL*ze&&y9P5Emf zupv?QH$3FU6@P%@!J;YM?GzIDD@Eb~%YOKJYH;118iQby(noSqxu>bz)0Fj;^%$kb z@GewvG*M8>Uz*|6K9&1UUph(Ur%Qg0$X+c!k!8u`DHACXzFE?5Vgh&~jX^1YLWL!@ z;pmHXi9JcfQrNVm;)NAB*1{aVxZ`=#^7aou`W=xvUB^>8f_RUmF<4RmdbcYW3?V$ay*58LorKFka% z7C!Qv6nWq2FymWZrmj%Mdn;@c{`t4ZUT>=<;k5Lm85)NPd&7}RnhWurCGf;@{t)r6 zaT*WC5r5f)4#TmrtdGSDx}$JmEb9yYz0b{IhChZQGzo{}h>G~7*Im&d#Gc`zWq7Wt zZFHlB&sk5;!ggyA=mRdT-L&+x;EWQU17gQ}G8&~3NYn@6x!Mk&-><*hDH-~7@SqM^A}%Ig29s7^F35AyOsgH5K2S%c_72oxsS$`lc}D)C;z7Am zMSnvbGdu@1sd}H2v0S{B2pK11#Y95Laxzv-q;V?^DN-ab!B3TKmMEvxV1aBFS}W2_ zXo|os!Xv+)%;3rr1)+um+kEQR`M}>6pICRKd%ozo)&wO=GILKw`c3`=X7~kMTdvl3W(5{5G$Hf$EHwsC6o+7{a`3P)$YetVnls` zevXVelx|Ny5s_M5)Qe)shJqSe)I*!MIFuwiAcjBZ&jau0G=8p=v6L&*u~}cBX@9*k zv2L67g|>>uX;j;>YZ6zPqp^-nG(}^v>8$|fLS}=Db%w?h3+xJb1(p9~mX#$^9N}7H z&`FIW_TIZtJ@4Q4=e6sNQX^$s+~AC1DBlq$e8((ar-Y~4?`H52rP#p0mOmJx66*>^ zfYY;Z3wACzb|Uez;gUSNcNdQ9*nbpn4JNwu<{aw>e|ApDZtQ)#Me%L9pQ8%WHYvzx zW$HF5iD_#DE`RJUPo=`zq%4sYUljbAK4N#;9}eT`C;2_Rs<#0%G(j8ZW4X$^66YkwZJ$pPqj$u=H~X{V6z~j z7>6g_Zs+jfVN=TG!P&|A`Ihw4lh?=HE$Jtxo#U$H7q1UrpHcCteRR3G8|NoSuMaP~ zC#R3*d2!P1p1j$Xt^4}mUyoHq@;qJ@X|a8FcJdpkkV%I-mSENIP=AQ@=Bt{KN>nz} zQU{N|2rDp(KcUO$5ExouMbm;U>84aX-)~REQRSd&%N>!2feT5%mlVYJGKHipQ3#8o zPi`(lMFDyQN^LN(ctZ?^+JiJ1FS2NFPhEzS0~G{oQA^RX$0{cX+a5G1KIY7$)h%ec z3l3|0dxL^`lO9b05`T;NSXJuFy7CXD-mfyZ)V4KFr+dfs@l{1z%pfti7Gv zFPqkEZF~y|*4On{bzw&kRFj3Try%QnV|U;F)C6rLLEl8MzOs)yPvUOi+e#U~qHA9< zxf@CAHxc5m?BlLvU^6S;72kzFfDO$QIrqj!s~9|}@^>6`p??=&-R~{<|Cqo+(szZG zj^YLV=l=mzS99=Z&f zlutyUc9^1@Fxfw7sp*eNs~x8G&NC}e+hMAA>gr`ncLP&H?Rpru)|G*4UD%-De0ccQ z(rf@N-8V=_t!JG;g+S-ur@J@x@Un&7z$|RMZq~<9*tOL= zbaKu@u3b6_$(|X#4AUROWdEdf7RvgUIu5$6v+!jrSHI{uDCMB(g(x{YD(@tv9-V20 zU8FRWJjIeyic)gPn13^~DmVrK3YBfV*O#{o7Foj8MStNwo|5*bsh&pjc%&3E(93-a zwr0!RAyM@m^WtVDE%^YUx4z)6HdSorW|hOWixcue3`}kUwuPYym&CxBPh0>S){;?e znqR|<$VtplL$h!Mn!o+U-rnL#INRG((}#z`i4YuzEi^PPDhcZgW5N!qW_x?HC*gt? zRcFRBOn>TQG&AnPm=v3doFk^<%Jm|nwF6WhfZXi(R?g1Noqra}LlJ@!w55;-NIs&- zW~xoO?Q7A3hNw-{$e8vg5eNn2dN>lQRy1N`8f`f`mXw$yV~JuYRA+Ta4JD#tQr{q1 z!eI;ia`j)G!%L^p0Bk^$ze_kt;{!qqI$y;@J96ZvjAF^X{3Wf}U_8mPjSvU7(r)tp88Le# zU%6EwVA{L#xjjdtIYXmNLsMe^33i}UZtEaQq$sxm&n;?GlrWvOedOQpXxG z9NmARp8k^6lg!qtsbhYsbP=O|kB*HEi<<^X?gYj;U8+2hoNLUweF|zhQ0?vQiMiU_ z%Pt_Q$3c^ZEP|2lB&5eS`=SUO^1#Ukxhbc9ym)#ql2*NsDAkFXhJ5ysz(E)#?{I|rqu+@L5?f1iJeSwn57)FD|C-vjg`^BoJ*W`YF z)K;+?RdR(sSbIlf;0&J^^qvT<_+>KxZ4Rc1Iqa|KL9omeL|USfi~rZg^2b=VI5w6o zwP>G`%$EAFXrLlYR+8CW{aUyqsaM*_Py?7`wyY1eK;6Oir9S-nx^?0mBmslIt0;fI zjpl6v9xyzXAu?Vcb(U0&8TwTov}Bd@NWY+TZuPT1YF<+To;#1aP&*y>7)Tcg2!&B| z?tSsEuF*c|o}8h7b&Z3Q##L46Z+AX6MAtvA6+fxadvkU-A3ae7Dw(uAFhDi1nDXSlaPP?pQEr( zD15RXgPV!8KOGK|C0x%*!kbK0{sAXCLTDUATp?pCF{TLs1*`y#t7Mu*)9f(0S^%0G zgJgIYDDW39RfW5k42CQ~O*P_7)pDW?oBmvkEmk@<(r64Oo*ysbVW>R4k5)?WqZZth zW6*Hj>TV>W82ClXOr(ez5ov!Dk@fS9F)#$PPpr+n+);%e;xW|7qTz z5L<8+Ea^zXbw6!qM^Qh`PNosDvqatMl;7g)niuXcF@G_R)FB#xC`+-N?GI_{HA(HD z3EXiv)-QFd*C>*b>QGRWr?-|8^~KOFun?( zp8`HC~b$-}GndEwO=BPthwae10(`)ZekeEOd)Z zG$3|-w4yeH`0`x@UbBBt2WCV-Pn-&rpjy0;UzM0&@GqqnHOb|~@?lO@dg(-^oTYrA zQI%d<1m4An? zbPv6%hu9+hDtcH@uhD1p3ifyYM;f zExBp+?$LIji?0|?lOh@_Xh%rgHF|{ z07~O!H`Lzo9n-eqlU6E*|CC;IdR5))uO0g4_D@cC9przXnq_Ea_eoA>+21qA?W4bC z^w3P_=)6&wnK9}1G_)|n}B`VK4ZY%ka+TI=j{7U2lTFVV^4jgckScD zziEn~wcV#^)}Q}P>)~zpT_r4<{&(xuy2ZEmCJR z1y_cpb9{eQ3rONHPAgNl@Wr#&-PZ?j!2j1TSJBqVDPiJ&4@!tucgKsXc}(W|??H|i zXPx%H{to!lhIR)7spv0&!7v*27vn6*=6ClW0Q1vNRHpo}?JVzuQLy(9&!iY;@lUs{ z6?QJ9csvY2Ohq4vFdkBw9DOjdBs?{;gbCE|*hYT}?$cbO586KHQ%}(c^bY+_c3v|L zy=3>V*#ae<4?Z9`O+SYLybs=?N%|=`U6tU#w&m&vZFSWLN&KC5pF~CkiXl}YKea!u z<8f4jnTV&KYTPImz0+2!iz+h~FrG#m&8ksFk*YYbQ>l!n_9f*cZmC%rUtOeR-@2u- z4LN^G)}dRP-qysLRnC@NMcbOn1|O|%qp8kry?cBp)doOcW016Sm#gz{=^-&$t47YM zB+2-$x=>Y8g`L{g9JH!lu6AX+;k`ZeEIg~9Xz2HPeI=BF%!LM1%YmopTw$mTi%L82 z49$q?izZRj+`^f2L^k~8jrmKB>Bz_yT5x}RN(oPmoS2{~A~X_3iw`Q`| z&{LtIIt`yQ(q8oM2(4-wnvNq@nCL}{oy@5harLF$pK=9X)#bKR<4#g*oEl36F{j3| ze#%bncyX?_dKDJ!5%y2{S;wid)L)@f&Jj+HJN?x&!*WR!oB{EiyzaX7>=jGA3k8)icAVg~4JeROX)ss)^uV&4d@pxCRF_px1;2Ypa7w1!6(T$j0#{OavGg8sdHx z4p$6L%tes4f5^wj{f2=elgF7FI^+XhPru{oF#1w5M2Xb3!VqOr?a}M-kaKNT>;CH> zzZk-fU~f--9ZKJ{)N%NlUUVN)6*7Mv{QGruRFA`BeO+JyEgk)C4?oi?U$BlWc}JG} zFK9=I5yRe|`XbCfIh@~wFDg3nZhyJAcU?9iBPLr*$&^ejx2XMK=@qp}7H7KUYUpjO zUZZ351|+dX8oep?>DO@Ca?HR)Z^NOH5@QFUf^6AlVD4YD3UA{G@Jr#dywrc!+O8`# zU8$>UpsxQ)Z;id7H_DFdzt-PsGAUw?JCt1D;P=?q?+P#Y5pnK->V73H{TP;hq{ZMx z3G~o0=(6|r_y^Ht@}m7v$^&Nru`!bzjL(4*pB}XjI&V71UE`?pvU~D!Z|_Opn9ZYG zf;JBiTZ^2%{^=DjGX=-zP)2`)bDem)i1xXKfKanhM{^Es|!uK5G~Rky%@bfV@(s3tJutb0xsZ*lp2Q8 zs9Vzu0CP{WIbbp19&D%u#c~3|q#Q(-OOm*XvQTGBeY_MH;%)EK50-xhAbWg%ck1H~ zxYe3oNFy&+CMWDtBPdS5^eQj5x2Jwh{V;kYO&}@015h>L^Iuxv{UzHz5bARpQKB0t za8q`=I#(BP%1djk%E(T6XYa~ZU_gx{VSqdjUpLjFBrt`S3dl1aH)+1?x8U{^41}vu zn??xsupj*h#%)p97bAa;sN0XT==ViDkA}p0je7iEqhr@O9fLtk3#T7_AYz$uLk>tK zOCmz8`rw}jx&;=p#xP2+=JAZ!eiukWA!!R)pdb^++06fqR92!9#X29Q6UFSTp?&T` zhz_E~dlszUZbr$5nb1(mWjR)hWRkgV$Q$I=y;B)=MJ?J&hJAlLtwj|;r%oVB#5-Z> zsYKsN&LlUJh%WlQdeLxLPlX*v%8iWkjtx;UH<=sK>Pi^6ZmUyIw$;8U*S=zwqWi)r zAs4^fsnA zddL@>q%Z1owC{hDqvayL(>Ro@V|c3NrbSz@l~s^x`>_lyjyZ8|ULo86E;gYkwM?1_ z=LN-~BtJ^8C8^hXqWxg)^X&C-xLSb`xik;`;<-QA!poSPBm3%Hy#{J3hS|=iI%S0P z(-t>qT&jvnZaw)oSW^*io(Ke&C4v<|r$xB4AxJU?LLz^nBqEaSE@&i0DJNT#au5}c zG|9&#ixD$^PpM0?mC%gkS(NS9gkMVLOM;A>c#{zRFuBi5Q+W9hommMNp1Vj9>Vn(s zw>EcCle(X~Q;mf?h>asz@SR$}&I^_Zi1vd8fP7p`*{P#zJ^1q-*ZE@O73h@%$PzGO zCWzZox0-*$Zp5#OVNLlxl8q>bwt{84asJTbXjn0M92jKKVn&E(y8a+l`?<4ST}^X1 zYg%d6rMiDiTXL~tz8|bWs%9-wL&@Hrx~Mj4&Ox=-A}7rligL^<=Wi$UAl=Xw39&}RcR!_ zcCt7oev5~Wt!gZAQ}N-UIw1y)W>OC)?;;I-Q{jv#Mqw)n*;qJb)y`XHpnDohRuY?B z1FC;;+c#XhV8a2sLGc~T(RP)1Fh!fy;6c14kyp@18}#Bqx+#ShP0(g7c`)9R$SYWE zL*V?Oz5*%}H8t@{d`2HJB8G3>yBXX=yxsVAb`=WFt5I;exmO!{@**C_b2``kvD}}* zmbFAog{RC^7zF)``KE)ddDSsMMGDpXS5V*Mm)bFR`!R8@nIR=4?JYp32lK9uUSr=9xxc;;Oy-_k>RdR2*>RY~%} zR%M~8q^g6hZ8_Esw%9t=*j>RD73azQt?=D%Y+C{rvll5!SX7ok#5jz94CwIX5p4#%xDNcN|>buDY)2@`QEmhax4dR-64E!_@m!h{$Td32x>!+Ctjz>yZvj2-B< zM!YrNy#vkA9DE`24Wf|hQa#b0gA?0xbr3!uxAZ|U;MXI5?T;7Wu`uJBP=HA5I$Q** zxC0pN?L8UNk&V=<*B5lGY3MtUv~Pc)MSl?~`AZk;Hxrh>a_#?Fn!3IWA08;i*z3sg zZ7cn6ox1N14p_4~1&1aaNMA6~r-vr_dR^$(upmqN5kh_**(l|^#L1d&Npfnye1PVD zEVt}-^UAqjTSi^WY7yGumKoe`P;Q~EeJblr7EEJuy@SSt`bVX3E<6{Ky99p;`13gO z>wPl~aW5f3)$4vUa&Mk&`rb&!3W|o7k6#_D#qg40pWjp<@~xz;Ul47*cF%4oEH>Xz zkPPUzS{`pT%KnpPw2vE7K4RzBXBK4fFj#<18d!^oeLtC}fSRruZ`$uJ&)Y9Mm#>ez zou4{qC`&}r>*Hb)#X)nmi^+fV7E|3FOg9(OGECv9k=PN&7b)D*4pS6gELez*G~Ma0 z!WN_JEynL#?0_G$2i%;uvr_rW|pU_0Sh&N*tV^;N)6MemD!6ZOpQalWvn5+Ggs{=B36K#LB%Uu{T=u#cz z*{1OMNDNAPrD?&g@s^6P$C-u*YdmZs%(}5!R2=oU)PxysetH+F3q;-@SmgJW!UXlj zQNS>KexHUzcn<@lJjsm$1&Hva0FPhDu1erjq}CHotodo2oRKOcbD@*etV0Ewrb`Y2 z$b76cEl|hdK<+xXiVc6qXv|vN+Z$8m-QHfG;l^_l!t%g~+vTAs6NVuxRQ5E)V2@_v z8!R~1U@|h6y7csevDAeZ9tOZQFwF|DMa*)iJERC4e(VG>c(a)qo2)~O+`nGyEFblz zo-t57+6#VAP&HGlO0OVr4=+Eg2ZQGtu&^4b2kdfU4aKsq46=WS2ll$}qEHx(W%)DD zY4DI2Q~i)?^oc9g&iX1@zjF`6Exnp)q8O@{9Y14 zRx9awO|~Je9lU>w!jr-0=n8gSQS>EJ+1D@{#nb3?p3I_ocBkH7Ue4x8mRw#2L>^%l zQo$cE^z*yPAQ>B3a-M<5q;CHcy1#|pT%f#3hKq5etTcLXciIf)myjSTlT}r5hTcaA z9?{OUdyr5*N8#t_;Q_>#EQ~X@^7i|guJ3=2F5>K>pY?xw;rmE9-UkpX2|RrkUSNb9 zJv1kQW)DpvV3|D>L%_j3kclv|ydFwPjMYO4iE(;pOag8XEg)c9J#f%k^qK^44;_<$)k7~x z!0w?pB;fSWudE^hnz!)b`#p5ZW3h#>jVue@MiF}NF3;8zk9ppDr z1NYFYVoBUUmRTN_*3AagQNEO`Q_p3_D^T+H-V3iJHLTQ6Eslg-zTLu`T^Iy&b zY@ze+S%7VH{!1so4g#x(bk@I$j{B1+z%GC4k7w8YOJF(NCS@&e`h&5Uv8tMDu7&_{+KIkcH7v`$gv{u&lgUDcPp=NihzZM6h9y zqFmIUPLr%$HFPt+x{+dh${nPb2D(bqgHjVs^4N18VKb;5Mk6T_BXL*|*cR$vU0r|D z*DY;3|G1=7+jdA4F@6ecH~--2o)k4%jI$Ul=6Rx@gXZ-xnr87Rj^=^gfN6Ux?jPID z60Fj|G4m`Zr-6gfar;f@{Iq@02^@=Nmuhrubl!b`)VVzGoVL%}-IKGx;owdK$3^Yq zbBGTXjwJrbDg{x)|lnxR$_;z_k(F z+rNAX@eblo#RaZQ;sci<{9)&1;QAaD(=2csjQO9;vcPSk_R;C9cHo)l;N;DlcHl`9 zc9{(V&yv0eS>V~y_k0|9j`TgA2c9eX2&Y1U=aD;7H0-1HPd}Y?ejjyz6$3 z&&fvT%{-!g_S1RLFwv{C&dZ>I>0Ad5 z3mu%F(>ZI{6oNs+p#gAjl1zUA-5V}Ce)}e9cu%6!pciNV>IRJ_ zIz8wHO%q)u6Tm)7E1DRAl@j}~IN=&bBqj}-Hc3BDy8TZn%jKYM`zMNDO&7v|S4|Ho zVW3P(TIQcAyBt zp&;9lJ}D_sknPe)LMeX~WP8%5$m7eAC2FD|yGeQ{2#10kEXAChD#)<{MNkR_IWUYO zVNj6c1xlG7D9G^(v7O^X1vw1{J_WgEps-3^94M3&D98oKx5>YkfjS@94LJ8!ly+#A(k&h*@2QTU}c47^JKW7ZwOxo7bd!}5$^H74*BaL zr-v?F5_XYA{@OisfieA|DfthJgp9aJBbzi*d|B&1CQW}cOJ9HT$6Bk?vdM5P8@Vvf z21#>hnq%@WdsC!EVPZM_%PD+$g-Ab-bZlCSO{;Dqlm1xwk3|9PP(V5qf)@R<%3tJ% zPJo4Jd*X)-jCR+iowsRDw?QYdLDMWc)m1+(?Waq7o&OMg@E-s1nu#DiQ z{TY)xRg$f6_F$O-tH&UMLb!~Kt8vtyF8HkvQUq00q~l^$HZFk0$ma1xB_&hv&v!+= z<yx64}|uIr&LUo z>s9xc_0}roW`xbpv5;b5Ayb1Q7dt=Yo!W#}ZZnX+JhOl}sx;0DQdj7lhYJ;1g)c#_ z?&Bd2IO4`bwh(fa1aDC6|A7+XfWD4bjI~(os?ZB(y(Rl=TH<}%p(*#Pnkv`1X;6Qx zU&W@p^`@M!X^MAlm$n3TWt13Rk(Y3?wBo$RrtHOR%@UUfl%nS}h1FBBMtoc<3eI`2 z`kBg*znIx##O#poF;%7eLMi64*YmvSmhw33dCrbXdEE6pM`xux`OLwwUXEYz#b-|_ zx2opD_e(V}wAsCaMpYLu?*gl?P(^>Kg66g!JYK$GN+=>L_6%v;Unqb#6%cBHLUwCY zc1dkeC}3|YkgF96`JGMqx!R$S+m&*2un^0KLN2c=m!z&JWM+iFX;-Ww!fWEIo6c=C z&9uhkZ88s)Nox$X^uPt*O{S*YrwSKY;OC8dsT0)t)IhQA|lOT`+yLa%yc z&E1RdJ{C}e$>m9Eoed9J zA_S?K`Vw7Opn8~YlVo@b8Q?Vi-m)OtH6aU&w}{}*!j=@arLZG~T`BBI zVP6V2q;NA2+h$Kg_qKmSIza|xdn9b-{j{Za!9e5Qwc!lW^Wdb=^WlsT+oX`wLu@>5 z4;1{rgHrzssPYd%eg7JC_Q#;Ae*s$hHvkp8Nzlh7&HV~ZfWZil_Iq$P0wJ#lQw^bp z1S(Ggl?R}@#~z#qk|{6G;)9E4&I4nMIEXP;jM-iE(Df2O`7?J|U?9|YsY2bMo5e2S(+Yt}#8 ztcOS~6taW_cmRJuAd7#J2vSPQXdfYaG9+9$BQDWNN+JJ7+Nhy>7tW~v1GoSuqozbg zB|2nNIz(1;6Zgu%Xg)@BTpP~uW$L;EB^5-F&~wj+bN@o>XR^A1dV3yN0Bow0EY}Z^ zxk1NA!&nMiQrMQll#IM1VOI(ROQPJb>GjC``!L1L26BH)FhF2aNM?`E8C~qn&6M21 z0kL_*J>Fcu*dHmSHk=rMHao=&Vy z%N>z&o?SI;`%!LB5eDpQ*UCP^`T2ru&;^O@M^=9%%}x5xFyAIPTUt%n_BJgi3SThq zb*QB3_wv{Vk9AB*5OahehHU~y-gY6E$2(;q*Qcw|!D2PC<>puwVhwgSEYlLDZTLL_ zY{!wrzeZC^@Oog;L4vN7r)f)hU^UZ4$Aog8AdBTdQ|>(+oJ6FS-y#|d^}uR!F_IQx zVfBA+U1U&Km(@kdBmeRXUyZ_7Q~ttc;R_eOtiqRF_;Lzg(tZJqh6Rc7qz!}Dlz_k~ z726fiRZYkdtYp{z3K5R2T1#HF62ruCl!v z87<_=lz<21iiaubVUz6n@<)@BE3c8y10A%qQ))_0G-VJsbFlhsPB^J>z5}VCYeRn$ z034b6`#8rA*Ob?@DV1pUv>sybCs2cs6s#_Z?gH6VbAcSHw}45b3>rE|IV-}J&z382 zOu8r$76^*4YqJSL*!3CY5q28_@Z@??huGbhZBfYc)!U_f@zc z1J|~QiAp~sPv4P>NJ@4+PyVR&GkAX??>Z!gEugTkzJikJbMC z6L~W-MOZ^`#a$)p7@nGCjH6{V*U)7Y-jgc|)SEK&>`O$vr$VN?JB<}3*O-6c*aZfA z^2d~4aiZ<9%;*cbC4U(icXtBp)w`+xB>pltQJqxtUtYi#P)pNhj-YQQMk;IRF{7SAD<(GUx2w- zX1#}pWd`x9bM-bt$~amon!vtaB6J?1;|#Sk)XCrm{+A4$XXsOg7SaAbS+M6(*oP}@ z!eFdNHOxgab8#N^TE|(qAt_MRU%*=ntha{;HppKhKrcYzU!oA8q@m+197IrHZ;$?7 z{1O3uqXmvLDDd#`J1*~Q=#4iB08m)*?8exro@g?i+?S09f z{}Ju&Ef@kT|E<(3^3|39R_KztPX0Je(iq0og4Rv}uWIyV7C@o+2+;ukPSjGO=@5J=#6TI8KzXbscASu}AN5U!?%{?(@HR3g@JbEJ z$Ss2nwU86zfYOS18ch>4POgF|L%egrB3fyyc%+hvTt{;;*Uzy=nLy4M7z`*qs1d{b z**L28DdN>;NlJen{;Bn|8o9C+)Rg*p1W=}Zt||3jB8^)>GEAaJB|$%;iQ^26-_S1+L3iLEG*dMFgx-gu4&W{_TnZ#rHb@L$6|$uzTWDX9 zhQPcGbu!~=_#wK;Db;yKVlSVD_oH~8W|w3h(&!?mTIzp!_V9qUo{?ujaQnU@EAAO0 z1<~wR$#^lDZmp4Kp>VLBj4?8{~Vse=x4w)Qs#g_$Is5Q zXBJ=!aEyOKG~kO68$@J|G8^X>q&tp%Fv&UM5jbh+6QP&|3T^dz7bTM26D@tpibj?J z9n%wYwGtsFRw>#F9Y$-nq2nyPhii~{gRIA{M#m#AsW1scD}Kr}g%%;wU#+~xKNDAi z1v!sPHWd;kcLq$GA{Vn+nB34N;Y&jN!uJvToFsp9Ci-0t`d2p~jovUumQ17Y2}Z06 zx=^{G1;7nWo(3zLrVyeS4W$ndCCS%SG9AY3Qsvc6c%i&Le%*cDK2mz32_j@kD;5`* zn<=eOTv%Bq8(mS$&3svz$m9pb330*6#<4;QhpnQaxC~=vJ{qRY;Mc+~j6T@p~ zV-!3V-k$=|xPc=gW_Clh~+ z+^ypjryC1~^gv9DG((;SN^748Y6G8&hUO7$-HOFH|KR->r1_HWrppBTiAni~+?>Q> zl%r?~Pjsyd%%y48>K~2T`(#nO>Q8IQbbMEfr?<%sR1BR|HM(JsYNQ*rKdvMBGfs)8 zvg@cOdIoa-ESjf_KKO{MsT&4V3u}Mbd=Y8Je|@BLP~0{!p&K{}5nYLBxsIkQO-B0_ zQfRLg4UMBTEfXVBl+2teFKI%}-bch23lt-&m2{ow7Wu(WD|?Mf@cycTB0jgwmSPx& z^8Zoy?#pfCO5@=Fc?t#N<3mQUB2srMj7rx@&SVl#>`a`=HTf2|3&$BPE`v_azxDcc$Cz+XVezWB&nYc9?jRw$Y0NoBDW*O#24sg$| znw5y5aVO*Paq#$p62fJJSgl#t%d_yx4=%n1S4k;V^Aj6fqP=6~?Bp)nV^{Z7R@0KzBY$L5yhRu>~VNqDA2m%PfHS~;;d8^hw9 z(7bJ#{id~CXDway*0+Bxa#a`0vDo0~i>dV$Syykcxgo_v`@F&pxYA(D_Tqnds9M0t z(<0_p-6X07&K3eY$54_*Y~DbWlpA+%r6#MivD}Im%xEzx ztweoLlFpCBq~MvVSbPC2OkE}!znbV`Jy=gmv8{4(R(rbJO*?-|W)(ue+*HafW~$be z((s3~>nLKu>h<-4fs^YP{J6#JiP92vW7r&l7o}_;^8tV{5tN;BI?RBUySv6i*jDRe z=+lonJBV{07x8yvmgU{N90!@@@|M!n@IV0%mBOa#p$i?U7PG=m{0N<$dhya^!G{(P zfh&OwD(4G!WAcBy&)S}{0GW@l&P{JLWP0zI^UyN&Ng6Dli(?B=kNhzK^i2S#WEX+| zA2u)HJn#p_!i16l9iP$#yV(>l#0eR?STnROwosqo0YxH?59leo@Pn+%N63=7v5Fce zuE4=EAV}f~$%<`9Vas?=ae7+q6;=jEAVurp6mG8&SuuYxX=Yq(->eiOBBq+}nW%Eu z#zndBhcM&AFxR-aBGgAbHK8QaFp%L2h^=YKzC!UmWo#4ppb8S_Q@4=z(~oTCC}kE* zjw!K$2MUouILH=K$0u`wI1K+0_JRMOdp4AXsDm(@DNjr)#yr@E+iEdEGnb%DP2Whf z2vwmeEj52_@tQ(K)TE+bM%1&))l#z|o>P8H2|kx6T!l2#_8WNO2t z8>WrKQ>|@)xxpio)*8~Z!+n5tdr0yziBkwNwU3m2B58?7Gb!Yp-3MO%J%*OL(&mIf zwB41KC3HXyncV71OA@&VNkTFn{fH)+562RAJJWwA5LRG?`2g19a;@py*BZN;Po;%$ zz33v&!nGAwwK^ikzPF~78dVWfzc;@m58Bfbam`GtW3-T(Lrbw;TX4Uv7^@-ZYIllQ zO&QuFCasIIwdyurYb(PUS!)>g0p2?e=eNMff?&1UHt2Or*~O3?@M`h_%%r2OE~4yR zWEp>~*34kDoqcMBgAMKJLF*;Bts||itWRVuO>D`&t$FoAdLbHlTGhWwtNOjPsyDV0 zqb|oC0p}%~C0m(BO3FzKX3A`Y?24MQ{2<3iL)mtaF->K^LBou_b;^GRgWf$CEMSp;mK}D@d*{rinlm*cURg^F z0{H2_iw1R5(V*2*whrzVdJ$vGQVQp~%%gC&s#W!(T}HLllXXGz{TFWz(qZp5e#=;WW7a>;i3_&1~HR30gtfyZ(Aa4`MtIG8;$ zAJc-=!Qp+WuV37k`r>sq^&kH*dJlh(*XAQ0ZE($xSx(dS1XGpsgbkprQt7rfg z+}%lVT5dGh^xe6S*IM@JaWYfiza1xOiQ`xzSWctVCpWmuZKCgewvSJX64Kb?>G7ju zRS`%m)8lxS0yZG{=-5mnQltzGCo_#U)95MD+CU29(OhaCOLm^dC;>o2`d)tuOxJ0p zDGhhNt#FPWfXz48t995{P{>rGXFd)zf~^ysQKY?PjaEXwOk);)@JXkouP1^*;L>>* zWn|4LE&FBN;DWjIOMNQ?gvvxNro!|B4)asIIMU}vjE ztiolc2c8_?X`$o0r&>t=exiTp(g#nN0e5Vqyt}uj5-P_P`R%N&Wcr(P9CXtLIqO=Y zN~ML=SDI0NQ2Fu0#>YS8hr97{{6*tT^_3F&A^BnFAG`m2RHl2Cliu<1<20$d*U>uQ z__|u{_u+TYz+e0xR`=lFsENOA3{0A{JIp@8usyW!w~2uf2F6&-9@l^IcZk2^Ai@0detjxqNH5o&)a;PcgCIKCO`U!lf3Y#00j3OW0cd~FaFI-bdp0Ev&qcgy`E?dB27!H5-3x_}jqWCjMg9 zT1NnDU>p05A^rkV{T5QLk8IrM&F;5H_=_m^JBSuPU?T^-kppbx02?{LMhB35=nt^72QB<8xq76Eju`|TqG5#XDeT3Gp<1cd7 z0B4;+pTk5F3`T-QhrG?h>JWc1%Me>U0{i% zm) zIYu@tT$bIyEF3Qz@v@sdy^Setp3=sY4o?|W1*Cz^!wvjx^8lb}53Bgg(-B#F$kRty zEiQljR!y+0RYP{QYOvZ^HH#-UpeeOB)>(te->UJ}*I>1>>d13ev&rWhtJ$1j7`WML zws|5<8dj4RYmOn%;@#AOVPmy$*jOz~5V>XZ#2R!>tIh)r3~;Knnpli?R0}(*#W8FF zYgw&POF)8E#%gnT?G|)Yn`dmp@VDB)s8)Y_z@uQ{wK^QLjwKq@;T_d!0_{639)JbH z>TpOMU~{W8#HMzT8TuSX-{S0S^*I9l1{CYV5V82IZ{Y-P4eC5l2S|f<4Fmlu{*Li? z!T}8i$Or=vMyw&PWoQG4A&M8)unu$|a!wk8$Yl-39Sn>`gN9=y8%|=@5ZgSQ06Tw- zIK0sSK#X}{g1j){yfCo@^Gun^kS z7ALM<#erp4VR5sqs*S%b`~`B_mQ{bl-v<76c+?1fK_s&+yNSPCD6lP?7qWSd2?k*8 zvaQ;X2PW`~U2j`;Oo7G0w%S-vyUqdeZnlRuqz!94(7-^G2S6ORhvNYcU<#~F_He?9 zWAmQ1M|J~$TlfojjX1bb6Qe-(wMT6p1uKv}>hnOqDFETpZjXQ~?a_cI4lsY`fTs*F zWyn*8m@?!k!?A!d;)x?n9Pvb0W9=~r%C%~>fxk`oMe)8?tzlGcfWMrNYt=eW>tM#t zhzAftpQpeqT;sEFtqO8^&B9Svvuw_PHH*WyU{2E!^Do+f@sH zYdpaBS^ajk#lwC49b&+?;g@6BZUMk{8>?;)FfiePNeh2Pi#j-D`W=7ZxPAw@tlt6g zqu*)rKnsY{Y1c6TVnM$%gm&?{v)>ovsNd%`_v<$P)_Gt6zZ_B@wwwKa3vlkYc~l=E z!6vKUABe{F2bgcr!5kob^!u0?aK;Ffx3E9q1F}EBC9gjK4($)B z9UcI(4=kQyVG2%?{egeY18p7{3m8M5IEJeE2p_dTh90#BJOE>7)EW*jFc}*VKT5<_&dVi2}XfjJ>ffv$)LuE^<+?M^Y9RV$M9RP z;;)6jHTg8R6_d8G)EE8KIm#8NrG;8BKq93N~cS5g)@UIvKYR z;CRA^(_~@;4JQ+jnJ1Gv4>T~)#GJS?O!&$$nIQBDZlouZ;Y7d~@x&1(j(Fl|I7_uZ zn_oNT<5_z5GIrMa14w5rG}(5O)@rm?r?m#HHEFFyYi(NZfNQ%37}}$a8g0~Rqd^-@ z+TgwgYqVLX%?5vMf(fWCCdV4I)ugQ!ZMD(-SXFo))Li7zjzv3Q0flzzw9`Oa4(M1t z_CLdQr6hHGreh0^GO853g4ll-JoVE`9o2dbt+F+QTgLj|hOmflh6OsbUPUW%e;c9} z+^kR-TVOhg0)_u(xGD@ge>3d3YeI=#>u-cz=6XrWlVE>P^zVoz%t^QZQ%Q2K4O~wc99c{P(TeV4;$>>$KhYTC9B zTvd3Q`y-?9Z0kpcRqS`9{hj>|Uj08`Fn7O0e|qaq$q$5*GNI(Z2qk-j5;CLDEc*Vf zYdo`DlsMMtA{{1zFftg81ZLdBEVvqQBYsWnvmbx^r~blU-KLMx0RZ}`RZ-$yfpEMY zxc>s6`(T-+n_g!ZK4Stixd5LS@p9qaj@Zic7qMZk7i?7$*NW3R%Rh_P1pZvUBTg}N zU2?@%m*E^N-LSHIV(hGC{-qarS8Tfqv>qLSe&9-cKdZeQZpBDF4^q z%4El4|o7yv)qp#~tYXE<@rop9=>rLwrTi0WA1a`e?1M)PoCE+!M z#9G))NXv+alYVfK?=J0O_hTT0AVUaEirjFc^6h}D`MfD;GfD7Ch(OPG)7SWJ7KCNe zI1}XqW;(IGB4T?c)v=E`_F5NgP(Uk;??|eSC5YJb9jG+P586lp6aOpd<~)AuuP%QL zQX*!Ll!Q4We=fTw8&m`RWM`ejqDPL8Md>usAtXr$r$0B7os9`6<@#RnNH!BwluEm% zw{`SFl_&VqO{b_pKB?_576y4jDA`@Cy2Q*xKZWQEh)yTB42h19c`4a{sVN1_Dqro& zd@v82X0kD7$d>}S{^8FC$Ri@J*PVZd!D^3tgZ5Y6!awWsTXtkeWr2G4=IkttxSOZz zV9p}gr*%nJ7}b(lNs=V=z<6d+g2?bGiJ0`6WzzSDE)l-S_Xz#vty`ss=k9^Aa-Z(3 zDzO*%EB`;}1l(Bh`JECymYDRdMVAZa8gGkM8dLTk_mLBW`Mk9GEXIe)KYM>m9?2bF z7p1^Gqg<39tXOpJov{?CQd;Co%lKh<4W*nz_@cpzh zm|2P00;~;?`11vkA!KU^p8J1`6^jbq#C%!_gLmF)6&XZ49(l+OuO(&$d{@D}O9loQ z3H4OvvHNLdcop$}=+KKU*vh1#8)qTGO7k!jFY(0ev2b(czy#kQybk7ma4}r?@E!>b zCv+pQ^ccveYnAymXLG}@R!z<&1__tmnZLRvlvFx!JG64Sx>^{&Tq=LAH9}KmUa<2O zp(i`*FMco&zf|J0C|oR#%8Lr5loypR{(N=$*iM!=C#ujYTyBXAf;q{7Ba9gt)Ma`<3w1Co^by+69*~_qtoXONxRu`O}DZY{(Mct!- z$6aV~XTF|Ka~$ek`+9$FJ>@bjBkqTCSc|koCjNa|?=TF`{R{WNFiiI;%rLx#l&Cb> z7&SIEOIVp!S5Ez4&e__Ovkdbh`2a$5!s_NDw4y5WrWaFpdr}dA&2rnbYkq#*d_)m! z;r!Cgg}1gNi+W-8%0H#M8C3)~by4YVMs3GAhw?^7-LIs(5mSFi=WwNwI9zQ~S92`r z<|B$|p&agUyayr}8p{+yIn7YriAHW+;F~*LNdWDWZxW%-PMWa|1-D zr`2>D6bU0!5a0FP!*j!bLsNGF|FmYN*jKO5Bp!~B#`v5dNwRKNaoZ~e*=?vrD1aZH z8<8obULA5G=uz14Kx|osYy-2K;hU8Oa&knA(om8-*;z+YKF+6u$b0f+dt&mG%e;wl zJNtF=Q>{e-r`7!pi%hj^l_*?#u@RWr_1)X3Fwk`ZvS`d!hDXOvybCsd!-U$$OXU&om zCu{ult_o7q-Bv-O+N908sYh3wU@g~mx8u0G`!Gs1Jh`H_DeO+B zb92R?+o|AxqRlN8e{NBci~;xSv&){9oS06&(%+A-Rfw;(4PTpzWDI;WzV}z5(@9d| zo|TE0uBi1);PRCccD6*;H}>Xqn#&+mVqz`LrP^OBZfA>Uhp(`XZzfp}@R^n8zP4%Y z+7v|sv!bnlys8MRl3HqYET9P!-S4cI`kU)Yz}F&wJ`aKMe)-5)6Z3?g(aR{_o;(4i zn^$4MT*N$mO3a?W*$|KhHBG5aJ!RzBG)>1#1xynJ%${EnGJ;rr*_YD$w}wZRBHnbo z-CbYkD>rh1uERgQ1`8x+l9DjyG(<~#6+h+{_afBkRwDM9MKQdXk1FS3H1^Iejlg}H z-3=Lkj0UEOox-Q_jh^Q-bnO2JD2-AGpUZ>fMBFWjxERGKHrWZ1f*BrUFu&r@sc%yF zpXhrmZJ}bB?r=~A$}&1>%QWfXxxv)2i|(-&(U&%B2?d2z+HyP+@!g>N_;@bV-vP+> zySs+(zCSGcrjjcQq~ERwcC{<1_y-3&C}fy_iS9=pQ2={af{I{uQyj+#PSv%Jid|jT z{T%x9QWdcQItQA-2n0TmA*rv^!2o>&>YFBwc6ZbM1|^VxZah8<7hxpY?3vn;O{z;i z_ZJI7$?3%eKFqFPNh=jze9gq?wTcMOOw8;qL$6n-Rk{QOIKFf!l}aV5oG-l9&)(91 zh~1~L)_riQhPx{1{rLV4jvi`MESis2Vh78&TM3FB8PI|aBVkM_70`q*+sj7_F*Yk( z$$Fduxl5)c((5y$5e-ar-~-cix3GntVBy&HG#2&*3&+61v1H+JlZ9im8}9BJA!wLC zxi64OuDsQoXkkQrSjOz^I`UVyFW6^)wt(Z3*bC;T;SK5WLR=;25_sTB95KBH>GYb- zc6e?Crjsj)Z)b_(o9x&n`1}`~+z>vjQ!nCzNQHFq-KXn}k^!_FhL0r*H^Gm3Z71-QpUfWZn2)(lJ^;6HtKG$uP#WG_l*_!DYd4%O?p~+MB#$tz-D_!h)}q(if=B_Bdz~b*8rOBJySt&BSPFMgprBn#O+IGO z_oJ~%uibfgh8~V8|Gs9??E#*DMTC)YGWF*!*;y|VGCMK5*W#D~Q1<3?Zyn^dM z2JdG=v9=dcCAtoY3a5T4XW85v8&H*y6zbyTj35W?24Qr8zz2aq3R#+B%)3`3 z=EG_KN*-b06y=#+JiG>f9V^T06Xar()q%xkl0zg&MPdmZ_<`fB@5<%EI7N(q}3s95iS<~ zGF-|Ob%O4aAPg9hSGOV@zTV0+Bq`A!Tm(M>mlRUMdECBxwx`fOU2JF~AL>Ct5*Ip9 z6w2ctqwsp^Jgm~Chw2n3;N4Xb;a<;bN?j;S3q)N#LirRXW+%Y;Iq5PbE*2ptxu5{E zN~Iz+w0v1i@j{P(E-Y9*2i*DR_teQ5^&4n`cD1!yMT?<4*-o0KP7Hok!dv(kfm7ng zz~sxNzhZm*c|$1(zeFA!^n%3gly=rZWp&A}*sosXgSf%b9elbNg3z9v(35x-g`e2= ztYI`~k;t9tiz2E)OJPcJ$dwm;nulKkqLFXA_~`MF*{k?}a~Qj!sn%xP6|(sSdx<+k zvG)b#Ifx9L!Yr6OA@5ugfZ(}64d&UW0IdJ3D7i)usiGj%gJBF9A0RY7LekiAFwewY zGH=fB#1X<<%R^JRq!^1&PI@dgqf2kKVo~6bdAM4!ImvQX#7VO-lS0-?l}`7t75*>a ztBsK)Pvf0`QngFA4lBNwtQL-arP?vqe!1M$QF?h{c&PUCP?@$~M(o_bafm-B^o*~Y zj-QxXuUXh_JbSk5)PMmM6AvxJ*db@XvsdNfqtDr1UR#*$^lvC)i^iaq;kAEp3C+rB z-&`^0_6XTXgyv(}7wmkasC{2i`)kZ7?r}OLKY$y5KYOQ(@a&V~P_aY4yCX!gr`9%g zN658$WbVb6Y)%{!hYLT;y<0|mq&P_&Wd`A##SWt|hC!bbt}a;w25HamLWC1gB@8OE zYf>e@@by++_!XsETk*WGmrA-1 zN+mge`vIvTjJMU!y(@ol%L_xq1jC6+2Yr=OvZ~9Q?t=%V66aH_RAl(VkR3{=;bP7r zD3?5VkYHZ8c)eoL9uhCbR>v2?@fnvF-6$3>y+9O0<;!=KTZ)pfLA{9JJZnz?!TUUX zDi=7X5K7P?8>ouJ!KVwXGNq@Uh@{V?@8Jc1C8uNo1@jes8%^{Q-$;%J$O$;)XsH71 zh~HRJE2lFEFSHUFGv&4Dt)L(eK$2J_545~|;!f$BHulQ%15VQ9K_$m1I_6$G|0kZ-a>?AhzFIq|Jk3j2y40rUXE>%95C$&B@XZR>nMhfUxv7B zt2}CIy0@qAsXh+}4e0+4ggFe+@u%TU28NsfvjwZ&t>~u0M5VC_exZg#(L7u{l>!X8 z3T?Cx8l4X2ulH^$gmJ)pA=?8mDd;_ai1pxH!ztB7J`~gL$!C>p%sKVvJ1*JNwrMDA zkQpsiw8$I{(q@z%`d7;^T6ui3EpBUJrfjcn;xP{9|D&)-_oXQ@(zw4K3rUK<9tX9v zPYI!-G#s=g_rD7PNrS((dQI(-Qb3FRtC5gY_^VNn+L)9GGG@zC@ZVIwZ2w<>R6EKT zhte%}DlUlmUI>1;Ik^-Pgb&9Y-Xbq*97@TDt3HCWOLThe&*ux4Uq;#-tR^;QgfC6< zna;hHw+Gu8mjo;%vz+*|r%7?D&_E^Q60=>9zONLB<(e#=T}HnjoZi~|s?-%nXG{tx zrP9v&6nxw~IKeyWTvb3!da+=C?!ghGW87sKE6VT=n8}ZPAFe9%@JxCpVqN|mkacq> z(>xbwPp{BT(ADqsaRL_q>qpO5!G5$@p9|36-~hM%J0LHpl1A zS{#oqyxZ`4<-`eBng)Pm?)Ib7dJ(hATA*Qt1MM#^!pL7; zUb)c?97=^KL>&On1Q)K?(}Q<+jVcYnAKE7^gBBDSu27p1yVHznnrgaeno&MeUE54k z_415{`h8C7eewKN>DMcNBcu!2;A^+teF1m0Viv7%I2#LL4<4^jGLO73;G}iI+;z$?&Zi?r zA<6l0#3<)KXMDsG+CO6Mnm&KHjK$nPrMb6cN$r}|H3%IP} zgJZN693Jzz434k(m%E08C86f^QvFi@G!7TnaQVL|79A}6D`F;sv@edB`|1?DoL0^w z#{R<$5#skn_M>pgqSdXj{_p{xWPkX;y<~|lbNbNGgWIdqa8X%>2YAMN=v~k?4o!#r z9L}#7j3g%a&G!0#{|6)){Xvqv{yvgSIvY;nSNhELD}6)v=`(&lx9{$wEB0sZuktYb z+1_4vfBNh6*=**%QFGybLP<#A@%GfBHlD{=v<62qQ;XJT)OV*g{P!T-nb8>jTh@$* z_|crv1%9+<^cp|fGkS?1of(}Yu-c5CBlPNwF7d;f(JTCauxIo$e$;046hG=SdV?R$ z86DzBYeo<8qdlWz{OHW+2ZUUm(LR1yGx`ZX>=}KHAB`D(g&)lso#01nMtAU|J){4| zkNS-M2b)Qi4TTO`MX{+e2a(!SsG+GTZfD9u>qzaaZH3m1jubfEFvGV2O>G$!f`0B! z|2#Zjx@&NM=$CW(1un%R?nLPJ7F4D&GH3k3S))5W#}@kZ8a>$W564cOzI@>{=)uTo zQh9yBX>reZZN6Y(REJ8(0tYJ2s`BBg#aQY=f);60f35{9!?9zx=$ynnraQ2^A_gRnni}E zWMYed4qrSU{^Zo!(9-8Ge{^ac`t0?1;?%3EYn-}8hcEgE2cz-i!}F0-x6|Ok;ky^( zSNn$tP8~X6(tq>f(5csjhQHpRnBl|o(ScKM@<6UwOI)z5w>i}D%fsh~?|6w0FM;t+ zqneWC!|K#&Xk_|ux^fz}7LFE9qo#!yk<+MuQx-0qMuUCQNdJIPyY7(ZBSP(lLx6t?wVMtB4kpxYIfU~tp>`YU zm0V1y-I2$|HOnE2a|x~09L;SWt<{|kzj(CPa5N8iwAOSsT-?!G%eluB9jyUAz_^6g zI@s9fFMlMoUUdjCFQIiyyk;7)b3*HXHe^=}OlZBPMJQe*w2nQ4OiXCK;SgkFLhI0T zl936mw?r^sye(=awB8Xlr0h&+qbkZ_3ZV_lAv#MF+OYMQ(-onOnjRA^2yN8$m_8?zVwYc%wK zU{opdua^F+Re3r1H{0&u62&n3k-n!#lnFQPzqm)Kk5zGR=e@YMquf7zgniuWFkFqo zGvjFb%gm(kD=*vNY2^-Fn9TTpw}dPYT@ox{vwJlC1$=AcnJ9-KO7VoOXEI0lx=gcV zK(}QAz|Ogm+)~750yeSz&7jbego{94tvj*?Al?o!3B-EcvQ2fS!fqG-9!y*J^ zCs9k1b8rc~bBVNsi}NmTw7kdapJQ``BWZYHz?seC1>~hNhnU?<=6c*AIyf(9)MHa? zHcPf)eaY^_c$ICvZT*4PLypF5D+TQPKuf^qVf2Y4IftF!Q0`;s2f1>2wks@mb{YC- zELXCzwd6;xPr#GE=X0=ssKCj=V{%}c_tH|?qvG=AT53(43}f&&EXV>pBFWa#(TA@r z^HDc$!S8Xd%b8e0fm77`1!{Z-rx}a7dQc zwYno+k>+7Zkz#}F^7fBT+ziak{zK7X15o*d3#d)0P(d6HawO|)Ko}g}3t@1Wg;1|)Xey&f53R-C4l*k6wF&jiy>XUs)uw73Epu&#x%&L2?B*51i?`=2*1uFxqe;+H``1 zt}SO;nHrc(mcfwC%KM z2b2z06?6)g1*!zg20emRb5K{~gs>l5!1n7JHdB|dahk)f=^QppOV}%2!6xZ5?2Jxn z%?3q4t>)aoW@iYynM2sKjA38$0X7zW*eiU34Zv%V`Coy5m_Gr@eg~xZe*-=KL#H-v z%uKrOz^44~h+PYWH2&F6KRfBCRn@*N?c1KwwN-bZ&#N=o1;dv$OVS)oXt~wK1n4&z z-=5L6UB&1cjIJ9< zfJT#3hQ~M3_?AYon$`t1tqD7_m)=H>gbHpYNxzuYfx<{y~YvW!d}A9HnP$m>x{Pb7k5TYn`mnKL}SfN z*cRe{D$3OWu>zFFMI=MnUo3%kRQ@EYg6 zJB4$q89jm!6K1S%{inZxwU$c;MqJ>>W3Ekqedby;VD3>RUifFM0ygIjFS@|vfEbLs zUa5n!vxtF*b^ZbptUj9*tUls#LxKnTfYZ;cCbHDig@@oyH^YZ$LGQFdS$$!n91b-gbC^^CW69TG?GTVO}&DI#Uea^ zdrGcB)uO_1oQNlMJIqy)-6O7q*Fg6R(;8kead!ECUK!7M4;q?fxHQbWyDP8}d;?!TlZ1cI9xCfQ zySv7FV2*g@1!s_mW+HZXjgKxMs34i}yw~NE_kh#yMiXzrbna9({|MZZ}dg035lH?eF##=Dn z3*+nVPPFeW1C9c=eaqZec-tUcxr{-9-Ch2F`j*X1Nsw>_1@7)1qUm(N2EXC)Jd*Z? zfvs$B1*$@5pud9Q!~u!vM4eUs$eL`q@6uMCs2ammVmmRUY=9-NeOr3|xt@?d&R6RuPU%g+upTytXdu7OdV~dYxHII#TtFQ1wVF(t z8(PK!+5vVKI!;fX@LXJV#kBSjppzS6YT~?8CirZ&l*Ah)Se<$biZm=MpKuWv0|i3r-Tx zMxSw(cnf2Pe_|t`=_WnWVqn%YsmLC#z`P)R%aGM!vEX@Fa6x}@6$DsHbed#l(99E6 z|J-;dRwDiUVu}^brq&F9oB`~(@26^RddD#C!;ZT?_oI0A0ej$Rs^%%<9lN`;%vmK( zrVFniqcy9jc*--Mg^TN};2vl^1BbVnSwiF~34I3U^$}UV9JtdW$e0AnbQThiwq`Sv zjwFfnvxy4ojlgrl^cT8f^inKx6ln*?6tl`%7@T=4BVeYQWk&3O2~103k{+?{J3#W8 z`;0I1MwRYakKVCIwn^W+@3WC6J(A*pic-9>wG&}~Ab1QqQ?VBk#-tw^Op4kRY|m!X z%#1vfReWSwt)n<$0rwN?OUOsWOz2?aX3ekedi-kQSX(4Dyk{ey$SZNd%m($@0t%q) zR?3gveKRkqNfBj#Lp0Ri@!#IU4IlA|SAFpN15Rk}8xgt+Bf$|L;GQQ)k;2&OJPero z(4qnYAAeF>0)k3AeSDzu6rAVSTnnUrE~L{oT=Cs05e`hqOjUuRk~S2r>{zO5gU`wg zoT_MCR$`K7aX4f-ZmP5@&y>RR^O&tfJGhl+q$@G0pQkT>@AWsXM#O1#*3~FbmPF;` zDVOz1WC&@Zatd;l-8Wq>X}=LiHIKpRU347u?v4Yq^62qJdL650WO_sb7L8OCDwl0}OJSCy)&{Yr)=cIVY@>aP!E2fH4PJcXbi3Z*OSy@7BYitObKgj-EqW`VjTsIt zYoSd}lx2dTQ?uYXK!0sr)riz zPGz<|S#+i%rd9d9wf?>R?-=v%VNHaevNk~X_T@Z(Am+187LpUgwcu`;Ewht?PJ2F? zK2*~Q1i^MbgDqCJm|Pho@@nq=!1uiQ8TnzAuMK*2+TuZ8up9r(TWkusxxO{aCzaB> z@Va#71*I@p+?M>{bNC4We?;d1d|S;*h(_tlCDVg`%wOKKlEMsR^CgSoYY$)Y7+V@t za!ad!=$e_82PeD>vZB5alwqkraT7(tP2NmQo!1jeIM&3Z3wVK_oprDzcATM)VVtzy zn6RcoA=G=so6Bity8otuyfG^Bf;(2Rn4B!aR3I52w(GK zwH{qB&%!G|xcCM{C5>dYPi!y{_okekyk%2=?CPG(Xqwb`qoN@25vIF-tzQ67@kzIsp=s1~54k$|F#{sS6o@<5v@1 zDwjs@IGR;1lZxw%-Lz+9HX*RfEuh>Grdm}Y&VCSXcwU1mO9ONR)$Y*~si^55mCL4o zZam9$C+BmFK@XTyX#32h&vti>hx>PTnh^PPU+Z*!fZ{%*AKjxYbLNFG$oNKjB9r7Z zo>8dCq;DR&&{1+pD(t0w_n`%UZ-G{RaLp1;f_rH35WZd1aX4SF8W70H;kCf&U*i$9J25REkR|3AlT+1-sc44fcgC zX0R`s?t6tU1C{@Y(9Y9ScHw7)i+v&Z<;EZCd{B{sB|z%KqlXpSTK$%P5v=feTJ06q z1cwVn%h?o8Hi@hj-iGQ-zkOFxh=-UvzGvpiVH+3az8}Jj542q4;)+n@@YIBoOv6C< zDj;>Lth%4vdp~=t%Zhgz8~b;6Rg>;Nbqnb}-Jdy1qXhF^N@wW%qWTdEvV%~u$$Z4* z7kd%#0leh?zRm&hGgBUaUiL1<=`R6&;~qRfMOS5?83CWS+wY2to8rp7;m6dLBgdoG zR`wftM7^r4Hi{gbtdg@-uPgJ6JfdOAyW%p!mN&pCoC;q{QbpW@ljF{R$f$j-b_OzM2JPXB zNozHAfjfhP0!KFevUi^IFw^%j#4Nh&TucL7a=|?h zZPX3sE&U+h&=8Z>Ep<EGKj*vB{O%gcngNlq?Gwg>4fE}QrncbTOW?G}R5`?+0U5Q#gWF zb^Fh0)m9exzE*AJg70iqBfqZHoB4&M-pa2m^>%(~sdtKhIpc$P=a*rSMs@pufiiq{ z=^u#6q_KU{RTECbzK?GklIWQyl_E`1(h?)S(YP1ZH&2$__b)N2EhdUaOJ6D*TPHbN zF7cT)x>>kN!9z}{Lg3!qN~=6}_yQCu-H>Isa`^VLP0_UG#=5mpX!7D!|M2zY-H#qJ4$=(DpIztPANk*xAsmUF%Y^*Z8030-!lbrC9bW;W=(W| z>yJ%<3XEb2F?Y1=e1w{lEE$uEn_{A9sfj|iv84vWCOQHIOJ-FBx5PBqQslM8%F|LL zYlxV3UMOwLmXPN!f9=0`J|g*d4Sdrxef*ozbMO&=(ebJI*ryo2jM%vrB*OWG42%0+ zT8_#i^DP755*wePr$*19x8dE%kjas0?Rj#D^T_1zu# z_Q=40_r%Mx-;w`#trwUcC$lVV(lq(*OK*n|STjxgQr3gHnh}VeZXACpn`OhGfXkP% z`N-T>6rXTqKp%ghv->LhUb5rHRnK2}^yCRVpM3f>69s27xhVeVF%x+_J)T10o1Hw44`z>gaHA3t&as;? zmZi5tkKg-j>q(bB*z3Jou5L@(vosCn@$~r7vEB@UW|sQ#BS$87XLs^Lo6z?5o@(EJ z>eF!?^}Um_k@?u4rDs~PvwrdX<=9z^wZp=piuP1Vl^8$^kquIJQYnrc4n+K_KCs|akQ1%S+zTs(uz{AgrB8EN zg}Ku74H~673YE#;Ad}3LW@)0it8A_Uy-ix6h8DB76iBme;GY^BQVhDmXSnrG)A7Y- zt%-)TvKjj?p7-w~ct6W8jSXz{eP5al9(!&u^sCoD31dF@)|VT1sckKr)@!tXUZ?dA zZB+3oX#*bK(AWxZ8v?Vdz5OGH65dJHd5%d6p(woQYzAHSJjKmlCfIH-NjRqWlGp_58R)p@W z2(WKU**guL)jMeIbuedh4aDRKD+6-u$WJt@PUy=U0c$R;N&ZKHC-mP(41C+aya7Mq z|2bmG2^|CCXgXL}%KSA2{-gZd1FNirzTw5k3zn32)<0tTXFAAVG3qVv3iNA0=sP{b zTg>oL%dqD`CmiXSK4PYSPkYgP(66>({s|^w z<3GV1EIN@yGsrGCgxu2&#GZQ5=}WMV?Brv=$@=T1+wQKS+qH6kCMjA9o=M}(JGxAY zVM;fBsT)q?oGw$3jaSkQ{8IA|x|B{sm*7Q8PpJ5FhY<7$cZL1`#ft)i{NMlE|M~y? zU;lIIdGOg=`14X2m9G3aRt)fbUOJD$tI{WS>kyjr`o1(J+a?^P&+Y=LZtT?5C{t6W>`!$q7sWoNG^icGf=~F<35F${Up~uSU;#wJsQ&xCZmvvXW+zNv8xys3Ch&iUbs)?C4vPme&Qy<)rE6t z8!NiVfYVj!`}Wsz>~x$p&r;zQ(lR-zo@8f%NW0vzobc%-`fnpBrj++Dg+*BjSi0Af z&>*aTypN?$*fP%3u6qQ-A7G{U0F^je1QA9`Z=`RxtPe9M@A7z|o2%>f2;nY}^FGiH zbysm;WB}ch4Hryv9Cxrty~U0pAGkD&ldjKiEnS*)|FT?8gv}k3zf-zij>0pz%J(iO z2T7p^uA`x#^JhpuDa+s3obm8-+(TCJ=XZC143{^TJb8>-!6%PVUr6)>p&OKs1-ndh zm%h7e;GOS^AM?B4JTbgl`U}R18H2aof@pU-0}j_*uM3NIrJToX>Gn0!{o5A;tW+um z@x9)31}>7NGxwR9D2XX>R~10oO80XzJyKG zzj3dVI=GxCl0~juRbw|}?Q(3=IH(^Dj*R(H*>{gvt8GQD4NpxJ7@KdUTISr?0oewaN4^g+_ihXqa#?T zk`u{jpWStK3FG`MsuBxYmVg=~>($VWIS>?SDRX09{!MY@%>Bs0<_TZsUc*?>{YzmT zj}t|Ch0XVaayQ(j(G3{2_F)x^y+(;p0A$k773pBul@Z)=4Z662-eu@uQ3`;k z#eFe3lKsH5b2rRIP1L*Q*%8Y+p)Twm=!o+BBkn_f|1#SXpm_Pt-Z-zEFTyWpmtM5$ zNe|GnQ-R0CUo$B;|GX#$mzudBT~cdU{2j3lqA%DClHtWL=vzsf`woBG2rdVEXG=S ztp=XPT}&($Ov*_{4Cby(gu?~>UkSCjI4{?wq^EFXt}u z0-uuLyfKUnCRG2QSrp?U% |-+@6d454>q6^gi`P=y75gSq}YL%nDch`VdZ?0D}$ z56Uz1=Kv#-!_DSL*gPY4-8h&J!9TY&FCp~j!!!mp2x?1?Q5UIYV)x7!(6qRtK+mU{ zAa*Y^x%HImG)31ixC>vw%EZ49ByBk3%ECg)>gK|gQ`j>=q^ZFZHlW>&n2qeZfm?SY zW+S^YaPDS*gIdN!s)r?m@Rqd8w)xOjG#NNE`Orn5Pe`R5(=Ehx!H&q=n&aUX~+# zE{O5BcA4&QMN(=##Fz5%?yg_BPuVbLb;8{ai?v1?GPv|Uvl540dd;rF&kQXU!1@p1 zyoG*$T?EB;l>VkWYanzoJ2ATgH;E&>*h+F8uB5vNx4WWarP_glM#g1YFKa1z0!DmC z>t#C;SPE1to~$T#eQC}=JB(tJ=F7%r0*Vc(rEr7FmA5ov_i3Cejk{c3EEW5vnIxK1 z38tM#Nhuj7=+ZnqLw#aqIS?y{Tu5Bk;%~Em(uu^$gbUcvOy=R)A)Hw*JY1akp_qSe zL{dk!(-HI0Mou~OA6C;S*Ec9{N2zulL7b_g{ z0ptgh1CCa1U^vB#I=J-U%Ba>i% ze*fHvwOyiQjnMt&(1_t+ZXTY&x2J^45SU{+TGp3njnIZGGE?WYm9~Pj>y5^0&+?<|~viu|vt~-D)*lSQxTtb)L-5L1b4NQ7}i9C%l z$lMW{H}s3tE#e3~ZKS;Ff4IFa&MigE0^iX z&RS&yMM1K&-prSrm=5FhfyN|LBQ7NORGWeBLB$2Q5oTwZ0bY6^m!qj{YOP^!O*UI2}i3b^mez7rMr8J_Y9u_*X z|B|c=v#cbqRCq9LiO`-u-xG6Inx32_S=9`~i#19g#Si&Gh-RiR2qPoK!s5>zc8`dg zCAlcdY21x=cLUsiui=&*=WAWnTYRIyPj}YF^tbNpk=cDr$&RIZ1H{GG>|%Vg1dtiU zvsqy`?9A}ZbVKJUa8X>*_0cqnD?%4->UlB%X|51l`%EbycZNwIW+EQp!DOLdU(K%Z z;?z+W9+7#OrrJ=H3B(N)Kc|=oxYX>Mif%!%QUi9dxw4*rnfThp2gEr7oRyG?_+$$) zQ(bOQB{IU|mNF@|(sCD?UR61o&XGy%Ecrzc=00Uo!|<=SSpd0mTVVJ2Wt?8`%>i~_IvvdGkC1mUe@a`tMvOCPlF$R= zmvc&xIHLicji|XDmJ4^?|MADy;~)En&tJWCs&ssGIDUBm-&d%e~)SvITWDl;D!2^JQS!w;CR4SGDql29_JYtr&^MTM& z(#7<66@{PJ_8iHB3*H*8`2;3K$SGVP=pc;dj2Dmq;n)zu=V7qgi@}sp$*L}Ix(~h% zkzWFq7?d7IiZfVgX!&WVOkIEKFd99F|v}9}GTS zWN_Snphq4K8arF(N$Oy486lc_84-{m-Qwb+y)i zd>_aRPZc1zIc*iP=f?EMVdELpnID}km>62P+~(_8vNPXX;1aeuCvVH4;DdPfX%B9U z{<&~7c*E=NEOb8zSTqjiIfl@|pB5#_k!e*L$R)vik5_>JbCt+RjHR_eU*-Tme*C@F ziY69}Z^UKr=>n?Rw*2rsI2S^;!qxeIo@Icq&>VwhxVXIt^F8-FD*ld|3&j|1hSQcx zH9*9xjXilWvVd}`uW;LZ4_o{xs&eJxb4cehl~C}Coiliq$AYt4{-k_HOB*R)o0I>9jZNW0Jgkz-a>3ap zdXn?!^To!7uq{NM!o4Ik74CiR;VWN!@-_SB6=d78cOA1IBX91*i&b(REeuj#RpQSV z&*x>bcOg&;7-U309j&;qu^r(wm20dU_z$ z{6b@YfP}pmQ%pinAP#W{0wjBS>WL}t62o@sM0@T-OgdUHH~5KBUn(_L;*F?5xTHtS zinm%t2Di;XD8FmVXF!z}@%M0?CKcd_H-W!WC2umx;(B)Zz7n_JT!KIC#Bn1HIeVLJ z;RbTKb`T9JhMyRrN&+(Z`v+O%9Ej&MSQ3Vz(% zS}p)W-pj9(Cd#73$F)f#@$C4(zgog=Le89FVMl6KCeG=SUP)!@XZJkq;&|x=U+-fi z_R{QL-Q9f_dFR`D9PZcAys6>}Zl-5HS)({s82 zvmM|?By=BIN&3ioV-hT!&+?5fOf7p`oBY_;=da&cR867K>OD1)(n~kq?AW=BZUU~n z8{?9XXzKI-YC^fzrr>$GkQM1)H0jL0X}Y8wLz zvkNzY;p*MootJ$+2+zg%Sr#+l^gR( zu)8aBg?q+-G;tUmKQx zzlNwzt!3w#&Bf}TsRjfGK&>Cl2O&7-Ig@g?@zqU#M5^D#&C*vk5;~V%`GLQmZRNM` zFTMuoo3|a?0MYMgIjX7t^et4`{vEBcO|jt^2Xnb_TxSGTZek=eD@UJjhfITfw3xvB zbAzcDwWhct5_KatpaDD?kn@`)7>b`Y(;lW=!^4y?y)u8T z-E_L#cu_KUz5KQXGS2xbeF>7P>#E%6?tF89ja`)8b1_RLe%W2ndD@k%T!^lz^4t;{ zmHqPemYLH0CAu#|K6bn`8faxNi15G08{q4hdWn1a6Ejw{N~>^zQ(E}RjgXw6sS`8G4lci#=#T7lr~5L0 z&r>Df+-Mxmal<6?AKX-TM@X}p-#*wKtp)VEU!sVVl(!esu84^;soEYrOK8t2pa62|GW6l~iTtQ=1uz(Fd-(Ey`s$QL z6+eFIy)+h;TV-|1SJ|oOzOxOpa+4vU=+;H$CNV3w#Ywk`3D=H4GvlLeW>g|eZ*{2# z+MG}iE~#qcPFQCP-{r@jW_?y_Fu0{ljZM%Z#m{KIvws?gi|ZAGcR}ve5Z;=bG!`(q zh0i@S*dUbpVVV3u%7L++>}HvNjDxv}Pc%_le(2_&>n#drlgtEyXE!jR-Z6*113!k5JKymG4gZC>d;o{e?^B{wbBc# zF1}0e(S<$lbUrn~iP%-ang#D@yinWcs0o=z>E@XEv+k~sB8V5vfl=UnzWZrqkRN4X4)^26+t~1g~|J zk!ez1Nz4|oZ9wC}#>v#5f4lz#>!kk#dkGgmF=LTxmvdI74X%AF7Tmx@6*ueGeTh#u zFR6H4{m=sQKp>{7{X?iEi}QlPN|)}r5L)JsY- zvk2`CJSgHZ;^OvLUhUX)2@DpSl%?@l3oCNRxzt3Iz&o7CZqlDVtcWFg0oF)B5nBIpvtesp4})jPnOEu1r* zVW^MPEwoRqqZgt;mZ$r;`;M6VXcy`y_;iW)=X=jHK9{)UljbuqZMc-*Gy>J%q2uiu z_*2Kzd&n~}f5@gI1*kT&8N*nd;lUS^P!Jo7uTIut5M4h=4KCQoh2R7LFSj_Mn0o%6C*U+_*w6Mt=F$JzOu0iD6YZl#) zK3aJ*jW%q)VKN0G!UH9B(8Gk6-Lia^825>sLu9kera7^sS;dq`*D0yq$W3yFn=x`R zKAU{gf1)5L)}z97rblxy^NW$2$l*Oqqd*W`OsTq57BZ(CDNOR}nx^fmqLnjH#Lj)r zJl?KN>J|FGaPQid_7+Qi`dS7iOiu-hZhM;K>G3gV zxiU*=&9pQ#Qw0R7Erg;l&Ka5f8+!R?N|3limIdoMCa8dL6LlqL<`8Za4YMSp!lK{f ze+jOiM;+}-=_?|3w*(y@g$zSBVuIH4heZ6CckTuw&#wx$iy>RM41q17K zG@uuyItu8;Y8`d)l+s+?_)-8hh3U;boXs831Q=YpQ>ypj7CE)HguVr%&?ooqs>GPO zYiPfE;I1PoO1FVNo^0>#yPJ%9e@ZQEq2v8Os92(7BPKZKIGXyLQ&cyXES;T_reNo+ zYWjEl`C5`Bo_M&92K+>^vw?<LQM_gx2S*V#fVjq7XDAG$VL0Tiz@Lqihw zJikHXU33i^bpx%s29LCX)?H)2dSIYU*PzifkYl?BkDY-W#}$$+PSG`Ff20iLl(btG zOanQq%#g;yK+c+WEA6c7hOw9$$k}iW9#;c7o30^Z3+pcI4&rOfP(KV>BWiJQ30ifv z5-QbEZ4KGY-5KUbl3wHDle8E!}UyuNmtQTXy<=CGwVIvyeH?qStlsNRlH( zcT5Qk95J8=ax*#Xn^6Z!%z?AU;MQcRiy|pb%bLO07h>|-Lr?{Be{0i{>!4M)=AdGI zhNg~NE7fNRkRG)n6szf)TbfyDx(-%W>uAGWLz{5DUPoK*2Gq5hgEs3>&qAnSK2#wO z>PQ1>!T@SOAYI(3Q$LExsYBPo3`=zjO}C)^Sk95Px_otAU2cLaP6>kJtkbxx(d!Kr zAIDMFog%frMeS@Ve>=|ft03g)D9#&wxHZVGXb=L#%N(c8*5Asm?Vpz<}h;OVm_bH?T^>EFuqcITI znz#miY8_4BZkN-DAuQ+&xK#VtMr@2js@5K zf*9x22&q3l68QEG0XsxSmrOX$7lLw(cF++zN1xzJ$_aXlzM+e9nbx%(+^fkXa0G5J zQekU5^~w=We&CwsF=iTKkB>Y;$53XVJRaji2T&u3IAFM_}*q@x>AM z9xh>5e>_dS&+t+9Lf~dkpkl!Lyfu&`o!Ut~n>~56oy}gbQfU0s$j#fy8UHkBUFZaV zif^Np&zK3xX6Q&M6Znj}VdTvHoMYv#+<#ozYwWZ!MbY)z=37=V^x=r=1Ui)PmtP{S0{B7@DV+Y$DEILsKG@qRVeV9|`w3-N{CI=jB`2(bdGwh?#{Z zqE8kkGVjx}3q~!x0DUT~$g%_JV4-h#x2Cm|#d^IKX*TP^^>0>mgwKKwg4gnje~(Mx zYwl=n_T9o$n2kCqBP2Q(_u8V{=N-2dz11r|yufIP@%q@e;v*z6P?#H%=`^tWdsqeF zmvlLRUSHCd3Ag!OF9-?C|4TS^52LqRL8kQye&HbQ0;^zR!~*Fl$h52;vM03BA}#F( z#$gQp7Wj;wPy1n9Gq|j|QI}rOe_@MO<(z1xv9(&}M5>6*BNrXRWV5E`vZy0Avc+T~ zXtxJM5O&!%1)8p~ejQI=mg{Y-C1TC4m$ekgi9}_|lgsIzh&!4l(k4%?9B!A{2)E6Q z%vWZ`g*~~I$FIIsc=_r^E!kAeNR9}Hc_d{D<#L>tuRmbPB|{cVt+~Xie>rtwmlqrD zTB$Cy>Eakmx6xd=6odD+`0xTB)!EkJNGu_akrJBI?&eDxyB2fENKq8Ey&uWuJnqv( z9&3ejVK`Xv)h$Q-VrFvZ5K1Zkq?Pm@(e@l6)jVk>mS%2V4SF3mXm8@VTq;Lv{ah{5 zUr6k+qU9-8>E_=~=%RX{fBz@9n2z~nCGB0;wsPZ|u$C9E)};Y#HDTAO{^$G8sPj$e z0O4OwtDyP5Xa{(EHeZB9!!Y8d8(Pa~qoAifYfN9r<^*nG?;wF`PxLj>Gl;;;w)c`v zIpZxd9NL7wLHADUJdF2b;$1ho^F!5G-dee+~}VBMhT1RT+!4I`mDNai(5}X`|Jqiec~)U2ho7cc+o&eyNH)*C>d! z(S20^g3tN7=P=D8gW)Ajow+d+U7~_@F)gqV3`JczC{1hko6$ypt{af@zR4TodT9f17l?P@B|olkV$d6If>^FOZ=c zK#&!K#vyS$0^VEtAY;FJppVLh?g$H}&Bmns%UfCHjIhQB>|zQiCWLCelMiPvIk5h8 z)TR3yC)h4eUW?_J@`UX-?M1Sam2+wm!fQ2%d)-34Y}S0ye|*#ik#G81rn3(hxQE7g z5-ptZe?b^n4P3DIN>_blhtf(_(Vl9I%%Fp<^Icky{e=jn)=nK4mwEod0AG(l2-+)mc{U9(T zsotm5U>Tk_b|uj#SoKfp&OiZBe21VX*&>BLeO8ee4&HV=r{#%-c93Lyu?uxp(PEJs z6!=08dkW`R^@zdXDUwRc#E5e6gFJpj!epRZXnXiI6OYzet)=U#J4@LYFT^rFSFwQYF1u+ zom#bjef8@vtydnRrnP^4oz;K+HE#OVujl05*MYkJC1#UvO#0fCCNxXG4r>4Uf90!R z)?8`u9VTA~FWs*LT#1Hk12eTQiFuT4ehUM(T5U$K-A1 z{XL$F&m@_TW(Tn^hLotKc0u4S>K51o+(9t2?@*T?w!|)mhb=mM+;o^=?nr8B@XbLKMY-sdE8@XbB=q6MbvH3 zotf?s4X$Ce!k?AznnKW)qlaL3nT1a0%8JOvB-gdmLhev_p=45Le`S%KMDwK@0%xQ9 zB{?HC!%!ByyJjt{LlwIwg8^wl*$#SruS-~{X-X4uXpg#73z1(B+L^m%f%wDFqi0rz zW(a$JNjB>%$K)QEsH+s_no79(Q!YTriI_o!>qgup|;smunkqy z{Rq3aqnjSxu7_@7e?}KR(zY! z$1qyzo^-ojf1nv~tpv@WA#))aBE3L0NIi^k$F=Z9(ke;igeNIjE?jrL>s#3ADAINm z4j^$UL_$~wf7|pdLx(h4CrQDVPxT@Pufh2n`bI&Eb~*_>LH9zBU%MOpdEEiNGpMXC z;hL^nqzCD}mPF5$m(jFplGJKu3)39}Fvk*)8YfB+(Xm@Baa-QF&?8~5;kC|~Xf1zD z929jk4SwvTydY4SOs_E!30}0hHcTeN4=K5sqA+>7e*w~o>+&^~z@pMJO&dLMZT3lj>+O?r3poM~kVBmg0_ga0R z(bc6Le_c&=bS>`a+R~1$r8>GEcXWMeN7qvw-H1E7v9zNbx}&tsg)u?i*50Qkk(ZfC zEI8~%C;p-{_hP)ju@{T+7mIT*#tRjDu@rx?H1}e>;IJ20<1enxy%;YX?8UYCi)(W) z#tOj7vrzf0mOqPT7WmYU(t`$LXw1U<4Mf@vub< zAuNTb0>ep|Fv2vVR;4L=GAz0OSXk5oMT0`#I6$V`V@#cJxb5F`iAmRyPY!{bMEn*r ze=EJzj4h_`b4q(Da|41#8M549y|C%%e;aGCNRr3~62*Xy+jU~l=&2+5H09{Idq}Pv zoTj%7YxdD>AY;(;Ae~io2aBRxdYKgAwZC|TH)Mnd$QU$QdUOMbZZ{b^pBw;DP-JO> zgY~qc$YOWTOu%Q2=}tqX>=fg67I`O%f3V^7Cuv1it(^tPX!M%ixX}gV6c8Ed!o-_W z1t@tgzkOY*4B$2Z*rNa<9G*L531EP-v3E1d+l$T7&&uXv4CQAInxIF-k$( zq;QW(;XX&$RFr{O5h+YCDNJ&Of3=s<2i0yQ4^Gj2E3Y%+%N(T-FKG0+33X9X$c|PpRM23G* z&izpjd4+I-OYn1#OX#v{`T%1+>=HAyOipL@k;eirf+~GQQ|gzylwUIxe?rv@y1^(E ziK-T(@3wH>K_@8`IR)~Zkdcf@R<>Gj0*(Dl7rvhAF?mglXe^|EC1 zbzW{VQ}k+D>;hiw0$%Kbe@L+lqQwpcb0sMdB?;n~QF94Vb^=y*0$Fw%f{oOr8Re`3 zu$8V%%eDHEWY%;5yhT?RYoj_X79nb3h-?=k3jq$@4Ma!H9mH2tj9+ZqHaPrXgn)0P zyCPN?X62(UBwfow-5hoROs0x-V{nTaC}0UAl0ima7HL{glFBS!e?mV%d^b`BLI$~Rgp(QMMz4y{u?yxqta{LdrCJ7wH1#MB z)w9a5ZL|aJ@(>x#dk$2W;Uw{JB0*i7LV6u=dY{`z;+Cz$xV;%}p)vNvk%ZSx`ib*Z z<;|-b&ysxCCbrAXf7fEaU%9F9t`ppR+0XZ1nrbtk^{R+=pOZe(VR!qfB+-+R$*c6E zhHT9VbVJI!>3UOU5sIEPh^ zpCu_88EtPuS{jyg(i!%;Zp$013~70TewQ|$^f0`7Alx+^+x}G<%a)j$mV1iGN?lDD zFQodFzb0Mnsam<@=}!4v{NWhZ6R#UxX(3+M5Y(o2B>j~2&- zH{n6hZ5frJOJ?xN8?7X?gseM%4*V7{r*geM#=c$CZogrppJgkLvx=B%Ci^n54kUv<1 zFZZIf?ZEI?eHV^=Cv`$r zc>c|97s}5mJx9a_4dtK^l3p-|O;zCO2zCH?ZL|9tht>$!ygI{#hyjo2{frF%nB4-n z!1IENIx1^rYW8ufaceTyK?Dv-9Ts>f1>4L^M-8+Ze_D0_BFo+B-S?K?zErd z4ny!6hQ?@ZGDhn-hnvF5aSo2XEbVMIYx0ndwKLTgb7YL0ph!060Mr)l&ny&)i^{Co zNDP z>h~yt`rQGuh{eiiS?YKBFepG9YARB8e@7>H5)0Z9y_GdvN(-bdaou#+1Ut&bO(G;K z7$b=XY~zHfQ;PSYpB|5_7U_~9$&5#}{W^zL+U1@slKc40ls>~#_Tks>vMJ6korVl* z<6mPY;(#fVUs%U8G|uH_7J^p1WkG)XU9DW@25X3>2_^S~*3DrD#anG&yw+?Bf1ST0 zl)-1KRB7VFK$d8TXg`~6#Tzo-0;%!gVJAVga1b&3Q;g!8fhHhuZ=m8@bO7Ioye0TxV7Cr+Fy#>%U-orsvnX83CCo607RBk;Fuc7m>hZjmm|;5^a!CU zPq8uoBzKl8u4y3n!vIf#ChJa_moA6f(+p8Jkbn9kaWg|=oP81uTpJC@f8B`q*W_?W zdJJvNV42#io1N{@?ZHM&cJQY$Y~b$=2z5aV4Ynm#6R~ZE=Z&tL)Zz|nq>d#dncjsi z{qfBZ!G+qYcuuEw?3&fRL?R?(8CB^AI*+^e30`6=~%~_4stmqE)Y#LF%KW) zoN}We0|y&sSt=Qb2!=la8YWi!UP$~3K9J*6$tYK zU%;E9SuXmhz|3K%+035g*vV zxZ}wos%YJqf(%SLe}qho_)PJ#nDgS@et^T=fG<|tXoQVlc6WCT)WN(*MJ=rFGj5|k z>@z0XHe;A9HC|xA-?2c0G|16*t^4cIwj7bQuy%_&c=V;#{dM$3JeR{iF{YA^X_8m% z^6qOQPsWkjZe3WyxJf0j#(11_dvMDzf8d85bPsACbSfh~W3!wQ z@<%rnBYa>?icQHfcpHiMJz)x7w|E-K|g_vP#?Zv z;1=rhuLrn?f5fZ}$gD%uM;^35YLMJ7OdtrTUzp_jLKj;LEd4k%)4mZv_2_(2Z1e}g zM!$mvoZmDI_%1wYy4PP6@w@Xy0KbpkMS$O(F9q(PITR%ywxt*7UUSo$BYA)NL6Y}x z&m(!CKSA>5r>WU8W)Jr$x@#=)N#$`qU+&e~wQ;?UfBW)-eorTP!+D>QIP$ZBoGtkF zTP&gCDyMk^v)dQUZci|~8P0o6;Jnub&U*`R-T>3J>uB_&T<@XRqwDaOFxVzx65m@` zaW|ChZs=~RyJ5@SVke6on{&V&M+1R7MMVNH2@?3KP6A(>CxNf)B=C)S68PpK68M%R zffsE!f6VCxtxFZ2qJ!urSKX+{t+~Y#d*~Kdmu7_vKKKT3zX zMhzD<@sdsxUsW{mwJ1$|J&7j15v7T5Ceg&V7ShCvwnh^#mRy4+g@KBzu0azc9VEU= zVc`0I9WCzI;>Vf)DT<$BLtnI%73@AMehQ$0u>}_-<`qlE+JK zlX1U8-hF^ZmKEiS$8DVLMQuprcr6ATXCAS2zTMisVrlabXqGozewEf%4zEtcE>nuG34!<8p+f7aJ2@w^C4?034mnG8pFsKYcyMTU{5DOJ>x z#?iRyjs|ddG=jUcpao; z4j9-g0AjyWO!m9FRX$Km_C8vnO!gJUWItdx2~75bD3kr55M#1GU}03=WzF&fd$5NO z6qEfRg~`713?}=^PiC?onjfsG*kK}>Soz}14+-$~4@mTasyqC^u;)oU_G3OA{vZam zA8=F9*bfAa{Zyp!hX{=QLlTR4t?q0FYRK*gw=CA3suB>Fzj#Z+3edlx7qCHbPW4jj$uEDV%Wite-tA6rR1<5 zEatF(UXsJUQ-6HiVI20SyqyEF?_hko6o_4UG7n-WgyW137LwSh6KpDS5GAocC=&Z; zMq)otB(aO^{7EGCqX>z8N0QjjbrSoS<^7I?XCFus`>rxzBzA81oRZjg7>RwGwO>F2 z+{fZwbcwYj(3-e7iTzswe~JBEkl0VCI*e>WzJW=M#J*dTt%><<0f}9+mri0&bu59u zm*AivF79Qs=7~mPPjFU}*rU#9B=%3~B=!?j+eh2zl6E-=QVXUVlEhwBB=%1_iTzXg z8`Y%H_XE8A1|;?vcm11%c12GtOl01tWf#C1cmX;A68o;W1`_)Pe?F^eZ6%P{BTZ*r zxPI|05_@NE^`yO+#7@^zowR?ESwH!D9eoKB`{ZvD`(KyDK6wU-f4zzO3rXzFc@n$muKpKE z?9GbSYbp|Z)bRNv_I@gfy&osB_vc9L{bjn)zYvMNpH5=$Gl|cH*>DPpz4vbv&Sz{m+xw`IpG=A+b-AN$k7WF7Lh;%Q18>jn_8Ei%IMd_c{|% zc+q=&)CQ4ne|m8edk>FM6YoAvV(-sE(8mZovQR%lV(%yBQtu~_*n5?PK=jar?$Kd^ zsPzA}s)UadImXdykUXdub&0-t$Q8 zy$FfD_tzz{^GzO-#NK=ciM_NmiG4FhV&95^*f(Ole|5o0PX($=Qv2FcK=pZ4yW>2` zYTuAMHJ-_8FFljhzPgarzP2>0T_$hQj&ayC#Z|dGLzt9eAa+4!FWUe6WOlK`tCsmX ztmodJMiA}#qqDt)M@c~Uh}VC0oVyzdt^0LAZG-6}^>biZan`$L|GRPSt8|~_lQ{R{ z(>V8ef8_g9JoimbbT8>Rce*(I`_m)Ob}qiVm`!1j$@ zb&DN#Z&&e$OL956llO=N-r-lL z#*@cK8*ylDSgD0|ig>SbVQD`KlK(Q7e$`%~?fEUB@`nYlg)u(plDuOTn3K_Tr8UN| z(6>2f=6Lj4aG&JSiB8UQLBHke+d7L zT75QZ_1gmJo4--30=4>X0g#sQGSxTB2;>d{^#}QLupdb^75$^Q7yaWL(UgN-ke|q} zBL#Mq)TPCo5?xwZ9H;f;6g!d2UL=e;7EyNY5q8@#L>LTn{3vJk^WU7=Cpok4k~y>Q zp2e9xtv;7C`;*bJ;XXshUi|0Lf3d$&*4)Jpp<{nr8Xf!F{|R*Lm+wZ$(vtL_MaPEw z6dkLTou9;L{gBZ7g!|?YO(zg@N{vAG;_@CbwHd--KzV6{`O3}j^U^v!HP6$8hloyn zW>%pa{7Kkp>_iak@5z#5(}@f4F-{%hkeNvH?lOLb!Gr49wg??uYGg7Se}&*!c< zvETl?QMW2<_Npw}!vcwrW!Y|q5crJnxdkRUA1~poR8666>gEj6GgO1z z!FIXx+7}IS2X+BrzvipW0i8N(uq9>BLL=sTgYOs3Kw;V--J*9@cXHUKV56XN-?AF$Yqe+tUjp?g(i{24a- zoEJKrEA23trup^4k)2_O^oTn^-5|JigBkWw7Y`~0`k4-}oCdIeU_vy)ex*QdpEp7e znwUYQaQ1fpX#aAz`o4O4`Tp?e@T^jCil~FbUq^WdwPNFQB9TWOi4^3mnaQWI75)oz zKf3W*;z9CMfYQjBe}c-9H*y_I;XPZC$y7gf564K7u$H7izeDIrYdADz7xY`Qc}(yB zVpdZ6ZMsu%uPT?nb;j&YFahcV_Nfvgj8!UPQKF*Eds7(ygDI)qUUxMes#QZl`e5u^%e?Pgj$7gMD_R~_X9S4ZC2gReolPe@_u66$2!74-O6tMimFJxFt6S z5I$i$4qEg?O+qu6wg%JCSI_Mjlf5&Qfu%bgafCZj9wv{` z#L^SwTHeTgh7b7h!90D|yuHbAOQZlxE!rrrYoVkxdwd)&{suzbqy49mljRo{z0}ac z(LS?AK6~)erhoU~)}V&5T`fDeP;Yhynvz1ef3GVke0vvFQh28;DZGm)DSXzI6fTmL z6h3h2bG8oR{?2a2%7uGcjp{6r3+4)xRCjnmEzcERH@qM-31h=`V|8kD=Gck&&JtVaA#36KSH6tmX*pdYoYm z5H+EMMbYkK1u@^1j*1-;5hn&>GY{HjyFJdZjrOsvVSd)^TnnAzHM_hG|G-ie+votc zh3w9&a2$$4ag3)7@8VY3eirvo?#!u*e4I(782J$<=F2KBkwHGYdtmo~0!2zJ+$P*0@L+b?B2j>QQuf5*zF*O>VVK?iwgN3;b;IMNWIb4Yp70hmW<2UU>= zO-G_bnP4=8E8j|xe=t^w`p)%)1cYq?ho^Fu+s`>`w!5E$j}ei4 zi!XJ0KKUbr=b<(QnGEoG8H8uHOfrcw8(6BNkGfki2%2Mf< z&33a{_Bt3;(X$~$UVei-zn1$Ig^>I_&AQ@c^b zP)-UR3q9pvBpkYvoirzBCq0vYo*N^51jZX57=A^}HQ|s-<%Of^e_yn}q^z_>zgeh` zrwtvC+;!3yJx-f_H5DyoD7u^Qscxn*i}jhTUF?enq8FX$CVa$}^$Rs4ZDtSkQHTam zx!B-8+OBB*bE7>ZA@4z&7V16Gfcmrn^=7QL$fmFX@3v!I@?>G~Bh5pZ@zxt<4@5(4 zKt|;n7qB}+ILh+|f1-rEJhe1QZ&du8vt?^v=U~4;uAx_fxQ!yU0gYO&3;& zrWI{u(svcCp*6#r`Pk1D;p1{P`(mJ#B+I14+K`Vz2CB58|wiu||=i-VsH8^c|%f22-l&(cEO^f4rkKp%xVs`i3g#{YXJ? zp$-aZjeTLuvL4_d*O!ac%M@jn0J*+cjq-381w2vdPHafk!39xFd3N|>8WHoOjCl{H zrT#vqc{svrD7YZl-_LbMFN^573YSoLyB7o>SDERDE*wWd*B9_ntN#TTZS;GWz|YMW zT(S|lCV0(8f1_pQx{V*1mJaawz$8|AkT5R{=H`Xn@0%9}^YcQv5pJ~XtZ>Ad3^=pW zl0~@;N+JN}9yM`rL2|!$37X*U1<8?Xf_CvZ*A(+hZhs$-K)g;23h4sy zuG`Kv(Y9*v)@;x+r;&c|xH3!d|Yj#x7J7`Bt zG;bG7GK2I@3 zyG7?#?)ri(J&o)vIgM(gy@z%=Sd@1i&Mu~IEK+GvG@SBUYIpueh|0QOQgC}N= zXNk2We>QIvf*trW-z+~hhx|nQjXv}nWl?bYxpT3^-TzY7XOz7!w5pz=OLT%-$U{~1 z!VxdN#c~e$4Qnpss%n<`7ADu`+c$RQ=F7{XYg^@h4u3;ubh1fZ52)*X;kwNV`~e=w z4_}e#<%@%P9&EE2Ofr5j%(P)fVWdn$58!JXe;_jki8E2T0cT>M13B-EY6X7RyfZN> zXsLL_Bf-bJT!!MnVzN24l{$VHnV$T-0;@IVN~PkgTQ7^~L0%Wuazz{MMN8enf$d)U zAoWrop7!#0`tbBpADA8#?sEsCbUgg{^q1)q>dJ&@PwbmSYJN5N!TD8h@%&1kS)~m( zf1j9HrS&8!6RRZ$oY9F@J7K&zfMIA`4mY2gS7{SEKmU7| z>XFFmZh9`K^|5L5ijfkoea5^Zn$I0Hf1>#;^0@OvHhDCg0wN3*#FQ1me5;-N&?RE}6yzK6$x~~o${Y}(-HYt-u&&%;f1xFJ zOH?X`ANa)J3Z7hFTg;?`*TeZ;Rpmf!FYe;2m8r9lFTD(AS9Dhve3uJbgbE3V6o^<0 z>Mk&^Jb&l*26YzLfxd8uJ}D1!`05{-OeP~nUHO%1kauPo*ba{ppTKACPXI!cJN@B<{FME9p#v3-rwv=?^=}@2hm}E>1TJ`&!`lp+DBVk2_zAf4Z$TR;dmr zWl6-*cu|P>z`L3jir(@P88=NS6hqh%-3ae#b*WU0F68|UG*q#)ddeYyoeW9HVpFLY zzmPWkDQDpSm1yjkI;VdMdpk4+MPIgJ3|62u8GxJ!6Pt`Mm$Qa7+WOO27`d>H;|7n9 z(QFLs=zd_vZCRB$hkC;~e_JrVcIPbilPxY80l7`fFmfhs^g^pl5*n&dHdJ$_w2_)K z<;5YvRu;6KP1&rM%_h{_Z1#n3iP{YU<%7i9J;>#(hN#GqA~VQ4vzpwT%RZvkwL!=d zmesgq3Cppeik?G!oFaQ6RmjvpPkc_b;+915Es6)TWkVFHFF)w#72nqYqACGb~z)WRE-$sL>*S^p5U2blMor_`*>5ksK z2ZHJPgIO#YS@>W)ubyg?K^|=}Ms0==DxVAnrc<q z&2v7Q^79RTWBQdst63@Nc%e$cgsKc$olx`7_KZsFg3$S?eA6AoO~lg642>Zet)>fr zG%0O-e?brzK7RX-2$|#F1rdtH&5IvXEFNDht5}S78$wcyvAOK>@O5!*y`0MptzCZN z#~kL0YwMPDf68>$EvZSO9gmvOg$;sjaoWt>ZPbP}lC$ge9KUqbWl>$0>h+wFH^l9# zda@RMvaX(NM4xP`CtJ}cj_$qYzoP}fDQVZ5_s&|q4iSG3t8%*yII}gQI~=!pR-M6D zMe=9nljjdN8BpI@*V5$A3&Nn!FRI%N{>)UIuEYEOe=y*RZ|nvN-f6>c1-)~~rosHO zYO+1kqD!rVQNJIAL((c_J`$4Y42S)J`|8z=H|&g>h3laAYBcg%-v;#Omm31hCas`H zi^L%B2gAH{!LZ8JZJg{|p$Tj=_Dr5WtZtiU7lg0kW_B+Kjzse{l}Y68F>gP8I^0Vz zinxyMf4|_Vdgksz4UsAPk(D;Y=+XCIA`ZV83S4yLfoYY8cnA_r8vcSkhEph^f5R#~ z%{Az?#R<6A&iZ_Iuw=oNe_3bkaeWo}wN1F+ ztY_Ctk4|wDLEZ7K85}+P^n`%;KDtEPh?B{;fAKa|oVvyP;`H8aK40Fh?bmMWb$ls9 zu&o5dsT^!5C(D&goIJX^1$4!u~dqZYkbtD`ov1X8el zFk7cA%QcF#+yb#x)C1#E2^jEju}ZZ?9mL+6vpxAyP4b@Sw~iWpcNGo#jcfAW^U1(n ze`CVpR789o9lv)s(9z-X-qH4nyQwtGw-D@n0)1PmK^7As=PrCa0~vCdiGT|E;coR9 z1ju*aZ-4v{Z=; z>mF3E)qPjhIeU}R7fK!v#qKH*Is8%qkmJY|j|ehrkAzYM3(KTQa7M!=ey#*e2KA`; zA^bUDGmb-uJ7ROsON8td^z9UJ=~!)Ba#Q%yJN}j~_uOrvhv^ZevmI{gO;rZN6sU~P zl|6Ze>fHQY8L2#AQ7lqg7J)biTiN3FqAy3*HBr9s*EZ?ho4Rebbnc)B$<}rcz=E9m z#J1NZeDdN$9wEJ>sqfM2iQM>)6K2EPNNP-QHzjSp0S!X;3IEitF3;>xydwN1@5$G0(?5L}E zZj-*>r|09@l0UDgZ6|A*X=_FzSfYLvtbczly z=1+pF+^eJplnQQoZ`=4ya19G|CV?PupNevTINa6DnVRWh{9TBHNpVZB>2&YW72l)7 zQ~-p?vo>kXZSx8wExNb`v2P)o4`WKtO*auH*;FvSyBI;Qqk%JxHkPwaP6+psTHPd=_^e@h`3)YkhL?%uf27N)}&4XoZf6v1rPWD(NXVzBn%~6pfIcYh{CZYe~w(^w$gQ!^HRO)>X?%LE&@3 zo312w3F+=oP-`#t(AttnsA6acKoZSK9x*Onksd1fy=ejal$sF$_^d9`2T-A1+NB44 zvUm7s_J1Wj_HW9xeWp;a0N|&$uQ3aoTCQ&Bz{RQ*#AXYp$||Fqgu-a z9whSbRrFr=Yk32J(_$6TE@yM|^#Nar=$F0e;zJp*!N|0bauE!%KN28Z9pVLuCEyp9 z%>RW=@n`HNs9Z9kQ9fHEfWdz^N?#x)HU@|!Bwfni{uG?RhpTB#PW$`` zY@+=2lQGAKmEpkiDfcJQ8TbV{{5&cW|c`zX)i3gPd*9V;J!No@j}v<|x@(w19*8UcP^Q=Dh{SDsRb zZ|uWEKr!o8GQ~a4vroPQpy|(H4tM`iVN3zeGlkS)k9gYHXQ)WLSA4C2TKlP?QZC)lFl0OB%u>u30Rso&BW;_@iGmW^RGPeOuR)B09?@(TjaUo^LY&!B_4SjB`e)-fXJ`; zp{qo^6w7CYP}b&mL`jqvBgbdq082M>B)&OBSiy$=A&raeYs&6-#CgbTo}$Zm>y@tI z){eApalZkr;pH--OAWp-?D2-U6fedDlnYD<<7=cNgtMJ@h}xy55wxId5*sTW_dW4a zfTcXu?)41a`#%QNp3+D^A$WP$d({V3JET3x5?j35qD@tAUa}B$C-Am1D0W(bJLwL@ za+*V(3)lpQR|%a!1z4>GsnW_n2Vq<8A|&da@eQF0@pa#Y6VIs~FNV`GRJ(c?)Om_} zIp=OC#IOaaO!L!|%(zH;B@y)#%?G_XfV)q!;X8-mlXgd{khfGrrgIEEdgUxkGS<@V z=~PzwS{(Gk81tHwR+9Cs(M{HPc@o1XxPktNT3Zj@7tO_5d8%)D7*n3PlkmT7JHU3o z`1U&=7v1?*yy{0dNRLJIv{Z#7*?)DmG$nXTM&1()G#1w#Ey+C9FjgM76-js90NMDz z%iCji0);bb`7Bi<$=9uaQ*;d$jlBeyGE;4-ud=8E$Bx}ioEF}-UUfyz1ggCOiUKl(+mqU`jP0I#>3A65f3e+P&O zg%}^iE31Q)@*;SQ2ole<`t#aC1c~fxLZ!DkoD^Pc zG%jr!oQUr^zN(Xx627^rO}a|H*^}Z39$7u~wcdd8%c%zkvp zPDSDhTq3{Y$|+vK=!s5sT>C1w)M@x_1%?I<|BukIZF1SDW6#v%(8O&6ilSN!J36zp?`TXmCb>k8WEL~a1VAWJ*RrBlhkHGZ2bC|O23(i zlq(CpIdSJF*bPkj=m7*>7;vn|fp{uCz0t-LG^a~J5zQ-vS1xed0e7EIhlT86-i_5J z-0xHVcJoyHVHh(ngz&VwGvPD4#5ZF?smji}q$?(d^freCYCXF(q!5Or zy^^mvJ{Z(5XbbeG-QK{Sv;El@>i4d@Pj-Tr;m0$B=}`KjIRHnL=*06TT=ANT`SGzwT}4`Us!1;X!wR%dW5Wiq%i?2Q(stBn)4j+C>tm1i!f zN^BS^;%&P1-P0Ni^5BLe?^3H*k<|!+<>sZ8&rZXRHzge{?VereFIn>HI82+Xk%OH> z7>)+bo)D;?}d9StU9jk|4_Tuor9d{jZiK#dFf*XEcCzVtP zmU_^S+W#u`R%JdqJX@b?Yg1g`mlIMw{=HSEuU4HQIrC(+>Xqu1ZlJnoM25&9g}ydF zEq`13Wcy}YAgLyy7wUE{9NgB@2)pf7=(1dN08FM$hYG%qDpghsKw39sb+)~;eX_|) z#Q51DrzCIy)c`hih+2>gxVq zfFXCnbr4N%0}^QTc^sY(gT;FSQBMeCl`Js->ZAwSFnou}oM}_Tk|rb+lVh0Or;O#v4hfV1YOb60Dxn@2~l*9mvn7ux*Q{`u9rPiv6t zuA0EV_DXZJ_ZJQ~gzoL{u1~GUHJ#ji2E>jo!nKbB{f?j6*-D7wd3baOBFj+vs3f@* zQQo)t?Z4AnWu9#}9s5fjC_H&QR~l#Xe?oNx$uQ@R}894lHghq3q+jn{emwxc@k1z=k}L#3@r z>lHoD#3v(`Zl|gI2%WHwPH1P31M%BLxKN!Ae64DgU3{gC(A#)YL#J8+>qlXOx~jFh z1=8VrWX%jWDd|I`ePUhgfWJJmyAPm7nzT8{UlSoBNMQfL`6Ap0PuTn* zIxJn>a$z@#&lFngxsxXhhUp)a2!c=|h`>~g1ocPJ?`et+-#D`+27Yk~bLckN3ioVt zNd|@iW;E-CiPD~-P^c|#@ZY3bMZ(Yqu{C?78igcqwv{lE)RHM8_rw2O#*WBuqSbHb z6O7rd;GuS+Au7@iumJ1^+bA}-$%bTBGdd=}f%R>|MpQNRvAlaYm1g&ThfpisHvl#} z28o^etvDB+dVT+dE9;dj_7GtqgGSz>gBuRIfL}G(UB^YtMo@H4P1QqKy>&FdcFk&> z*x^a-?qdwf+bp^<0oPJQ(nZzl$*Rune7+2C?1W*`WWcjP0>E^Q$fs-FISb#s6q+2! z8n#uAHVJn(J;Q6S-sl8&?01dsmT#{d&B+aEw>6D)x#+|5-zLY`cNZZ8>$wHW9B~@U z5~cWGokHr-v2JHSM0-j@j_Vz#N&j+56fK@51~Q%rcIU~6p7jEWwWvNItufB z>|s2e=1Y~eHvq>Cp_ho-PEqp-^kGW7fiL}r8UN}LXWeOKF^MfMC(gjJg1^DtC( zaO}ti28rf>RH6))kQ)wg)x(oB0>ze5HRVZE8X|?xRscR=IwQV+L&~0xf}aeF-t}G7 z4%0oE>`L%@AiA&%FUgeUQIVz6u}&rzEz9tX@0!NBOx~n|F4@v_B$)-!l4;yMVN|xQ zrs?|yYuP#vCan{7y9!s#Pr{=$?* zJBNkqdr0*T`0x@v=Pq{Tb%+VzfmHuq^OuBB79#)l*?DmsYIWbWInP}xME|6wSH zBc#T)LNo4vRvP6F7Bmz>{v#Qut0!6eZeTA91rAu4sFE30HxcU{gl9$|kO8-lA|ZiO zO1%=`v3xirCIGL56MvohiT9q_KEM zcpm%=g6ZV4uNwQa?>;+WujM5j?5Ikrb;Yd2aqhdC;=iMG3fwe`M= z({EAHaFH~SvIhtKOf|?CY6D5k!b|NW*vxHgAP&yk#Q|f9rfw+uNOaCxE~q7Z*(j!f zcKPp07TI%94k;8>sb@MT-=cH=-#`fhhbG{|EDw_=5fb%bAX1re{*3LVP90Wzk7JRY z2A@&oC%*o$H71B1JC42?fNcw#aOw&a}$dS@rp3clkBxO*HA#8qjnGnF- zDx}ldFmu|qVLiosd;=sVm0Pc@*5N2!bB$TiK#gXxrC?lAF#kJBNd5aA4OoHEHK&AF zLLJn+kd>9adGcGO&}79l&K#r7IXeEvGsvlyD?i=p^8Gof7pkn)M!z7NT!}z~0%ztX zj-Kq5n{;K+bzQoM(bFkTodGfY@dQ9vuM0-Hk{LMU2?P8H2IVi=Z^Ld%Qdb9vqb69w z`urujBtNgwnap25a?up#9jQcD8Yg_gL|3GX#yrE(G#G-3C#|8k-!uE=P4YfQ@X-D0@JjsYOQRE*NJ z(-8aTc5gx^?P`%gTRL*_bQ)Fw>0?9K-X(C2uZo-V9254<;$z5WQ8RJ#g_{EPi(pwc zN9dzH+;7Wr=(Q-I==530jD|bIJ70-v?oFzg6IF$jt}>+pNzz;o`&@s0&R5<-($cSo zV&2_KUyNnKfv+-WO5o}AWfb7mL~#TniYP9B@oY{(l==RBGLfGcP)_;}k5V0$iMN#r zjcnuOS|_>iwO}Omj5AuAPb5E2cCetmCOm(4Oi4+GUqo$TPcaSot85_T*ij+cY#~OT z?C3@OY{ZG(qvzv2ZxpB@i>Tw;DM=?%Mg6raNd4D^P#%+{eS4)l(*YnM??lkEd$cc2 zv;8Oc+@o4GweB=-z$1)4*xejS)1J5HcF1ebop&wLsxswMJAWvb?%7mP!+QpI*3zH& z_(h|KH1#eifdZ(QP39gGs*Fp2{mKt>FI+vxlAB8NApa=9ehpB+M<&?`{oQr?v;0zU zkx76|kSM{Gc9rqubq64xx9TbQ2c6vYrnq%k8BVOO$ra|FH+;jl_Rr=!CQ7qU(Vxvw zfv}Al`sfYQhboG-9z4Pc*I;FbWM($RBbd)SL4LiO72AC@6#nE>)rxN~>)ixli=M14 zIMq?uSLtV4beoRpC@^1XtKat~=G;xV!e19Hvt`B8+#BEW^#H)G4Z*cF!8hSsD!s=% znW0&)+Ya^Yh45Vpz z9SCd}eSRM<3Tzct9~kWAP+s3KC0biiUSC<;1r9ahw}piLxrORY;?W)@bD9UpJNo)8 z^+#RafbEDVhyfr5QOxZO^k03;KC-|RXwbDH$N-To5g3A@J3t{oecYc!BC!Utzudb;B^VMJBGyEo}gE3N5`f{3kaPL8fADx-oFC zS7!!{(*#N~g-9wcG!leHW=tZ4#G?~f4Qcg^@BgC~qg?v>SN)V8mNYUgh{WzRaGIZRF{b%nmt z&+#Zzp{eJgjG4gHNQPZhXNss{(JwwhL&7Stp=>XNcM#QupC` zthtd*z68arz4Aq@wR_JHRBp6wHPlk~UU>l4UJ8BQcXQt`r3|VZjfV7nXNlN6e*N6} zh&@&$n3x-7RIX`Z#ah-QgX9;IRaPESIm;_#e;__U19k}Ak*drZA4*qNSrg0TkhYrtFU zYGABw`NLl#hgkbgoN^hn6urGFPML1!dRX3T3EJ>$NZ6bJ%W%delQzBc+oox?DgR$IdFo&wVTi5SEz zHt8M2KE^-&9c|A$^tvDf!xNdWlU4EeNz+H5;6k=OBY6L-;0{Rt>kmK%e|0)!fK$0&H?x5yAY?>M4Y+wq(I2p z^GEj|%5mj9KS%~RJ=Tib^XrJ%1AjIIu|=R?oUwt^kx;WLnF5@W$?qogV)m*wN<9J^ zJx9nv+yIgR_kzO!-aq02YAHmVwM#+GUG6HxR7k)#YPkxh*Lgf$k-(b)s9E1yFf*mV zm`bHlvgC6W;!klPCG9cj^pf_x-&kN~JpUuh!tQ@%&EBJ3Z^B@fH-b1Fs{4iqy65e0 zulSh-+}VRTU33P92+WDwv|v)_#=#aQ;C_1-0CCz&-~W1r4RMO@-4VCf#Vl`+vAz6F z-0x9b@R$*?hsWm4544=T=Z!hu(-iZCPSY zwNw&LHB98J%E_NumC`@}7Yh)ySA|iDLD34lOx53>A!c90AG@a=4V(qg31HdfBLB%j z;}F17xk-FkLIiN5#;I$_)7(3-gx|?}I~XORWrlq(uli$qzRgbsRc5YAX^<+U0}!kBW?Loe>P1*#ls;~Bl)u&z zMfU-7+%cJ0GiHQU=p|h9#SkIQ1x%5Q6QmexHfD5O+R^~SDonEhW-P0Ibrtv%kx~r( zs$#fIdFT_EsAgx&zvq3l`!Y>uq2i0kK9Se*UxUc)cqFl<`80*T54n^#8`_xMlV{+|nn9g22Vickt zy(1{yR(k=n+h}-B)X*O=s|o#!<#;#Oj&#k@-#KYDB?rB|lg-1&JfMQr4NYS-w-*P% z|9cJ$gQ{-*}MR7=2)D{QKl)}f=FmG+fS6GPk9X3}K0td1{D`<5Mcs@G}2UaOWl^l!bhGT86$ zwE+Nog{r~eHVn@rBJ@t8%~YHq(<~!R0!4jyOFL>AQfiC(w10ABgMQ&Z2 zr;^xV2TuZNiaWV==!(YKvKb!1>00R$vT;+rK8_${B_}wGSiQt{I?Zq1Ak_YJfpsos z(8kH8vAC-*p$}d^MviE}Nn4EskNWUY8nuF{7^ZGsTOO)3Y)F4q@ z1ilSwcSzU%@JOh?%pymeQ1gdlya<&XH1|G{2*C-PFtC@#4cL1eg8uuFNLpA%Kgt2W zGX46uOSloa{noNYknFX#A9GZSd9e2Q^WtjmPDmg zCKd$CA>1F*5#I0aECDA+_;hzmZ3-3BDN$WTS9|j3-_!r6_b1vyzqEGNxu5tRTw%!Li}@D2 z56SbWD*b4pWtk(B2!i09wKqeZSKcuTq>U#^)!11|VMA$*wch99L`75`^e)Ht&z_90 zLuw#7p!|COwcGU148$6qqE-7=H#0QTRf8<{HSDPxUHz%r0`v7zaf7Oua6KGA3fn5V z4nA~x|5-<(feCdZ^D)B=EOvz2^h@+FY-1>V!S|~GhPazxn#!&6Fk}}rAvv1V^(yQe z=z)r0Zgf?fGhxr*;GaHYKNmoSC7i&cJ0$7CGX&`(aI5&jdiyHynrGrMP*BQdD__jVL%dfKp?x#!X{e#;7%F>+}Gvx^-iG- z=Ad@ii3;4AtDhyp!_KzmTO#EC&W$W__yvJKTjM;|K2(Xs3ZdGxBE^72 zFCIcTfQ#WtGa3k*&oy<@84~=3JTBUp%D=ew{F?|81QMU7g8~!c*7KBK8@UJ}XltLX zyEHL887=_Aal88lnL*(SfFDOyU^2?r3nKa>Iq=F36CymWGdGQaw&_aCwKRD46TA*> zm;T3>qu|`>u|auNwya?>J0%U&bY)U1K2!C7T6m9If%N|ETKR8 zn2P#9l3Cn2J-2O>@6_aR>|%4}JdNqN_OZ^!vTg>GiNo27e&i&$BPUi4`0Zdq9Z5A! z3HB(f>sdq|{89+Ke?+J%sTq@~G8nA4Fywnbixsw+HERaLsFfPks2*g*q=^?xI;Apl<2(FV&~3kAJTakqTeu(SKeXBGW-@bH?M zwa~V9-2sV3Do#~>LA}asRRh(CYIphn0~^f|ee~u0Tfr#`z#bTGxO3cs60Z8khMYX` z$HwAdyI_->;-dAKIsjN(5DzLAm+sX@{=BKPF|spGA;uuUG(c~_-P_6!Fbo&%-bIb{ zdlTc9o*xSwqUB;lmN$J($N}GPFv(I!b|h6r4|W27xm4Sg3_v?#26O zJr>BJOim6>K=7m%KpshCF&vZBld6UB78!{K&s{^C%iTmm_^qQi(WNkuQT;0q&dRW* zR!Bl-^MgnQOiiU$877R5M<)y?@q`_cUVM%!^9=;1aT**9di%z}#;h6!@*eg|-t{LP zb%_Oq$9jwt`9?$z8s?yfNU1zMD{c+&*A~q(vIy_YLL9a*!??2aGmg{ra}?M*hQ~h1 zKro+F>N|$6y9^*dJY?h;-4bOG=j`(192}A0+*iH;gsw-AwIA@x_;1Y_VN8mf+RxEK zL~)MrddPI>P|r}en9~3JWRg%X$Vr%sM5R`|wI7GqC3HW9@2di(`x%=OCOm01RH8*n z%8$T+?NI*QCz0zc5&4!H)l}{^E)i=>TIj&R|Bt660G!T(14Qg?jXPGd4yNkqVeSR( zb)1tOFwXaZ-IojgvKS<=%RjJt=+HWM-Fz7~ul^Ey=$hgnq4qmNHWJN@x-)xU$)IPC z(**l;jk_JxQwJ4Z-XXz@v6EhG*(bh&rd;=3unB9PpD!fICmp5rIFii89C4AG`CqW# zjRs}2tZ@8J%K6~1VvFvPFdSupJFQs#C-HC#ps0=0j3=uRUjhcmx}zwX^qjZF#EX8n zhgo%$p~^QVJ~Y_~HD?5_-b63;(*m^JFELP_+*{g#oH^H1L_Kf`{D6&-fx^%mvw@Js zt3boc$RwIfywPahYIaGX+E;1^-1W2`Z2dJScJ?8uOAVTZ^8-+esFGWF-KfJ;Y=}idRA!z=sl?MkGkhr)t>89RhGHC0=X|U z3*EfqMRqBs1%QfDI4o>>IRV9g4#Cp1C%bpKGP8ONIyc?^fuPapb6e-;kc%n;PDTQO zXMjO1detd$8VYnS?BBu59qFporLiMS9`bHGPNtddDC?zSaj|zX?Uq^o*bz#{uaD^! zDS+8v**VWt^YX|b0QavydoeA42P<*~(uXX*`M6kQ7pr=p$9OU3+>U$<{uC)(ZBOuf zr%<*zA#zpsT3rqhtmo6(&%M0^MzDycSjf29L;>fcR!xgRaBPR1<$ScwvE%&POkKQ_ zxbNW#(aCe#d^;>p3UA5W*OAI%%TY2# zVp8|noB{3>i_!As`^WN5`RzEV3~EwKlY~y!dXsUM^w0bjai4GRVvjli1NEu-Mf5|T z8i>J_I<(Fay=Wh$__&e@+%%C&qG+uJ@;*|hW%oDpEYMlw9Mc}-j3RQAz~@*)mv5Ka zjLCn}0i{`rv)`s@Ev@4{k~svP%m+ZTWPVQ?d(rtz{TaTyOu zY%L~wpctmWjb7s$xp*%w!B}v+qa^?78JWZ>&EdV=JnONRJRTpv!r}DA>4&I+I;+}D z1?JlC+%ZV@X^IAj?e5yk$z2BrL?jtUlP;2S@^|KOLb zJWFDhQ?4RC={whhKj$y5m{17p$arEdCDQ|^9k8RMRza8VM~4M$qgy~McB0!7=Vb4w zRF3NIza({EBad}}du+2$sF7Gq56gHu7EO{AzDeW$G&dQzM20}-7$F1m*eEvIy(N^i zn5Cp+mS#fV1d=LKc#j$Dyp7`c^C%&O*$Ka0X}`FWVu_d~B5!}ajQzKQ&3r8*WAS}% zPaHRiMTQ|8>Ev&;3#Qv^ZS9vf7kF!?n9?&7dqs6RdDTOJviAGoWQ+5x{l*AY@k5lr zcFoo4*}FDpj=oOBkcMa9Ptq8&a9$q>Cr0XD~jpngea=KFMj!l0evoJGf>t;lkErfq~=jP1=OM-PR#9A|WkYz=HxtHWDYad2NVy8>shdke1C~4(2oc z9MG;?86dytC{c0;YL6&qzVnKJ?Jb(eLv;nGa^#MGJEU z2Fx=7P$z!|Ce&S7$)Q%GWSi5H%ZPE?6gE3;usbY7>rJ_-espy%a1b56z9t*VrTS|q z&tnN?LV099l%*m`roPem&geLdquSIqIdv!hYCrAf{J;?rTO|b_US}Q$by1xoY2X`t zX`|D<7kJ4xaCWNxNNl%EQoB-vDzT_Zk#!UXAgMwZi6N<8S30oS-jS6FZJ`^#I&skW zC^)BdYJlFWI0W(Wo$4ch&?OL0M9gbgTtBFJnu?hgXxj|u>I>DhfMIS6I-5$GYdTxM zT_i^vqAvKU;Zk3u6Ebe$bN_17!8sOMD5X73M5Oy1B&V~y_VgHay!#aA4;5xhi{Wi_7!P5@)*Rdu8&nNb(A(&l_JhitX&;<{zKHHsgCH#M&&^)~PR#~O z_=k@{_h{EhPs``wTXn7H_#I>ukFwy$Efjc^3NwaM?Izu2!*UlNPt9JE{ucb9raB~l zIHh#Nev~u^)0CogNr5YdbMF9IK){ebkc8~YRqT6T=@%zC&HOzB?l?F+#>J56@zzE`SG4*Ws1SI}i#oIag9MRWQi4y1 zx>6!;W1mbZxw#^1)kJ_2UJ7DHIJt&>Oa$$8v#x~(URr7hmrZy|2bt}PA)RUg8=MmI zA!Jt%gydc6>dBKE?lTNaaQf!rFX}IwG7v4`HlL=ehUN-l6T8Yi|t9#?Fl!U~K%C z!O>pKgwRxfiNMxuHWSGG?aB2Hp8u&da*L8d=pxX8v_W$IL4Y*2!tamZq+G;VZ&;DE z*xmr?Dwgfj+5q#{2h0H}+x>etL>{O`+^8Lzs{9H~;^*0&u}L*Gg||vkz|fOdm@-oR zm^@ITER;7|I0-HAz~|%8J{UeU<(a|!isqpn8dG7rV(iry2U}=kJaH0_k@eMg92KY# z!03}#ekNGrl#d}7Y6TJoEu))aXEej$HI zmYarl-j(kczg#~Bc*auYC`q^jH#Cc6I0r5Zz=FJ&V1hC3%Z)miL9-uU;GLkCeGoqF$xxn%QE&3rv|4wiV64+c5~ zI)no{?u8(hjPbSzBYjpAA}xnZ=1o|41iEGyNr?J^ENKfxY+<<$fD}pKfr(#IyE>cj zE(PAy2s9)B79V6qt}Nwm=n5KE^aRZ1s|#83AAz5QrGgtU0xJ|^fTZgKfCTtbEu9TD ztf=WU7U-0PC}E2hXb-pu^vuCu;e-iW>&TMo?K4QgK)=J0CGp$Sucm?}F8YJEPmm?M zp=?&YzCFW89hx3lfcDRkCHXX~o^+*MWSU2b61eY)67sJ68WE5sKTpj}ezq^p3Xwii z@k0FThK~mv$>pKC{4h2~;ed=klCvrPV(^o=xR#?5$!+>u-G zkH~n7l&i3K^Oa>Pg_|GYy%ox70sE1rbLh{K89%Rgi>u)a;)g8L{gat!eBeVAHgcd> zkT-TP*{60J$5a{7+iDNu_Ykl~Y>%=-|?9`YQ7ZOZ9|qOnL!ocWevZ6htOA`ZoiJqxpT5D*{l z8Wq0xIu*WufqwdAamTYp|L!>=-=#Ood}lHIxY`#XMYsmg#|KJ_MbDB&VDK)h zVL<856^be#IiM%p9*4H=0kG^b0r!{DqemMr+Qe^cu-97N=+gYDGLAm!YgnhnhmE*s ze}C^lu?8!c#9s-AFXdSil%&WeUA)9GPdy1|RWlB}=Nl(5q%Ke!ili0@nS03{c?0!} zCB-4ED;!CRqB@|>{YfKAZA*APSg?A({oNqKy+Bs+ZV;gBMfv*F0gP+tle)SA*etfF zogpo`eFP(Z-JE^#68GIi>R4mC*E@dHIuK zZx3mrM?((;^P64_GmKF0zqRzA^^1KVTgn&@l{(GZq4jT`{IqtChCBMSV#lmy#=u84*?>qne zE|)%phAD)r)jK&?kQf*i$YkK(b@Tq|cH^K;{KiXZv7l-8NiTgPN7wX$urRx+$X4^q ze5925T}OSW0o>Jw(Jfn739nqyKqJ6yB_i#L@TS%FJ2)$xZ5BB+*dZnkZELyxAosl(r>rmvJ43SfbznpdiLU#4V;z%FfVtgc4nLIWJ0q z`XuUod!a)G&DF8KYs8-lJ|D}4_YdhKq6HgH2@|8ydmq8Z$nFIEKW+-u92WK*K7PM& zDF4hfPk(S&3{Cx7PeNLGIQ%nbu=>))h4G);Ofj%NrJ}V0cXVhYdt8{G@ zMVaPL^J|H;pF*d%{l|-z6&lWULfG#xEV;h3zV-$AaVAvr)kfJy{IV_bZnUZQHNd!f0KT9_{ksaEo z!9iAwyZ@BZf@@{mL#!@Qfx7-(Fy@8UJcE=;bB987K{YBWS67PU(5#M|J9YA00?-}O z`xg5qU|Va~y_py9CC8uof~`eeqA<$H()uO=A|k%EK;g-tuOIwNteHf>&j-070B;iS zTCv0+c>la*+hvQ00|M@s_*qJdK1+(~GXpkXkMYq#g2K1obp`Bm%qsH-cq6rsxriG* zeY!)8l}`;dKN$Uw!^-#6dP&u9KS0w}b*1#M{@-&G>kOB3qzqF&%`H}%q}zA0!s~ro z3^1inUE(M3!jbF67CA$UiNb-WIJ@fvHuldw2LTgoIf5+CoDScT8q`tQSAf*~pOxdL z!!oW4A|ErnYjVTRkSOL&EOgl5>(nST*kEzLv7=!5m=)}rqNnU1F&1g8HGpp>acR-D zw0<8OnfUo280Na*_fCQ){q>omw{FU%WZsyqlW2!V{WOv_i9}WshyE`w81|Pvr#2+h zH)--$&vEnc>iFkW>XhkIeqR`nPTn*>2xL)e#$RI3a%j4BdlTPKllH2AI7zBMqh5Hb z@NsE&SnZ>RKN*8bI1%9M9_TW9CeY-l@*KSdVI(BuOwq!Gl}+zV$5>qYGKR0TyX z&mSH&P2CaIlmzO)9^C*w7TX{sjLQeR)Ty-HhZme*>iZ7u|N4CBPMRHWD7Q80Jt*Q8 zuhWH|9Jvy^EMcUH7>ogeS|{#V!~;mMZ}e(n-*lC?7J-jid1>ki>1{*PTFR^p?8AIU zIT&DaG6aH7H!m80U6AczV{7wtog@a9p9o09iq`}O5*3?bt0&-K?-70TDT_Tp?7YYD zh?#21f>{p!-DET*_a)8B!Z38RPM- z2qQ%l8;L3<>+|bkv9;f;W=RXo{*gnduOle`+IJ=~<#`homgn;G0l*U?0d$u7LY0j6r?w+@PANYd;bQ)%mpCA5AM1i46RgECKY_XSt z_hoyTUOx33Z(>#@>KBG{BhItC>A+gdZ0hp+>NUNJ{xF2FE*m7C!tROrliOA07@HM~pzXme^3cd~9a0cEJDbpSEe;Czs zq&gQh4^Ad`r1nKQLkG9x2D?w6{&H6lnhJr@<-jjK`da30hAC%Hl(JrFk2Rux&Wjnu zC?9`V{VWrx%i;CPenN!NWat!*+mX^Reo5{%k}vmv0Ixt$zk2z$vWLuC;fHM%n&H={ z?jy5-a;L^c6S<@-i+|oXYO^Vg;>kw&U^z+q*h%|@YWw&^u1G9*oV0zPM(S1-Y#^){ zUd}diwqh6#U*p8)vD>u8d-VVKD=^#isL{ecE4*`HS}N~U@ipUA6~;g(ZH1eijQXON zRdsmNStZAVezx_JTynisyLED2;!YFeh%kS=O}XSq{K;2tVt?I^bFWKVVu}##B2ToF zFIVSP!szbyR?Db9i>vZ9gD1m?@#$c0UF?43Pp?ULSJuVSB^^;Gbeg35{5+TA3l@@V zPJX6{s?r6Si3qaLU0~`51iyHn_zt!$AHjJ)jM$OyMR*pimx{fC&g}|7VNl~?>Gv+Y zX@u!%(i0nWihq|vvkWvN=)dWB=%vJ4gLpV2U*m>29a{$jjO-?Wt>XErGTds zuqVPV=Gl})u<}SJQJI`h@K)@s)z}I5A#S$BsfI`s!++s4Lo8{cX~a^km8lA@qJUTe z|HBH|mPDdiz^7C+Y*(IlT&Q#li+u0!8iddoe7H=OJt4=I)LQpxqjff%t;GBPzhA~E zEuRxr!0&%h74YH5Q~|?BI)b_9EqjD@p8(|!t##712b^-(frm+tXi%>2GD{+aj)@OT zJ$nF$;C~JB047-QOWp(-K90%9BIUY-e!yA>uJ19!e_$s0#8nW1-LeC68J}T_-TNnH z_l{A-p<{e@=sw64ABzPj0S504I84r^63C0iQ{yLCLOD?)h|*$=bN&rCdQRkFu*iT$ zcyP+_oYn3!ixuEUtdW@n2j{+HJe>~X5(O$XUVow=qDREa$ns8@!Q?v0jI)Vr=A9_G zw(xwbU=N&7Sfz^%I6=k%-3j=at{KDLx?n~L0b`Pm_%P^ow;FL!Z(7v1&)rt#`& zZ9mWg)@A|o9$-4b66=Z%MigQscQFwf^DrE`<6xn83rhiOgOZO@8Xz0^E_KfS?UW;b zV1IT)ECNshOKW1vm)U#rI2*1v_}yMVV#vdqEGKbdPD<{89<$YdV1~gL=tfZYuviW1 zfh{61K#<5&s#|f56L;+Ltao>ZkBYD8b_`LfLp2V1U~dGT4b-5nJ;2_{!18k{!10t0 z%L?(g8Y%W1b0JEE-;VnS*Ido$#LCr>Z+~Sv5*^TT`RK=G(mLTM^n$p>P7qQTBS!pN zL=3n~Ms!Y?a+Tl`4y*Cx-4+BUj`-CJ0NF$PDM$MY-wPO%Fct+=!+k4@9>a$|CP%&? z9{9X5jjG?u1yNDh@^Kfhsu4)HsO*G3#6OXf$qO5192{Z4oZ4T8FiNC$m+r|TyMIe8 zEF9qTy(TX#*gr(KEG!s6Om9Z}Q+JXbzC|Q0`f$PwFsw$})JGXkunh`@LWo1blXBir zC={OJLC%EB(mslGH!*YWieq_KV&txttNjyZw1`c*#23BBPlVhgojBMv$-@J8grrB> zYCH&RVIU+|Iw<&0Us%iKGd70UA%F7qZ(mt^t7pi0H^!FD!-Lr1(eZBlp0cleI8oKV z68VVnTIZNZ^Om)v*l`5}iAR~B9S7X_z4&|Ik0QSd#=iJ?qEL}QL_;f`P?j{l#`exJ zBI1FCwe*FES4A+$HeDYOfIh$jeLytj^i?^mze|qhmqt!uFeU)VSs0GZJAcWZqrmP$ zFX^X*8bM!S+QX|LVvQ2xo!PWlwO@NxI{|YAGoOYH*6h7%QYe{Flq}FmIJKSsCIv<} zSBlfr2>MmClMVy1Z)V z8A3CwbqH;+L;DX32N~I0WsubuX4vKr5^b#@Y z(z0yvmENkai2Dzd@AJ|!GO8^%uwU%FEIM+57g46VUfK|Yl6 zAd2A@hWU`kt9m(lryVSf`n<^f!Vsph4tI69%jYg1>N1XpT5qg)P z6)kKUm1!-tWq&xJVXBun)bQlgob%MF-dw4y0t8^*@DikYPgzZ1cu32|Doc8(Pu!Ub z=9gw;oQv(8yAr}|T%Dmm7JA}Rtjd*&;!;+*%jKA_ulD^xere>w3SqYXvZUS`D^4Bq zIJFyPxb?-}5Bo?<_7NUW=UR}~iBw6tCu~gGsl^vRbAQ+MABBpK>USIv92Y)~Y5;KY zfB8!x)p@-!YOMYe;}<)qd5Tp}ic?-W;~FU(mCm^jkCSM<9MwbBa$%yZmTMdrN^J>Q zuwPIR$lxx4iA6x|V}OE-uiNw{HrsFR4LAb?4G=78Z8$G0L><;;@9n?=lZT-RN1nFf z2_;gjLw_Bmqgfuo2=T@eX2ScvBA8_SSveII$#k1$C_Uz;V&(u9LC?VT_qrOQpW z1k-f6ZAFinNWg>&bPAAk$Mzl_?-4?$;!mSmG_@MZC`JQZOU%}Y^6-qPq>09g;5k6o zvx=AIM4&8eBufASUSUe6ym3k56=zC|93=ZWMSqi=5nUycD!wX@rcjw=R2*p*w~`?V z3z^~w>gJ~~#KkljZp;;g@o#@w8nsWv$#OBFZg7xbgQX@^W$6tmwX%j7e?a>>#$k@y0tIhgNeXr4=wRjEFRIOi^ z)_;Zh>rG+(x>SK%RNO8uu_-q_OG3&`-x41`HerwM5DlwAxxC?8eoqY?$?3|Z+tGwJuCPW2~2jsJwE##EOuYt>|Nb7xoZP`n{W5_ zYj44p@b%3VSPMqr-Gs(A;g%i3#IIcBWo%-Zz$~yh(}^RL39b|lSzGa}kcTil0DphQ zbB*@~#b+H$V3jw>_3@{gRo)~A=WpMgo?TnzEuuTEJZ7d_mWd|R7={`cG|I>byD88l7=RgB7a^$DkZSKj%}@z%9^Dg9$)FCvMzjii|VAZAw6nm z5OGr$UujjHRJPLIJnpuo%a+y2TG7&#w$;g6N%4qVS0`&_OBd~{leLN^*U4*ZB7V|v zI$2u>Zpc>F$=Zg+XAhmMZGVcOW-7s!^v$&Obj$N#N4|nK=lS0a^iltAb0hO*ZgM{U zDJwrE?pfllHSStNtM(r$Jq%zNJK2B=n3%MfaM5}$Hp6K^b-xORS&O}aTRX~$uK9Xxb~mZp>Q`VtzD`2uGn zZ)Aueywk?`r_#KR{GN99HdBD@IgxAUN152A;#}J0Z1mE6>J#zHb2%B$IGi1cg=%ob zr?S#GH@6e9L?KY34u90akwzq_ER?18*Rt9O3OTflAuQrzp;FZ6N+eG8qAsKsQysC^ zBfA;)V9jh{7(e&c^>K>!T$#mzT+Jb0X^7%W-p$XA$4%$BC15GOa*&8)PgI$Fr%)6R z@Y>;Jr7)qnMB#PbcWfm~$K{kB*F_*LekBhb$8817v+C*G%71fP#z-xCu%a4xnWDDk zRBef_K_S8@NLsO=R9qhOAJQ-AeH{fiey#P$4&kNRwD?j2poToZg40r1SC;yDti14n zZ&=+h0kR;x6Q40j(aY(1J%_^Ww8XM9$qN<=GE8kUHD4XdtY@-RGbDBp_}`#bHLqnI zCeCZjO-Far?|(5*kIRKwV85Mvag^?)E$KC;7dRwUuLP|w5E!%VZZl;QgSWi^w*SAHs zBBgY}XUuhb7kj00g&X?9f!ESKTZh?dN@Te^n5Yw%S$|>SHDq{oUYENWEGV2G;PuMg zd@0T241?!Rta7EQjPF)<+~8$ThP1elg+f6@l*R4#zz7!8lc8+N;8~tAE%Oqkw_}r~ z;fxZa)bX6r_IR>X@rXOOcrz9Pi9~9KSji_#8gsGTMn4SMxv1YWcTBgcGnaYjHQ8``8b&g3@*|0LBOuT7KrUvnd z_8}CK!QE+kn;AL?m2kj!j}w$|mxzJ032sdzD1Ws7Gbo0MOsfQE;b?7J68kCzq*W?f z3;@_FfU~v+*lFtk4+Uy9DZjeznmpK`fN(fyA1>}X9n<0R6bugO^$Yu?+S*3NW1!|7A z5`VhcNWQm}@9pHfTvWbG%6A#Rd-%QHAfxgo)^WX&&@XQYY%tgjV>O_#3Zu)Lzns%+ zyjiyzpwWOY00$ebA!=Hsh~HSyN(mdIi{;#IkWr-!nzjlDQ>!#U=K@~>0nI{Gu%!7A zXRN#dx;Ig$3Wo<5(gT4%+aBtpR>q>psWYRLJlz$uJ zNd&lZk&6Me32$q%UKC`=dRZo%0fAB@O+2%2&Vq%jDX?&R3M^br!ouxwShyzHdl?q4 z#+5@&j)t~}uy9}CDejeog*yk=kqQg91eR&P(jxgzi{y}&$uTXFGkQJ~7H)qIEZpe? zEZqB_hJ||%pj@Yb1@}IIg?ryHtAG0mEL@G8A}ri#0t>g#9aCW8_S3L%`-KcF+&e10 zs^|Qj^E)1JLH83_xcwQhaHl^23wQd9Vd35wJ!X#fr1D38Yfu&o#4Z1foYBEjMIB{0%FK#ODYh8%v!cyV0@w?#ZA5#u7@ zkOovHAmbv|SYD3U&f)U1$A4y{#zjoP#_gwJ;~=LQ2yS0v+_?SuxN#m^5IF8rT-X+j+9^=??*ld&X8@KE) zLXZ29LXZ0tqsIxU5teNCxCDGM$rbBQUGvjj@+QiYPc ztlA79Qt6(G5@$02lYhISS7}d^oXg2O_KIa;X5+!KPe>FrVk}L_5tBGD&?)07K+2_t z*M`i&VLyZ^H<-B4aWfxN4zG9o2&Nn)n2sseTnJMRS8y3jx#nz4x!Qj*<$eZJt~M7_ zuC_3yTrC4k0!+ERT_axAQz~ui&&8DcQjdWHWYQQUXKxWqx#kb_`74+U zudrkssN|8%mSf7*W@F09h=3_q z%V5e)E&H#)lz*#DV#+lYOgWkFR7|?@8bcix~^^?&n!J*J$v_xUrJa#zza<<4ob zdj4AKXR7BMQ*LiQrX1A0VUj(-lxsdeD~rgTW)@SfN%zPXdj2w|Tx|l*ZI3`kCaI+` z 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

      9Q&xgHgmCffopFPQ1^7_lfd^&V#t>$J@|O$ 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 delta 675248 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 z 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

    S7Q<1fXp0jt@iZ6 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�o;R1cE8r5JGPB&O{tSh7IDH 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
    +!Nsq*cU_r+qVtUS*P3 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

    $Q4 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 SL!qR=e=g9cO! Date: Thu, 11 Jun 2026 13:01:26 -0700 Subject: [PATCH 23/36] update ignore remove vsix file --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 14496c9..eccd018 100644 --- a/.gitignore +++ b/.gitignore @@ -148,7 +148,6 @@ __pycache__/ # CI build output ci_extension_package/ -*.vsix # test test-results/ \ No newline at end of file From e2acf8af69a1b1d73c439a9f59433a3f6f2d307a Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:01:37 -0700 Subject: [PATCH 24/36] buikd --- ...{index-CrpNiEcx.css => index-BWHY2rky.css} | 2 +- .../{index-Eg6s8lcU.js => index-DQ8H8RKk.js} | 108 +++++++++--------- .../webview_template/webview_new/index.html | 4 +- 3 files changed, 57 insertions(+), 57 deletions(-) rename extension/src/webview_template/webview_new/assets/{index-CrpNiEcx.css => index-BWHY2rky.css} (89%) rename extension/src/webview_template/webview_new/assets/{index-Eg6s8lcU.js => index-DQ8H8RKk.js} (98%) diff --git a/extension/src/webview_template/webview_new/assets/index-CrpNiEcx.css b/extension/src/webview_template/webview_new/assets/index-BWHY2rky.css similarity index 89% rename from extension/src/webview_template/webview_new/assets/index-CrpNiEcx.css rename to extension/src/webview_template/webview_new/assets/index-BWHY2rky.css index 31339fb..f8ca2f4 100644 --- a/extension/src/webview_template/webview_new/assets/index-CrpNiEcx.css +++ b/extension/src/webview_template/webview_new/assets/index-BWHY2rky.css @@ -1 +1 @@ -*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_jdoxw_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_jdoxw_12,._flowsheet_steps_container_jdoxw_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_jdoxw_24{margin-bottom:20px}._section_label_jdoxw_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_jdoxw_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_jdoxw_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_jdoxw_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._package_warnings_container_jdoxw_55{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}._package_warning_item_jdoxw_62{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-left:3px solid var(--vscode-editorWarning-foreground, #cca700);background-color:var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, .08));border-radius:0 3px 3px 0}._package_warning_title_jdoxw_72{font-size:12px;font-weight:600;color:var(--vscode-editorWarning-foreground, #cca700)}._package_warning_cmd_jdoxw_78{font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);word-break:break-all}._init_error_box_jdoxw_85{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_jdoxw_91{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_jdoxw_97{display:flex;flex-direction:row;gap:10px}._python_env_container_jdoxw_103{margin-bottom:20px}._python_env_label_jdoxw_107{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_jdoxw_114{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_jdoxw_122{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_jdoxw_134{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_jdoxw_134:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_jdoxw_134:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_jdoxw_159{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_jdoxw_169{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_jdoxw_204{width:100%}._open_results_view_btn_jdoxw_208{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_jdoxw_208:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_jdoxw_228{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_jdoxw_228 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_jdoxw_228 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_jdoxw_228 li._active_jdoxw_256{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_1qp2h_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_1qp2h_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_1qp2h_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_1qp2h_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1qp2h_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1qp2h_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1qp2h_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_1qp2h_49{padding-top:4px}._group_1qp2h_54{margin-bottom:20px}._group_header_1qp2h_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_1qp2h_65{font-size:1.05rem;font-weight:700}._badge_warning_1qp2h_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_1qp2h_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_1qp2h_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_1qp2h_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_1qp2h_99:hover{text-decoration:underline}._toggle_sep_1qp2h_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_1qp2h_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_1qp2h_127{margin-bottom:2px}._summary_line_1qp2h_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_1qp2h_131._clickable_1qp2h_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_1qp2h_131._clickable_1qp2h_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_1qp2h_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_1qp2h_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_1qp2h_163{color:var(--vscode-foreground)}._detail_list_1qp2h_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_1qp2h_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_1qp2h_168 li:hover{color:var(--vscode-foreground)}._run_error_1qp2h_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_1qp2h_198{margin:0 0 10px;font-weight:700}._run_error_body_1qp2h_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_1qp2h_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} +*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_jdoxw_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_jdoxw_12,._flowsheet_steps_container_jdoxw_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_jdoxw_24{margin-bottom:20px}._section_label_jdoxw_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_jdoxw_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_jdoxw_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_jdoxw_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._package_warnings_container_jdoxw_55{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}._package_warning_item_jdoxw_62{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-left:3px solid var(--vscode-editorWarning-foreground, #cca700);background-color:var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, .08));border-radius:0 3px 3px 0}._package_warning_title_jdoxw_72{font-size:12px;font-weight:600;color:var(--vscode-editorWarning-foreground, #cca700)}._package_warning_cmd_jdoxw_78{font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);word-break:break-all}._init_error_box_jdoxw_85{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_jdoxw_91{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_jdoxw_97{display:flex;flex-direction:row;gap:10px}._python_env_container_jdoxw_103{margin-bottom:20px}._python_env_label_jdoxw_107{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_jdoxw_114{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_jdoxw_122{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_jdoxw_134{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_jdoxw_134:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_jdoxw_134:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_jdoxw_159{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_jdoxw_169{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_jdoxw_204{width:100%}._open_results_view_btn_jdoxw_208{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_jdoxw_208:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_jdoxw_228{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_jdoxw_228 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_jdoxw_228 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_jdoxw_228 li._active_jdoxw_256{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_17xab_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_17xab_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_17xab_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_17xab_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_17xab_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_17xab_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_17xab_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_17xab_49{padding-top:4px}._group_17xab_54{margin-bottom:20px}._group_header_17xab_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_17xab_65{font-size:1.05rem;font-weight:700}._badge_warning_17xab_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_17xab_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_17xab_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_17xab_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_17xab_99:hover{text-decoration:underline}._toggle_sep_17xab_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_17xab_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_17xab_127{margin-bottom:2px}._summary_line_17xab_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_17xab_131._clickable_17xab_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_17xab_131._clickable_17xab_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_17xab_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_17xab_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_17xab_163{color:var(--vscode-foreground)}._detail_list_17xab_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_17xab_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_17xab_168 li:hover{color:var(--vscode-foreground)}._run_error_17xab_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_17xab_198{margin:0 0 10px;font-weight:700}._run_error_body_17xab_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_17xab_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-Eg6s8lcU.js b/extension/src/webview_template/webview_new/assets/index-DQ8H8RKk.js similarity index 98% rename from extension/src/webview_template/webview_new/assets/index-Eg6s8lcU.js rename to extension/src/webview_template/webview_new/assets/index-DQ8H8RKk.js index 20f8ce5..988f212 100644 --- a/extension/src/webview_template/webview_new/assets/index-Eg6s8lcU.js +++ b/extension/src/webview_template/webview_new/assets/index-DQ8H8RKk.js @@ -5,14 +5,14 @@ var Rde=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xnt=Rde((lo, `);for(G=L=0;LG||Ve[L]!==ut[G]){var Tt=` `+Ve[L].replace(" at new "," at ");return g.displayName&&Tt.includes("")&&(Tt=Tt.replace("",g.displayName)),Tt}while(1<=L&&0<=G);break}}}finally{Me=!1,Error.prepareStackTrace=w}return(w=g?g.displayName||g.name:"")?pe(w):""}function He(g,y){switch(g.tag){case 26:case 27:case 5:return pe(g.type);case 16:return pe("Lazy");case 13:return g.child!==y&&y!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return $e(g.type,!1);case 11:return $e(g.type.render,!1);case 1:return $e(g.type,!0);case 31:return pe("Activity");default:return""}}function Le(g){try{var y="",w=null;do y+=He(g,w),w=g,g=g.return;while(g);return y}catch(L){return` Error generating stack: `+L.message+` -`+L.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,je=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var L=g.pendingLanes;if(L===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=L&134217727;return ge!==0?(L=ge&~W,L!==0?G=qe(L):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=L&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=L&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,L,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function jo(g,y,w,L,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Gn(y)):g.value!==""+Gn(y)&&(g.value=""+Gn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Gn(y)):w!=null?Md(g,re,Gn(w)):L!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Gn(ge):g.removeAttribute("name")}function X0(g,y,w,L,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Gn(w):"",y=y!=null?""+Gn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}L=L??G,L=typeof L!="function"&&typeof L!="symbol"&&!!L,g.checked=ge?g.checked:!!L,g.defaultChecked=!!L,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,L){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,L,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=L}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var L=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(L)||(L=tp,"selectionStart"in L&&TE(L)?L={start:L.selectionStart,end:L.selectionEnd}:(L=(L.ownerDocument&&L.ownerDocument.defaultView||window).getSelection(),L={anchorNode:L.anchorNode,anchorOffset:L.anchorOffset,focusNode:L.focusNode,focusOffset:L.focusOffset}),vy&&yy(vy,L)||(vy=L,L=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),jr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),Xe=W(Eh,Xe,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),jr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return jr&&kc(rt,Or),fr}for(lr=L(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),jr&&kc(rt,Or),fr}function Sn(rt,Xe,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;Xe!==null;){if(Xe.key===fr){if(fr=ct.type,fr===v){if(Xe.tag===7){w(rt,Xe.sibling),Ct=G(Xe,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(Xe.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===R&&Hd(fr)===Xe.type){w(rt,Xe.sibling),Ct=G(Xe,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,Xe);break}else y(rt,Xe);Xe=Xe.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;Xe!==null;){if(Xe.key===fr)if(Xe.tag===4&&Xe.stateNode.containerInfo===ct.containerInfo&&Xe.stateNode.implementation===ct.implementation){w(rt,Xe.sibling),Ct=G(Xe,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,Xe);break}else y(rt,Xe);Xe=Xe.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case R:return ct=Hd(ct),Sn(rt,Xe,ct,Ct)}if(I(ct))return ir(rt,Xe,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,Xe,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,Xe,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,Xe,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,Xe!==null&&Xe.tag===6?(w(rt,Xe.sibling),Ct=G(Xe,ct),Ct.return=rt,rt=Ct):(w(rt,Xe),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,Xe)}return function(rt,Xe,ct,Ct){try{Cy=0;var fr=Sn(rt,Xe,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===Xx)throw lr;var rn=js(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var L=g.updateQueue;if(L===null)return null;if(L=L.shared,(un&2)!==0){var G=L.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),L.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,L,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var L=y.lanes;L&=g.pendingLanes,w|=L,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,L=g.alternate;if(L!==null&&(L=L.updateQueue,w===L)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:L.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:L.shared,callbacks:L.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,L){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(L&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,L);Ry(g,y,Tt,Js(g))}else Ry(g,y,L,Js(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Js())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,L){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(L)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Js())}function ck(){return ma(Yy)}function SB(){return Ci().memoizedState}function EB(){return Ci().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Js();g=ch(w);var L=uh(y,g,w);L!==null&&(As(L,y,w),Ey(L,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var L=Js();w={lane:L,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,L),w!==null&&(As(w,g,L),AB(w,y,L)))}function kB(g,y,w){var L=Js();Ry(g,y,w,L)}function Ry(g,y,w,L){var G={lane:L,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ys(ge,re))return Vx(g,y,G,0),Ln===null&&qx(),!1}catch{}if(w=_E(g,y,G,L),w!==null)return As(w,g,L),AB(w,y,L),!0}return!1}function uk(g,y,w,L){if(L={lane:2,revertLane:Vk(),gesture:null,action:L,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,L,2),y!==null&&As(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var L=y.lanes;L&=g.pendingLanes,w|=L,y.lanes=w,St(g,w)}}var Dy={readContext:ma,use:i4,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useLayoutEffect:fi,useInsertionEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useSyncExternalStore:fi,useId:fi,useHostTransitionStatus:fi,useFormState:fi,useActionState:fi,useOptimistic:fi,useMemoCache:fi,useCacheRefresh:fi};Dy.useEffectEvent=fi;var LB={readContext:ma,use:i4,useCallback:function(g,y){return Ka().memoizedState=[g,y===void 0?null:y],g},useContext:ma,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=Ka();y=y===void 0?null:y;var L=g();if(jd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[L,y],L},useReducer:function(g,y,w){var L=Ka();if(w!==void 0){var G=w(y);if(jd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return L.memoizedState=L.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},L.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[L.memoizedState,g]},useRef:function(g){var y=Ka();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=Ka();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),Ka().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var L=Mr,G=Ka();if(jr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),Ln===null)throw Error(n(349));(Hr&127)!==0||KI(L,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,L,W,g),[g]),L.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,L,W,w,y),null),w},useId:function(){var g=Ka(),y=Ln.identifierPrefix;if(jr){var w=Al,L=_l;w=(L&~(1<<32-we(L)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof L.is=="string"?re.createElement("select",{is:L.is}):re.createElement("select"),L.multiple?W.multiple=!0:L.size&&(W.size=L.size);break;default:W=typeof L.is=="string"?re.createElement(G,{is:L.is}):re.createElement(G)}}W[nt]=y,W[st]=L;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(va(W,G,L),G){case"button":case"input":case"select":case"textarea":L=!!L.autoFocus;break e;case"img":L=!0;break e;default:L=!1}L&&Nc(y)}}return $n(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==L&&Nc(y);else{if(typeof L!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,L=null,G=ga,G!==null)switch(G.tag){case 27:case 5:L=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||L!==null&&L.suppressHydrationWarning===!0||jP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(L),g[nt]=y,y.stateNode=g}return $n(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(L=op(y),w!==null){if(g===null){if(!L)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Ks(y),y):(Ks(y),null);if((y.flags&128)!==0)throw Error(n(558))}return $n(y),null;case 13:if(L=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),L!==null&&L.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Ks(y),y):(Ks(y),null)}return Ks(y),(y.flags&128)!==0?(y.lanes=w,y):(w=L!==null,g=g!==null&&g.memoizedState!==null,w&&(L=y.child,G=null,L.alternate!==null&&L.alternate.memoizedState!==null&&L.alternate.memoizedState.cachePool!==null&&(G=L.alternate.memoizedState.cachePool.pool),W=null,L.memoizedState!==null&&L.memoizedState.cachePool!==null&&(W=L.memoizedState.cachePool.pool),W!==G&&(L.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),$n(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),$n(y),null;case 10:return Ac(y.type),$n(y),null;case 19:if(H(wi),L=y.memoizedState,L===null)return $n(y),null;if(G=(y.flags&128)!==0,W=L.rendering,W===null)if(G)My(L,!1);else{if(pi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(L,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return j(wi,wi.current&1|2),jr&&kc(y,L.treeForkCount),y.child}g=g.sibling}L.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(L,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(L,!0),L.tail===null&&L.tailMode==="hidden"&&!W.alternate&&!jr)return $n(y),null}else 2*Ge()-L.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(L,!1),y.lanes=4194304);L.isBackwards?(W.sibling=y.child,y.child=W):(g=L.last,g!==null?g.sibling=W:y.child=W,L.last=W)}return L.tail!==null?(g=L.tail,L.rendering=g,L.tail=g.sibling,L.renderingStartTime=Ge(),g.sibling=null,w=wi.current,j(wi,G?w&1|2:w&1),jr&&kc(y,L.treeForkCount),g):($n(y),null);case 22:case 23:return Ks(y),YE(),L=y.memoizedState!==null,g!==null?g.memoizedState!==null!==L&&(y.flags|=8192):L&&(y.flags|=8192),L?(w&536870912)!==0&&(y.flags&128)===0&&($n(y),y.subtreeFlags&6&&(y.flags|=8192)):$n(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),L=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(L=y.memoizedState.cachePool.pool),L!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Di),$n(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Di),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Ks(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Ks(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(wi),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Ks(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Di),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Di),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Ks(y);break;case 13:Ks(y);break;case 19:H(wi);break;case 10:Ac(y.type);break;case 22:case 23:Ks(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Di)}}function Oy(g,y){try{var w=y.updateQueue,L=w!==null?w.lastEffect:null;if(L!==null){var G=L.next;w=G;do{if((w.tag&g)===g){L=void 0;var W=w.create,re=w.inst;L=W(),re.destroy=L}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var L=y.updateQueue,G=L!==null?L.lastEffect:null;if(G!==null){var W=G.next;L=W;do{if((L.tag&g)===g){var re=L.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}L=L.next}while(L!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(L){xn(g,g.return,L)}}}function tP(g,y,w){w.props=Xd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(L){xn(g,y,L)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var L=g.stateNode;break;case 30:L=g.stateNode;break;default:L=g.stateNode}typeof w=="function"?g.refCleanup=w(L):w.current=L}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,L=g.refCleanup;if(w!==null)if(typeof L=="function")try{L()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,L=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&L.focus();break e;case"img":w.src?L.src=w.src:w.srcSet&&(L.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var L=g.stateNode;Jhe(L,g.type,w,y),L[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var L=g.tag;if(L===5||L===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=ws));else if(L!==4&&(L===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var L=g.tag;if(L===5||L===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(L!==4&&(L===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var L=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);va(y,L,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Oi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,aa=null;function Nhe(g,y){if(g=g.containerInfo,Xk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var L=w.getSelection&&w.getSelection();if(L&&L.rangeCount!==0){w=L.anchorNode;var G=L.anchorOffset,W=L.focusNode;L=L.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||L!==0&&_t.nodeType!==3||(Ve=re+L),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===L&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,aa=y;aa!==null;)if(y=aa,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,aa=g;else for(;aa!==null;){switch(y=aa,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),va(W,L,w),W[nt]=g,Cr(W),L=W;break e;case"link":var re=hF("link","href",G).get(L+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),Xe=gI(ge,Sn);if(rt&&Xe&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==Xe.node||yt.focusOffset!==Xe.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(Xe.node,Xe.offset)):(ct.setEnd(Xe.node,Xe.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!Xk,Kk=Xk=null}finally{un=G,B.p=L,N.T=w}}g.current=y,Wi=2}}function NP(){if(Wi===2){Wi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var L=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=L,N.T=w}}Wi=3}}function MP(){if(Wi===4||Wi===3){Wi=0,De();var g=yh,y=Tp,w=Fc,L=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Wi=5:(Wi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(L!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Wi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=L,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var L=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof L.componentDidCatch=="function"&&(mh===null||!mh.has(L))){g=Co(w,g),w=PB(2),L=uh(y,w,2),L!==null&&(FB(w,L,y,g),At(L,2),Rl(L));break}}y=y.return}}function $k(g,y,w){var L=g.pingCache;if(L===null){L=g.pingCache=new Ihe;var G=new Set;L.set(y,G)}else G=L.get(y),G===void 0&&(G=new Set,L.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var L=g.pingCache;L!==null&&L.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,Ln===g&&(Hr&w)===w&&(pi===4||pi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var L=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:L=g.stateNode;break;case 22:L=g.stateNode._retryCache;break;default:throw Error(n(314))}L!==null&&L.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,L=S4;L!==null;){if(g!==0){var G=L.pendingLanes;if(G===0)var W=0;else{var re=L.suspendedLanes,ge=L.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(L,W))}else W=Hr,W=lt(L,L===Ln?W:0,L.cancelPendingCommit!==null||L.timeoutHandle!==-1),(W&3)===0||ve(L,W)||(w=!0,qP(L,W));L=L.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,L=S4;L!==null;){var G=L.next,W=$P(L,y);W===0?(L.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=L,(g!==0||(W&3)!==0)&&(E4=!0)),L=G}Wi!==0&&Wi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,L=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&XP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var L=Ep;if(L&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},L.querySelector(G)===null&&(y=L.createElement("link"),va(y,"link",g),Cr(y),L.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var L=Ep;if(L&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),L.querySelector(G)!==null||y==="style"&&L.querySelector(Hy(W))||y==="script"&&L.querySelector(Wy(W))||(y=L.createElement("link"),va(y,"link",g),Cr(y),L.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var L=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(L)+'"][href="'+cn(g)+'"]',W=G;switch(L){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(L){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}L=w.createElement("link"),va(L,"link",g),Cr(L),w.head.appendChild(L)}}}function pde(g,y,w){$c.S(g,y,w);var L=Ep;if(L&&g){var G=_r(L).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=L.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=L.createElement("link");Cr(Ve),va(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,L)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var L=_r(w).hoistableScripts,G=_p(g),W=L.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},L.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var L=_r(w).hoistableScripts,G=_p(g),W=L.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},L.set(G,W))}}function lF(g,y,w,L){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,L=w.get(y),L||(L={type:"style",instance:null,count:0,state:null},w.set(y,L)),L):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&L===null)throw Error(n(528,""));return re}if(y&&L!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,L=w.get(y),L||(L={type:"script",instance:null,count:0,state:null},w.set(y,L)),L):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,L){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?L.loading=1:(y=g.createElement("link"),L.preload=y,y.addEventListener("load",function(){return L.loading|=1}),y.addEventListener("error",function(){return L.loading|=2}),va(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var L=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(L)return y.instance=L,Cr(L),L;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return L=(g.ownerDocument||g).createElement("style"),Cr(L),va(L,"style",G),R4(L,w.precedence,g),y.instance=L;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;L=cF(w),(G=Lo.get(G))&&n6(L,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",L),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(L=w,(G=Lo.get(W))&&(L=d({},w),i6(L,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),va(G,"link",L),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(L=y.instance,y.state.loading|=4,R4(L,w.precedence,g));return y.instance}function R4(g,y,w){for(var L=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=L.length?L[L.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,L){if(w.type==="stylesheet"&&(typeof L.media!="string"||matchMedia(L.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(L.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,L=cF(L),(G=Lo.get(G))&&n6(L,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",L),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(L),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var L=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Da=jt.createContext({});function Vde({children:t}){const[e,r]=jt.useState(!0),[n,i]=jt.useState({classname:"",steps:[]}),[a,s]=jt.useState([]),[o,l]=jt.useState(!1),[u,h]=jt.useState(null),[d,f]=jt.useState(""),[p,m]=jt.useState(""),[v,b]=jt.useState(""),[x,C]=jt.useState(null),[T,E]=jt.useState([]),[_,A]=jt.useState([]),[k,R]=jt.useState("error"),[O,F]=jt.useState(null),[$,q]=jt.useState(null),[z,D]=jt.useState([]),[I,N]=jt.useState(null),[B,M]=jt.useState(""),[V,U]=jt.useState(null);return Ae.jsx(Da.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:A,activeLogTab:k,setActiveLogTab:R,initError:O,setInitError:F,packageWarnings:$,setPackageWarnings:q,openPythonFiles:z,setOpenPythonFiles:D,idaesHistoryList:I,setIdaesHistoryList:N,osPlatform:B,setOsPlatform:M,pythonEnvInfo:V,setPythonEnvInfo:U},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_jdoxw_1",Hde="_flowsheet_steps_main_container_jdoxw_12",Wde="_flowsheet_file_section_jdoxw_24",Yde="_section_label_jdoxw_28",jde="_section_hint_jdoxw_35",Xde="_steps_container_jdoxw_42",Kde="_steps_actions_footer_jdoxw_48",Zde="_package_warnings_container_jdoxw_55",Qde="_package_warning_item_jdoxw_62",Jde="_package_warning_title_jdoxw_72",efe="_package_warning_cmd_jdoxw_78",tfe="_init_error_box_jdoxw_85",rfe="_init_error_text_jdoxw_91",nfe="_step_selector_container_jdoxw_97",ife="_python_env_container_jdoxw_103",afe="_python_env_label_jdoxw_107",sfe="_python_env_actions_jdoxw_114",ofe="_python_env_path_text_jdoxw_122",lfe="_python_env_icon_btn_jdoxw_134",cfe="_dropdown_select_jdoxw_159",ufe="_step_selector_checkbox_jdoxw_176",hfe="_open_results_view_container_jdoxw_204",dfe="_open_results_view_btn_jdoxw_208",ffe="_view_switch_container_jdoxw_228",pfe="_active_jdoxw_256",kn={tree_app_container:Ude,flowsheet_steps_main_container:Hde,flowsheet_file_section:Wde,section_label:Yde,section_hint:jde,steps_container:Xde,steps_actions_footer:Kde,package_warnings_container:Zde,package_warning_item:Qde,package_warning_title:Jde,package_warning_cmd:efe,init_error_box:tfe,init_error_text:rfe,step_selector_container:nfe,python_env_container:ife,python_env_label:afe,python_env_actions:sfe,python_env_path_text:ofe,python_env_icon_btn:lfe,dropdown_select:cfe,step_selector_checkbox:ufe,open_results_view_container:hfe,open_results_view_btn:dfe,view_switch_container:ffe,active:pfe},gfe="_config_title_8m99f_1",mfe="_config_control_8m99f_7",yfe="_update_button_8m99f_20",vfe="_button_group_8m99f_25",bfe="_cancel_button_8m99f_31",kh={config_title:gfe,config_control:mfe,update_button:yfe,button_group:vfe,cancel_button:bfe};function xfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=jt.useContext(Da),[i,a]=jt.useState(null);jt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return jt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Ae.jsxs("div",{children:[Ae.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Ae.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Ae.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Ae.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Ae.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.button_group}`,children:[Ae.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Ae.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const Tfe="_run_flowsheet_section_ajmxp_1",wfe="_run_flowsheet_button_container_ajmxp_4",Cfe="_run_flowsheet_button_ajmxp_4",Sfe="_run_flowsheet_animation_container_ajmxp_28",Efe="_running_time_container_ajmxp_35",kfe="_running_timer_container_hidden_ajmxp_42",_fe="_running_time_label_ajmxp_46",Afe="_running_dots_ajmxp_50",Lfe="_running_time_ajmxp_35",Rfe="_cancel_flowsheet_run_btn_ajmxp_60",Dfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:Tfe,run_flowsheet_button_container:wfe,run_flowsheet_button:Cfe,run_flowsheet_animation_container:Sfe,running_time_container:Efe,running_timer_container_hidden:kfe,running_time_label:_fe,running_dots:Afe,running_time:Lfe,cancel_flowsheet_run_btn:Rfe,cancel_flowsheet_run_btn_hidden:Dfe};function Nfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=jt.useContext(Da),[l,u]=jt.useState(0),[h,d]=jt.useState("."),[f,p]=jt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};jt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),jt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Ae.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Ae.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Ae.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Ae.jsx("button",{onClick:()=>v(),className:` +`+L.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,je=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var L=g.pendingLanes;if(L===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=L&134217727;return ge!==0?(L=ge&~W,L!==0?G=qe(L):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=L&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=L&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,L,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function jo(g,y,w,L,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Gn(y)):g.value!==""+Gn(y)&&(g.value=""+Gn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Gn(y)):w!=null?Md(g,re,Gn(w)):L!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Gn(ge):g.removeAttribute("name")}function X0(g,y,w,L,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Gn(w):"",y=y!=null?""+Gn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}L=L??G,L=typeof L!="function"&&typeof L!="symbol"&&!!L,g.checked=ge?g.checked:!!L,g.defaultChecked=!!L,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,L){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,L,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=L}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var L=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(L)||(L=tp,"selectionStart"in L&&TE(L)?L={start:L.selectionStart,end:L.selectionEnd}:(L=(L.ownerDocument&&L.ownerDocument.defaultView||window).getSelection(),L={anchorNode:L.anchorNode,anchorOffset:L.anchorOffset,focusNode:L.focusNode,focusOffset:L.focusOffset}),vy&&yy(vy,L)||(vy=L,L=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),jr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),Xe=W(Eh,Xe,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),jr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return jr&&kc(rt,Or),fr}for(lr=L(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),jr&&kc(rt,Or),fr}function Sn(rt,Xe,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;Xe!==null;){if(Xe.key===fr){if(fr=ct.type,fr===v){if(Xe.tag===7){w(rt,Xe.sibling),Ct=G(Xe,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(Xe.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===R&&Hd(fr)===Xe.type){w(rt,Xe.sibling),Ct=G(Xe,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,Xe);break}else y(rt,Xe);Xe=Xe.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;Xe!==null;){if(Xe.key===fr)if(Xe.tag===4&&Xe.stateNode.containerInfo===ct.containerInfo&&Xe.stateNode.implementation===ct.implementation){w(rt,Xe.sibling),Ct=G(Xe,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,Xe);break}else y(rt,Xe);Xe=Xe.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case R:return ct=Hd(ct),Sn(rt,Xe,ct,Ct)}if(I(ct))return ir(rt,Xe,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,Xe,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,Xe,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,Xe,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,Xe!==null&&Xe.tag===6?(w(rt,Xe.sibling),Ct=G(Xe,ct),Ct.return=rt,rt=Ct):(w(rt,Xe),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,Xe)}return function(rt,Xe,ct,Ct){try{Cy=0;var fr=Sn(rt,Xe,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===Xx)throw lr;var rn=Ys(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var L=g.updateQueue;if(L===null)return null;if(L=L.shared,(un&2)!==0){var G=L.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),L.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,L,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var L=y.lanes;L&=g.pendingLanes,w|=L,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,L=g.alternate;if(L!==null&&(L=L.updateQueue,w===L)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:L.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:L.shared,callbacks:L.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,L){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(L&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,L);Ry(g,y,Tt,Qs(g))}else Ry(g,y,L,Qs(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Qs())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,L){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(L)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Qs())}function ck(){return ma(Yy)}function SB(){return Ci().memoizedState}function EB(){return Ci().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Qs();g=ch(w);var L=uh(y,g,w);L!==null&&(As(L,y,w),Ey(L,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var L=Qs();w={lane:L,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,L),w!==null&&(As(w,g,L),AB(w,y,L)))}function kB(g,y,w){var L=Qs();Ry(g,y,w,L)}function Ry(g,y,w,L){var G={lane:L,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ws(ge,re))return Vx(g,y,G,0),Ln===null&&qx(),!1}catch{}if(w=_E(g,y,G,L),w!==null)return As(w,g,L),AB(w,y,L),!0}return!1}function uk(g,y,w,L){if(L={lane:2,revertLane:Vk(),gesture:null,action:L,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,L,2),y!==null&&As(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var L=y.lanes;L&=g.pendingLanes,w|=L,y.lanes=w,St(g,w)}}var Dy={readContext:ma,use:i4,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useLayoutEffect:fi,useInsertionEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useSyncExternalStore:fi,useId:fi,useHostTransitionStatus:fi,useFormState:fi,useActionState:fi,useOptimistic:fi,useMemoCache:fi,useCacheRefresh:fi};Dy.useEffectEvent=fi;var LB={readContext:ma,use:i4,useCallback:function(g,y){return Ka().memoizedState=[g,y===void 0?null:y],g},useContext:ma,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=Ka();y=y===void 0?null:y;var L=g();if(jd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[L,y],L},useReducer:function(g,y,w){var L=Ka();if(w!==void 0){var G=w(y);if(jd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return L.memoizedState=L.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},L.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[L.memoizedState,g]},useRef:function(g){var y=Ka();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=Ka();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),Ka().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var L=Mr,G=Ka();if(jr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),Ln===null)throw Error(n(349));(Hr&127)!==0||KI(L,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,L,W,g),[g]),L.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,L,W,w,y),null),w},useId:function(){var g=Ka(),y=Ln.identifierPrefix;if(jr){var w=Al,L=_l;w=(L&~(1<<32-we(L)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof L.is=="string"?re.createElement("select",{is:L.is}):re.createElement("select"),L.multiple?W.multiple=!0:L.size&&(W.size=L.size);break;default:W=typeof L.is=="string"?re.createElement(G,{is:L.is}):re.createElement(G)}}W[nt]=y,W[st]=L;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(va(W,G,L),G){case"button":case"input":case"select":case"textarea":L=!!L.autoFocus;break e;case"img":L=!0;break e;default:L=!1}L&&Nc(y)}}return $n(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==L&&Nc(y);else{if(typeof L!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,L=null,G=ga,G!==null)switch(G.tag){case 27:case 5:L=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||L!==null&&L.suppressHydrationWarning===!0||jP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(L),g[nt]=y,y.stateNode=g}return $n(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(L=op(y),w!==null){if(g===null){if(!L)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Xs(y),y):(Xs(y),null);if((y.flags&128)!==0)throw Error(n(558))}return $n(y),null;case 13:if(L=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),L!==null&&L.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Xs(y),y):(Xs(y),null)}return Xs(y),(y.flags&128)!==0?(y.lanes=w,y):(w=L!==null,g=g!==null&&g.memoizedState!==null,w&&(L=y.child,G=null,L.alternate!==null&&L.alternate.memoizedState!==null&&L.alternate.memoizedState.cachePool!==null&&(G=L.alternate.memoizedState.cachePool.pool),W=null,L.memoizedState!==null&&L.memoizedState.cachePool!==null&&(W=L.memoizedState.cachePool.pool),W!==G&&(L.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),$n(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),$n(y),null;case 10:return Ac(y.type),$n(y),null;case 19:if(H(wi),L=y.memoizedState,L===null)return $n(y),null;if(G=(y.flags&128)!==0,W=L.rendering,W===null)if(G)My(L,!1);else{if(pi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(L,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return j(wi,wi.current&1|2),jr&&kc(y,L.treeForkCount),y.child}g=g.sibling}L.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(L,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(L,!0),L.tail===null&&L.tailMode==="hidden"&&!W.alternate&&!jr)return $n(y),null}else 2*Ge()-L.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(L,!1),y.lanes=4194304);L.isBackwards?(W.sibling=y.child,y.child=W):(g=L.last,g!==null?g.sibling=W:y.child=W,L.last=W)}return L.tail!==null?(g=L.tail,L.rendering=g,L.tail=g.sibling,L.renderingStartTime=Ge(),g.sibling=null,w=wi.current,j(wi,G?w&1|2:w&1),jr&&kc(y,L.treeForkCount),g):($n(y),null);case 22:case 23:return Xs(y),YE(),L=y.memoizedState!==null,g!==null?g.memoizedState!==null!==L&&(y.flags|=8192):L&&(y.flags|=8192),L?(w&536870912)!==0&&(y.flags&128)===0&&($n(y),y.subtreeFlags&6&&(y.flags|=8192)):$n(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),L=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(L=y.memoizedState.cachePool.pool),L!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Di),$n(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Di),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Xs(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Xs(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(wi),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Xs(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Di),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Di),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Xs(y);break;case 13:Xs(y);break;case 19:H(wi);break;case 10:Ac(y.type);break;case 22:case 23:Xs(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Di)}}function Oy(g,y){try{var w=y.updateQueue,L=w!==null?w.lastEffect:null;if(L!==null){var G=L.next;w=G;do{if((w.tag&g)===g){L=void 0;var W=w.create,re=w.inst;L=W(),re.destroy=L}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var L=y.updateQueue,G=L!==null?L.lastEffect:null;if(G!==null){var W=G.next;L=W;do{if((L.tag&g)===g){var re=L.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}L=L.next}while(L!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(L){xn(g,g.return,L)}}}function tP(g,y,w){w.props=Xd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(L){xn(g,y,L)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var L=g.stateNode;break;case 30:L=g.stateNode;break;default:L=g.stateNode}typeof w=="function"?g.refCleanup=w(L):w.current=L}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,L=g.refCleanup;if(w!==null)if(typeof L=="function")try{L()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,L=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&L.focus();break e;case"img":w.src?L.src=w.src:w.srcSet&&(L.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var L=g.stateNode;Jhe(L,g.type,w,y),L[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var L=g.tag;if(L===5||L===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=ws));else if(L!==4&&(L===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var L=g.tag;if(L===5||L===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(L!==4&&(L===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var L=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);va(y,L,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Oi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,aa=null;function Nhe(g,y){if(g=g.containerInfo,Xk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var L=w.getSelection&&w.getSelection();if(L&&L.rangeCount!==0){w=L.anchorNode;var G=L.anchorOffset,W=L.focusNode;L=L.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||L!==0&&_t.nodeType!==3||(Ve=re+L),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===L&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,aa=y;aa!==null;)if(y=aa,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,aa=g;else for(;aa!==null;){switch(y=aa,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),va(W,L,w),W[nt]=g,Cr(W),L=W;break e;case"link":var re=hF("link","href",G).get(L+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),Xe=gI(ge,Sn);if(rt&&Xe&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==Xe.node||yt.focusOffset!==Xe.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(Xe.node,Xe.offset)):(ct.setEnd(Xe.node,Xe.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!Xk,Kk=Xk=null}finally{un=G,B.p=L,N.T=w}}g.current=y,Wi=2}}function NP(){if(Wi===2){Wi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var L=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=L,N.T=w}}Wi=3}}function MP(){if(Wi===4||Wi===3){Wi=0,De();var g=yh,y=Tp,w=Fc,L=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Wi=5:(Wi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(L!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Wi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=L,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var L=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof L.componentDidCatch=="function"&&(mh===null||!mh.has(L))){g=Co(w,g),w=PB(2),L=uh(y,w,2),L!==null&&(FB(w,L,y,g),At(L,2),Rl(L));break}}y=y.return}}function $k(g,y,w){var L=g.pingCache;if(L===null){L=g.pingCache=new Ihe;var G=new Set;L.set(y,G)}else G=L.get(y),G===void 0&&(G=new Set,L.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var L=g.pingCache;L!==null&&L.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,Ln===g&&(Hr&w)===w&&(pi===4||pi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var L=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:L=g.stateNode;break;case 22:L=g.stateNode._retryCache;break;default:throw Error(n(314))}L!==null&&L.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,L=S4;L!==null;){if(g!==0){var G=L.pendingLanes;if(G===0)var W=0;else{var re=L.suspendedLanes,ge=L.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(L,W))}else W=Hr,W=lt(L,L===Ln?W:0,L.cancelPendingCommit!==null||L.timeoutHandle!==-1),(W&3)===0||ve(L,W)||(w=!0,qP(L,W));L=L.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,L=S4;L!==null;){var G=L.next,W=$P(L,y);W===0?(L.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=L,(g!==0||(W&3)!==0)&&(E4=!0)),L=G}Wi!==0&&Wi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,L=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&XP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var L=Ep;if(L&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},L.querySelector(G)===null&&(y=L.createElement("link"),va(y,"link",g),Cr(y),L.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var L=Ep;if(L&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),L.querySelector(G)!==null||y==="style"&&L.querySelector(Hy(W))||y==="script"&&L.querySelector(Wy(W))||(y=L.createElement("link"),va(y,"link",g),Cr(y),L.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var L=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(L)+'"][href="'+cn(g)+'"]',W=G;switch(L){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(L){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}L=w.createElement("link"),va(L,"link",g),Cr(L),w.head.appendChild(L)}}}function pde(g,y,w){$c.S(g,y,w);var L=Ep;if(L&&g){var G=_r(L).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=L.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=L.createElement("link");Cr(Ve),va(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,L)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var L=_r(w).hoistableScripts,G=_p(g),W=L.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},L.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var L=_r(w).hoistableScripts,G=_p(g),W=L.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},L.set(G,W))}}function lF(g,y,w,L){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,L=w.get(y),L||(L={type:"style",instance:null,count:0,state:null},w.set(y,L)),L):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&L===null)throw Error(n(528,""));return re}if(y&&L!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,L=w.get(y),L||(L={type:"script",instance:null,count:0,state:null},w.set(y,L)),L):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,L){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?L.loading=1:(y=g.createElement("link"),L.preload=y,y.addEventListener("load",function(){return L.loading|=1}),y.addEventListener("error",function(){return L.loading|=2}),va(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var L=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(L)return y.instance=L,Cr(L),L;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return L=(g.ownerDocument||g).createElement("style"),Cr(L),va(L,"style",G),R4(L,w.precedence,g),y.instance=L;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;L=cF(w),(G=Lo.get(G))&&n6(L,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",L),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(L=w,(G=Lo.get(W))&&(L=d({},w),i6(L,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),va(G,"link",L),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(L=y.instance,y.state.loading|=4,R4(L,w.precedence,g));return y.instance}function R4(g,y,w){for(var L=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=L.length?L[L.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,L){if(w.type==="stylesheet"&&(typeof L.media!="string"||matchMedia(L.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(L.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,L=cF(L),(G=Lo.get(G))&&n6(L,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",L),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(L),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var L=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Da=jt.createContext({});function Vde({children:t}){const[e,r]=jt.useState(!0),[n,i]=jt.useState({classname:"",steps:[]}),[a,s]=jt.useState([]),[o,l]=jt.useState(!1),[u,h]=jt.useState(null),[d,f]=jt.useState(""),[p,m]=jt.useState(""),[v,b]=jt.useState(""),[x,C]=jt.useState(null),[T,E]=jt.useState([]),[_,A]=jt.useState([]),[k,R]=jt.useState("error"),[O,F]=jt.useState(null),[$,q]=jt.useState(null),[z,D]=jt.useState([]),[I,N]=jt.useState(null),[B,M]=jt.useState(""),[V,U]=jt.useState(null);return Ae.jsx(Da.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:A,activeLogTab:k,setActiveLogTab:R,initError:O,setInitError:F,packageWarnings:$,setPackageWarnings:q,openPythonFiles:z,setOpenPythonFiles:D,idaesHistoryList:I,setIdaesHistoryList:N,osPlatform:B,setOsPlatform:M,pythonEnvInfo:V,setPythonEnvInfo:U},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_jdoxw_1",Hde="_flowsheet_steps_main_container_jdoxw_12",Wde="_flowsheet_file_section_jdoxw_24",Yde="_section_label_jdoxw_28",jde="_section_hint_jdoxw_35",Xde="_steps_container_jdoxw_42",Kde="_steps_actions_footer_jdoxw_48",Zde="_package_warnings_container_jdoxw_55",Qde="_package_warning_item_jdoxw_62",Jde="_package_warning_title_jdoxw_72",efe="_package_warning_cmd_jdoxw_78",tfe="_init_error_box_jdoxw_85",rfe="_init_error_text_jdoxw_91",nfe="_step_selector_container_jdoxw_97",ife="_python_env_container_jdoxw_103",afe="_python_env_label_jdoxw_107",sfe="_python_env_actions_jdoxw_114",ofe="_python_env_path_text_jdoxw_122",lfe="_python_env_icon_btn_jdoxw_134",cfe="_dropdown_select_jdoxw_159",ufe="_step_selector_checkbox_jdoxw_176",hfe="_open_results_view_container_jdoxw_204",dfe="_open_results_view_btn_jdoxw_208",ffe="_view_switch_container_jdoxw_228",pfe="_active_jdoxw_256",kn={tree_app_container:Ude,flowsheet_steps_main_container:Hde,flowsheet_file_section:Wde,section_label:Yde,section_hint:jde,steps_container:Xde,steps_actions_footer:Kde,package_warnings_container:Zde,package_warning_item:Qde,package_warning_title:Jde,package_warning_cmd:efe,init_error_box:tfe,init_error_text:rfe,step_selector_container:nfe,python_env_container:ife,python_env_label:afe,python_env_actions:sfe,python_env_path_text:ofe,python_env_icon_btn:lfe,dropdown_select:cfe,step_selector_checkbox:ufe,open_results_view_container:hfe,open_results_view_btn:dfe,view_switch_container:ffe,active:pfe},gfe="_config_title_8m99f_1",mfe="_config_control_8m99f_7",yfe="_update_button_8m99f_20",vfe="_button_group_8m99f_25",bfe="_cancel_button_8m99f_31",kh={config_title:gfe,config_control:mfe,update_button:yfe,button_group:vfe,cancel_button:bfe};function xfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=jt.useContext(Da),[i,a]=jt.useState(null);jt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return jt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Ae.jsxs("div",{children:[Ae.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Ae.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Ae.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Ae.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Ae.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.button_group}`,children:[Ae.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Ae.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const Tfe="_run_flowsheet_section_ajmxp_1",wfe="_run_flowsheet_button_container_ajmxp_4",Cfe="_run_flowsheet_button_ajmxp_4",Sfe="_run_flowsheet_animation_container_ajmxp_28",Efe="_running_time_container_ajmxp_35",kfe="_running_timer_container_hidden_ajmxp_42",_fe="_running_time_label_ajmxp_46",Afe="_running_dots_ajmxp_50",Lfe="_running_time_ajmxp_35",Rfe="_cancel_flowsheet_run_btn_ajmxp_60",Dfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:Tfe,run_flowsheet_button_container:wfe,run_flowsheet_button:Cfe,run_flowsheet_animation_container:Sfe,running_time_container:Efe,running_timer_container_hidden:kfe,running_time_label:_fe,running_dots:Afe,running_time:Lfe,cancel_flowsheet_run_btn:Rfe,cancel_flowsheet_run_btn_hidden:Dfe};function Nfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=jt.useContext(Da),[l,u]=jt.useState(0),[h,d]=jt.useState("."),[f,p]=jt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};jt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),jt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Ae.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Ae.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Ae.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Ae.jsx("button",{onClick:()=>v(),className:` ${r?Ro.cancel_flowsheet_run_btn:Ro.cancel_flowsheet_run_btn_hidden} `,children:"Cancel"}),Ae.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Ae.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Ae.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Ae.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:Ae.jsxs("div",{className:` ${r?Ro.running_time_container:Ro.running_timer_container_hidden} `,children:[Ae.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Ae.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Ae.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const Mfe="_navContainer_1o0u5_1",Ofe={navContainer:Mfe};function Ife({setShowConfig:t}){return Ae.jsx("nav",{className:Ofe.navContainer,children:Ae.jsx(Nfe,{setShowConfig:t})})}function Bfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,packageWarnings:a,openPythonFiles:s,activateFileName:o,pythonEnvInfo:l}=jt.useContext(Da),[u,h]=jt.useState([]),d=x=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:x})},f=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:C})},p=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:C})},m=()=>{const x=l?.current?.path;x&&navigator.clipboard.writeText(x)},v=(x,C)=>{let T=[];x.target.checked?T=Array.from({length:C+1},(_,A)=>A):(T=Array.from({length:C},(_,A)=>A),T=T.sort((_,A)=>_-A)),h(T);const E=T.map(_=>t.steps[_]).filter(Boolean);r(E)},b=()=>{if(n)return console.log("loading idaes-extension-steps"),Ae.jsx("div",{children:Ae.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Ae.jsx("div",{className:kn.init_error_box,children:Ae.jsx("p",{className:kn.init_error_text,children:i})});if(!t)return Ae.jsx("div",{children:Ae.jsx("p",{children:"Loading config data..."})});const x=Object.keys(t);if(!x.includes("steps"))return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Steps Display"}),Ae.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(x.includes("steps")&&x.length===0)return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Step Display"}),Ae.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(x.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((T,E)=>Ae.jsxs("div",{className:`${kn.step_selector_container}`,children:[Ae.jsx("input",{type:"checkbox",id:`step_${E}`,className:`${kn.step_selector_checkbox}`,checked:u.includes(E),onChange:_=>v(_,E)}),Ae.jsx("label",{htmlFor:`${E}`,children:T})]},T+E))};return jt.useEffect(()=>{console.log("Selected steps:",u)},[u]),Ae.jsxs("div",{className:kn.flowsheet_steps_main_container,children:[Ae.jsxs("div",{className:kn.flowsheet_file_section,children:[Ae.jsx("label",{className:kn.section_label,children:"Flowsheet to inspect:"}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:f,value:s?.find(x=>x.name===o)?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),s?.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.name},C))]}),Ae.jsx("p",{className:kn.section_hint,children:"Open the flowsheet in editor to select"})]}),Ae.jsxs("div",{className:kn.python_env_container,children:[Ae.jsx("label",{className:kn.python_env_label,children:"Current Python:"}),Ae.jsxs("div",{className:kn.python_env_actions,children:[Ae.jsx("span",{className:kn.python_env_path_text,children:l?.current?.path||"No interpreter selected"}),Ae.jsx("button",{className:kn.python_env_icon_btn,onClick:m,title:"Copy interpreter path",disabled:!l?.current?.path,children:Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:p,value:l?.current?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),l?.envs.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.label},C))]}),a&&a.length>0&&Ae.jsx("div",{className:kn.package_warnings_container,children:a.map(x=>Ae.jsxs("div",{className:kn.package_warning_item,children:[Ae.jsxs("span",{className:kn.package_warning_title,children:["Missing package: ",x.name]}),Ae.jsx("span",{className:kn.package_warning_cmd,children:x.install_command})]},x.name))})]}),Ae.jsx("p",{className:kn.section_label,children:"Select Steps to Run:"}),Ae.jsx("div",{className:kn.steps_container,children:b()}),Ae.jsxs("div",{className:kn.steps_actions_footer,children:[Ae.jsx(Ife,{setShowConfig:e}),Ae.jsx("div",{className:kn.open_results_view_container,children:Ae.jsx("button",{className:kn.open_results_view_btn,onClick:()=>d("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Pfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=jt.useContext(Da),[n,i]=jt.useState(!1);return jt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Ae.jsxs(Ae.Fragment,{children:[Ae.jsxs("h2",{children:["Current Files is: ",e]}),Ae.jsx("div",{style:{display:n?"block":"none"},children:Ae.jsx(xfe,{setShowConfig:i})}),Ae.jsx("div",{style:{display:n?"none":"block"},children:Ae.jsx(Bfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Ffe="_container_1qs3w_1",$fe="_controlBar_1qs3w_10",zfe="_searchBox_1qs3w_18",qfe="_actionGroup_1qs3w_42",Vfe="_runCount_1qs3w_50",Gfe="_tableContainer_1qs3w_70",Ufe="_headerRow_1qs3w_76",Hfe="_dataRowContainer_1qs3w_89",Wfe="_dataRow_1qs3w_89",Yfe="_colStatus_1qs3w_119",jfe="_colTime_1qs3w_124",Xfe="_colTags_1qs3w_128",Kfe="_tagBadge_1qs3w_134",Zfe="_emptyMessage_1qs3w_143",Qfe="_cssTooltip_1qs3w_175",Jfe="_colFlowsheet_1qs3w_211",e0e="_flowsheetText_1qs3w_216",t0e="_pathTooltip_1qs3w_225",Nn={container:Ffe,controlBar:$fe,searchBox:zfe,actionGroup:qfe,runCount:Vfe,tableContainer:Gfe,headerRow:Ufe,dataRowContainer:Hfe,dataRow:Wfe,colStatus:Yfe,colTime:jfe,colTags:Xfe,tagBadge:Kfe,emptyMessage:Zfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Qfe,colFlowsheet:Jfe,flowsheetText:e0e,pathTooltip:t0e};function r0e(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function n0e(){const{idaesHistoryList:t}=jt.useContext(Da),[e,r]=jt.useState(""),n=jt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Ae.jsxs("div",{className:Nn.container,children:[Ae.jsxs("div",{className:Nn.controlBar,children:[Ae.jsx("input",{type:"text",className:Nn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Ae.jsx("div",{className:Nn.actionGroup,children:Ae.jsxs("span",{className:Nn.runCount,children:["Runs: ",n.length]})})]}),Ae.jsxs("div",{className:Nn.tableContainer,children:[Ae.jsxs("div",{className:Nn.headerRow,children:[Ae.jsx("div",{className:Nn.colStatus,children:"Status"}),Ae.jsx("div",{className:Nn.colTime,children:"Since"}),Ae.jsx("div",{children:"Flowsheet"}),Ae.jsx("div",{className:Nn.colTags,children:"Tags"})]}),Ae.jsxs("div",{className:Nn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Ae.jsxs("div",{className:Nn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Ae.jsx("div",{className:Nn.colStatus,children:a.status?Ae.jsx("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--success"]}`,children:"✓"}):Ae.jsxs("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Ae.jsx("span",{className:Nn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Ae.jsx("div",{className:Nn.colTime,children:r0e(a.created)}),Ae.jsxs("div",{className:Nn.colFlowsheet,children:[Ae.jsx("span",{className:Nn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Ae.jsx("div",{className:Nn.pathTooltip,children:l})]}),Ae.jsx("div",{className:Nn.colTags,children:Ae.jsx("span",{className:Nn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Ae.jsx("div",{className:Nn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Ae.jsxs("div",{className:Nn.emptyMessage,children:[Ae.jsx("div",{children:"No historical runs found across any flowsheet."}),Ae.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Ae.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function i0e(){const[t,e]=jt.useState("runFlowsheet"),r=n=>{e(n)};return Ae.jsxs("div",{className:`${kn.tree_app_container}`,children:[Ae.jsxs("ul",{className:kn.view_switch_container,children:[Ae.jsx("li",{className:t==="runFlowsheet"?kn.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Ae.jsx("li",{className:t==="loadFlowsheet"?kn.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Ae.jsx(Pfe,{}),t==="loadFlowsheet"&&Ae.jsx(n0e,{})]})}function a0e(){const[t,e]=jt.useState(!1),{editorContent:r,activateFileName:n}=jt.useContext(Da),i=()=>{e(!t)};return Ae.jsxs("div",{children:[Ae.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Ae.jsxs("div",{style:{display:t?"block":"none"},children:[Ae.jsx("h1",{children:"Editor Page "}),Ae.jsxs("h2",{children:["File: ",n]}),Ae.jsx("pre",{children:r})]})]})}const s0e="modulepreload",o0e=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=o0e(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":s0e,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},l0e=t3.exports,FF;function c0e(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(l0e,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;A[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(R(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=R,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)XY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)XY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${oa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},d0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:h0e,unit:d0e},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Pa={ALL:0,RGB:1,HSL:2};let f0e=class{constructor(){this.type=Pa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Pa.ALL}is(e){return this.type===e}};class p0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new f0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Pa.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Pa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Pa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Pa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Pa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Pa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Pa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new p0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},Xv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(Xv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:Xv,rgba:Xv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||Xv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Pa.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Xv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),g0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},m0e=t=>g0e(t)>=.5,ys=t=>!m0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},y0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,y0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:v0e,getPrototypeOf:b0e,getOwnPropertyDescriptor:x0e}=Object;let{freeze:ds,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(v0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function k0e(t){for(let e=0;e/gm),D0e=Go(/\$\{[\w\W]*/gm),N0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),M0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),O0e=Go(/^(?:\w+script|data):/i),I0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),B0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:M0e,ATTR_WHITESPACE:I0e,CUSTOM_ELEMENT:B0e,DATA_ATTR:N0e,DOCTYPE_NAME:JY,ERB_EXPR:R0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:O0e,MUSTACHE_EXPR:L0e,TMPLIT_EXPR:D0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},P0e=function(){return typeof window>"u"?null:window},F0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ej(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P0e();const e=vt=>ej(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:A,createNodeIterator:k,createDocumentFragment:R,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&A&&A.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let j=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let X=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Le=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},je=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,j=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,je=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Le=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,X=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(X.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(X.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(X.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Le=!0),Ye&&(P=Fr({},GF),j=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(j,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(j,C6),Fr(j,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(j,C6),Fr(j,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(j,HF),Fr(j,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(j===Z&&(j=Il(j)),Fr(j,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=F0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,..._0e]),St=Fr({},[...w6,...A0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Le||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=A.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt)))return!1;if(Ge&&!je[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Pn=v(_r[Qr],!0);Pn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Pn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!j[ft]||Q[ft]){if(!(Ut(Ne)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Ne)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Ne))&&(X.attributeNameCheck instanceof RegExp&&Za(X.attributeNameCheck,ft)||X.attributeNameCheck instanceof Function&&X.attributeNameCheck(ft,Ne))||ft==="is"&&X.allowCustomizedBuiltInElements&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&C0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Pn}=_r,An=Qe(Cr),ei=Pn;let Ur=Cr==="value"?ei:S0e(ei);if(Rt.attrName=An,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(An==="id"||An==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(An==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,An,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,An)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==ei)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Pn=Qe(vt.nodeName);if(!P[Pn]||ee[Pn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Le&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Le?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Le){if(me){ft.normalize();let Pn=ft.innerHTML;Jy([q,z,D],An=>{Pn=Lp(Pn,An," ")}),ft.innerHTML=Pn}if(Oe)for(_r=R.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(j.shadowroot||j.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(JY,ft.ownerDocument.doctype.name)&&(Qr=" `+Qr),me&&Jy([q,z,D],Pn=>{Qr=Lp(Qr,Pn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=T0e($[vt],Ne);return ft===-1?void 0:w0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=ej(),tj=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,$0e=/\s*%%.*\n/gm,Wg,rj=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tj,"").replace(E2,"").replace($0e,` -`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rj(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nj(e,r,n)},"registerLazyLoadedDiagrams"),nj=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),z0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),_i=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,q0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),V0e=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),jg,G0e=(jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),U0e=S(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),Xg,H0e=(Xg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),Hb=S(t=>{const e=new H0e;return e.calculate(t),e},"getThemeVariables"),Kg,W0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),Y0e=S(t=>{const e=new W0e;return e.calculate(t),e},"getThemeVariables"),Zg,j0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),X0e=S(t=>{const e=new j0e;return e.calculate(t),e},"getThemeVariables"),Qg,K0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),Z0e=S(t=>{const e=new K0e;return e.calculate(t),e},"getThemeVariables"),Jg,Q0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),J0e=S(t=>{const e=new Q0e;return e.calculate(t),e},"getThemeVariables"),e1,epe=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),tpe=S(t=>{const e=new epe;return e.calculate(t),e},"getThemeVariables"),t1,rpe=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),npe=S(t=>{const e=new rpe;return e.calculate(t),e},"getThemeVariables"),r1,ipe=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),ape=S(t=>{const e=new ipe;return e.calculate(t),e},"getThemeVariables"),n1,spe=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),ope=S(t=>{const e=new spe;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:V0e},dark:{getThemeVariables:U0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:Y0e},neutral:{getThemeVariables:X0e},neo:{getThemeVariables:Z0e},"neo-dark":{getThemeVariables:J0e},redux:{getThemeVariables:tpe},"redux-dark":{getThemeVariables:npe},"redux-color":{getThemeVariables:ape},"redux-dark-color":{getThemeVariables:ope}},eo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},ij={...eo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...eo.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...eo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...eo.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...eo.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...eo.pie,useWidth:984},xyChart:{...eo.xyChart,useWidth:void 0},requirement:{...eo.requirement,useWidth:void 0},packet:{...eo.packet},treeView:{...eo.treeView,useWidth:void 0},radar:{...eo.radar},ishikawa:{...eo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...eo.venn}},aj=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aj(t[n],"")]:[...r,e+n],[]),"keyify"),lpe=new Set(aj(ij,"")),Vr=ij,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!lpe.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=cpe(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),cpe=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ns=_i({},tm),d5,e0=[],k2=_i({},tm),gC=S((t,e)=>{let r=_i({},t),n={};for(const i of e)lj(i),n=_i(n,i);if(r=_i(r,n),n.theme&&n.theme in xu){const i=_i({},d5),a=_i(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uj(k2),k2},"updateCurrentConfig"),upe=S(t=>(Ns=_i({},tm),Ns=_i(Ns,t),t.theme&&xu[t.theme]&&(Ns.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ns,e0),Ns),"setSiteConfig"),hpe=S(t=>{d5=_i({},t)},"saveConfigFromInitialize"),dpe=S(t=>(Ns=_i(Ns,t),gC(Ns,e0),Ns),"updateSiteConfig"),sj=S(()=>_i({},Ns),"getSiteConfig"),oj=S(t=>(uj(t),_i(k2,t),gr()),"setConfig"),gr=S(()=>_i({},k2),"getConfig"),lj=S(t=>{t&&(["secure",...Ns.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lj(t[e])}))},"sanitize"),fpe=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ns,e0)},"addDirective"),f5=S((t=Ns)=>{e0=[],gC(t,e0)},"reset"),ppe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},jF={},cj=S(t=>{jF[t]||(oe.warn(ppe[t]),jF[t]=!0)},"issueWarning"),uj=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cj("LAZY_LOAD_DEPRECATED")},"checkConfig"),gpe=S(()=>{let t={};d5&&(t=_i(t,d5));for(const e of e0)t=_i(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cj("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,mpe=S(t=>t?fj(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),ype=(()=>{let t=!1;return()=>{t||(hj(),t=!0)}})();function hj(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hj,"setupDompurifyHooks");var dj=S(t=>(ype(),Qh.sanitize(t)),"removeScript"),XF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dj(t):r!=="loose"&&(t=fj(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Tpe(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(XF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(XF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),vpe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),bpe=S(t=>Bm.test(t),"hasBreaks"),xpe=S(t=>t.split(Bm),"splitBreaks"),Tpe=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fj=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),wpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),Cpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),Spe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),Epe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Ri=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),kpe=S(async(t,e)=>{if(!Ri(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>Q_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Ri(i)?`

    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await kpe(t,e),e),"renderKatexSanitized"),$t={getRows:mpe,sanitizeText:Jr,sanitizeTextOrArray:vpe,hasBreaks:bpe,splitBreaks:xpe,lineBreakRegex:Bm,removeScript:dj,getUrl:mC,evaluate:Pu,getMax:wpe,getMin:Cpe},_pe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Ape=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Ui=S(function(t,e,r,n){const i=Ape(e,r,n);_pe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Ui(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},Lpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { +`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rj(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nj(e,r,n)},"registerLazyLoadedDiagrams"),nj=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),z0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),_i=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,q0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),V0e=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),jg,G0e=(jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),U0e=S(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),Xg,H0e=(Xg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),Hb=S(t=>{const e=new H0e;return e.calculate(t),e},"getThemeVariables"),Kg,W0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),Y0e=S(t=>{const e=new W0e;return e.calculate(t),e},"getThemeVariables"),Zg,j0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),X0e=S(t=>{const e=new j0e;return e.calculate(t),e},"getThemeVariables"),Qg,K0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),Z0e=S(t=>{const e=new K0e;return e.calculate(t),e},"getThemeVariables"),Jg,Q0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),J0e=S(t=>{const e=new Q0e;return e.calculate(t),e},"getThemeVariables"),e1,epe=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),tpe=S(t=>{const e=new epe;return e.calculate(t),e},"getThemeVariables"),t1,rpe=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),npe=S(t=>{const e=new rpe;return e.calculate(t),e},"getThemeVariables"),r1,ipe=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),ape=S(t=>{const e=new ipe;return e.calculate(t),e},"getThemeVariables"),n1,spe=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),ope=S(t=>{const e=new spe;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:V0e},dark:{getThemeVariables:U0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:Y0e},neutral:{getThemeVariables:X0e},neo:{getThemeVariables:Z0e},"neo-dark":{getThemeVariables:J0e},redux:{getThemeVariables:tpe},"redux-dark":{getThemeVariables:npe},"redux-color":{getThemeVariables:ape},"redux-dark-color":{getThemeVariables:ope}},Js={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},ij={...Js,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...Js.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Js.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Js.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Js.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Js.pie,useWidth:984},xyChart:{...Js.xyChart,useWidth:void 0},requirement:{...Js.requirement,useWidth:void 0},packet:{...Js.packet},treeView:{...Js.treeView,useWidth:void 0},radar:{...Js.radar},ishikawa:{...Js.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Js.venn}},aj=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aj(t[n],"")]:[...r,e+n],[]),"keyify"),lpe=new Set(aj(ij,"")),Vr=ij,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!lpe.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=cpe(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),cpe=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ds=_i({},tm),d5,e0=[],k2=_i({},tm),gC=S((t,e)=>{let r=_i({},t),n={};for(const i of e)lj(i),n=_i(n,i);if(r=_i(r,n),n.theme&&n.theme in xu){const i=_i({},d5),a=_i(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uj(k2),k2},"updateCurrentConfig"),upe=S(t=>(Ds=_i({},tm),Ds=_i(Ds,t),t.theme&&xu[t.theme]&&(Ds.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ds,e0),Ds),"setSiteConfig"),hpe=S(t=>{d5=_i({},t)},"saveConfigFromInitialize"),dpe=S(t=>(Ds=_i(Ds,t),gC(Ds,e0),Ds),"updateSiteConfig"),sj=S(()=>_i({},Ds),"getSiteConfig"),oj=S(t=>(uj(t),_i(k2,t),gr()),"setConfig"),gr=S(()=>_i({},k2),"getConfig"),lj=S(t=>{t&&(["secure",...Ds.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lj(t[e])}))},"sanitize"),fpe=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ds,e0)},"addDirective"),f5=S((t=Ds)=>{e0=[],gC(t,e0)},"reset"),ppe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},jF={},cj=S(t=>{jF[t]||(oe.warn(ppe[t]),jF[t]=!0)},"issueWarning"),uj=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cj("LAZY_LOAD_DEPRECATED")},"checkConfig"),gpe=S(()=>{let t={};d5&&(t=_i(t,d5));for(const e of e0)t=_i(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cj("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,mpe=S(t=>t?fj(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),ype=(()=>{let t=!1;return()=>{t||(hj(),t=!0)}})();function hj(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hj,"setupDompurifyHooks");var dj=S(t=>(ype(),Qh.sanitize(t)),"removeScript"),XF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dj(t):r!=="loose"&&(t=fj(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Tpe(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(XF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(XF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),vpe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),bpe=S(t=>Bm.test(t),"hasBreaks"),xpe=S(t=>t.split(Bm),"splitBreaks"),Tpe=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fj=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),wpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),Cpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),Spe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),Epe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Ri=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),kpe=S(async(t,e)=>{if(!Ri(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>Q_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Ri(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await kpe(t,e),e),"renderKatexSanitized"),$t={getRows:mpe,sanitizeText:Jr,sanitizeTextOrArray:vpe,hasBreaks:bpe,splitBreaks:xpe,lineBreakRegex:Bm,removeScript:dj,getUrl:mC,evaluate:Pu,getMax:wpe,getMin:Cpe},_pe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Ape=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Ui=S(function(t,e,r,n){const i=Ape(e,r,n);_pe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Ui(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},Lpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -131,15 +131,15 @@ Error generating stack: `+L.message+` ${e} `},"getStyles"),Rpe=S((t,e)=>{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),Dpe=Lpe,yD={};fC(yD,{clear:()=>Kn,getAccDescription:()=>hi,getAccTitle:()=>ci,getDiagramTitle:()=>Zn,setAccDescription:()=>ui,setAccTitle:()=>Xn,setDiagramTitle:()=>li});var vD="",bD="",xD="",TD=S(t=>Jr(t,gr()),"sanitizeText"),Kn=S(()=>{vD="",xD="",bD=""},"clear"),Xn=S(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),ci=S(()=>vD,"getAccTitle"),ui=S(t=>{xD=TD(t).replace(/\n\s+/g,` -`)},"setAccDescription"),hi=S(()=>xD,"getAccDescription"),li=S(t=>{bD=TD(t)},"setDiagramTitle"),Zn=S(()=>bD,"getDiagramTitle"),ZF=oe,Npe=fD,Pe=gr,YA=oj,pj=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gj=Pm,Mpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nj(t,r),Rpe(t,e.styles),e.injectUtils?.(ZF,Npe,Pe,wD,gj,Mpe(),()=>{})},"registerDiagram"),jA=S(t=>{if(t in p5)return p5[t];throw new Ope(t)},"getDiagram"),i1,Ope=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Ipe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Ipe?t:Bpe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function Bpe(){return 0}function Ppe(t){return t===null?NaN:+t}const Fpe=CD(a3),$pe=Fpe.right;CD(Ppe).center;class QF extends Map{constructor(e,r=Vpe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(zpe(this,e),r)}delete(e){return super.delete(qpe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function zpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function qpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Vpe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Gpe=Math.sqrt(50),Upe=Math.sqrt(10),Hpe=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Gpe?10:a>=Upe?5:a>=Hpe?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function jpe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Xpe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function ege(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function tge(){return!this.__axis}function mj(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?Zpe:Qpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Kpe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?ege:Jpe)(e.copy(),l),_=p.selection?p.selection():p,A=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),R=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");A=A.merge(A.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(A=A.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),R=R.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),R.remove(),A.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(tge).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function rge(t){return mj(s3,t)}function nge(t){return mj(ZA,t)}var ige={value:()=>{}};function yj(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yj.prototype={constructor:o3,on:function(t,e){var r=this._,n=age(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function oge(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function lge(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vj(t){var e=vC(t);return(e.local?lge:oge)(e)}function cge(){}function SD(t){return t==null?cge:function(){return this.querySelector(t)}}function uge(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Ige(t){t||(t=Bge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function Pge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Fge(){return Array.from(this)}function $ge(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Kge:typeof e=="function"?Qge:Zge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||Cj(t).getComputedStyle(t,null).getPropertyValue(e)}function e1e(t){return function(){delete this[t]}}function t1e(t,e){return function(){this[t]=e}}function r1e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function n1e(t,e){return arguments.length>1?this.each((e==null?e1e:typeof e=="function"?r1e:t1e)(t,e)):this.node()[t]}function Sj(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new Ej(t)}function Ej(t){this._node=t,this._names=Sj(t.getAttribute("class")||"")}Ej.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kj(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function D1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=z1e.exec(t))?new Va(e[1],e[2],e[3],1):(e=q1e.exec(t))?new Va(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=V1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=G1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=U1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=H1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new Va(NaN,NaN,NaN,0):null}function s$(t){return new Va(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Va(t,e,r,n)}function Rj(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new Va(t.r,t.g,t.b,t.opacity)):new Va}function JA(t,e,r,n){return arguments.length===1?Rj(t):new Va(t,e,r,n??1)}function Va(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}jb(Va,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Va(jf(this.r),jf(this.g),jf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:j1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function j1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${jf(this.r)}, ${jf(this.g)}, ${jf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function jf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=jf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function Dj(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function X1e(t,e,r,n){return arguments.length===1?Dj(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}jb(ll,X1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Va(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const K1e=Math.PI/180,Z1e=180/Math.PI,x5=18,Nj=.96422,Mj=1,Oj=.82521,Ij=4/29,Dg=6/29,Bj=3*Dg*Dg,Q1e=Dg*Dg*Dg;function Pj(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return Fj(t);t instanceof Va||(t=Rj(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/Mj),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/Nj),s=k6((.0139322*e+.0971045*r+.7141733*n)/Oj)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function J1e(t,e,r,n){return arguments.length===1?Pj(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}jb(ec,J1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=Nj*_6(e),t=Mj*_6(t),r=Oj*_6(r),new Va(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>Q1e?Math.pow(t,1/3):t/Bj+Ij}function _6(t){return t>Dg?t*t*t:Bj*(t-Ij)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function eme(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=Pj(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $j(t,e){return function(r){return t+r*e}}function tme(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function rme(t,e){var r=e-t;return r?$j(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function nme(t){return(t=+t)==1?_2:function(e,r){return r-e?tme(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$j(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=nme(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function ime(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{bme()}finally{nm=0,Tme(),r0=0}}function xme(){var t=q2.now(),e=t-C5;e>Gj&&(TC-=e,C5=t)}function Tme(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(xme,Gj)),nm=1,Uj(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var wme=yj("start","end","cancel","interrupt"),Cme=[],Wj=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;Sme(t,r,{name:e,index:n,group:i,on:wme,tween:Cme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Wj})}function AD(t,e){var r=Sl(t,e);if(r.state>Wj)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function Sme(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=Hj(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function tye(t,e,r){var n,i,a=eye(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function rye(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(tye(r,t,e))}function nye(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function iye(){return this.on("end.remove",nye(this._id))}function aye(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Kj;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>Rye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function Mye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function Oye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Iye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var Bye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=Bye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Pye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function Fye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Mye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:Fye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $ye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:Oye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Iye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,A=d.type;A==="n"?(T=!0,A="g"):y$[A]||(E===void 0&&(E=12),_=!0,A="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(A)?"0"+A.toLowerCase():""),R=(b==="$"?n:/[%p]/.test(A)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[A],F=/[defgprs%]/.test(A);E=E===void 0?6:/[gprs]/.test(A)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=R,I,N,B;if(A==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=Pye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(A==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,Zj;zye({thousands:",",grouping:[3],currency:["$",""]});function zye(t){return Y4=$ye(t),Of=Y4.format,Zj=Y4.formatPrefix,Y4}function qye(t){return Math.max(0,-im(Math.abs(t)))}function Vye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function Gye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function Uye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Hye(){return this.eachAfter(Uye)}function Wye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Yye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function jye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Zye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Qye(t){for(var e=this,r=Jye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function Jye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function eve(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function tve(){return Array.from(this)}function rve(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function nve(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*ive(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(cve)}function ave(){return DD(this).eachBefore(lve)}function sve(t){return t.children}function ove(t){return Array.isArray(t)?t[1]:null}function lve(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function cve(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Hye,each:Wye,eachAfter:jye,eachBefore:Yye,find:Xye,sum:Kye,sort:Zye,path:Qye,ancestors:eve,descendants:tve,leaves:rve,links:nve,copy:ave,[Symbol.iterator]:ive};function uve(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function hve(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function dve(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),A=b*b*_,T=Math.max(C/A,A/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(pve);function yve(){var t=mve,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(hve),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function Tve(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?wve:Tve,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,bve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=hme,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function Jj(){return Cve()(vg,vg)}function Sve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Vye(i,s))&&(n.precision=a),Zj(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Gye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=qye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function Eve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Wpe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return Sve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=XA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=Jj();return t.copy=function(){return Qj(t,am())},CC.apply(t,arguments),Eve(t)}function kve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(una(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=na(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?na(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=na(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const _ve=na(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());_ve.range;const G2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const Ave=na(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());Ave.range;const n0=na(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const Lve=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));Lve.range;function A0(t){return na(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const Xb=A0(0),U2=A0(1),eX=A0(2),tX=A0(3),i0=A0(4),rX=A0(5),nX=A0(6);Xb.range;U2.range;eX.range;tX.range;i0.range;rX.range;nX.range;function L0(t){return na(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const iX=L0(0),L5=L0(1),Rve=L0(2),Dve=L0(3),om=L0(4),Nve=L0(5),Mve=L0(6);iX.range;L5.range;Rve.range;Dve.range;om.range;Nve.range;Mve.range;const H2=na(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const Ove=na(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Ove.range;const Ru=na(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=na(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Ive(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function R(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return R(te,e,ae,ie)}function I(te,ae,ie){return R(te,r,ae,ie)}function N(te,ae,ie){return R(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function j(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function X(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=A(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=A(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ha=/^\s*\d+/,$ve=/^%/,zve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Vve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Uve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Hve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Wve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ha.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Yve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function jve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Xve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Kve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Zve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Qve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Jve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function e2e(t,e,r){var n=ha.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function t2e(t,e,r){var n=$ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function r2e(t,e,r){var n=ha.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function n2e(t,e,r){var n=ha.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function i2e(t,e){return sn(t.getHours(),e,2)}function a2e(t,e){return sn(t.getHours()%12||12,e,2)}function s2e(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aX(t,e){return sn(t.getMilliseconds(),e,3)}function o2e(t,e){return aX(t,e)+"000"}function l2e(t,e){return sn(t.getMonth()+1,e,2)}function c2e(t,e){return sn(t.getMinutes(),e,2)}function u2e(t,e){return sn(t.getSeconds(),e,2)}function h2e(t){var e=t.getDay();return e===0?7:e}function d2e(t,e){return sn(Xb.count(Ru(t)-1,t),e,2)}function sX(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function f2e(t,e){return t=sX(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function p2e(t){return t.getDay()}function g2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function m2e(t,e){return sn(t.getFullYear()%100,e,2)}function y2e(t,e){return t=sX(t),sn(t.getFullYear()%100,e,2)}function v2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function b2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function x2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function T2e(t,e){return sn(t.getUTCHours(),e,2)}function w2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function C2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oX(t,e){return sn(t.getUTCMilliseconds(),e,3)}function S2e(t,e){return oX(t,e)+"000"}function E2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function k2e(t,e){return sn(t.getUTCMinutes(),e,2)}function _2e(t,e){return sn(t.getUTCSeconds(),e,2)}function A2e(t){var e=t.getUTCDay();return e===0?7:e}function L2e(t,e){return sn(iX.count(a0(t)-1,t),e,2)}function lX(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function R2e(t,e){return t=lX(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function D2e(t){return t.getUTCDay()}function N2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function M2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function O2e(t,e){return t=lX(t),sn(t.getUTCFullYear()%100,e,2)}function I2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function B2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function P2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;F2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function F2e(t){return Rp=Fve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function $2e(t){return new Date(t)}function z2e(t){return t instanceof Date?+t:+new Date(+t)}function cX(t,e,r,n,i,a,s,o,l,u){var h=Jj(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(A){return(l(A)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uX(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Nye(e)}function W2e(t){return t.innerRadius}function Y2e(t){return t.outerRadius}function j2e(t){return t.startAngle}function X2e(t){return t.endAngle}function K2e(t){return t&&t.padAngle}function Z2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(R=F,O=$),{cx:R,cy:O,x01:-h,y01:-d,x11:R*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=W2e,e=Y2e,r=ki(0),n=null,i=j2e,a=X2e,s=K2e,o=null,l=uX(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pFa))o.moveTo(0,0);else if(b>u3-Fa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Fa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,A=b,k=b,R=s.apply(this,arguments)/2,O=R>Fa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Fa){var I=I$(O/f*Dl(R)),N=I$(O/p*Dl(R));(A-=I*2)>Fa?(I*=x?1:-1,E+=I,_-=I):(A=0,E=_=(m+v)/2),(k-=N*2)>Fa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Fa){var P=p*Qd(T),H=p*Dl(T),j=f*Qd(E),Z=f*Dl(E),X;if(bFa?q>Fa?(z=j4(j,Z,B,M,p,q,x),D=j4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qFa)||!(A>Fa)?o.lineTo(V,U):$>Fa?(z=j4(V,U,P,H,f,-$,x),D=j4(B,M,j,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function tbe(t){return t}function rbe(){var t=tbe,e=ebe,r=null,n=ki(0),i=ki(u3),a=ki(0);function s(o){var l,u=(o=hX(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,A){return e(m[_],m[A])}):r!=null&&p.sort(function(_,A){return r(o[_],o[A])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:ki(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:ki(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:ki(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:ki(+o),s):a},s}class fX{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pX(t){return new fX(t,!0)}function gX(t){return new fX(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function j2(t){return new SC(t)}function mX(t){this._context=t}mX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function nbe(t){return new mX(t)}function yX(t){this._context=t}yX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function ibe(t){return new yX(t)}function vX(t,e){this._basis=new SC(t),this._beta=e}vX.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const abe=(function t(e){function r(n){return e===1?new SC(n):new vX(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bX=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const sbe=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const obe=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Fa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Fa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xX(t,e){this._context=t,this._alpha=e}xX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const TX=(function t(e){function r(n){return e?new xX(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wX(t,e){this._context=t,this._alpha=e}wX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const lbe=(function t(e){function r(n){return e?new wX(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function CX(t,e){this._context=t,this._alpha=e}CX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cbe=(function t(e){function r(n){return e?new CX(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function SX(t){this._context=t}SX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function ube(t){return new SX(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function EX(t){this._context=new kX(t)}(EX.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kX(t){this._context=t}kX.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _X(t){return new O5(t)}function AX(t){return new EX(t)}function LX(t){this._context=t}LX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function DX(t){return new EC(t,.5)}function NX(t){return new EC(t,0)}function MX(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Gs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function OX(t){return typeof t=="object"&&t!==null}S(OX,"isObject");function IX(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(IX,"toArray");function BX(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rxD,"getAccDescription"),li=S(t=>{bD=TD(t)},"setDiagramTitle"),Zn=S(()=>bD,"getDiagramTitle"),ZF=oe,Npe=fD,Pe=gr,YA=oj,pj=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gj=Pm,Mpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nj(t,r),Rpe(t,e.styles),e.injectUtils?.(ZF,Npe,Pe,wD,gj,Mpe(),()=>{})},"registerDiagram"),jA=S(t=>{if(t in p5)return p5[t];throw new Ope(t)},"getDiagram"),i1,Ope=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Ipe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Ipe?t:Bpe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function Bpe(){return 0}function Ppe(t){return t===null?NaN:+t}const Fpe=CD(a3),$pe=Fpe.right;CD(Ppe).center;class QF extends Map{constructor(e,r=Vpe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(zpe(this,e),r)}delete(e){return super.delete(qpe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function zpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function qpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Vpe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Gpe=Math.sqrt(50),Upe=Math.sqrt(10),Hpe=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Gpe?10:a>=Upe?5:a>=Hpe?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function jpe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Xpe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function ege(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function tge(){return!this.__axis}function mj(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?Zpe:Qpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Kpe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?ege:Jpe)(e.copy(),l),_=p.selection?p.selection():p,A=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),R=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");A=A.merge(A.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(A=A.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),R=R.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),R.remove(),A.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(tge).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function rge(t){return mj(s3,t)}function nge(t){return mj(ZA,t)}var ige={value:()=>{}};function yj(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yj.prototype={constructor:o3,on:function(t,e){var r=this._,n=age(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function oge(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function lge(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vj(t){var e=vC(t);return(e.local?lge:oge)(e)}function cge(){}function SD(t){return t==null?cge:function(){return this.querySelector(t)}}function uge(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Ige(t){t||(t=Bge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function Pge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Fge(){return Array.from(this)}function $ge(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Kge:typeof e=="function"?Qge:Zge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||Cj(t).getComputedStyle(t,null).getPropertyValue(e)}function e1e(t){return function(){delete this[t]}}function t1e(t,e){return function(){this[t]=e}}function r1e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function n1e(t,e){return arguments.length>1?this.each((e==null?e1e:typeof e=="function"?r1e:t1e)(t,e)):this.node()[t]}function Sj(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new Ej(t)}function Ej(t){this._node=t,this._names=Sj(t.getAttribute("class")||"")}Ej.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kj(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function D1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=z1e.exec(t))?new Va(e[1],e[2],e[3],1):(e=q1e.exec(t))?new Va(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=V1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=G1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=U1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=H1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new Va(NaN,NaN,NaN,0):null}function s$(t){return new Va(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Va(t,e,r,n)}function Rj(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new Va(t.r,t.g,t.b,t.opacity)):new Va}function JA(t,e,r,n){return arguments.length===1?Rj(t):new Va(t,e,r,n??1)}function Va(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}jb(Va,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Va(jf(this.r),jf(this.g),jf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:j1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function j1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${jf(this.r)}, ${jf(this.g)}, ${jf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function jf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=jf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function Dj(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function X1e(t,e,r,n){return arguments.length===1?Dj(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}jb(ll,X1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Va(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const K1e=Math.PI/180,Z1e=180/Math.PI,x5=18,Nj=.96422,Mj=1,Oj=.82521,Ij=4/29,Dg=6/29,Bj=3*Dg*Dg,Q1e=Dg*Dg*Dg;function Pj(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return Fj(t);t instanceof Va||(t=Rj(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/Mj),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/Nj),s=k6((.0139322*e+.0971045*r+.7141733*n)/Oj)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function J1e(t,e,r,n){return arguments.length===1?Pj(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}jb(ec,J1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=Nj*_6(e),t=Mj*_6(t),r=Oj*_6(r),new Va(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>Q1e?Math.pow(t,1/3):t/Bj+Ij}function _6(t){return t>Dg?t*t*t:Bj*(t-Ij)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function eme(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=Pj(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $j(t,e){return function(r){return t+r*e}}function tme(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function rme(t,e){var r=e-t;return r?$j(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function nme(t){return(t=+t)==1?_2:function(e,r){return r-e?tme(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$j(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=nme(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function ime(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{bme()}finally{nm=0,Tme(),r0=0}}function xme(){var t=q2.now(),e=t-C5;e>Gj&&(TC-=e,C5=t)}function Tme(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(xme,Gj)),nm=1,Uj(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var wme=yj("start","end","cancel","interrupt"),Cme=[],Wj=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;Sme(t,r,{name:e,index:n,group:i,on:wme,tween:Cme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Wj})}function AD(t,e){var r=Sl(t,e);if(r.state>Wj)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function Sme(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=Hj(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function tye(t,e,r){var n,i,a=eye(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function rye(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(tye(r,t,e))}function nye(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function iye(){return this.on("end.remove",nye(this._id))}function aye(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Kj;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>Rye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function Mye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function Oye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Iye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var Bye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=Bye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Pye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function Fye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Mye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:Fye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $ye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:Oye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Iye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,A=d.type;A==="n"?(T=!0,A="g"):y$[A]||(E===void 0&&(E=12),_=!0,A="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(A)?"0"+A.toLowerCase():""),R=(b==="$"?n:/[%p]/.test(A)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[A],F=/[defgprs%]/.test(A);E=E===void 0?6:/[gprs]/.test(A)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=R,I,N,B;if(A==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=Pye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(A==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,Zj;zye({thousands:",",grouping:[3],currency:["$",""]});function zye(t){return Y4=$ye(t),Of=Y4.format,Zj=Y4.formatPrefix,Y4}function qye(t){return Math.max(0,-im(Math.abs(t)))}function Vye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function Gye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function Uye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Hye(){return this.eachAfter(Uye)}function Wye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Yye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function jye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Zye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Qye(t){for(var e=this,r=Jye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function Jye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function eve(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function tve(){return Array.from(this)}function rve(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function nve(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*ive(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(cve)}function ave(){return DD(this).eachBefore(lve)}function sve(t){return t.children}function ove(t){return Array.isArray(t)?t[1]:null}function lve(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function cve(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Hye,each:Wye,eachAfter:jye,eachBefore:Yye,find:Xye,sum:Kye,sort:Zye,path:Qye,ancestors:eve,descendants:tve,leaves:rve,links:nve,copy:ave,[Symbol.iterator]:ive};function uve(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function hve(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function dve(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),A=b*b*_,T=Math.max(C/A,A/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(pve);function yve(){var t=mve,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(hve),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function Tve(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?wve:Tve,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,bve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=hme,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function Jj(){return Cve()(vg,vg)}function Sve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Vye(i,s))&&(n.precision=a),Zj(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Gye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=qye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function Eve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Wpe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return Sve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=XA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=Jj();return t.copy=function(){return Qj(t,am())},CC.apply(t,arguments),Eve(t)}function kve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(una(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=na(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?na(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=na(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const _ve=na(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());_ve.range;const G2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const Ave=na(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());Ave.range;const n0=na(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const Lve=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));Lve.range;function A0(t){return na(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const Xb=A0(0),U2=A0(1),eX=A0(2),tX=A0(3),i0=A0(4),rX=A0(5),nX=A0(6);Xb.range;U2.range;eX.range;tX.range;i0.range;rX.range;nX.range;function L0(t){return na(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const iX=L0(0),L5=L0(1),Rve=L0(2),Dve=L0(3),om=L0(4),Nve=L0(5),Mve=L0(6);iX.range;L5.range;Rve.range;Dve.range;om.range;Nve.range;Mve.range;const H2=na(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const Ove=na(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Ove.range;const Ru=na(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=na(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Ive(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function R(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return R(te,e,ae,ie)}function I(te,ae,ie){return R(te,r,ae,ie)}function N(te,ae,ie){return R(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function j(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function X(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=A(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=A(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ha=/^\s*\d+/,$ve=/^%/,zve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Vve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Uve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Hve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Wve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ha.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Yve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function jve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Xve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Kve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Zve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Qve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Jve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function e2e(t,e,r){var n=ha.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function t2e(t,e,r){var n=$ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function r2e(t,e,r){var n=ha.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function n2e(t,e,r){var n=ha.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function i2e(t,e){return sn(t.getHours(),e,2)}function a2e(t,e){return sn(t.getHours()%12||12,e,2)}function s2e(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aX(t,e){return sn(t.getMilliseconds(),e,3)}function o2e(t,e){return aX(t,e)+"000"}function l2e(t,e){return sn(t.getMonth()+1,e,2)}function c2e(t,e){return sn(t.getMinutes(),e,2)}function u2e(t,e){return sn(t.getSeconds(),e,2)}function h2e(t){var e=t.getDay();return e===0?7:e}function d2e(t,e){return sn(Xb.count(Ru(t)-1,t),e,2)}function sX(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function f2e(t,e){return t=sX(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function p2e(t){return t.getDay()}function g2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function m2e(t,e){return sn(t.getFullYear()%100,e,2)}function y2e(t,e){return t=sX(t),sn(t.getFullYear()%100,e,2)}function v2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function b2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function x2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function T2e(t,e){return sn(t.getUTCHours(),e,2)}function w2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function C2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oX(t,e){return sn(t.getUTCMilliseconds(),e,3)}function S2e(t,e){return oX(t,e)+"000"}function E2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function k2e(t,e){return sn(t.getUTCMinutes(),e,2)}function _2e(t,e){return sn(t.getUTCSeconds(),e,2)}function A2e(t){var e=t.getUTCDay();return e===0?7:e}function L2e(t,e){return sn(iX.count(a0(t)-1,t),e,2)}function lX(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function R2e(t,e){return t=lX(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function D2e(t){return t.getUTCDay()}function N2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function M2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function O2e(t,e){return t=lX(t),sn(t.getUTCFullYear()%100,e,2)}function I2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function B2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function P2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;F2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function F2e(t){return Rp=Fve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function $2e(t){return new Date(t)}function z2e(t){return t instanceof Date?+t:+new Date(+t)}function cX(t,e,r,n,i,a,s,o,l,u){var h=Jj(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(A){return(l(A)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uX(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Nye(e)}function W2e(t){return t.innerRadius}function Y2e(t){return t.outerRadius}function j2e(t){return t.startAngle}function X2e(t){return t.endAngle}function K2e(t){return t&&t.padAngle}function Z2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(R=F,O=$),{cx:R,cy:O,x01:-h,y01:-d,x11:R*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=W2e,e=Y2e,r=ki(0),n=null,i=j2e,a=X2e,s=K2e,o=null,l=uX(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pFa))o.moveTo(0,0);else if(b>u3-Fa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Fa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,A=b,k=b,R=s.apply(this,arguments)/2,O=R>Fa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Fa){var I=I$(O/f*Dl(R)),N=I$(O/p*Dl(R));(A-=I*2)>Fa?(I*=x?1:-1,E+=I,_-=I):(A=0,E=_=(m+v)/2),(k-=N*2)>Fa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Fa){var P=p*Qd(T),H=p*Dl(T),j=f*Qd(E),Z=f*Dl(E),X;if(bFa?q>Fa?(z=j4(j,Z,B,M,p,q,x),D=j4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qFa)||!(A>Fa)?o.lineTo(V,U):$>Fa?(z=j4(V,U,P,H,f,-$,x),D=j4(B,M,j,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function tbe(t){return t}function rbe(){var t=tbe,e=ebe,r=null,n=ki(0),i=ki(u3),a=ki(0);function s(o){var l,u=(o=hX(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,A){return e(m[_],m[A])}):r!=null&&p.sort(function(_,A){return r(o[_],o[A])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:ki(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:ki(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:ki(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:ki(+o),s):a},s}class fX{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pX(t){return new fX(t,!0)}function gX(t){return new fX(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function j2(t){return new SC(t)}function mX(t){this._context=t}mX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function nbe(t){return new mX(t)}function yX(t){this._context=t}yX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function ibe(t){return new yX(t)}function vX(t,e){this._basis=new SC(t),this._beta=e}vX.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const abe=(function t(e){function r(n){return e===1?new SC(n):new vX(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bX=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const sbe=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const obe=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Fa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Fa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xX(t,e){this._context=t,this._alpha=e}xX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const TX=(function t(e){function r(n){return e?new xX(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wX(t,e){this._context=t,this._alpha=e}wX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const lbe=(function t(e){function r(n){return e?new wX(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function CX(t,e){this._context=t,this._alpha=e}CX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cbe=(function t(e){function r(n){return e?new CX(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function SX(t){this._context=t}SX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function ube(t){return new SX(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function EX(t){this._context=new kX(t)}(EX.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kX(t){this._context=t}kX.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _X(t){return new O5(t)}function AX(t){return new EX(t)}function LX(t){this._context=t}LX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function DX(t){return new EC(t,.5)}function NX(t){return new EC(t,0)}function MX(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Vs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function OX(t){return typeof t=="object"&&t!==null}S(OX,"isObject");function IX(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(IX,"toArray");function BX(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;ro&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(h3,"getLine");function d3(t,e){return Qi.repeat(" ",e-t.length)+t}S(d3,"padStart");function $X(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Qi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` +`+t.mark.snippet),n+" "+r):n}S($D,"formatError");function cm(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=$D(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}S(cm,"YAMLException$1");cm.prototype=Object.create(Error.prototype);cm.prototype.constructor=cm;cm.prototype.toString=S(function(e){return this.name+": "+$D(this,e)},"toString");var Os=cm;function h3(t,e,r,n,i){var a="",s="",o=Math.floor(i/2)-1;return n-e>o&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(h3,"getLine");function d3(t,e){return Qi.repeat(" ",e-t.length)+t}S(d3,"padStart");function $X(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Qi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` `+o;for(u=h3(t.buffer,n[s],i[s],t.position,d),o+=Qi.repeat(" ",e.indent)+d3((t.line+1).toString(),h)+" | "+u.str+` `,o+=Qi.repeat("-",e.indent+h+3+u.pos)+`^ `,l=1;l<=e.linesAfter&&!(s+l>=i.length);l++)u=h3(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),d),o+=Qi.repeat(" ",e.indent)+d3((t.line+l+1).toString(),h)+" | "+u.str+` -`;return o.replace(/\n$/,"")}S($X,"makeSnippet");var ybe=$X,vbe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],bbe=["scalar","sequence","mapping"];function zX(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}S(zX,"compileStyleAliases");function qX(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(vbe.indexOf(r)===-1)throw new Is('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=zX(e.styleAliases||null),bbe.indexOf(this.kind)===-1)throw new Is('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}S(qX,"Type$1");var Ga=qX;function u8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}S(u8,"compileList");function VX(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(S(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Abe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!Abe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var Lbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Qi.isNegativeZero(t))return"-0.0";return r=t.toString(10),Lbe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Qi.isNegativeZero(t))}S(iK,"isFloat");var Rbe=new Ga("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=Sbe.extend({implicit:[Ebe,kbe,_be,Rbe]}),Dbe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var Nbe=new Ga("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var Mbe=new Ga("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +`;return o.replace(/\n$/,"")}S($X,"makeSnippet");var ybe=$X,vbe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],bbe=["scalar","sequence","mapping"];function zX(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}S(zX,"compileStyleAliases");function qX(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(vbe.indexOf(r)===-1)throw new Os('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=zX(e.styleAliases||null),bbe.indexOf(this.kind)===-1)throw new Os('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}S(qX,"Type$1");var Ga=qX;function u8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}S(u8,"compileList");function VX(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(S(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Abe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!Abe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var Lbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Qi.isNegativeZero(t))return"-0.0";return r=t.toString(10),Lbe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Qi.isNegativeZero(t))}S(iK,"isFloat");var Rbe=new Ga("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=Sbe.extend({implicit:[Ebe,kbe,_be,Rbe]}),Dbe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var Nbe=new Ga("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var Mbe=new Ga("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= \r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(gK,"isBinary");var Obe=new Ga("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),Ibe=Object.prototype.hasOwnProperty,Bbe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=ybe(r),new Is(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function X2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(X2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&X2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Qi.repeat(` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"…":t===95?" ":t===76?"\u2028":t===80?"\u2029":""}S(d8,"simpleEscapeSequence");function RK(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=ybe(r),new Os(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function X2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(X2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&X2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Qi.repeat(` `,e-1))}S(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),os(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),os(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(pl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,Ai(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else pl(r)?(Tu(t,n,i,!0),_C(t,Ai(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),pl(o))Ai(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else pl(o)?(Tu(t,r,n,!0),_C(t,Ai(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),os(u)&&(d=f=!0,t.position++,Ai(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,Ai(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),Ai(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Vbe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!pl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),pl(d)){l++;continue}if(t.lineIndente)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),Ai(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ai(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!pl(s));break}if(pl(s))break;for(r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):X2(t,'unknown document directive "'+n+'"')}if(Ai(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ai(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),Ai(t,!0,-1),t.checkLineBreaks&&Ube.test(t.input.slice(e,t.position))&&X2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ai(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(hxe.indexOf(e)!==-1||dxe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Is("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` +`+Qi.repeat(" ",t.indent*e)}S($5,"generateNextLine");function tZ(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(hxe.indexOf(e)!==-1||dxe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Os("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` @@ -161,7 +161,7 @@ Error generating stack: `+L.message+` `:"")+w8(l,e),i=a}return n}S(cZ,"foldString");function w8(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=` `+t.slice(i,a),i=a+1),s=o;return l+=` `,t.length-i>e&&s>i?l+=t.slice(i,s)+` -`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Ya[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Is("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Is("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i=65536?i+=2:i++)r=xg(t,i),n=Ya[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Os("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Os("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),$a={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Wn(t),e=Wn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(e2,"calculateDeltaAndAngle");var Wn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Wn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),o=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),l=Math.abs(Wn(e).x-Wn(n[0]).x),u=Math.abs(Wn(e).y-Wn(n[0]).y),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),o=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),l=Math.abs(Wn(e).y-Wn(n[0]).y),u=Math.abs(Wn(e).x-Wn(n[0]).x),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return X4}var R0=yxe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,vxe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||vxe||Function("return this")(),Uo=uc.Symbol,yZ=Object.prototype,bxe=yZ.hasOwnProperty,xxe=yZ.toString,uv=Uo?Uo.toStringTag:void 0;function Txe(t){var e=bxe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=xxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var wxe=Object.prototype,Cxe=wxe.toString;function Sxe(t){return Cxe.call(t)}var Exe="[object Null]",kxe="[object Undefined]",H$=Uo?Uo.toStringTag:void 0;function D0(t){return t==null?t===void 0?kxe:Exe:H$&&H$ in Object(t)?Txe(t):Sxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var _xe="[object AsyncFunction]",Axe="[object Function]",Lxe="[object GeneratorFunction]",Rxe="[object Proxy]";function J2(t){if(!po(t))return!1;var e=D0(t);return e==Axe||e==Lxe||e==_xe||e==Rxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Dxe(t){return!!W$&&W$ in t}var Nxe=Function.prototype,Mxe=Nxe.toString;function N0(t){if(t!=null){try{return Mxe.call(t)}catch{}try{return t+""}catch{}}return""}var Oxe=/[\\^$.*+?()[\]{}|]/g,Ixe=/^\[object .+?Constructor\]$/,Bxe=Function.prototype,Pxe=Object.prototype,Fxe=Bxe.toString,$xe=Pxe.hasOwnProperty,zxe=RegExp("^"+Fxe.call($xe).replace(Oxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function qxe(t){if(!po(t)||Dxe(t))return!1;var e=J2(t)?zxe:Ixe;return e.test(N0(t))}function Vxe(t,e){return t?.[e]}function M0(t,e){var r=Vxe(t,e);return qxe(r)?r:void 0}var eb=M0(Object,"create");function Gxe(){this.__data__=eb?eb(null):{},this.size=0}function Uxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Hxe="__lodash_hash_undefined__",Wxe=Object.prototype,Yxe=Wxe.hasOwnProperty;function jxe(t){var e=this.__data__;if(eb){var r=e[t];return r===Hxe?void 0:r}return Yxe.call(e,t)?e[t]:void 0}var Xxe=Object.prototype,Kxe=Xxe.hasOwnProperty;function Zxe(t){var e=this.__data__;return eb?e[t]!==void 0:Kxe.call(e,t)}var Qxe="__lodash_hash_undefined__";function Jxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?Qxe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function s4e(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=_4e}function vd(t){return t!=null&&XD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function A4e(){return!1}var kZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Q$=kZ&&typeof co=="object"&&co&&!co.nodeType&&co,L4e=Q$&&Q$.exports===kZ,J$=L4e?uc.Buffer:void 0,R4e=J$?J$.isBuffer:void 0,dm=R4e||A4e,D4e="[object Object]",N4e=Function.prototype,M4e=Object.prototype,_Z=N4e.toString,O4e=M4e.hasOwnProperty,I4e=_Z.call(Object);function B4e(t){if(!nc(t)||D0(t)!=D4e)return!1;var e=jD(t);if(e===null)return!0;var r=O4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==I4e}var P4e="[object Arguments]",F4e="[object Array]",$4e="[object Boolean]",z4e="[object Date]",q4e="[object Error]",V4e="[object Function]",G4e="[object Map]",U4e="[object Number]",H4e="[object Object]",W4e="[object RegExp]",Y4e="[object Set]",j4e="[object String]",X4e="[object WeakMap]",K4e="[object ArrayBuffer]",Z4e="[object DataView]",Q4e="[object Float32Array]",J4e="[object Float64Array]",eTe="[object Int8Array]",tTe="[object Int16Array]",rTe="[object Int32Array]",nTe="[object Uint8Array]",iTe="[object Uint8ClampedArray]",aTe="[object Uint16Array]",sTe="[object Uint32Array]",zn={};zn[Q4e]=zn[J4e]=zn[eTe]=zn[tTe]=zn[rTe]=zn[nTe]=zn[iTe]=zn[aTe]=zn[sTe]=!0;zn[P4e]=zn[F4e]=zn[K4e]=zn[$4e]=zn[Z4e]=zn[z4e]=zn[q4e]=zn[V4e]=zn[G4e]=zn[U4e]=zn[H4e]=zn[W4e]=zn[Y4e]=zn[j4e]=zn[X4e]=!1;function oTe(t){return nc(t)&&XD(t.length)&&!!zn[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,L2=AZ&&typeof co=="object"&&co&&!co.nodeType&&co,lTe=L2&&L2.exports===AZ,z6=lTe&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):oTe;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var cTe=Object.prototype,uTe=cTe.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(uTe.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=STe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=_Te(CTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function ATe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=_i(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${RTe.source})(?=[}][%]{2}).* `,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),NTe=S(function(t){return t.replace(E2,"")},"removeDirectives"),MTe=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return LTe[r]??e}S(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}S(IZ,"formatUrl");var OTe=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}S(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}S(PZ,"calcLabelPosition");var rz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),ITe=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(JD,"getStylesFromArray");var nz=0,$Z=S(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),BTe=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),PTe=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=us(`${s} `,r),u=us(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=FTe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),FTe=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(us(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}S(U5,"calculateTextHeight");function us(t,e){return eN(t,e).width}S(us,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=BTe();b.text=v||MZ;const x=PTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,$Te=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(a1,"InitIDGenerator"),a1),K4,zTe=S(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}S(tN,"isDetailedError");var qTe=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function ea(t,e){return G5({},t,e)}S(ea,"cleanAndMerge");var Lr={assignWithDepth:_i,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:us,calculateTextDimensions:eN,cleanAndMerge:ea,detectInit:DTe,detectDirective:OZ,isSubstringInArray:MTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:ITe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:OTe,entityDecode:zTe,insertTitle:qTe,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:$Te},VTe=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function la(t){return t??null}S(la,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(GZ,"isLabelCoordinateInPath");var Qb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(rN,"configureLabelImages");var GTe=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=S(t=>{const e=UTe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),UTe=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:HTe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),HTe=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const WTe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...WTe,...H5}),YTe=Object.freeze({...UZ,body:"",hidden:!1}),jTe=Object.freeze({width:null,height:null}),XTe=Object.freeze({...jTe,...H5}),KTe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function ZTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=ZTe(t,e);for(const n in YTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function QTe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function JTe(t,e){if(t.icons[e])return az(t,e,[]);const r=QTe(t,[e])[e];return r?az(t,e,r):null}const e3e=/(-?[0-9.]*[0-9]+[0-9.]*)/g,t3e=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(e3e);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=t3e.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function r3e(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function n3e(t,e){return t?""+t+""+e:e}function i3e(t,e,r){const n=r3e(t);return n3e(n.defs,e+n.content+r)}const a3e=t=>t==="unset"||t==="undefined"||t==="none";function s3e(t,e){const r={...UZ,...t},n={...XTe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=i3e(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{a3e(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const o3e=/\sid="(\S+)"/g,oz=new Map;function l3e(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function c3e(t){const e=[];let r;for(;r=o3e.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=l3e(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function u3e(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(ls.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var h3e=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},d3e=/^(?:[ \t]*(?:\n|$))+/,f3e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,p3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,g3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),m3e=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,y3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,v3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),b3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,x3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),jZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),T3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",jZ).getRegex(),cN={blockquote:T3e,code:f3e,def:v3e,fences:p3e,heading:g3e,hr:Jb,html:x3e,lheading:YZ,list:b3e,newline:d3e,paragraph:jZ,table:R2,text:y3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),w3e={...cN,lheading:m3e,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},C3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ ]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},S3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,E3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,XZ=/^( {2,}|\\)\n(?!\s*$)/,k3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",h3e?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,D3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),N3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",M3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),O3e=on(JZ,"gu").replace(/notPunctSpace/g,L3e).replace(/punctSpace/g,A3e).replace(/punct/g,ZZ).getRegex(),I3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),B3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),P3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),F3e=on(lN).replace("(?:-->|$)","-->").getRegex(),$3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",F3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,z3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),q3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:B3e,autolink:P3e,blockSkip:R3e,br:XZ,code:E3e,del:R2,emStrongLDelim:D3e,emStrongRDelimAst:M3e,emStrongRDelimUnd:I3e,escape:S3e,link:z3e,nolink:tQ,punctuation:_3e,reflink:eQ,reflinkSearch:q3e,tag:$3e,text:k3e,url:R2},V3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:O3e,emStrongLDelim:N3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>U3e[t];function Bl(t,e){if(e){if(ls.escapeTest.test(t))return t.replace(ls.escapeReplace,uz)}else if(ls.escapeTestNoEncode.test(t))return t.replace(ls.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(ls.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(ls.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(ls.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function W3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` @@ -232,7 +232,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error `);return rQ(n)}S(oQ,"preprocessMarkdown");function lQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}S(lQ,"nonMarkdownToLines");function cQ(t,e={}){const r=oQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` `).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return S(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}S(cQ,"markdownToLines");function uQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}S(uQ,"nonMarkdownToHTML");function hQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return S(n,"output"),r.map(n).join("")}S(hQ,"markdownToHTML");function dQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}S(dQ,"splitTextToChars");function fQ(t,e){const r=dQ(e.content);return fN(t,[],r,e.type)}S(fQ,"splitWordToFitWidth");function fN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}S(fN,"splitWordToFitWidthRecursion");function pQ(t,e){if(t.some(({content:r})=>r.includes(` `)))throw new Error("splitLineToFitWidth does not support newlines in the line");return X5(t,e)}S(pQ,"splitLineToFitWidth");function X5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return X5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return X5(t,e,r)}S(X5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Ri(e.label)?await yC(e.label.replace($t.lineBreakRegex,` -`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await j3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ri(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function X3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function K3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];X3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),K3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class Z3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class Q3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let J3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),A=Math.tan(x/4),k=4/3*i*A,R=4/3*a*A,O=[t,e],F=[t+k*T,e-R*C],$=[r+k*_,n-R*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...s5e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function l5e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const to="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=a5e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==to&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==to&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),A=Math.abs(v/2);_+=Tr(.01*_,C),A+=Tr(.01*A,C);let k=b,R=x;for(;k<0;)k+=2*Math.PI,R+=2*Math.PI;R-k>2*Math.PI&&(k=0,R=2*Math.PI);const O=(R-k)/C.curveStepCount,F=[];for(let $=k;$<=R;$+=O)F.push([T+_*Math.cos($),E+A*Math.sin($)]);return F.push([T+_*Math.cos(R),E+A*Math.sin(R)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==to&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:A}of p)switch(_){case"M":T(),b=[A[0],A[1]],v.push(b);break;case"L":C(),v.push([A[0],A[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([A[0],A[1]]),x.push([A[2],A[3]]),x.push([A[4],A[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const A=l5e(_,f);A.length&&E.push(A)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class c5e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class u5e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new c5e(t,e),svg:(t,e)=>new u5e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",la(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var h5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=h5e,d5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=d5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),f5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),p5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const A=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,A,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",A).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const R=k.node().getBBox();return e.height=R.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),g5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),m5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),y5e=kQ,v5e={rect:kQ,squareRect:y5e,roundedWithTitle:p5e,noteGroup:f5e,divider:m5e,kanbanSection:g5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await v5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),b5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var x5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var w5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",la(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const A=[];for(let k=0;k<20;k++){const R=k/19,O=T+R*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);A.push({x:F,y:$})}return A}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const A=Zr(T),k=E.path(A,_),R=u.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${f/2}, 0)`),or(e,R),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",la(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} +`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await j3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ri(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function X3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function K3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];X3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),K3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class Z3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class Q3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let J3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),A=Math.tan(x/4),k=4/3*i*A,R=4/3*a*A,O=[t,e],F=[t+k*T,e-R*C],$=[r+k*_,n-R*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...s5e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function l5e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const eo="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=a5e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==eo&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==eo&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),A=Math.abs(v/2);_+=Tr(.01*_,C),A+=Tr(.01*A,C);let k=b,R=x;for(;k<0;)k+=2*Math.PI,R+=2*Math.PI;R-k>2*Math.PI&&(k=0,R=2*Math.PI);const O=(R-k)/C.curveStepCount,F=[];for(let $=k;$<=R;$+=O)F.push([T+_*Math.cos($),E+A*Math.sin($)]);return F.push([T+_*Math.cos(R),E+A*Math.sin(R)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==eo&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==eo)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==eo&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==eo&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==eo,s=n.stroke!==eo,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:A}of p)switch(_){case"M":T(),b=[A[0],A[1]],v.push(b);break;case"L":C(),v.push([A[0],A[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([A[0],A[1]]),x.push([A[2],A[3]]),x.push([A[4],A[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const A=l5e(_,f);A.length&&E.push(A)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:eo};break;case"fillPath":s={d:this.opsToPath(a),stroke:eo,strokeWidth:0,fill:n.fill||eo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||eo,strokeWidth:n,fill:eo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class c5e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class u5e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new c5e(t,e),svg:(t,e)=>new u5e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",la(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var h5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=h5e,d5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=d5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),f5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),p5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const A=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,A,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",A).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const R=k.node().getBBox();return e.height=R.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),g5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),m5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),y5e=kQ,v5e={rect:kQ,squareRect:y5e,roundedWithTitle:p5e,noteGroup:f5e,divider:m5e,kanbanSection:g5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await v5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),b5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var x5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var w5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",la(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const A=[];for(let k=0;k<20;k++){const R=k/19,O=T+R*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);A.push({x:F,y:$})}return A}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const A=Zr(T),k=E.path(A,_),R=u.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${f/2}, 0)`),or(e,R),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",la(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),A.insert(()=>T,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),A.insert(()=>T,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function Ta(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],A=Zr(_),k=v.path(A,b),R=u.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var S5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),E5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),k5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=S5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",la(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",la(e.cssClasses)).attr("style",la(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function jQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(jQ,"filledCircle");var Ez=10,kz=10;async function XQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(XQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var _5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=_5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const A=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),R=p+h.height+T,O=E.rectangle(-k/2,-R/2,k,R,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>A,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-R/2:R/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const A=_.node().getBBox(),k=A.width,R=A.height,O=A.x,F=A.y,$=Math.max(k,R)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-R/2-F:-h.height/2-p/2-R/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,A=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const R=C.get("fill");k.stroke=R??x;const O=A.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=A.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,A=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const R=C.get("fill");k.stroke=R??x;const O=A.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=A.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),A=h+f.height+x,k=C.rectangle(-_/2,-A/2,_,A,{...T,fill:"none",stroke:"none"}),R=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?A/2-h:-A/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),R.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",la(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",la(f)).attr("ry",la(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var A5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),L5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),R5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthA,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=A5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",la(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const A=Zr(E);let k=C.path(A,T);const R=Zr(_);let O=C.path(R,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],A=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const O=Zr(_),F=k.path(O,R),$=Zr(A),q=k.path($,R),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var D5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=D5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(A){return Jt.polygon(e,v,A)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const R=h.children[0],O=kt(h);d=R.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),A=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else A=s.insert("rect",":first-child"),k=s.insert("line"),A.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,A),e.intersect=function(R){return Jt.rect(e,R)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",la(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),A=o.insert(()=>_,":first-child");return A.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&A.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&A.selectChildren("path").attr("style",n),A.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,GTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:A}=e;_.attr("class","basic label-container").attr("style",la(A)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var j6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-j6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=j6*u,d=j6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const A=Zr(E),k=C.path(A,T),R=Zr(_),O=C.path(R,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),A=Zr(T),k=m.path(A,{...v,fillStyle:"solid"}),R=i.insert(()=>k,":first-child");return R.insert(()=>_,":first-child"),R.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var N5e=S((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 @@ -303,7 +303,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error L20,10 M20,10 L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),ywe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),vwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),bwe={extension:Z5e,composition:Q5e,aggregation:J5e,dependency:ewe,lollipop:twe,point:rwe,circle:nwe,cross:iwe,barb:awe,barbNeo:swe,only_one:owe,zero_or_one:lwe,one_or_more:cwe,zero_or_more:uwe,only_one_neo:hwe,zero_or_one_neo:dwe,one_or_more_neo:fwe,zero_or_more_neo:pwe,requirement_arrow:gwe,requirement_contains:ywe,requirement_arrow_neo:mwe,requirement_contains_neo:vwe},JJ=K5e,xwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:jJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),Twe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>l9e),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>XBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");Twe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,xwe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",wwe="@import",Cwe="@namespace",Swe="@keyframes",Ewe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function kwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function _we(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,$i=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function Awe(){return $i}function Lwe(){return $i=Ho>0?Mg(Gm,--Ho):0,gm--,$i===10&&(gm=1,WC--),$i}function ml(){return $i=Ho2||ab($i)>3?"":" "}function Mwe(t,e){for(;--e&&ml()&&!($i<48||$i>102||$i>57&&$i<65||$i>70&&$i<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch($i){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8($i);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function Owe(t,e){for(;ml()&&t+$i!==57;)if(t+$i===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Iwe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function Bwe(t){return Dwe(y3("",null,null,null,[""],t=Rwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,A=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){kwe(k+=g3(X6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=X6(C);break;case 9:case 10:case 13:case 32:k+=Nwe(m);break;case 92:k+=Mwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(Pwe(Owe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(A=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,A,A,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,A,A,n&&rT(Pz(t,A,A,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,A,A,A,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&Lwe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=X6(ml())),f=zh(),h=d=ql(T=k+=Iwe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=_we(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function Pwe(t,e,r,n){return xN(t,e,r,tee,bN(Awe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Jwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),eCe={id:lee,detector:Qwe,loader:Jwe},tCe=eCe,cee="flowchart",rCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),nCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),iCe={id:cee,detector:rCe,loader:nCe},aCe=iCe,uee="flowchart-v2",sCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),oCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),lCe={id:uee,detector:sCe,loader:oCe},cCe=lCe,hee="er",uCe=S(t=>/^\s*erDiagram/.test(t),"detector"),hCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>uFe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),dCe={id:hee,detector:uCe,loader:hCe},fCe=dCe,dee="gitGraph",pCe=S(t=>/^\s*gitGraph/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),mCe={id:dee,detector:pCe,loader:gCe},yCe=mCe,fee="gantt",vCe=S(t=>/^\s*gantt/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>EYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),xCe={id:fee,detector:vCe,loader:bCe},TCe=xCe,pee="info",wCe=S(t=>/^\s*info/.test(t),"detector"),CCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),SCe={id:pee,detector:wCe,loader:CCe},gee="pie",ECe=S(t=>/^\s*pie/.test(t),"detector"),kCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),_Ce={id:gee,detector:ECe,loader:kCe},mee="quadrantChart",ACe=S(t=>/^\s*quadrantChart/.test(t),"detector"),LCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>aje);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),RCe={id:mee,detector:ACe,loader:LCe},DCe=RCe,yee="xychart",NCe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),MCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xje);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),OCe={id:yee,detector:NCe,loader:MCe},ICe=OCe,vee="requirement",BCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),PCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Aje);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),FCe={id:vee,detector:BCe,loader:PCe},$Ce=FCe,bee="sequence",zCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),qCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>CXe);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),VCe={id:bee,detector:zCe,loader:qCe},GCe=VCe,xee="class",UCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),HCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>LXe);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),WCe={id:xee,detector:UCe,loader:HCe},YCe=WCe,Tee="classDiagram",jCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),XCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DXe);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),KCe={id:Tee,detector:jCe,loader:XCe},ZCe=KCe,wee="state",QCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),JCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),eSe={id:wee,detector:QCe,loader:JCe},tSe=eSe,Cee="stateDiagram",rSe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),nSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>wKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),iSe={id:Cee,detector:rSe,loader:nSe},aSe=iSe,See="journey",sSe=S(t=>/^\s*journey/.test(t),"detector"),oSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),lSe={id:See,detector:sSe,loader:oSe},cSe=lSe,uSe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error -`);const n=Gs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Ui(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:uSe},hSe=Eee,dSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},fSe=dSe,kee="flowchart-elk",pSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),gSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),mSe={id:kee,detector:pSe,loader:gSe},ySe=mSe,_ee="timeline",vSe=S(t=>/^\s*timeline/.test(t),"detector"),bSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),xSe={id:_ee,detector:vSe,loader:bSe},TSe=xSe,Aee="mindmap",wSe=S(t=>/^\s*mindmap/.test(t),"detector"),CSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>IZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),SSe={id:Aee,detector:wSe,loader:CSe},ESe=SSe,Lee="kanban",kSe=S(t=>/^\s*kanban/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>tQe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),ASe={id:Lee,detector:kSe,loader:_Se},LSe=ASe,Ree="sankey",RSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Qe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),NSe={id:Ree,detector:RSe,loader:DSe},MSe=NSe,Dee="packet",OSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),ISe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),BSe={id:Dee,detector:OSe,loader:ISe},Nee="radar",PSe=S(t=>/^\s*radar-beta/.test(t),"detector"),FSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),$Se={id:Nee,detector:PSe,loader:FSe},Mee="block",zSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),qSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Yet);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),VSe={id:Mee,detector:zSe,loader:qSe},GSe=VSe,Oee="treeView",USe=S(t=>/^\s*treeView-beta/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dtt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),WSe={id:Oee,detector:USe,loader:HSe},YSe=WSe,Iee="architecture",jSe=S(t=>/^\s*architecture/.test(t),"detector"),XSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ztt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),KSe={id:Iee,detector:jSe,loader:XSe},ZSe=KSe,Bee="ishikawa",QSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),JSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nrt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),eEe={id:Bee,detector:QSe,loader:JSe},Pee="venn",tEe=S(t=>/^\s*venn-beta/.test(t),"detector"),rEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Vrt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),nEe={id:Pee,detector:tEe,loader:rEe},iEe=nEe,Fee="treemap",aEe=S(t=>/^\s*treemap/.test(t),"detector"),sEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),oEe={id:Fee,detector:aEe,loader:sEe},$ee="wardley-beta",lEe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),cEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>unt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),uEe={id:$ee,detector:lEe,loader:cEe},hEe=uEe,Uz=!1,jC=S(()=>{Uz||(Uz=!0,g5("error",fSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(ySe,ESe,ZSe),GA(tCe,LSe,ZCe,YCe,fCe,TCe,SCe,_Ce,$Ce,GCe,cCe,aCe,TSe,yCe,aSe,tSe,cSe,DCe,MSe,BSe,ICe,GSe,YSe,$Se,eEe,oEe,iEe,hEe))},"addDiagrams"),dEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{jA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),fEe="graphics-document document";function zee(t,e){t.attr("role",fEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=VTe(e)+` +`);const n=Vs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Ui(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:uSe},hSe=Eee,dSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},fSe=dSe,kee="flowchart-elk",pSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),gSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),mSe={id:kee,detector:pSe,loader:gSe},ySe=mSe,_ee="timeline",vSe=S(t=>/^\s*timeline/.test(t),"detector"),bSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),xSe={id:_ee,detector:vSe,loader:bSe},TSe=xSe,Aee="mindmap",wSe=S(t=>/^\s*mindmap/.test(t),"detector"),CSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>IZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),SSe={id:Aee,detector:wSe,loader:CSe},ESe=SSe,Lee="kanban",kSe=S(t=>/^\s*kanban/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>tQe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),ASe={id:Lee,detector:kSe,loader:_Se},LSe=ASe,Ree="sankey",RSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Qe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),NSe={id:Ree,detector:RSe,loader:DSe},MSe=NSe,Dee="packet",OSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),ISe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),BSe={id:Dee,detector:OSe,loader:ISe},Nee="radar",PSe=S(t=>/^\s*radar-beta/.test(t),"detector"),FSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),$Se={id:Nee,detector:PSe,loader:FSe},Mee="block",zSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),qSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Yet);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),VSe={id:Mee,detector:zSe,loader:qSe},GSe=VSe,Oee="treeView",USe=S(t=>/^\s*treeView-beta/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dtt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),WSe={id:Oee,detector:USe,loader:HSe},YSe=WSe,Iee="architecture",jSe=S(t=>/^\s*architecture/.test(t),"detector"),XSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ztt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),KSe={id:Iee,detector:jSe,loader:XSe},ZSe=KSe,Bee="ishikawa",QSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),JSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nrt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),eEe={id:Bee,detector:QSe,loader:JSe},Pee="venn",tEe=S(t=>/^\s*venn-beta/.test(t),"detector"),rEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Vrt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),nEe={id:Pee,detector:tEe,loader:rEe},iEe=nEe,Fee="treemap",aEe=S(t=>/^\s*treemap/.test(t),"detector"),sEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),oEe={id:Fee,detector:aEe,loader:sEe},$ee="wardley-beta",lEe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),cEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>unt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),uEe={id:$ee,detector:lEe,loader:cEe},hEe=uEe,Uz=!1,jC=S(()=>{Uz||(Uz=!0,g5("error",fSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(ySe,ESe,ZSe),GA(tCe,LSe,ZCe,YCe,fCe,TCe,SCe,_Ce,$Ce,GCe,cCe,aCe,TSe,yCe,aSe,tSe,cSe,DCe,MSe,BSe,ICe,GSe,YSe,$Se,eEe,oEe,iEe,hEe))},"addDiagrams"),dEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{jA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),fEe="graphics-document document";function zee(t,e){t.attr("role",fEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=VTe(e)+` `;try{jA(i)}catch{const u=z0e(i);if(!u)throw new rj(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=jA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],pEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),gEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tj);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var mEe=S(t=>t.replace(/\r\n?/g,` `).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),yEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),vEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:NTe(t),directive:e}},"processDirectives");function TN(t){const e=mEe(t),r=yEe(e),n=vEe(r.text),i=ea(r.config,n.directive);return t=gEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var bEe=5e4,xEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",TEe="sandbox",wEe="loose",CEe="http://www.w3.org/2000/svg",SEe="http://www.w3.org/1999/xlink",EEe="http://www.w3.org/1999/xhtml",kEe="100%",_Ee="100%",AEe="border:0;margin:0;",LEe="margin:0",REe="allow-top-navigation-by-user-activation allow-popups",DEe='The "iframe" tag is not supported by your browser.',NEe=["foreignobject"],MEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),fpe(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){jC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` .${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),OEe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` @@ -346,7 +346,7 @@ ${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p

    Mermaid render error: ${f}

    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const ZEe="_ipopt_container_87gan_1",QEe="_solver_output_87gan_11",JEe="_tabs_87gan_35",eke="_tab_87gan_35",tke="_tab_active_87gan_58",rke="_tab_content_87gan_64",nke="_run_error_87gan_73",ike="_run_error_title_87gan_82",ake="_run_error_body_87gan_87",ske="_run_error_hint_87gan_92",Ba={ipopt_container:ZEe,solver_output:QEe,tabs:JEe,tab:eke,tab_active:tke,tab_content:rke,run_error:nke,run_error_title:ike,run_error_body:ake,run_error_hint:ske};function Xz(t){if(!t)return"No solver output available for this step.";const e=t.split(` `);let r=0;for(let n=0;n0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const lke="_container_1qp2h_2",cke="_empty_msg_1qp2h_15",uke="_tabs_1qp2h_21",hke="_tab_1qp2h_21",dke="_tab_active_1qp2h_43",fke="_tab_content_1qp2h_49",pke="_group_1qp2h_54",gke="_group_header_1qp2h_58",mke="_group_title_1qp2h_65",yke="_badge_warning_1qp2h_70",vke="_badge_caution_1qp2h_84",bke="_toggle_btns_1qp2h_99",xke="_toggle_btn_1qp2h_99",Tke="_toggle_sep_1qp2h_115",wke="_group_body_1qp2h_121",Cke="_summary_item_1qp2h_127",Ske="_summary_line_1qp2h_131",Eke="_clickable_1qp2h_140",kke="_arrow_1qp2h_149",_ke="_summary_count_1qp2h_156",Ake="_summary_text_1qp2h_163",Lke="_detail_list_1qp2h_168",Rke="_run_error_1qp2h_189",Dke="_run_error_title_1qp2h_198",Nke="_run_error_body_1qp2h_203",Mke="_run_error_hint_1qp2h_208",Xr={container:lke,empty_msg:cke,tabs:uke,tab:hke,tab_active:dke,tab_content:fke,group:pke,group_header:gke,group_title:mke,badge_warning:yke,badge_caution:vke,toggle_btns:bke,toggle_btn:xke,toggle_sep:Tke,group_body:wke,summary_item:Cke,summary_line:Ske,clickable:Eke,arrow:kke,summary_count:_ke,summary_text:Ake,detail_list:Lke,run_error:Rke,run_error_title:Dke,run_error_body:Nke,run_error_hint:Mke};function j8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Oke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ike({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:Xr.summary_item,children:[Ae.jsxs("div",{className:`${Xr.summary_line} ${n?Xr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:Xr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:Xr.summary_count,children:t.count}),Ae.jsxs("span",{className:Xr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:Xr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=jt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:Xr.group,children:[Ae.jsxs("div",{className:Xr.group_header,children:[Ae.jsx("span",{className:Xr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:Xr.toggle_btns,children:[Ae.jsx("span",{className:Xr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:Xr.toggle_sep,children:"|"}),Ae.jsx("span",{className:Xr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:Xr.group_body,children:[r.length===0&&Ae.jsx("div",{className:Xr.summary_line,children:Ae.jsx("span",{className:Xr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ike,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Bke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:j8(i.bounds),names:i.names};Oke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Pke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Fke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=jt.useState("structure");if(!e)return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:Xr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.run_error,children:[Ae.jsx("p",{className:Xr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:Xr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:Xr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.tabs,children:[Ae.jsx("span",{className:`${Xr.tab} ${r==="structure"?Xr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${Xr.tab} ${r==="numerical"?Xr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:Xr.tab_content,children:[r==="structure"&&Ae.jsx(Bke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Pke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=jt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=jt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",$ke(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function $ke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function X8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(X8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>X8(u,h,e)),o=o.filter(([u,h])=>X8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function zke({data:t,dofSteps:e}){const[r,n]=jt.useState(""),[i,a]=jt.useState(!1),[s,o]=jt.useState(0),l=jt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=jt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(qke,{data:t,searchTerm:l})]})}function qke({data:t,searchTerm:e}){return jt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Vke="_run_error_nknwf_18",Gke="_run_error_title_nknwf_27",Uke="_run_error_body_nknwf_32",Hke="_run_error_hint_nknwf_37",iT={run_error:Vke,run_error_title:Gke,run_error_body:Uke,run_error_hint:Hke};function Wke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(zke,{data:r,dofSteps:i})]})}const Yke="_tabs_1froz_2",jke="_tab_1froz_2",Xke="_tab_active_1froz_24",Kke="_logs_main_container_1froz_30",Zke="_tab_content_1froz_39",Qke="_content_section_1froz_47",Jke="_logs_container_1froz_54",e6e="_logs_header_1froz_67",t6e="_logs_title_1froz_76",r6e="_clear_logs_button_1froz_82",n6e="_log_item_1froz_96",i6e="_no_logs_1froz_104",Pi={tabs:Yke,tab:jke,tab_active:Xke,logs_main_container:Kke,tab_content:Zke,content_section:Qke,logs_container:Jke,logs_header:e6e,logs_title:t6e,clear_logs_button:r6e,log_item:n6e,no_logs:i6e};function a6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=jt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function s6e(){const{terminalLogs:t,setTerminalLogs:e}=jt.useContext(Da),r=jt.useRef(null);jt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function o6e(){const{activeLogTab:t,setActiveLogTab:e}=jt.useContext(Da);return jt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(a6e,{}),t==="terminal"&&Ae.jsx(s6e,{})]})]})}const l6e="_main_display_container_xlfzb_1",c6e="_nav_xlfzb_11",u6e="_nav_item_xlfzb_25",h6e="_nav_item_active_xlfzb_44",d6e="_blue_dot_xlfzb_49",Rs={main_display_container:l6e,nav:c6e,nav_item:u6e,nav_item_active:h6e,blue_dot:d6e};function f6e(){const[t,e]=jt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=jt.useContext(Da),[i,a]=jt.useState(!1),s=jt.useRef(r.length),{flowsheetRunnerResult:o}=jt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;jt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),jt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(KEe,{});break;case"variable":u=Ae.jsx(Wke,{});break;case"ipopt":u=Ae.jsx(oke,{});break;case"diagnostics":u=Ae.jsx(Fke,{});break;case"logs":u=Ae.jsx(o6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${Rs.main_display_container}`,children:[Ae.jsxs("ul",{className:`${Rs.nav}`,children:[Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagram"?Rs.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="variable"?Rs.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${Rs.nav_item} ${t==="diagnostics"?Rs.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="ipopt"?Rs.nav_item_active:""}`,onClick:()=>h("ipopt"),children:["IPOPT ",Ae.jsx("span",{className:`${Rs.blue_dot}`})]}),Ae.jsxs("li",{className:`${Rs.nav_item} ${t==="logs"?Rs.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${Rs.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function p6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setPackageWarnings:h,setOpenPythonFiles:d,setIdaesHistoryList:f,setMermaidDiagram:p,setOsPlatform:m,setPythonEnvInfo:v}=jt.useContext(Da),[b,x]=jt.useState(""),[C,T]=jt.useState(!1);function E(_){let A;switch(console.log(`Now loading page: ${_}`),_){case"editor":A=Ae.jsx(a0e,{});break;case"webView":console.log("loading web view page"),A=Ae.jsx(f6e,{});break;case"treeView":console.log("loading tree page"),A=Ae.jsx(i0e,{});break;case"error":console.log(`Encounter an error: ${_}`);break;default:console.log("Unknown message type:",_);break}return A}return jt.useEffect(()=>{if(!n)return;const _=n.actions?.diagnostics;if(_?.valid!==!1)return;const A=n.last_run??[],k=`[${new Date().toLocaleTimeString()}]`;s(R=>[...R,`${k} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${A.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:_,last_run:A})}`,`${k} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:A})}`,`${k} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:A})}`,`${k} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:A})}`])},[n]),jt.useEffect(()=>{window.addEventListener("message",_=>{const A=_.data;switch(A.type){case"init":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content),r(A.fileName),t(A.idaesRunInfo),x(A.loadApp),l(!1),A.osPlatform&&m(A.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",A),A.isLoading!==void 0&&(console.log("Calling setIsLoading with:",A.isLoading),l(A.isLoading)),r(A.activate_tab_name),A.idaesRunInfo!==void 0&&t(A.idaesRunInfo),A.initError?u(A.initError):(A.initError===null||A.isLoading)&&u(null),A.isLoading?h(null):A.packageWarnings!==void 0&&h(A.packageWarnings),A.open_python_files!==void 0&&d(A.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",A),v({current:A.current??null,envs:A.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),A.open_python_files!==void 0&&d(A.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(A)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(A.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(A)}`),s(k=>{const R=`[${new Date().toLocaleTimeString()}] ${A.message||JSON.stringify(A)}`;return[...k,R]});break;case"terminal_log":o(k=>[...k,A.data]);break;case"start_new_run":i(null),p(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),T(!1),setTimeout(()=>T(!0),10);break;case"history_update":console.log(`Received history list length: ${A.data?.length}`),f(A.data);break;default:console.log("Unknown message type:",JSON.stringify(A));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:C?"flash-highlight":"",onAnimationEnd:()=>T(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:E(b)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(jt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(p6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(g6e,"-$1").toLowerCase(),m6e={"&":"&",">":">","<":"<",'"':""","'":"'"},y6e=/[&><"']/g,Ua=t=>String(t).replace(y6e,e=>m6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,v6e=new Set(["mathord","textord","atom"]),Vu=t=>v6e.has(v3(t).type),b6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function x6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:x6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=b6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[T6e[this.id]]}sub(){return Ul[w6e[this.id]]}fracNum(){return Ul[C6e[this.id]]}fracDen(){return Ul[S6e[this.id]]}cramp(){return Ul[E6e[this.id]]}text(){return Ul[k6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],T6e=[lb,zo,lb,zo,mm,cs,mm,cs],w6e=[zo,zo,zo,zo,cs,cs,cs,cs],C6e=[Ig,wu,lb,zo,mm,cs,mm,cs],S6e=[wu,wu,zo,zo,cs,cs,cs,cs],E6e=[iw,iw,wu,wu,zo,zo,cs,cs],k6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function _6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,A6e=function(e,r){return"M95,"+(622+e+r)+` +`).trimStart();return t}function oke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),[e,r]=jt.useState("initial"),n=t?.actions?.diagnostics,i=!!t&&n?.valid===!1,a=t?.actions?.solver_output?.output||t?.actions?.capture_solver_output?.solver_logs;if(!t)return Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]});if(i){const s=t.last_run??[];return Ae.jsxs("div",{className:Ba.ipopt_container,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsxs("div",{className:Ba.run_error,children:[Ae.jsx("p",{className:Ba.run_error_title,children:"fi-run has issues: Solver Output Unavailable"}),Ae.jsxs("p",{className:Ba.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",s.length>0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const lke="_container_17xab_2",cke="_empty_msg_17xab_15",uke="_tabs_17xab_21",hke="_tab_17xab_21",dke="_tab_active_17xab_43",fke="_tab_content_17xab_49",pke="_group_17xab_54",gke="_group_header_17xab_58",mke="_group_title_17xab_65",yke="_badge_warning_17xab_70",vke="_badge_caution_17xab_84",bke="_toggle_btns_17xab_99",xke="_toggle_btn_17xab_99",Tke="_toggle_sep_17xab_115",wke="_group_body_17xab_121",Cke="_summary_item_17xab_127",Ske="_summary_line_17xab_131",Eke="_clickable_17xab_140",kke="_arrow_17xab_149",_ke="_summary_count_17xab_156",Ake="_summary_text_17xab_163",Lke="_detail_list_17xab_168",Rke="_run_error_17xab_189",Dke="_run_error_title_17xab_198",Nke="_run_error_body_17xab_203",Mke="_run_error_hint_17xab_208",Xr={container:lke,empty_msg:cke,tabs:uke,tab:hke,tab_active:dke,tab_content:fke,group:pke,group_header:gke,group_title:mke,badge_warning:yke,badge_caution:vke,toggle_btns:bke,toggle_btn:xke,toggle_sep:Tke,group_body:wke,summary_item:Cke,summary_line:Ske,clickable:Eke,arrow:kke,summary_count:_ke,summary_text:Ake,detail_list:Lke,run_error:Rke,run_error_title:Dke,run_error_body:Nke,run_error_hint:Mke};function j8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Oke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ike({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:Xr.summary_item,children:[Ae.jsxs("div",{className:`${Xr.summary_line} ${n?Xr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:Xr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:Xr.summary_count,children:t.count}),Ae.jsxs("span",{className:Xr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:Xr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=jt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:Xr.group,children:[Ae.jsxs("div",{className:Xr.group_header,children:[Ae.jsx("span",{className:Xr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:Xr.toggle_btns,children:[Ae.jsx("span",{className:Xr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:Xr.toggle_sep,children:"|"}),Ae.jsx("span",{className:Xr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:Xr.group_body,children:[r.length===0&&Ae.jsx("div",{className:Xr.summary_line,children:Ae.jsx("span",{className:Xr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ike,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Bke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:j8(i.bounds),names:i.names};Oke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Pke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Fke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=jt.useState("structure");if(!e)return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:Xr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.run_error,children:[Ae.jsx("p",{className:Xr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:Xr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:Xr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.tabs,children:[Ae.jsx("span",{className:`${Xr.tab} ${r==="structure"?Xr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${Xr.tab} ${r==="numerical"?Xr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:Xr.tab_content,children:[r==="structure"&&Ae.jsx(Bke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Pke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=jt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=jt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",$ke(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function $ke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function X8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(X8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>X8(u,h,e)),o=o.filter(([u,h])=>X8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function zke({data:t,dofSteps:e}){const[r,n]=jt.useState(""),[i,a]=jt.useState(!1),[s,o]=jt.useState(0),l=jt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=jt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(qke,{data:t,searchTerm:l})]})}function qke({data:t,searchTerm:e}){return jt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Vke="_run_error_nknwf_18",Gke="_run_error_title_nknwf_27",Uke="_run_error_body_nknwf_32",Hke="_run_error_hint_nknwf_37",iT={run_error:Vke,run_error_title:Gke,run_error_body:Uke,run_error_hint:Hke};function Wke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(zke,{data:r,dofSteps:i})]})}const Yke="_tabs_1froz_2",jke="_tab_1froz_2",Xke="_tab_active_1froz_24",Kke="_logs_main_container_1froz_30",Zke="_tab_content_1froz_39",Qke="_content_section_1froz_47",Jke="_logs_container_1froz_54",e6e="_logs_header_1froz_67",t6e="_logs_title_1froz_76",r6e="_clear_logs_button_1froz_82",n6e="_log_item_1froz_96",i6e="_no_logs_1froz_104",Pi={tabs:Yke,tab:jke,tab_active:Xke,logs_main_container:Kke,tab_content:Zke,content_section:Qke,logs_container:Jke,logs_header:e6e,logs_title:t6e,clear_logs_button:r6e,log_item:n6e,no_logs:i6e};function a6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=jt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function s6e(){const{terminalLogs:t,setTerminalLogs:e}=jt.useContext(Da),r=jt.useRef(null);jt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function o6e(){const{activeLogTab:t,setActiveLogTab:e}=jt.useContext(Da);return jt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(a6e,{}),t==="terminal"&&Ae.jsx(s6e,{})]})]})}const l6e="_main_display_container_xlfzb_1",c6e="_nav_xlfzb_11",u6e="_nav_item_xlfzb_25",h6e="_nav_item_active_xlfzb_44",d6e="_blue_dot_xlfzb_49",to={main_display_container:l6e,nav:c6e,nav_item:u6e,nav_item_active:h6e,blue_dot:d6e};function f6e(){const[t,e]=jt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=jt.useContext(Da),[i,a]=jt.useState(!1),s=jt.useRef(r.length),{flowsheetRunnerResult:o}=jt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;jt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),jt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(KEe,{});break;case"variable":u=Ae.jsx(Wke,{});break;case"ipopt":u=Ae.jsx(oke,{});break;case"diagnostics":u=Ae.jsx(Fke,{});break;case"logs":u=Ae.jsx(o6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${to.main_display_container}`,children:[Ae.jsxs("ul",{className:`${to.nav}`,children:[Ae.jsx("li",{className:`${to.nav_item} ${t==="diagram"?to.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="variable"?to.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${to.nav_item} ${t==="diagnostics"?to.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsx("li",{className:`${to.nav_item} ${t==="ipopt"?to.nav_item_active:""}`,onClick:()=>h("ipopt"),children:"IPOPT"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="logs"?to.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${to.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function p6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setPackageWarnings:h,setOpenPythonFiles:d,setIdaesHistoryList:f,setMermaidDiagram:p,setOsPlatform:m,setPythonEnvInfo:v}=jt.useContext(Da),[b,x]=jt.useState(""),[C,T]=jt.useState(!1);function E(_){let A;switch(console.log(`Now loading page: ${_}`),_){case"editor":A=Ae.jsx(a0e,{});break;case"webView":console.log("loading web view page"),A=Ae.jsx(f6e,{});break;case"treeView":console.log("loading tree page"),A=Ae.jsx(i0e,{});break;case"error":console.log(`Encounter an error: ${_}`);break;default:console.log("Unknown message type:",_);break}return A}return jt.useEffect(()=>{if(!n)return;const _=n.actions?.diagnostics;if(_?.valid!==!1)return;const A=n.last_run??[],k=`[${new Date().toLocaleTimeString()}]`;s(R=>[...R,`${k} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${A.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:_,last_run:A})}`,`${k} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:A})}`,`${k} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:A})}`,`${k} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:A})}`])},[n]),jt.useEffect(()=>{window.addEventListener("message",_=>{const A=_.data;switch(A.type){case"init":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content),r(A.fileName),t(A.idaesRunInfo),x(A.loadApp),l(!1),A.osPlatform&&m(A.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",A),A.isLoading!==void 0&&(console.log("Calling setIsLoading with:",A.isLoading),l(A.isLoading)),r(A.activate_tab_name),A.idaesRunInfo!==void 0&&t(A.idaesRunInfo),A.initError?u(A.initError):(A.initError===null||A.isLoading)&&u(null),A.isLoading?h(null):A.packageWarnings!==void 0&&h(A.packageWarnings),A.open_python_files!==void 0&&d(A.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",A),v({current:A.current??null,envs:A.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),A.open_python_files!==void 0&&d(A.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(A)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(A.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(A)}`),s(k=>{const R=`[${new Date().toLocaleTimeString()}] ${A.message||JSON.stringify(A)}`;return[...k,R]});break;case"terminal_log":o(k=>[...k,A.data]);break;case"start_new_run":i(null),p(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),T(!1),setTimeout(()=>T(!0),10);break;case"history_update":console.log(`Received history list length: ${A.data?.length}`),f(A.data);break;default:console.log("Unknown message type:",JSON.stringify(A));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:C?"flash-highlight":"",onAnimationEnd:()=>T(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:E(b)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(jt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(p6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(g6e,"-$1").toLowerCase(),m6e={"&":"&",">":">","<":"<",'"':""","'":"'"},y6e=/[&><"']/g,Ua=t=>String(t).replace(y6e,e=>m6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,v6e=new Set(["mathord","textord","atom"]),Vu=t=>v6e.has(v3(t).type),b6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function x6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:x6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=b6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[T6e[this.id]]}sub(){return Ul[w6e[this.id]]}fracNum(){return Ul[C6e[this.id]]}fracDen(){return Ul[S6e[this.id]]}cramp(){return Ul[E6e[this.id]]}text(){return Ul[k6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],T6e=[lb,zo,lb,zo,mm,cs,mm,cs],w6e=[zo,zo,zo,zo,cs,cs,cs,cs],C6e=[Ig,wu,lb,zo,mm,cs,mm,cs],S6e=[wu,wu,zo,zo,cs,cs,cs,cs],E6e=[iw,iw,wu,wu,zo,zo,cs,cs],k6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function _6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,A6e=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -597,21 +597,21 @@ c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},F6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in F6e||e==="ex"},ni=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ua(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ua(n)+'"');for(var a of Object.keys(this.attributes)){if($6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ua(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let XC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class z6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ua(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ua(n)+'"');var a=Ua(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var U6e=t=>t instanceof Hm||t instanceof XC||t instanceof Um,jl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){jl[t]=e}function _N(t,e,r){if(!jl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=jl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=jl[e][n]),!i&&r==="text"&&rte(n)&&(i=jl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function H6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var W6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Y6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},jn={math:{},text:{}};function K(t,e,r,n,i,a){jn[t][i]={font:e,group:r,replace:n},a&&n&&(jn[t][n]=jn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Qn="accent-token",er="bin",bs="close",Wm="inner",mr="mathord",Hi="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Hi,"∐","\\coprod");K(J,ce,Hi,"⋁","\\bigvee");K(J,ce,Hi,"⋀","\\bigwedge");K(J,ce,Hi,"⨄","\\biguplus");K(J,ce,Hi,"⋂","\\bigcap");K(J,ce,Hi,"⋃","\\bigcup");K(J,ce,Hi,"∫","\\int");K(J,ce,Hi,"∫","\\intop");K(J,ce,Hi,"∬","\\iint");K(J,ce,Hi,"∭","\\iiint");K(J,ce,Hi,"∏","\\prod");K(J,ce,Hi,"∑","\\sum");K(J,ce,Hi,"⨂","\\bigotimes");K(J,ce,Hi,"⨁","\\bigoplus");K(J,ce,Hi,"⨀","\\bigodot");K(J,ce,Hi,"∮","\\oint");K(J,ce,Hi,"∯","\\oiint");K(J,ce,Hi,"∰","\\oiiint");K(J,ce,Hi,"⨆","\\bigsqcup");K(J,ce,Hi,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Qn,"ˊ","\\acute");K(J,ce,Qn,"ˋ","\\grave");K(J,ce,Qn,"¨","\\ddot");K(J,ce,Qn,"~","\\tilde");K(J,ce,Qn,"ˉ","\\bar");K(J,ce,Qn,"˘","\\breve");K(J,ce,Qn,"ˇ","\\check");K(J,ce,Qn,"^","\\hat");K(J,ce,Qn,"⃗","\\vec");K(J,ce,Qn,"˙","\\dot");K(J,ce,Qn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Qn,"ˊ","\\'");K(Ot,ce,Qn,"ˋ","\\`");K(Ot,ce,Qn,"ˆ","\\^");K(Ot,ce,Qn,"˜","\\~");K(Ot,ce,Qn,"ˉ","\\=");K(Ot,ce,Qn,"˘","\\u");K(Ot,ce,Qn,"˙","\\.");K(Ot,ce,Qn,"¸","\\c");K(Ot,ce,Qn,"˚","\\r");K(Ot,ce,Qn,"ˇ","\\v");K(Ot,ce,Qn,"¨",'\\"');K(Ot,ce,Qn,"˝","\\H");K(Ot,ce,Qn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=X6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},Z6e=function(e,r,n,i){var a=new XC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},Q6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ni(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ri={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},J6e={mord:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mop:{mord:ri,mop:ri,mrel:Vc,minner:ri},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mpunct:{mord:ri,mop:ri,mrel:Vc,mopen:ri,mclose:ri,mpunct:ri,minner:ri},minner:{mord:ri,mop:ri,mbin:rf,mrel:Vc,mopen:ri,mpunct:ri,minner:ri}},e_e={mord:{mop:ri},mop:{mord:ri,mop:ri},mbin:{},mrel:{},mopen:{},mclose:{mop:ri},mpunct:{},minner:{mop:ri}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&r_e.has(x)?v.classes[0]="mord":x==="mbin"&&t_e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=e_e[C])==null?void 0:b[T]:(x=J6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof XC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return i_e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ta(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ta(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ua(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class qi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ua(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var a_e=new Set(["\\imath","\\jmath"]),s_e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return jn[r][e]&&jn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=jn[r][e].replace),new qi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(a_e.has(a))return null;if(jn[i][a]){var s=jn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof qi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof qi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Dn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof qi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof qi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Dn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&s_e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new qi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var o_e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:o_e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=H6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},l_e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},c_e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},u_e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new qi(u_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},h_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},d_e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(d_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=h_e[l],[T,E,_]=C,A=_/1e3,k=T.length,R,O;if(k===1){var F=C[3];R=["hide-tail"],O=[F]}else if(k===2)R=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)R=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},f_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||Y6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(U6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=G6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=V6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Dn(t.base,e),r]);return n.setAttribute("accent","true"),n},p_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!p_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Dn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Dn(t.body,e));if(t.below){var a=hT(Dn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Dn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ta(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:zi(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:zi(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:zi(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:zi(e[0])}},htmlBuilder(t,e){var r=ta(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var g_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",m_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function y_e(t,e,r){var n=g_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function v_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=y_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Dn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Dn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ta(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:zi(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ni(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ni(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},b_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=b_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=jn.math[e]&&jn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},x_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},T_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=T_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=jl["Size4-Regular"][e.charCodeAt(0)]?jl["Size4-Regular"][e.charCodeAt(0)][4]:jl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",B6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},w_e=new Set(["|","\\lvert","\\rvert","\\vert"]),C_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):w_e.has(e)?(u="∣",d="vert",f=333):C_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var A=i2(l,p,a);E=A.height+A.depth,_=2}var k=v+T+E,R=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+R*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=P6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var j=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],j),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=I6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},S_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),E_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(E_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},k_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],__e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],A_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=k_e:Rte.has(e)?o=Mte:o=__e;var l=Ote(e,r,o,i);return l.type==="small"?x_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},L_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&L_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ta(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ni({number:.6,unit:"pt"},e),u=ni({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=M6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=f_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Dn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},R_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var A={type:"ordgroup",mode:t.mode,body:_};r&&(A={type:"styling",mode:t.mode,style:r,body:[A]}),m.push(A);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&A.type==="styling"&&A.body.length===1&&A.body[0].type==="ordgroup"&&A.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=j)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),je=Pt(["tag"],[Ye],r);return Uu([We,je])},D_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){R_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),v_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Dn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var N_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Dn(t.numer,e),Dn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ni(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new qi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new qi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:N_e,mathmlBuilder:M_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},O_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Dn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:O_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:zi(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ta(t.body,e,!1);return Z6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ta(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:zi(e[0]),mathml:zi(e[1])}},htmlBuilder:(t,e)=>{var r=ta(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ni(t.height,e),n=0;t.totalheight.number>0&&(n=ni(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ni(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new z6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ni(t.height,e),i=0;if(t.totalheight.number>0&&(i=ni(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ni(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ni(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Dn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:zi(e[0]),text:zi(e[1]),script:zi(e[2]),scriptscript:zi(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ta(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ta(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new qi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},I_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=I_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:zi(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var B_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=B_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ta(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new qi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:zi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:P_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ta(t.body,e,!1)):Pt(["mord"],ta(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Dn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:zi(n)}},htmlBuilder:(t,e)=>{var r=ta(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo(zi(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ni(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ni(t.width,e),i=ni(t.height,e),a=t.shift?ni(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ni(t.width,e),n=ni(t.height,e),i=t.shift?ni(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ta(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:F_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Dn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Dn(r,e),Dn(n,e)]):new Vt("msqrt",[Dn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var $_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=$_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,A=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var R=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:R})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Dn(t.base,e)];t.sub&&a.push(Dn(t.sub,e)),t.sup&&a.push(Dn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new qi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},z_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(z_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:zi(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ta(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Dn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r + `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},f_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||Y6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(U6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=G6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=V6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Dn(t.base,e),r]);return n.setAttribute("accent","true"),n},p_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!p_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Dn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Dn(t.body,e));if(t.below){var a=hT(Dn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Dn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ta(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:zi(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:zi(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:zi(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:zi(e[0])}},htmlBuilder(t,e){var r=ta(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var g_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",m_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function y_e(t,e,r){var n=g_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function v_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=y_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Dn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Dn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ta(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:zi(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ni(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ni(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},b_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=b_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=jn.math[e]&&jn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},x_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},T_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=T_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=jl["Size4-Regular"][e.charCodeAt(0)]?jl["Size4-Regular"][e.charCodeAt(0)][4]:jl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",B6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},w_e=new Set(["|","\\lvert","\\rvert","\\vert"]),C_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):w_e.has(e)?(u="∣",d="vert",f=333):C_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var A=i2(l,p,a);E=A.height+A.depth,_=2}var k=v+T+E,R=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+R*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=P6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var j=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],j),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=I6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},S_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),E_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(E_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},k_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],__e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],A_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=k_e:Rte.has(e)?o=Mte:o=__e;var l=Ote(e,r,o,i);return l.type==="small"?x_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},L_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&L_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ta(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ni({number:.6,unit:"pt"},e),u=ni({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=M6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=f_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Dn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},R_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var A={type:"ordgroup",mode:t.mode,body:_};r&&(A={type:"styling",mode:t.mode,style:r,body:[A]}),m.push(A);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&A.type==="styling"&&A.body.length===1&&A.body[0].type==="ordgroup"&&A.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=j)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),je=Pt(["tag"],[Ye],r);return Uu([We,je])},D_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){R_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),v_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Dn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var N_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Dn(t.numer,e),Dn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ni(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new qi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new qi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:N_e,mathmlBuilder:M_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},O_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Dn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:O_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:zi(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ta(t.body,e,!1);return Z6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ta(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:zi(e[0]),mathml:zi(e[1])}},htmlBuilder:(t,e)=>{var r=ta(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ni(t.height,e),n=0;t.totalheight.number>0&&(n=ni(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ni(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new z6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ni(t.height,e),i=0;if(t.totalheight.number>0&&(i=ni(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ni(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ni(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Dn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:zi(e[0]),text:zi(e[1]),script:zi(e[2]),scriptscript:zi(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ta(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ta(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new qi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},I_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=I_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:zi(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var B_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=B_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ta(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new qi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:zi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:P_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ta(t.body,e,!1)):Pt(["mord"],ta(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Dn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:zi(n)}},htmlBuilder:(t,e)=>{var r=ta(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo(zi(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ni(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ni(t.width,e),i=ni(t.height,e),a=t.shift?ni(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ni(t.width,e),n=ni(t.height,e),i=t.shift?ni(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ta(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:F_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Dn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Dn(r,e),Dn(n,e)]):new Vt("msqrt",[Dn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var $_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=$_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,A=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var R=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:R})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Dn(t.base,e)];t.sub&&a.push(Dn(t.sub,e)),t.sup&&a.push(Dn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new qi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},z_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(z_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:zi(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ta(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Dn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r ]`,q_e="\\\\[a-zA-Z@]+",V_e="\\\\[^\uD800-\uDFFF]",G_e="("+q_e+")"+Yte+"*",U_e=`\\\\( |[ \r ]+ -?)[ \r ]*`,lL="[̀-ͯ]",H_e=new RegExp(lL+"+$"),W_e="("+Yte+"+)|"+(U_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+G_e)+("|"+V_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(W_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Ds(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Ds(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Ds(this,r,this.tokenRegex.lastIndex))}};class Y_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var j_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],jn.math[r],jn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},X_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in jn.math&&X_e.has(jn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var jte=Gt(jl["Main-Regular"][84][1]-.7*jl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var Xte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",Xte(!1));ye("\\bra@set",Xte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class K_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new Y_e(j_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Ds.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||jn.math.hasOwnProperty(e)||jn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new K_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ds.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var m7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y7e=/^\w*$/;function zN(t,e){if(Vi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:y7e.test(t)||!m7e.test(t)||e!=null&&t in Object(e)}var v7e=500;function b7e(t){var e=$m(t,function(n){return r.size===v7e&&r.clear(),n}),r=e.cache;return e}var x7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T7e=/\\(\\)?/g,w7e=b7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(x7e,function(r,n,i,a){e.push(i?a.replace(T7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return Vi(t)?t:zN(t,e)?[t]:w7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&XAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var I8e=Math.max;function B8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:u7e(r);return i<0&&(i=I8e(n+i,0)),ore(t,Hu(e),i)}var YN=O8e(B8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=Vi(t)?Bg:Sre;return r(t,Hu(e))}function P8e(t,e){return uS(Tn(t,e))}function F8e(t,e){return t==null?t:WD(t,WN(e),O0)}function $8e(t,e){return t&&HN(t,WN(e))}function z8e(t,e){return t>e}var q8e=Object.prototype,V8e=q8e.hasOwnProperty;function G8e(t,e){return t!=null&&V8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,G8e)}function U8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:U8e(t,so(t))}function Li(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function K8e(t,e,r){e.length?e=Bg(e,function(a){return Vi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return Y8e(i,function(a,s){return X8e(a,s,r)})}function Z8e(t,e){return W8e(t,e,function(r,n){return wre(t,n)})}var uw=E7e(function(t,e){return t==null?{}:Z8e(t,e)}),Q8e=Math.ceil,J8e=Math.max;function eLe(t,e,r,n){for(var i=-1,a=J8e(Q8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function tLe(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),K8e(t,uS(e),[])}),nLe=1/0,iLe=Og&&1/GN(new Og([,-0]))[1]==nLe?function(t){return new Og(t)}:h7e,aLe=200;function _re(t,e,r){var n=-1,i=g7e,a=t.length,s=!0,o=[],l=o;if(a>=aLe){var u=e?null:iLe(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Li(r))r=nf;else{r+="";for(var n=r;!Li(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Li(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return sLe(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Li(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Li(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=dLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Us.prototype._nodeCount=0;Us.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Li(n)?hLe:n)}function dLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class fLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,pLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function pLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var gLe=Tg(1);function mLe(t,e){if(t.nodeCount()<=1)return[];var r=vLe(t,e||gLe),n=yLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function yLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function vLe(t,e){var r=new Us,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new fLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function bLe(t){var e=t.graph().acyclicer==="greedy"?mLe(t,r(t)):xLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function xLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function TLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function jm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function wLe(t){var e=new Us().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Us({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function jq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Li(i)||(e[i][n.order]=r)}),e}function CLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function SLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Li(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function Xq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),jm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Li(r))return r}))}function ELe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function kLe(t,e){return e()}function _Le(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=Xl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return XN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),VLe(t,e)}function VLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=zLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function GLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function ULe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":WLe(t);break;case"longest-path":HLe(t);break;default:Jq(t)}}var HLe=ZN;function WLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function YLe(t){var e=jm(t,"root",{},"_root"),r=jLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=XLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=Xq(t,"_bt"),u=Xq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function jLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function XLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function KLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function ZLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function QLe(t,e,r){var n=JLe(t),i=new Us({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Li(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function JLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function eRe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function rRe(t){var e={},r=Xl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function nRe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function iRe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Li(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Li(a)&&!Li(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Xl(r,function(i){return!i.indegree});return aRe(n)}function aRe(t){var e=[];function r(a){return function(s){s.merged||(Li(s.barycenter)||Li(a.barycenter)||s.barycenter>=a.barycenter)&&sRe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(Xl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function sRe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function oRe(t,e){var r=ELe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(lRe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function lRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=Xl(i,function(m){return m!==s&&m!==o}));var u=nRe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&uRe(m,v)}});var h=iRe(u,r);cRe(h,l);var d=oRe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function cRe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function uRe(t,e){Li(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function hRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=rRe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){dRe(o%2?r:n,o%4>=2),i=fS(t);var u=eRe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function gRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function mRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=vRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function vRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function xRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>qRe(t));r(" runLayout",()=>DRe(n,r)),r(" updateInputGraph",()=>NRe(t,n))})}function DRe(t,e){e(" makeSpaceForEdgeLabels",()=>VRe(t)),e(" removeSelfEdges",()=>ZRe(t)),e(" acyclic",()=>bLe(t)),e(" nestingGraph.run",()=>YLe(t)),e(" rank",()=>ULe(Are(t))),e(" injectEdgeLabelProxies",()=>GRe(t)),e(" removeEmptyRanks",()=>SLe(t)),e(" nestingGraph.cleanup",()=>KLe(t)),e(" normalizeRanks",()=>CLe(t)),e(" assignRankMinMax",()=>URe(t)),e(" removeEdgeLabelProxies",()=>HRe(t)),e(" normalize.run",()=>NLe(t)),e(" parentDummyChains",()=>fRe(t)),e(" addBorderSegments",()=>_Le(t)),e(" order",()=>hRe(t)),e(" insertSelfEdges",()=>QRe(t)),e(" adjustCoordinateSystem",()=>ALe(t)),e(" position",()=>LRe(t)),e(" positionSelfEdges",()=>JRe(t)),e(" removeBorderNodes",()=>KRe(t)),e(" normalize.undo",()=>OLe(t)),e(" fixupEdgeLabelCoords",()=>jRe(t)),e(" undoCoordinateSystem",()=>LLe(t)),e(" translateGraph",()=>WRe(t)),e(" assignNodeIntersects",()=>YRe(t)),e(" reversePoints",()=>XRe(t)),e(" acyclic.undo",()=>TLe(t))}function NRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var MRe=["nodesep","edgesep","ranksep","marginx","marginy"],ORe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},IRe=["acyclicer","ranker","rankdir","align"],BRe=["width","height"],PRe={width:0,height:0},FRe=["minlen","weight","width","height","labeloffset"],$Re={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},zRe=["labelpos"];function qRe(t){var e=new Us({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},ORe,T_(r,MRe),uw(r,IRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,N8e(T_(i,BRe),PRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},$Re,T_(i,FRe),uw(i,zRe)))}),e}function VRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function GRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};jm(t,"edge-proxy",a,"_ep")}})}function URe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function HRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function WRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function YRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(jq(n,a)),r.points.push(jq(i,s))})}function jRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function XRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function KRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function ZRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function QRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){jm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function JRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:e9e(t),edges:t9e(t)};return Li(t.graph())||(e.value=mre(t.graph())),e}function e9e(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Li(r)||(i.value=r),Li(n)||(i.parent=n),i})}function t9e(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Li(e.name)||(n.name=e.name),Li(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,r9e=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),n9e=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{n9e(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),i9e=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=i9e(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),a9e=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),s9e=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),jre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX +?)[ \r ]*`,lL="[̀-ͯ]",H_e=new RegExp(lL+"+$"),W_e="("+Yte+"+)|"+(U_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+G_e)+("|"+V_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(W_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Rs(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Rs(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Rs(this,r,this.tokenRegex.lastIndex))}};class Y_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var j_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],jn.math[r],jn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},X_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in jn.math&&X_e.has(jn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var jte=Gt(jl["Main-Regular"][84][1]-.7*jl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var Xte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",Xte(!1));ye("\\bra@set",Xte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class K_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new Y_e(j_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Rs.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||jn.math.hasOwnProperty(e)||jn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new K_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Rs.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var m7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y7e=/^\w*$/;function zN(t,e){if(Vi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:y7e.test(t)||!m7e.test(t)||e!=null&&t in Object(e)}var v7e=500;function b7e(t){var e=$m(t,function(n){return r.size===v7e&&r.clear(),n}),r=e.cache;return e}var x7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T7e=/\\(\\)?/g,w7e=b7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(x7e,function(r,n,i,a){e.push(i?a.replace(T7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return Vi(t)?t:zN(t,e)?[t]:w7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&XAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var I8e=Math.max;function B8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:u7e(r);return i<0&&(i=I8e(n+i,0)),ore(t,Hu(e),i)}var YN=O8e(B8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=Vi(t)?Bg:Sre;return r(t,Hu(e))}function P8e(t,e){return uS(Tn(t,e))}function F8e(t,e){return t==null?t:WD(t,WN(e),O0)}function $8e(t,e){return t&&HN(t,WN(e))}function z8e(t,e){return t>e}var q8e=Object.prototype,V8e=q8e.hasOwnProperty;function G8e(t,e){return t!=null&&V8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,G8e)}function U8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:U8e(t,so(t))}function Li(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function K8e(t,e,r){e.length?e=Bg(e,function(a){return Vi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return Y8e(i,function(a,s){return X8e(a,s,r)})}function Z8e(t,e){return W8e(t,e,function(r,n){return wre(t,n)})}var uw=E7e(function(t,e){return t==null?{}:Z8e(t,e)}),Q8e=Math.ceil,J8e=Math.max;function eLe(t,e,r,n){for(var i=-1,a=J8e(Q8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function tLe(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),K8e(t,uS(e),[])}),nLe=1/0,iLe=Og&&1/GN(new Og([,-0]))[1]==nLe?function(t){return new Og(t)}:h7e,aLe=200;function _re(t,e,r){var n=-1,i=g7e,a=t.length,s=!0,o=[],l=o;if(a>=aLe){var u=e?null:iLe(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Li(r))r=nf;else{r+="";for(var n=r;!Li(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Li(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return sLe(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Li(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Li(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=dLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Gs.prototype._nodeCount=0;Gs.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Li(n)?hLe:n)}function dLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class fLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,pLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function pLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var gLe=Tg(1);function mLe(t,e){if(t.nodeCount()<=1)return[];var r=vLe(t,e||gLe),n=yLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function yLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function vLe(t,e){var r=new Gs,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new fLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function bLe(t){var e=t.graph().acyclicer==="greedy"?mLe(t,r(t)):xLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function xLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function TLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function jm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function wLe(t){var e=new Gs().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Gs({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function jq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Li(i)||(e[i][n.order]=r)}),e}function CLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function SLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Li(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function Xq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),jm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Li(r))return r}))}function ELe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function kLe(t,e){return e()}function _Le(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=Xl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return XN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),VLe(t,e)}function VLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=zLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function GLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function ULe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":WLe(t);break;case"longest-path":HLe(t);break;default:Jq(t)}}var HLe=ZN;function WLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function YLe(t){var e=jm(t,"root",{},"_root"),r=jLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=XLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=Xq(t,"_bt"),u=Xq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function jLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function XLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function KLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function ZLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function QLe(t,e,r){var n=JLe(t),i=new Gs({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Li(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function JLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function eRe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function rRe(t){var e={},r=Xl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function nRe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function iRe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Li(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Li(a)&&!Li(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Xl(r,function(i){return!i.indegree});return aRe(n)}function aRe(t){var e=[];function r(a){return function(s){s.merged||(Li(s.barycenter)||Li(a.barycenter)||s.barycenter>=a.barycenter)&&sRe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(Xl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function sRe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function oRe(t,e){var r=ELe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(lRe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function lRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=Xl(i,function(m){return m!==s&&m!==o}));var u=nRe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&uRe(m,v)}});var h=iRe(u,r);cRe(h,l);var d=oRe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function cRe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function uRe(t,e){Li(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function hRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=rRe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){dRe(o%2?r:n,o%4>=2),i=fS(t);var u=eRe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function gRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function mRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=vRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function vRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function xRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>qRe(t));r(" runLayout",()=>DRe(n,r)),r(" updateInputGraph",()=>NRe(t,n))})}function DRe(t,e){e(" makeSpaceForEdgeLabels",()=>VRe(t)),e(" removeSelfEdges",()=>ZRe(t)),e(" acyclic",()=>bLe(t)),e(" nestingGraph.run",()=>YLe(t)),e(" rank",()=>ULe(Are(t))),e(" injectEdgeLabelProxies",()=>GRe(t)),e(" removeEmptyRanks",()=>SLe(t)),e(" nestingGraph.cleanup",()=>KLe(t)),e(" normalizeRanks",()=>CLe(t)),e(" assignRankMinMax",()=>URe(t)),e(" removeEdgeLabelProxies",()=>HRe(t)),e(" normalize.run",()=>NLe(t)),e(" parentDummyChains",()=>fRe(t)),e(" addBorderSegments",()=>_Le(t)),e(" order",()=>hRe(t)),e(" insertSelfEdges",()=>QRe(t)),e(" adjustCoordinateSystem",()=>ALe(t)),e(" position",()=>LRe(t)),e(" positionSelfEdges",()=>JRe(t)),e(" removeBorderNodes",()=>KRe(t)),e(" normalize.undo",()=>OLe(t)),e(" fixupEdgeLabelCoords",()=>jRe(t)),e(" undoCoordinateSystem",()=>LLe(t)),e(" translateGraph",()=>WRe(t)),e(" assignNodeIntersects",()=>YRe(t)),e(" reversePoints",()=>XRe(t)),e(" acyclic.undo",()=>TLe(t))}function NRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var MRe=["nodesep","edgesep","ranksep","marginx","marginy"],ORe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},IRe=["acyclicer","ranker","rankdir","align"],BRe=["width","height"],PRe={width:0,height:0},FRe=["minlen","weight","width","height","labeloffset"],$Re={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},zRe=["labelpos"];function qRe(t){var e=new Gs({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},ORe,T_(r,MRe),uw(r,IRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,N8e(T_(i,BRe),PRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},$Re,T_(i,FRe),uw(i,zRe)))}),e}function VRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function GRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};jm(t,"edge-proxy",a,"_ep")}})}function URe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function HRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function WRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function YRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(jq(n,a)),r.points.push(jq(i,s))})}function jRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function XRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function KRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function ZRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function QRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){jm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function JRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:e9e(t),edges:t9e(t)};return Li(t.graph())||(e.value=mre(t.graph())),e}function e9e(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Li(r)||(i.value=r),Li(n)||(i.parent=n),i})}function t9e(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Li(e.name)||(n.name=e.name),Li(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,r9e=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),n9e=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{n9e(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),i9e=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=i9e(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),a9e=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),s9e=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),jre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX Node.id = `,v,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await jre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),$5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(s9e(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);jJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),o9e=S(async(t,e)=>{const r=new Us({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),z5e(),H5e(),b5e(),r9e(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await jre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),$5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(s9e(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);jJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),o9e=S(async(t,e)=>{const r=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),z5e(),H5e(),b5e(),r9e(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function Xre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function d9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function f9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function p9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bi(t,e){return c9e(t)||f9e(t,e)||eM(t,e)||p9e()}function dw(t){return u9e(t)||d9e(t)||eM(t)||g9e()}function m9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=m9e(t,"string");return typeof e=="symbol"?e:e+""}function ra(t){"@babel/helpers - typeof";return ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ra(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var Ki=typeof window>"u"?null:window,iV=Ki?Ki.navigator:null;Ki&&Ki.document;var y9e=ra(""),Zre=ra({}),v9e=ra(function(){}),b9e=typeof HTMLElement>"u"?"undefined":ra(HTMLElement),ox=function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ra(e)==y9e},oi=function(e){return e!=null&&ra(e)===v9e},Rn=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ra(e)===Zre&&!Rn(e)&&e.constructor===Object},x9e=function(e){return e!=null&&ra(e)===Zre},Yt=function(e){return e!=null&&ra(e)===ra(1)&&!isNaN(e)},T9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(b9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},w9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},C9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},S9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},E9e=function(e){return x9e(e)&&oi(e.then)},k9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},M9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+L9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},B9e=function(e){var r,n=new RegExp("^"+_9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},P9e=function(e){return F9e[e.toLowerCase()]},rne=function(e){return(Rn(e)?e:null)||P9e(e)||O9e(e)||B9e(e)||I9e(e)},F9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function R(){var z=e();if(k(z))return O(z);m=setTimeout(R,A(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(R,l),E(v)}return m===void 0&&(m=setTimeout(R,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var j9e=Y9e(),dx=cx(j9e),P_=Ki?Ki.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},X9e=(function(){if(Ki){if(Ki.requestAnimationFrame)return function(t){Ki.requestAnimationFrame(t)};if(Ki.mozRequestAnimationFrame)return function(t){Ki.mozRequestAnimationFrame(t)};if(Ki.webkitRequestAnimationFrame)return function(t){Ki.webkitRequestAnimationFrame(t)};if(Ki.msRequestAnimationFrame)return function(t){Ki.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return X9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},K9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},sDe=function(e,r){for(var n=0;n"u"?"undefined":ra(Set))!==lDe?Set:cDe,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Yn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Yn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new Xm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Rn(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var A;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)R.push(O);return R}).apply(this).reverse(),k=[],E=0,_=A.length;E<_;E++)T=A[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,A,k,R;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),R=x.slice(C),A=0,k=R.length;A$;0<=$?++R:--R)q.push(s(x,T));return q},v=function(x,C,T,E){var _,A,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,A=x[k],E(_,A)<0){x[T]=A,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,A,k,R;for(T==null&&(T=n),_=x.length,R=C,A=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=A,v(x,R,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(uDe)})(T3)),T3.exports}var F_,EV;function dDe(){return EV||(EV=1,F_=hDe()),F_}var fDe=dDe(),fx=cx(fDe),pDe=Na({root:null,weight:function(e){return 1},directed:!1}),gDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=pDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var A=C.pop(),k=b(A),R=A.id();if(f[R]=k,k!==1/0)for(var O=A.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},mDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var R=[],O=a,F=h,$=x[F];R.unshift(O),$!=null&&R.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(R),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+R;!a&&m[q]>$&&(m[q]=$,C[q]=R,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},A=0;A=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=SDe(a,e,r),n--}return r},EDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/CDe);if(a<2){Yn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},DDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},NDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},ODe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},IDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},BDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Bi(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},PDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function FDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(R,O){return{x:R.x+O.x,y:R.y+O.y}},n=function(R,O){return{x:R.x-O.x,y:R.y-O.y}},i=function(R,O){return{x:R.x*O,y:R.y*O}},a=function(R,O){return R.x*O.y-R.y*O.x},s=function(R){var O=PDe(R.x,R.y);return O===0?{x:0,y:0}:{x:R.x/O,y:R.y/O}},o=function(R){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,A=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,A,!1),m.length>0)return m}if(f){var k=n-h+u-o,R=i+d+o,O=n+h-u+o,F=R;if(m=Uh(e,r,n,i,k,R,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,j=i+d-u;if(I=s2(e,r,n,i,H,j,u+o),I.length>0&&I[0]<=H&&I[1]>=j)return[I[0],I[1]]}return[]},zDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},qDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},VDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},GDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},UDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];GDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Os=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Os(e,r,v)},WDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,A=C[1]*l[1]+r;return[T,E,_,A]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,A=0-_,k=1+_;return A<=T&&T<=k&&A<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},jDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,R.nodes.indexOf(z)<0?R.push(z):R.updateItem(z),A[z]=0,_[z]=[]),k[z]==k[$]+N&&(A[z]=A[z]+A[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var j=_[P][H];V[j]=V[j]+A[j]/A[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},cNe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:dNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,fNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,pNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return oi(t)?s=t:s=wm[t]||wm.euclidean,e===0&&oi(t)?s(i,a):s(e,r,n,i,a)}var gNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return gNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},vNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=RNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=j,P+=j}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,X=0;X1||A>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(R){R.isEdge()&&d[T].push(R.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],A,k,R;d[E].length;)A=d[E].shift(),k=f[A][0],R=f[A][1],E!=R?(d[R]=d[R].filter(function(O){return O!=A}),E=R):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=A}),E=k),_.unshift(A),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(A){return A.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},FNe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},$Ne={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,gDe,mDe,vDe,xDe,wDe,EDe,QDe,Fg,$g,pL,hNe,SNe,ANe,INe,PNe,FNe,$Ne].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function iMe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function aMe(){if(dG)return f7;dG=1;var t=eMe(),e=tMe(),r=rMe(),n=nMe(),i=iMe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Rn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return M9e(t.selector,e.selector)}),BMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},VMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var A=a(h.left,d),k=a(h.subject,d),R=a(h.right,d);return A+(A.length>0?" ":"")+k+R}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function KMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,KMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var ZMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var QMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,A=p(h.height.val-d.h,x,C),k=A.biasDiff,R=A.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+R)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ms(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,A=2,k=d,R=h,O=R/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-R,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+R;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-A,N=m+Math.max(C,E)+_+A,B=v-Math.max(C,E)-_-A,M=v+Math.max(C,E)+_+A;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",j=x.pfValue!=null&&x.pfValue!==0;if(H||j){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,X=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*X-Le*ee+Q,y:He*ee+Le*X+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},JMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},eOe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var A=0,k=0;i&&r.includeUnderlays&&(A=e.pstyle("underlay-opacity").value,A!==0&&(k=e.pstyle("underlay-padding").value));var R=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&JMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-R,f-R,d+R,p+R));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?IDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:gOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Rn(e)||(e=[e]),mOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===pOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&sDe(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ra(Symbol))!=e&&ra(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Xre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Yn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new Xm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var A=!1;function k(){A=!0,(t!==e||r!==n)&&T()}var R=function($){return A||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};R.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return R.toString=function(){return O},R}var _Oe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Mn=function(e,r,n,i){var a=kOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Mn(.25,.1,.25,1),"ease-in":Mn(.42,0,1,1),"ease-out":Mn(0,0,.58,1),"ease-in-out":Mn(.42,0,.58,1),"ease-in-sine":Mn(.47,0,.745,.715),"ease-out-sine":Mn(.39,.575,.565,1),"ease-in-out-sine":Mn(.445,.05,.55,.95),"ease-in-quad":Mn(.55,.085,.68,.53),"ease-out-quad":Mn(.25,.46,.45,.94),"ease-in-out-quad":Mn(.455,.03,.515,.955),"ease-in-cubic":Mn(.55,.055,.675,.19),"ease-out-cubic":Mn(.215,.61,.355,1),"ease-in-out-cubic":Mn(.645,.045,.355,1),"ease-in-quart":Mn(.895,.03,.685,.22),"ease-out-quart":Mn(.165,.84,.44,1),"ease-in-out-quart":Mn(.77,0,.175,1),"ease-in-quint":Mn(.755,.05,.855,.06),"ease-out-quint":Mn(.23,1,.32,1),"ease-in-out-quint":Mn(.86,0,.07,1),"ease-in-expo":Mn(.95,.05,.795,.035),"ease-out-expo":Mn(.19,1,.22,1),"ease-in-out-expo":Mn(1,0,0,1),"ease-in-circ":Mn(.6,.04,.98,.335),"ease-out-circ":Mn(.075,.82,.165,1),"ease-in-out-circ":Mn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=_Oe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Mn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Rn(s)&&Rn(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,A=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(A.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(A.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var R=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(R,O)&&(a.zoom=mb(a.minZoom,Bp(R,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function LOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(A){for(var k=A.length-1;k>=0;k--){var R=A[k];R()}A.splice(0,A.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||LOe(h,T,t),AOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var ROe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},DOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(DOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Yn("Layout options must be specified to make a layout");return}if(e.name==null){Yn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Yn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var NOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Rn(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var da={},M2="t",OOe="f";da.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var A=n.valueMin[0],k=n.valueMax[0],R=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(A+(k-A)*E),Math.round(R+(O-R)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};da.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};da.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};da.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};da.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var A=0;A=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Rn(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],A=[],k="",R=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&R?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:A,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:DDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Ki!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(E9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Rn(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,oi(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Rn(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var je=x[ot].length,at=Math.max(je===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:je)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:je)+1),N),xe={x:ne.x+(De+1-(je+1)/2)*at,y:ne.y+(ot+1-(X+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Yn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return eDe($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var $Oe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},$Oe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(A,k){var R=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(R),F=h*Math.sin(R),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var zOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},zOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var A=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,R=Math.min(s.w,s.h)/2-A,O=R/(x.length+k?1:0);A=Math.min(A,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(A*A/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=A}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(YOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var VOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(R);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},KOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},ZOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},JOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},rIe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},rIe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(j){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var X=Math.min(l,u);X==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var X=Math.max(l,u);X==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=HDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=UDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||R.source,V=V||R.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,R,O){return Ms(k,R,O)}function E(k,R){var O=k._private,F=f,$;R?$=R+"-":$="",k.boundingBox();var q=O.labelBounds[R||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",R),N=T(O.rscratch,"labelY",R),B=T(O.rscratch,"labelAngle",R),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,j=q.y2+F-V;if(B){var Z=Math.cos(B),X=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*X+I,y:me*X+pe*Z+N}},Q=ee(U,H),he=ee(U,j),te=ee(P,H),ae=ee(P,j),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Os(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var A=s[_];A.isNode()?x(A)||E(A):C(A)||E(A)||E(A,"source")||E(A,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ms(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,je=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,je),Ze(Ge,je)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:je},{x:Ge,y:je}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},lIe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):oIe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(lIe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,cIe=Math.sqrt(2*wb),ja={};ja.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,A,k,R){var O=R-A,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Bi(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Bi(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};ja.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,R),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||A))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var j=_<0?B:0;P=j+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},X=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=X||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var je=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[je,at,je,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};ja.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,A=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=A<_,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=R<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-A),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-A)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-R)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};ja.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),j=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),X=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=cIe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var je=z.vector={x:it,y:Ge},at=z.vectorNorm={x:je.x/Ye,y:je.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,X,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,j,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:X,tgtW:H,tgtH:j,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-je.x,y:-je.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:A};break}}if(b)break}var R=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(R.p0,R.p1,R.p2,q),f=hIe(R.p0,R.p1,R.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=MDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ms(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ms(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(j,Z){return Z?(su(r.rscratch,j,e,Z),Z):Ms(r.rscratch,j,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` -`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),A="",k=0,R=Fs(_),O;try{for(R.s();!(O=R.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=A.length===0?q:A+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?A+=q+$:(A&&m.push(A),A=q+$)}}catch(H){R.e(H)}finally{R.f()}A.match(/^[\s\u200b]+$/)||m.push(A)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bi(t,e){return c9e(t)||f9e(t,e)||eM(t,e)||p9e()}function dw(t){return u9e(t)||d9e(t)||eM(t)||g9e()}function m9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=m9e(t,"string");return typeof e=="symbol"?e:e+""}function ra(t){"@babel/helpers - typeof";return ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ra(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var Ki=typeof window>"u"?null:window,iV=Ki?Ki.navigator:null;Ki&&Ki.document;var y9e=ra(""),Zre=ra({}),v9e=ra(function(){}),b9e=typeof HTMLElement>"u"?"undefined":ra(HTMLElement),ox=function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ra(e)==y9e},oi=function(e){return e!=null&&ra(e)===v9e},Rn=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ra(e)===Zre&&!Rn(e)&&e.constructor===Object},x9e=function(e){return e!=null&&ra(e)===Zre},Yt=function(e){return e!=null&&ra(e)===ra(1)&&!isNaN(e)},T9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(b9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},w9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},C9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},S9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},E9e=function(e){return x9e(e)&&oi(e.then)},k9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},M9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+L9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},B9e=function(e){var r,n=new RegExp("^"+_9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},P9e=function(e){return F9e[e.toLowerCase()]},rne=function(e){return(Rn(e)?e:null)||P9e(e)||O9e(e)||B9e(e)||I9e(e)},F9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function R(){var z=e();if(k(z))return O(z);m=setTimeout(R,A(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(R,l),E(v)}return m===void 0&&(m=setTimeout(R,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var j9e=Y9e(),dx=cx(j9e),P_=Ki?Ki.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},X9e=(function(){if(Ki){if(Ki.requestAnimationFrame)return function(t){Ki.requestAnimationFrame(t)};if(Ki.mozRequestAnimationFrame)return function(t){Ki.mozRequestAnimationFrame(t)};if(Ki.webkitRequestAnimationFrame)return function(t){Ki.webkitRequestAnimationFrame(t)};if(Ki.msRequestAnimationFrame)return function(t){Ki.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return X9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},K9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},sDe=function(e,r){for(var n=0;n"u"?"undefined":ra(Set))!==lDe?Set:cDe,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Yn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Yn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new Xm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Rn(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var A;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)R.push(O);return R}).apply(this).reverse(),k=[],E=0,_=A.length;E<_;E++)T=A[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,A,k,R;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),R=x.slice(C),A=0,k=R.length;A$;0<=$?++R:--R)q.push(s(x,T));return q},v=function(x,C,T,E){var _,A,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,A=x[k],E(_,A)<0){x[T]=A,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,A,k,R;for(T==null&&(T=n),_=x.length,R=C,A=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=A,v(x,R,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(uDe)})(T3)),T3.exports}var F_,EV;function dDe(){return EV||(EV=1,F_=hDe()),F_}var fDe=dDe(),fx=cx(fDe),pDe=Na({root:null,weight:function(e){return 1},directed:!1}),gDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=pDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var A=C.pop(),k=b(A),R=A.id();if(f[R]=k,k!==1/0)for(var O=A.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},mDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var R=[],O=a,F=h,$=x[F];R.unshift(O),$!=null&&R.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(R),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+R;!a&&m[q]>$&&(m[q]=$,C[q]=R,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},A=0;A=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=SDe(a,e,r),n--}return r},EDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/CDe);if(a<2){Yn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},DDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},NDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},ODe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},IDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},BDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Bi(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},PDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function FDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(R,O){return{x:R.x+O.x,y:R.y+O.y}},n=function(R,O){return{x:R.x-O.x,y:R.y-O.y}},i=function(R,O){return{x:R.x*O,y:R.y*O}},a=function(R,O){return R.x*O.y-R.y*O.x},s=function(R){var O=PDe(R.x,R.y);return O===0?{x:0,y:0}:{x:R.x/O,y:R.y/O}},o=function(R){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,A=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,A,!1),m.length>0)return m}if(f){var k=n-h+u-o,R=i+d+o,O=n+h-u+o,F=R;if(m=Uh(e,r,n,i,k,R,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,j=i+d-u;if(I=s2(e,r,n,i,H,j,u+o),I.length>0&&I[0]<=H&&I[1]>=j)return[I[0],I[1]]}return[]},zDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},qDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},VDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},GDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},UDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];GDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Ms=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Ms(e,r,v)},WDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,A=C[1]*l[1]+r;return[T,E,_,A]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,A=0-_,k=1+_;return A<=T&&T<=k&&A<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},jDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,R.nodes.indexOf(z)<0?R.push(z):R.updateItem(z),A[z]=0,_[z]=[]),k[z]==k[$]+N&&(A[z]=A[z]+A[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var j=_[P][H];V[j]=V[j]+A[j]/A[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},cNe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:dNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,fNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,pNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return oi(t)?s=t:s=wm[t]||wm.euclidean,e===0&&oi(t)?s(i,a):s(e,r,n,i,a)}var gNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return gNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},vNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=RNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=j,P+=j}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,X=0;X1||A>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(R){R.isEdge()&&d[T].push(R.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],A,k,R;d[E].length;)A=d[E].shift(),k=f[A][0],R=f[A][1],E!=R?(d[R]=d[R].filter(function(O){return O!=A}),E=R):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=A}),E=k),_.unshift(A),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(A){return A.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},FNe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},$Ne={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,gDe,mDe,vDe,xDe,wDe,EDe,QDe,Fg,$g,pL,hNe,SNe,ANe,INe,PNe,FNe,$Ne].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function iMe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function aMe(){if(dG)return f7;dG=1;var t=eMe(),e=tMe(),r=rMe(),n=nMe(),i=iMe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Rn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return M9e(t.selector,e.selector)}),BMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},VMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var A=a(h.left,d),k=a(h.subject,d),R=a(h.right,d);return A+(A.length>0?" ":"")+k+R}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function KMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,KMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var ZMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var QMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,A=p(h.height.val-d.h,x,C),k=A.biasDiff,R=A.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+R)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ns(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,A=2,k=d,R=h,O=R/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-R,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+R;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-A,N=m+Math.max(C,E)+_+A,B=v-Math.max(C,E)-_-A,M=v+Math.max(C,E)+_+A;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",j=x.pfValue!=null&&x.pfValue!==0;if(H||j){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,X=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*X-Le*ee+Q,y:He*ee+Le*X+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},JMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},eOe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var A=0,k=0;i&&r.includeUnderlays&&(A=e.pstyle("underlay-opacity").value,A!==0&&(k=e.pstyle("underlay-padding").value));var R=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&JMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-R,f-R,d+R,p+R));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?IDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:gOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Rn(e)||(e=[e]),mOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===pOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&sDe(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ra(Symbol))!=e&&ra(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Xre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Yn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new Xm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var A=!1;function k(){A=!0,(t!==e||r!==n)&&T()}var R=function($){return A||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};R.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return R.toString=function(){return O},R}var _Oe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Mn=function(e,r,n,i){var a=kOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Mn(.25,.1,.25,1),"ease-in":Mn(.42,0,1,1),"ease-out":Mn(0,0,.58,1),"ease-in-out":Mn(.42,0,.58,1),"ease-in-sine":Mn(.47,0,.745,.715),"ease-out-sine":Mn(.39,.575,.565,1),"ease-in-out-sine":Mn(.445,.05,.55,.95),"ease-in-quad":Mn(.55,.085,.68,.53),"ease-out-quad":Mn(.25,.46,.45,.94),"ease-in-out-quad":Mn(.455,.03,.515,.955),"ease-in-cubic":Mn(.55,.055,.675,.19),"ease-out-cubic":Mn(.215,.61,.355,1),"ease-in-out-cubic":Mn(.645,.045,.355,1),"ease-in-quart":Mn(.895,.03,.685,.22),"ease-out-quart":Mn(.165,.84,.44,1),"ease-in-out-quart":Mn(.77,0,.175,1),"ease-in-quint":Mn(.755,.05,.855,.06),"ease-out-quint":Mn(.23,1,.32,1),"ease-in-out-quint":Mn(.86,0,.07,1),"ease-in-expo":Mn(.95,.05,.795,.035),"ease-out-expo":Mn(.19,1,.22,1),"ease-in-out-expo":Mn(1,0,0,1),"ease-in-circ":Mn(.6,.04,.98,.335),"ease-out-circ":Mn(.075,.82,.165,1),"ease-in-out-circ":Mn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=_Oe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Mn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Rn(s)&&Rn(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,A=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(A.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(A.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var R=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(R,O)&&(a.zoom=mb(a.minZoom,Bp(R,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function LOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(A){for(var k=A.length-1;k>=0;k--){var R=A[k];R()}A.splice(0,A.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||LOe(h,T,t),AOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var ROe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},DOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(DOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Yn("Layout options must be specified to make a layout");return}if(e.name==null){Yn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Yn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var NOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Rn(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var da={},M2="t",OOe="f";da.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var A=n.valueMin[0],k=n.valueMax[0],R=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(A+(k-A)*E),Math.round(R+(O-R)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};da.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};da.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};da.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};da.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var A=0;A=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Rn(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],A=[],k="",R=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&R?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:A,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:DDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Ki!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(E9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Rn(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,oi(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Rn(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var je=x[ot].length,at=Math.max(je===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:je)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:je)+1),N),xe={x:ne.x+(De+1-(je+1)/2)*at,y:ne.y+(ot+1-(X+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Yn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return eDe($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var $Oe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},$Oe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(A,k){var R=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(R),F=h*Math.sin(R),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var zOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},zOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var A=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,R=Math.min(s.w,s.h)/2-A,O=R/(x.length+k?1:0);A=Math.min(A,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(A*A/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=A}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(YOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var VOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(R);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},KOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},ZOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},JOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},rIe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},rIe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(j){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var X=Math.min(l,u);X==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var X=Math.max(l,u);X==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=HDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=UDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||R.source,V=V||R.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,R,O){return Ns(k,R,O)}function E(k,R){var O=k._private,F=f,$;R?$=R+"-":$="",k.boundingBox();var q=O.labelBounds[R||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",R),N=T(O.rscratch,"labelY",R),B=T(O.rscratch,"labelAngle",R),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,j=q.y2+F-V;if(B){var Z=Math.cos(B),X=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*X+I,y:me*X+pe*Z+N}},Q=ee(U,H),he=ee(U,j),te=ee(P,H),ae=ee(P,j),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Ms(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var A=s[_];A.isNode()?x(A)||E(A):C(A)||E(A)||E(A,"source")||E(A,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ns(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,je=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,je),Ze(Ge,je)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:je},{x:Ge,y:je}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},lIe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):oIe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(lIe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,cIe=Math.sqrt(2*wb),ja={};ja.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,A,k,R){var O=R-A,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Bi(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Bi(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};ja.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,R),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||A))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var j=_<0?B:0;P=j+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},X=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=X||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var je=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[je,at,je,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};ja.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,A=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=A<_,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=R<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-A),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-A)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-R)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};ja.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),j=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),X=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=cIe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var je=z.vector={x:it,y:Ge},at=z.vectorNorm={x:je.x/Ye,y:je.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,X,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,j,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:X,tgtW:H,tgtH:j,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-je.x,y:-je.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:A};break}}if(b)break}var R=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(R.p0,R.p1,R.p2,q),f=hIe(R.p0,R.p1,R.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=MDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ns(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ns(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(j,Z){return Z?(su(r.rscratch,j,e,Z),Z):Ns(r.rscratch,j,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` +`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),A="",k=0,R=Ps(_),O;try{for(R.s();!(O=R.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=A.length===0?q:A+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?A+=q+$:(A&&m.push(A),A=q+$)}}catch(H){R.e(H)}finally{R.f()}A.match(/^[\s\u200b]+$/)||m.push(A)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` `)),s("labelWrapKey",l)}else if(o==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,B="",M="…",V=!1;if(this.calculateLabelDimensions(t,i).widthN)break;B+=i[U],U===i.length-1&&(V=!0)}return V||(B+=M),B}return i};pc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};pc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var p=0,m=0,v=e.split(` -`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,j,Z,X,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,j=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,X=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=j&&j<=me&&0<=X&&X<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,j,Z,X),Q=$e(H,j,Z,X),he=[(H+Z)/2,(j+X)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},je=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Os(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var A=0;A<_.length;A++)m.push(_[A]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},fIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Yn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new Xm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,pIe=8,gIe=1024,mIe=1024,yIe=1024,vIe=.2,bIe=.8,xIe=10,TIe=.15,wIe=.1,CIe=.9,SIe=.9,EIe=100,kIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_Ie=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=_Ie(r);yr(n,i),n.lookup=new fIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ia=l2.prototype;ia.reasons=Sg;ia.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ia.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ia.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};ia.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ia.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>yIe||d>mIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,A.level-1),A;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+pIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};ia.invalidateElements=function(t){for(var e=0;e=vIe*t.width&&this.retireTexture(t)};ia.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>bIe&&t.fullnessChecks>=xIe?cd(r,t):t.fullnessChecks++};ia.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};ia.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};ia.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};ia.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ia.onDequeue=function(t){this.onDequeues.push(t)};ia.offDequeue=function(t){cd(this.onDequeues,t)};ia.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:EIe,deqCost:TIe,deqAvgCost:wIe,deqNoDrawCost:CIe,deqFastCost:SIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=LIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>PIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/AIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,FIe),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},A=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},R=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();A(),T(),k(),_(),R(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function XIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ms(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ms(s,"labelX",r),u=Ms(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ms(s,"labelWidth",r),v=Ms(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var A=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,R=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(A>0||R>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=A>0,P=R>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var j=u-v-O,Z=m+2*O,X=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(A*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=R,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=R/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,j,Z,X,z)):q?(t.beginPath(),XIe(t,H,j,Z,X)):(t.beginPath(),t.rect(H,j,Z,X)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=R/2;t.beginPath(),$?wU(t,H+ee,j+ee,Z-2*ee,X-2*ee,z):t.rect(H+ee,j+ee,Z-2*ee,X-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ms(s,"labelWrapCachedLines",r),te=Ms(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),A=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:X;s.colorStrokeStyle(t,j[0],j[1],j[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==A,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var A=2*Math.PI*E,k=_+A;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},KIe=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),A={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},R=e.prevViewport,O=R===void 0||k.zoom!==R.zoom||k.pan.x!==R.pan.x||k.pan.y!==R.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(A=o),E*=l,A.x*=l,A.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=A,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),j=f&&!H?"motionBlur":void 0;q(D,j),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],X=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,X,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},KIe)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function ZIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function QIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function JIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function eBe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function tBe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function rBe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function nBe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function iBe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function aBe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function sBe(t,e,r,n){var i=kie(t,e),a=Bi(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Bi(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,A=T.x,k=T.row,R=A,O=l*k;_.save(),_.translate(R,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,A=d-_,k=l;{var R=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,R,O,F,k),m[0]={x:R,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=A;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=A,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Fs(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Fs(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var A=n.collections.get(E.collection),k=E.getKey(v),R=Array.isArray(k)?k:[k];if(s)R.forEach(function(q){return A.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!rBe(R,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return A.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Fs(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Bi(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Fs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Bi(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),gBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),mBe=` +`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,j,Z,X,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,j=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,X=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=j&&j<=me&&0<=X&&X<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,j,Z,X),Q=$e(H,j,Z,X),he=[(H+Z)/2,(j+X)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},je=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Ms(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var A=0;A<_.length;A++)m.push(_[A]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},fIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Yn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new Xm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,pIe=8,gIe=1024,mIe=1024,yIe=1024,vIe=.2,bIe=.8,xIe=10,TIe=.15,wIe=.1,CIe=.9,SIe=.9,EIe=100,kIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_Ie=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=_Ie(r);yr(n,i),n.lookup=new fIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ia=l2.prototype;ia.reasons=Sg;ia.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ia.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ia.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};ia.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ia.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>yIe||d>mIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,A.level-1),A;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+pIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};ia.invalidateElements=function(t){for(var e=0;e=vIe*t.width&&this.retireTexture(t)};ia.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>bIe&&t.fullnessChecks>=xIe?cd(r,t):t.fullnessChecks++};ia.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};ia.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};ia.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};ia.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ia.onDequeue=function(t){this.onDequeues.push(t)};ia.offDequeue=function(t){cd(this.onDequeues,t)};ia.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:EIe,deqCost:TIe,deqAvgCost:wIe,deqNoDrawCost:CIe,deqFastCost:SIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=LIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>PIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/AIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,FIe),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},A=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},R=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();A(),T(),k(),_(),R(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function XIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ns(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ns(s,"labelX",r),u=Ns(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ns(s,"labelWidth",r),v=Ns(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var A=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,R=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(A>0||R>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=A>0,P=R>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var j=u-v-O,Z=m+2*O,X=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(A*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=R,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=R/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,j,Z,X,z)):q?(t.beginPath(),XIe(t,H,j,Z,X)):(t.beginPath(),t.rect(H,j,Z,X)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=R/2;t.beginPath(),$?wU(t,H+ee,j+ee,Z-2*ee,X-2*ee,z):t.rect(H+ee,j+ee,Z-2*ee,X-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ns(s,"labelWrapCachedLines",r),te=Ns(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),A=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:X;s.colorStrokeStyle(t,j[0],j[1],j[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==A,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var A=2*Math.PI*E,k=_+A;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},KIe=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),A={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},R=e.prevViewport,O=R===void 0||k.zoom!==R.zoom||k.pan.x!==R.pan.x||k.pan.y!==R.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(A=o),E*=l,A.x*=l,A.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=A,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),j=f&&!H?"motionBlur":void 0;q(D,j),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],X=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,X,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},KIe)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function ZIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function QIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function JIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function eBe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function tBe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function rBe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function nBe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function iBe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function aBe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function sBe(t,e,r,n){var i=kie(t,e),a=Bi(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Bi(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,A=T.x,k=T.row,R=A,O=l*k;_.save(),_.translate(R,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,A=d-_,k=l;{var R=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,R,O,F,k),m[0]={x:R,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=A;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=A,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Ps(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Ps(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var A=n.collections.get(E.collection),k=E.getKey(v),R=Array.isArray(k)?k:[k];if(s)R.forEach(function(q){return A.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!rBe(R,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return A.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Ps(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Bi(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Ps(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Bi(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),gBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),mBe=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } @@ -925,7 +925,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),o=ZIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Fs(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var A=x/2;b[0]=A,b[1]=-A}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=X7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:tBe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),wBe(r)};function TBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ms(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function wBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(CBe(t),e.call(t,a)):(SBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return RBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function CBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function SBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function EBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();uBe(o,e,r);var l=Y7();return cBe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function kBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function _Be(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function ABe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function RBe(t,e,r){var n=LBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Fs(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&kBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=EBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function DBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ra(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var OBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:NBe}],IBe=[{type:"layout",extensions:sIe},{type:"renderer",extensions:OBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(R){vn("Can not register `"+e+"` for `"+t+"` since `"+R+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(R){this.options=R,r.call(this,R),tn(this._private)||(this._private={}),this._private.cy=R.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&R>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(R,1);var A=T.source.owner.getEdges().indexOf(T);if(A==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(A,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),A=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,A,k,R,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),A=z.getRight(),k=z.getTop(),R=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=R,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=R,u[3]=k,I=!0):B===M&&(f>h?(u[2]=A,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,j=f+-z/M,u[2]=j,u[3]=Z;break;case 2:j=$,Z=p+q*M,u[2]=j,u[3]=Z;break;case 3:Z=F,j=f+z/M,u[2]=j,u[3]=Z;break;case 4:j=O,Z=p+-q*M,u[2]=j,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,A=void 0,k=void 0,R=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,A=C-b,R=v-x,F=x*b-v*C,$=_*R-A*k,$===0?null:(T=(k*F-R*O)/$,E=(A*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var R=_[0];_.splice(0,1),E.add(R);for(var O=R.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,A=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=A.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&R.push(D),C.set(D,N)}})}x=x.concat(R),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var A=0;Ad}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var R=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return R.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),R=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(R),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),R={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,R,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(R,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=j[0];j.splice(0,1);var X=M.indexOf(Z);X>=0&&M.splice(X,1),P--,V--}R!=null?H=(M.indexOf(j[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=R){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var R=x.MIN_VALUE,O=0;OR&&(R=$)}return R},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,R={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(R[D]=[]),R[D]=R[D].concat(q)}Object.keys(R).forEach(function(I){if(R[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=R[I];var B=R[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var R=this.compoundOrder[k],O=R.id,F=R.paddingLeft,$=R.paddingTop;this.adjustLocations(this.tiledMemberPack[O],R.rect.x,R.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,R=this.tiledZeroDegreePack;Object.keys(R).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(R[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var R=k.id;if(this.toBeTiled[R]!=null)return this.toBeTiled[R];var O=k.getChild();if(O==null)return this.toBeTiled[R]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[R]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[R]=!1,!1}return this.toBeTiled[R]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var R=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,R){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=R[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,R){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:R,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(R)},_.prototype.getShortestRowIndex=function(k){for(var R=-1,O=Number.MAX_VALUE,F=0;FO&&(R=F,O=k.rowWidth[F]);return R},_.prototype.canAddHorizontal=function(k,R,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+R<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=R+k.horizontalPadding?z=(k.height+q)/($+R+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&R!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[R]=k.rowWidth[R]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);R>0&&(z+=k.verticalPadding);var I=k.rowHeight[R]+k.rowHeight[O];k.rowHeight[R]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[R]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],R=!0,O;R;){var F=this.graphManager.getAllNodes(),$=[];R=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,j,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,R,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var HBe=UBe();const WBe=k0(HBe);ac.use(WBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var YBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),A=_.node().getBBox();E.width=A.width,E.height=A.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${A.width}x${A.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const A=C.edges.find(k=>k.id===T.id);if(A){o.debug("APA01 positionedEdge",A);const k={...T},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}}})),o.debug("Cose-bilkent rendering completed")},"render"),jBe=YBe;const XBe=Object.freeze(Object.defineProperty({__proto__:null,render:jBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),KBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),jie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],A=[1,38],k=[1,39],R=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],j=[1,56],Z=[1,57],X=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,je,at,xe,Ze){var se=xe.length-1;switch(at){case 3:je.setDirection("TB");break;case 4:je.setDirection("BT");break;case 5:je.setDirection("RL");break;case 6:je.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:je.setC4Type(xe[se-3]);break;case 19:je.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:je.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),je.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),je.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),je.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:je.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:je.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:je.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:je.popBoundaryParseStack();break;case 39:je.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:je.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:je.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:je.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:je.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:je.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:je.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:je.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:je.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:je.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:je.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:je.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:je.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:je.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:je.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:je.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:je.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:je.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:je.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:je.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:je.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:je.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:je.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:je.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:je.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:je.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:je.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),je.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:je.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:je.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:je.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],je=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=je.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(je=ue,ue=je.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: + `),o=ZIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Ps(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var A=x/2;b[0]=A,b[1]=-A}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=X7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:tBe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),wBe(r)};function TBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ns(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function wBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(CBe(t),e.call(t,a)):(SBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return RBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function CBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function SBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function EBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();uBe(o,e,r);var l=Y7();return cBe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function kBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function _Be(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function ABe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function RBe(t,e,r){var n=LBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Ps(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&kBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=EBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function DBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ra(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var OBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:NBe}],IBe=[{type:"layout",extensions:sIe},{type:"renderer",extensions:OBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(R){vn("Can not register `"+e+"` for `"+t+"` since `"+R+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(R){this.options=R,r.call(this,R),tn(this._private)||(this._private={}),this._private.cy=R.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&R>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(R,1);var A=T.source.owner.getEdges().indexOf(T);if(A==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(A,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),A=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,A,k,R,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),A=z.getRight(),k=z.getTop(),R=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=R,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=R,u[3]=k,I=!0):B===M&&(f>h?(u[2]=A,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,j=f+-z/M,u[2]=j,u[3]=Z;break;case 2:j=$,Z=p+q*M,u[2]=j,u[3]=Z;break;case 3:Z=F,j=f+z/M,u[2]=j,u[3]=Z;break;case 4:j=O,Z=p+-q*M,u[2]=j,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,A=void 0,k=void 0,R=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,A=C-b,R=v-x,F=x*b-v*C,$=_*R-A*k,$===0?null:(T=(k*F-R*O)/$,E=(A*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var R=_[0];_.splice(0,1),E.add(R);for(var O=R.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,A=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=A.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&R.push(D),C.set(D,N)}})}x=x.concat(R),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var A=0;Ad}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var R=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return R.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),R=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(R),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),R={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,R,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(R,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=j[0];j.splice(0,1);var X=M.indexOf(Z);X>=0&&M.splice(X,1),P--,V--}R!=null?H=(M.indexOf(j[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=R){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var R=x.MIN_VALUE,O=0;OR&&(R=$)}return R},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,R={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(R[D]=[]),R[D]=R[D].concat(q)}Object.keys(R).forEach(function(I){if(R[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=R[I];var B=R[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var R=this.compoundOrder[k],O=R.id,F=R.paddingLeft,$=R.paddingTop;this.adjustLocations(this.tiledMemberPack[O],R.rect.x,R.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,R=this.tiledZeroDegreePack;Object.keys(R).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(R[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var R=k.id;if(this.toBeTiled[R]!=null)return this.toBeTiled[R];var O=k.getChild();if(O==null)return this.toBeTiled[R]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[R]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[R]=!1,!1}return this.toBeTiled[R]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var R=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,R){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=R[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,R){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:R,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(R)},_.prototype.getShortestRowIndex=function(k){for(var R=-1,O=Number.MAX_VALUE,F=0;FO&&(R=F,O=k.rowWidth[F]);return R},_.prototype.canAddHorizontal=function(k,R,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+R<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=R+k.horizontalPadding?z=(k.height+q)/($+R+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&R!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[R]=k.rowWidth[R]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);R>0&&(z+=k.verticalPadding);var I=k.rowHeight[R]+k.rowHeight[O];k.rowHeight[R]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[R]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],R=!0,O;R;){var F=this.graphManager.getAllNodes(),$=[];R=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,j,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,R,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var HBe=UBe();const WBe=k0(HBe);ac.use(WBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var YBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),A=_.node().getBBox();E.width=A.width,E.height=A.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${A.width}x${A.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const A=C.edges.find(k=>k.id===T.id);if(A){o.debug("APA01 positionedEdge",A);const k={...T},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}}})),o.debug("Cose-bilkent rendering completed")},"render"),jBe=YBe;const XBe=Object.freeze(Object.defineProperty({__proto__:null,render:jBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),KBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),jie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],A=[1,38],k=[1,39],R=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],j=[1,56],Z=[1,57],X=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,je,at,xe,Ze){var se=xe.length-1;switch(at){case 3:je.setDirection("TB");break;case 4:je.setDirection("BT");break;case 5:je.setDirection("RL");break;case 6:je.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:je.setC4Type(xe[se-3]);break;case 19:je.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:je.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),je.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),je.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),je.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:je.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:je.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:je.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:je.popBoundaryParseStack();break;case 39:je.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:je.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:je.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:je.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:je.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:je.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:je.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:je.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:je.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:je.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:je.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:je.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:je.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:je.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:je.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:je.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:je.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:je.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:je.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:je.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:je.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:je.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:je.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:je.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:je.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:je.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:je.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),je.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:je.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:je.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:je.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],je=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=je.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(je=ue,ue=je.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: `+Ee.showPosition()+` Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var je=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===je.length?this.yylloc.first_column:0)+je[je.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:S(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ge=this.pastInput(),it=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` @@ -1204,7 +1204,7 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const VFe=/\r?\n/gm,GFe=new mae;class UFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=PS(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new UFe;function HFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(GFe.pattern(t)),rA.multiline}catch{return!1}}const WFe=`\f -\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return WFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function YFe(t,e){const r=jFe(t),n=e.match(r);return!!n&&n[0].length>0}function jFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function XFe(t){return t.rules.find(e=>Xu(e)&&e.entry)}function KFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=XFe(t);if(!n)return new Set(t.rules);const i=[n].concat(KFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function ZFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function QFe(t){return t.hidden&&!yae(FM(t))}function JFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function e$e(t,e,r){if(!t)return;const n=t$e(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function t$e(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function r$e(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&Xu(i.rule.ref))return n(i,i.rule.ref);if(kFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||Xu(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return Xu(t)&&Cae(t)?t.name:Eae(t)??t.name;if(xFe(t)||RFe(t)||EFe(t))return t.name;if(OS(t)){const e=n$e(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function n$e(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function i$e(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(_Fe(t))return a$e(t);if(AFe(t))return s$e(t);if(mFe(t))return c$e(t);if(LFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(TFe(t))return l$e(t);if(DFe(t))return o$e(t);if(SFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(NFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function a$e(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function s$e(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function o$e(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function l$e(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function c$e(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function u$e(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&QFe(n)&&HFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:BFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function h$e(t){return d$e(t)?t.LABEL:t.name}function d$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class Vs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class yi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Ws extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class Vn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function f$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Vs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Hs)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof yi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ws)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Vn){const r={type:"Terminal",name:t.terminalType.name,label:h$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case Vs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Hs:return this.visitRepetitionWithSeparator(r);case yi:return this.visitRepetition(r);case Ws:return this.visitAlternation(r);case Vn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function p$e(t){return t instanceof Vs||t instanceof Ra||t instanceof yi||t instanceof bo||t instanceof xo||t instanceof Hs||t instanceof Vn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof yi||t instanceof Hs?!0:t instanceof Ws?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function g$e(t){return t instanceof Ws}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof Vn)this.walkTerminal(n,a,r);else if(n instanceof Vs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Hs)this.walkManySep(n,a,r);else if(n instanceof yi)this.walkMany(n,a,r);else if(n instanceof Ws)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Vs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new Vn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof Vn)return v$e(t);if(p$e(t))return m$e(t);if(g$e(t))return y$e(t);throw Error("non exhaustive match")}function m$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function y$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function v$e(t){return[t.terminalType]}const Lae="_~IN~_";class b$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=T$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Vs({definition:a}),o=Cx(s);this.follows[i]=o}}function x$e(t){const e={};return t.forEach(r=>{const n=new b$e(r).startWalking();Object.assign(e,n)}),e}function T$e(t,e){return t.name+e+Lae}let H3={};const w$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=w$e.pattern(e);return H3[e]=r,r}}function C$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: +\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return WFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function YFe(t,e){const r=jFe(t),n=e.match(r);return!!n&&n[0].length>0}function jFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function XFe(t){return t.rules.find(e=>Xu(e)&&e.entry)}function KFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=XFe(t);if(!n)return new Set(t.rules);const i=[n].concat(KFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function ZFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function QFe(t){return t.hidden&&!yae(FM(t))}function JFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function e$e(t,e,r){if(!t)return;const n=t$e(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function t$e(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function r$e(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&Xu(i.rule.ref))return n(i,i.rule.ref);if(kFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||Xu(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return Xu(t)&&Cae(t)?t.name:Eae(t)??t.name;if(xFe(t)||RFe(t)||EFe(t))return t.name;if(OS(t)){const e=n$e(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function n$e(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function i$e(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(_Fe(t))return a$e(t);if(AFe(t))return s$e(t);if(mFe(t))return c$e(t);if(LFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(TFe(t))return l$e(t);if(DFe(t))return o$e(t);if(SFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(NFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function a$e(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function s$e(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function o$e(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function l$e(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function c$e(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function u$e(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&QFe(n)&&HFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:BFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function h$e(t){return d$e(t)?t.LABEL:t.name}function d$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class qs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class yi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Us extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class Vn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function f$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof qs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Us)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof yi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Hs)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Vn){const r={type:"Terminal",name:t.terminalType.name,label:h$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case qs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Us:return this.visitRepetitionWithSeparator(r);case yi:return this.visitRepetition(r);case Hs:return this.visitAlternation(r);case Vn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function p$e(t){return t instanceof qs||t instanceof Ra||t instanceof yi||t instanceof bo||t instanceof xo||t instanceof Us||t instanceof Vn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof yi||t instanceof Us?!0:t instanceof Hs?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function g$e(t){return t instanceof Hs}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof Vn)this.walkTerminal(n,a,r);else if(n instanceof qs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Us)this.walkManySep(n,a,r);else if(n instanceof yi)this.walkMany(n,a,r);else if(n instanceof Hs)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new qs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new Vn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof Vn)return v$e(t);if(p$e(t))return m$e(t);if(g$e(t))return y$e(t);throw Error("non exhaustive match")}function m$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function y$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function v$e(t){return[t.terminalType]}const Lae="_~IN~_";class b$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=T$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new qs({definition:a}),o=Cx(s);this.follows[i]=o}}function x$e(t){const e={};return t.forEach(r=>{const n=new b$e(r).startWalking();Object.assign(e,n)}),e}function T$e(t,e){return t.name+e+Lae}let H3={};const w$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=w$e.pattern(e);return H3[e]=r,r}}function C$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: `;function S$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. @@ -1214,7 +1214,7 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&jL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&E$e(t,e)}function E$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function jL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(jL):jL(t.value):!1}class k$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new k$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function _$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Z$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==$s.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==$s.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(j$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==$s.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),A=pd(_);iA(C,A,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(A=>{const k=typeof A=="string"?A.charCodeAt(0):A,R=pd(k);_!==R&&(_=R,iA(C,R,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. +`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Z$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==Fs.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==Fs.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(j$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==Fs.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),A=pd(_);iA(C,A,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(A=>{const k=typeof A=="string"?A.charCodeAt(0):A,R=pd(k);_!==R&&(_=R,iA(C,R,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=S$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(A=>{iA(C,A,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. @@ -1223,14 +1223,14 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function O$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:vi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const I$e=/[^\\[][\^]|^\^/;function B$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return I$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function P$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:vi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function F$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==$s.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:vi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function $$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==$s.SKIPPED&&i!==$s.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:vi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function z$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:vi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function q$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===$s.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&G$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function P$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:vi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function F$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==Fs.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:vi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function $$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==Fs.SKIPPED&&i!==Fs.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:vi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function z$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:vi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function q$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===Fs.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&G$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:vi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function V$e(t,e){if(e instanceof RegExp){if(U$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function G$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function U$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition `,type:vi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,MT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+MT+`> property in its definition `,type:vi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,MT)&&Object.hasOwn(t,f2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${f2}: <${t.defaultMode}>which does not exist `,type:vi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,MT)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> `,type:vi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(u=>{u!==void 0&&!a.includes(u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${i}> -`,type:vi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function W$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==$s.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:K$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +`,type:vi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function W$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==Fs.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:K$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS @@ -1240,7 +1240,7 @@ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===vi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=Q$e(t);J$e(e),tze(e),eze(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function Q$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function J$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),rze(e)||(e.categoryMatches=[]),nze(e)||(e.categoryMatchesMap={})})}function eze(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function tze(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function rze(t){return Object.hasOwn(t??{},"categoryMatches")}function nze(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function ize(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const XL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var vi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(vi||(vi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:XL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class $s{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:XL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class Fs{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=X$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(H$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(W$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(A$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=_$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: @@ -1248,8 +1248,8 @@ a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2, Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{C$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const A=this.hasCustom?0:Math.floor(e.length/10),k=new Array(A),R=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=Y$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const X=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);R.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:X})}else{B.pop();const X=B.at(-1);I=this.patternIdxToConfig[X],N=this.charCodeToPatternIdxToConfig[X],D=I.length;const ee=this.canModeBeOptimized[X]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const X=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&X?V=!0:V=!1}P.call(this,r);let H;const j=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=j===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const A=this.hasCustom?0:Math.floor(e.length/10),k=new Array(A),R=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=Y$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const X=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);R.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:X})}else{B.pop();const X=B.at(-1);I=this.patternIdxToConfig[X],N=this.charCodeToPatternIdxToConfig[X],D=I.length;const ee=this.canModeBeOptimized[X]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const X=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&X?V=!0:V=!1}P.call(this,r);let H;const j=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=j===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` but found: '`+e[0].image+"'";if(n)return a+n+o;{const d=`one of these possible Token sequences: ${t.reduce((f,p)=>f.concat(p),[]).map(f=>`[${f.map(p=>qg(p)).join(", ")}]`).map((f,p)=>` ${p+1}. ${f}`).join(` `)}`;return a+d+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=` @@ -1281,7 +1281,7 @@ rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function lze(t,e){const r=new cze(t,e);return r.resolveRefs(),r.errors}class cze extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class uze extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class hze extends uze{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Vs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class dze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class fze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof Vn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function pze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof Vn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof Vs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(gze(x,m,v,b));else throw Error("non exhaustive match")}return h}function gze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ai;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ai||(ai={}));function VM(t){if(t instanceof Ra||t==="Option")return ai.OPTION;if(t instanceof yi||t==="Repetition")return ai.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ai.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ai.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Hs||t==="RepetitionWithSeparator")return ai.REPETITION_WITH_SEPARATOR;if(t instanceof Ws||t==="Alternation")return ai.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ai.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function mze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function yze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function vze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ai.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new xze(e,t,r).startWalking(),l=new Vs({definition:a}),u=new Vs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function Cze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Sze(t,e,r,n){const i=t.flatMap(l=>Eze(l,r)),a=Pze(t,e,r),s=t.flatMap(l=>Mze(l,r)),o=t.flatMap(l=>Aze(l,t,n,r));return i.concat(a,s,o)}function Eze(t,e){const r=new _ze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,kze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function kze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof Vn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class _ze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Aze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Lze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof Vs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Hs||r instanceof yi)e=e.concat(Y3(r.definition));else if(r instanceof Ws)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof Vn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Rze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>pze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function Dze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Ize(u,s,t,r),d=Bze(u,s,t,r);return h.concat(d)})}class Nze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Mze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Oze(t,e,r){const n=[];return t.forEach(i=>{const a=new Nze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Ize(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Bze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Pze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Fze(t){const e=Object.assign({errMsgProvider:oze},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),lze(r,e.errMsgProvider)}function $ze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return Sze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",jae="NotAllInputParsedException",Xae=[Hae,Wae,Yae,jae];Object.freeze(Xae);function zw(t){return Xae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class zze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class qze extends GS{constructor(e,r){super(e,r),this.name=jae}}class Vze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Gze extends Error{constructor(e){super(e),this.name=Zae}}class Uze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Hze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new hze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Gze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>Rze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Dze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Oze(e,r,Wf)}buildLookaheadForAlternation(e){return mze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,vze)}buildLookaheadForOptional(e){return yze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),bze)}}class Yze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Xze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,j3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class jze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new jze;function Xze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function lze(t,e){const r=new cze(t,e);return r.resolveRefs(),r.errors}class cze extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class uze extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class hze extends uze{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new qs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class dze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class fze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof Vn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function pze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof Vn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof qs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(gze(x,m,v,b));else throw Error("non exhaustive match")}return h}function gze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ai;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ai||(ai={}));function VM(t){if(t instanceof Ra||t==="Option")return ai.OPTION;if(t instanceof yi||t==="Repetition")return ai.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ai.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ai.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Us||t==="RepetitionWithSeparator")return ai.REPETITION_WITH_SEPARATOR;if(t instanceof Hs||t==="Alternation")return ai.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ai.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function mze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function yze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function vze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ai.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new xze(e,t,r).startWalking(),l=new qs({definition:a}),u=new qs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function Cze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Sze(t,e,r,n){const i=t.flatMap(l=>Eze(l,r)),a=Pze(t,e,r),s=t.flatMap(l=>Mze(l,r)),o=t.flatMap(l=>Aze(l,t,n,r));return i.concat(a,s,o)}function Eze(t,e){const r=new _ze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,kze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function kze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof Vn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class _ze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Aze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Lze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof qs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Us||r instanceof yi)e=e.concat(Y3(r.definition));else if(r instanceof Hs)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof Vn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Rze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>pze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function Dze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Ize(u,s,t,r),d=Bze(u,s,t,r);return h.concat(d)})}class Nze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Mze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Oze(t,e,r){const n=[];return t.forEach(i=>{const a=new Nze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Ize(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Bze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Pze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Fze(t){const e=Object.assign({errMsgProvider:oze},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),lze(r,e.errMsgProvider)}function $ze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return Sze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",jae="NotAllInputParsedException",Xae=[Hae,Wae,Yae,jae];Object.freeze(Xae);function zw(t){return Xae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class zze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class qze extends GS{constructor(e,r){super(e,r),this.name=jae}}class Vze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Gze extends Error{constructor(e){super(e),this.name=Zae}}class Uze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Hze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new hze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Gze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>Rze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Dze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Oze(e,r,Wf)}buildLookaheadForAlternation(e){return mze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,vze)}buildLookaheadForOptional(e){return yze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),bze)}}class Yze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Xze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,j3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class jze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new jze;function Xze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` @@ -1292,27 +1292,27 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleN is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(ize)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,fze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(j3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,j3,e,uH)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,dze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,j3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;rs.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,fze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(j3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,j3,e,uH)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,dze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,j3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,yi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Hs,r,e,gH)}orInternalRecord(e,r){return hqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,yi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Us,r,e,gH)}orInternalRecord(e,r){return hqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?cqe:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new Vn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function hqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Ws({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Vs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new Vn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function hqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Hs({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new qs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class dqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function fqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Fze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=$ze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=Cze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=x$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;fqe(kx,[Uze,Yze,iqe,aqe,oqe,sqe,lqe,uqe,dqe]);class pqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,gqe=2,nse=4,ise=5,_x=7,mqe=8,yqe=9,vqe=10,bqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function xqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Tqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function _qe(t,e,r){const n=ua(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return Aqe(t,e,r,i)}function G0(t,e,r){const n=Xl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Rqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:bqe});Ad(t,o);const l=ua(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Fi(s,o),i===void 0?(Fi(o,a),Fi(o,l)):(Fi(o,l),Fi(o,i.left),Fi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:vqe});Ad(t,o);const l=ua(t,e,r,{type:ase}),u=ua(t,e,r,{type:yqe});return o.loopback=u,l.loopback=u,Fi(o,a),Fi(o,l),Fi(s,u),i!==void 0?(Fi(u,l),Fi(u,i.left),Fi(i.right,a)):Fi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Aqe(t,e,r,n){const i=n.left,a=n.right;return Fi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ua(t,e,n,{type:mqe,start:r});r.end=a;for(const o of i)o!==void 0?(Fi(r,o.left),Fi(o.right,a)):Fi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,Lqe(n),n.idx)]=r,s}function Lqe(t){if(t instanceof Ws)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof yi)return"Repetition";if(t instanceof Hs)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Rqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Oqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=xqe(e.rules),this.dfas=Bqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Bqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${qqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;fqe(kx,[Uze,Yze,iqe,aqe,oqe,sqe,lqe,uqe,dqe]);class pqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,gqe=2,nse=4,ise=5,_x=7,mqe=8,yqe=9,vqe=10,bqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function xqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Tqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function _qe(t,e,r){const n=ua(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return Aqe(t,e,r,i)}function G0(t,e,r){const n=Xl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Rqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:bqe});Ad(t,o);const l=ua(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Fi(s,o),i===void 0?(Fi(o,a),Fi(o,l)):(Fi(o,l),Fi(o,i.left),Fi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:vqe});Ad(t,o);const l=ua(t,e,r,{type:ase}),u=ua(t,e,r,{type:yqe});return o.loopback=u,l.loopback=u,Fi(o,a),Fi(o,l),Fi(s,u),i!==void 0?(Fi(u,l),Fi(u,i.left),Fi(i.right,a)):Fi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Aqe(t,e,r,n){const i=n.left,a=n.right;return Fi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ua(t,e,n,{type:mqe,start:r});r.end=a;for(const o of i)o!==void 0?(Fi(r,o.left),Fi(o.right,a)):Fi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,Lqe(n),n.idx)]=r,s}function Lqe(t){if(t instanceof Hs)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof yi)return"Repetition";if(t instanceof Us)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Rqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Oqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=xqe(e.rules),this.dfas=Bqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Bqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${qqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function qqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Ws)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Hs)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}function Vqe(t,e,r){const n=P8e(e.configs.elements,a=>a.state.transitions),i=oLe(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Gqe(t,e){return t.edges[e.tokenTypeIdx]}function Uqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Xqe(a))for(const s of i)a.add(s);return a}function Hqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Wqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Yqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function eVe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var jw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(jw||(jw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class tVe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var Xw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Xw||(Xw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&Xw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||jw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var jR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(jR||(jR={}));var XR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(XR||(XR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const rVe=[` +For Further details.`,n}function qqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}function Vqe(t,e,r){const n=P8e(e.configs.elements,a=>a.state.transitions),i=oLe(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Gqe(t,e){return t.edges[e.tokenTypeIdx]}function Uqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Xqe(a))for(const s of i)a.add(s);return a}function Hqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Wqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Yqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function eVe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var jw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(jw||(jw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class tVe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var Xw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Xw||(Xw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&Xw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||jw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var jR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(jR||(jR={}));var XR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(XR||(XR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const rVe=[` `,`\r `,"\r"];var r9;(function(t){function e(a,s,o,l){return new nVe(a,s,o,l)}t.create=e;function r(a){let s=a;return!!(ht.defined(s)&&ht.string(s.uri)&&(ht.undefined(s.languageId)||ht.string(s.languageId))&&ht.uinteger(s.lineCount)&&ht.func(s.getText)&&ht.func(s.positionAt)&&ht.func(s.offsetAt))}t.is=r;function n(a,s){let o=a.getText(),l=i(s,(h,d)=>{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const iVe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:rVe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return jR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return Xw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return XR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:tVe,get WorkspaceEdit(){return jw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class aVe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new uVe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class sVe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new aVe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Xu(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(fFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class oVe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends oVe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class lVe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const cVe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends pqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...cVe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Iqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class uVe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return hVe({parser:e,tokens:r,ruleNames:new Map},t),e}function hVe(t,e){const r=vae(e,!1),n=ii(e.rules).filter(Xu).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ii(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,dVe(t,a))}function dVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=bVe(t,e);else if(OS(e))n=fVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=pVe(t,e);else if(hae(e))n=mVe(t,e);else if(fae(e))n=yVe(t,e);else if(BM(e))n=vVe(t,e);else if(bFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function fVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function pVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=Xu(r)&&r.fragment,a=e.arguments.length>0?gVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function gVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(yFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(wFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(CFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(gFe(t)){const e=!!t.true;return()=>e}wx()}function mVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function yVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function vVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&Xu(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function bVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=xVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function xVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Xu(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function TVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new lVe(t);return xse(e,n,r.definition),n.finalize(),n}function wVe(t){const e=CVe(t);return e.finalize(),e}function CVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new sVe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ii(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?$s.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&YFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=ZFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(i$e(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;d0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const iVe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:rVe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return jR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return Xw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return XR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:tVe,get WorkspaceEdit(){return jw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class aVe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new uVe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class sVe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new aVe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Xu(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(fFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class oVe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends oVe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class lVe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const cVe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends pqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...cVe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Iqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class uVe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return hVe({parser:e,tokens:r,ruleNames:new Map},t),e}function hVe(t,e){const r=vae(e,!1),n=ii(e.rules).filter(Xu).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ii(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,dVe(t,a))}function dVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=bVe(t,e);else if(OS(e))n=fVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=pVe(t,e);else if(hae(e))n=mVe(t,e);else if(fae(e))n=yVe(t,e);else if(BM(e))n=vVe(t,e);else if(bFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function fVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function pVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=Xu(r)&&r.fragment,a=e.arguments.length>0?gVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function gVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(yFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(wFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(CFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(gFe(t)){const e=!!t.true;return()=>e}wx()}function mVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function yVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function vVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&Xu(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function bVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=xVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function xVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Xu(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function TVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new lVe(t);return xse(e,n,r.definition),n.finalize(),n}function wVe(t){const e=CVe(t);return e.finalize(),e}function CVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new sVe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ii(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?Fs.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&YFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=ZFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(i$e(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return ba.stringArray=s,ba}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var si=HS();function SVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let X3=0,EVe=10;function kVe(){return X3=performance.now(),new si.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function ss(t){if(t===si.CancellationToken.None)return;const e=performance.now();if(e-X3>=EVe&&(X3=e,await SVe(),X3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(_Ve),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function _Ve(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var j=M.lastIndexOf("/");if(j!==M.length-1){j===-1?(M="",V=0):V=(M=M.slice(0,j)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?j=Z:Z===0&&(j=0));break}var X=I.charCodeAt(B+Z);if(X!==N.charCodeAt(U+Z))break;X===47&&(j=Z)}var ee="";for(Z=B+j+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+j):(U+=j,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var j=I.charCodeAt(B);if(j===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(j===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,j=!0,Z=I.length-1,X=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(j=!1,H=Z+1),M===46?U===-1?U=Z:X!==1&&(X=1):U!==-1&&(X=-1);else if(!j){P=Z+1;break}return U===-1||H===-1||X===0||X===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,A(D[4]||u),A(D[5]||u),A(D[7]||u),A(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function A($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const R=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:R.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=R.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=R.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return R.basename(q.path)},$.extname=function(q){return R.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class LVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=si.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class RVe{constructor(e){this.documentTrie=new AVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ii(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class DVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=si.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await ss(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await ss(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qa(this._ref))return this._ref;if(hFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=r$e(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||MFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ii(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ii(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ii(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ii(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ii(this.map.keys())}values(){return ii(this.map.values()).flat()}entriesGroupedByKey(){return ii(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class IVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=si.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=si.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=si.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class BVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ii(n).concat(this.outerScope.getElements(e)):ii(n)}getAllElements(){let e=ii(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class PVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class FVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class $Ve extends PVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class zVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new $Ve(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ii(e),r,n)}createScopeForNodes(e,r,n){const i=ii(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new BVe(this.indexManager.allElements(e)))}}function qVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class VVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(qa(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=JFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ii(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const HVe=Object.freeze({validateNode:!0,validateChildren:!0});class WVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=si.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:jVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=si.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=si.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return HVe}async validateAstAfter(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:YVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function YVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=e$e(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function jVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class XVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class KVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=si.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await ss(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class ZVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var QVe=sy();class JVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new QVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class A extends i{constructor(z){super(z,5)}}ur.NotificationType5=A;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class R extends i{constructor(z){super(z,7)}}ur.NotificationType7=R;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function eGe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function tGe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function rGe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. ${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function nGe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r `;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function iGe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r @@ -1343,7 +1343,7 @@ ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){ `:Ce.error===void 0&&(st=`No result returned. -`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(je())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!je())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,X.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?X.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,j.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?j.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=eGe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=tGe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=rGe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=nGe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=iGe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=aGe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function sGe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,sGe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(iVe);var Ja={},WH;function di(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Si={},YH;function tO(){if(YH)return Si;YH=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.objectLiteral=Si.typedArray=Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function t(u){return u===!0||u===!1}Si.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Si.string=e;function r(u){return typeof u=="number"||u instanceof Number}Si.number=r;function n(u){return u instanceof Error}Si.error=n;function i(u){return typeof u=="function"}Si.func=i;function a(u){return Array.isArray(u)}Si.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Si.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Si.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Si.objectLiteral=l,Si}var Ov={},jH;function oGe(){if(jH)return Ov;jH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},XH;function lGe(){if(XH)return Iv;XH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function cGe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=di();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function uGe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=di();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function hGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function dGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function fGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function pGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function gGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=di();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var jc={},nW;function mGe(){if(nW)return jc;nW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.CallHierarchyOutgoingCallsRequest=jc.CallHierarchyIncomingCallsRequest=jc.CallHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(jc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(jc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.CallHierarchyOutgoingCallsRequest=n={})),jc}var es={},iW;function yGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=di();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function vGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=di();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function bGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var xa={},oW;function xGe(){if(oW)return xa;oW=1,Object.defineProperty(xa,"__esModule",{value:!0}),xa.WillDeleteFilesRequest=xa.DidDeleteFilesNotification=xa.DidRenameFilesNotification=xa.WillRenameFilesRequest=xa.DidCreateFilesNotification=xa.WillCreateFilesRequest=xa.FileOperationPatternKind=void 0;const t=di();var e;(function(l){l.file="file",l.folder="folder"})(e||(xa.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(xa.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(xa.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(xa.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(xa.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(xa.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(xa.WillDeleteFilesRequest=o={})),xa}var Xc={},lW;function TGe(){if(lW)return Xc;lW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.MonikerRequest=Xc.MonikerKind=Xc.UniquenessLevel=void 0;const t=di();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Xc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(Xc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.MonikerRequest=n={})),Xc}var Kc={},cW;function wGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function CGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function SGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function EGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=di();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ti={},fW;function kGe(){if(fW)return ti;fW=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.DidCloseNotebookDocumentNotification=ti.DidSaveNotebookDocumentNotification=ti.DidChangeNotebookDocumentNotification=ti.NotebookCellArrayChange=ti.DidOpenNotebookDocumentNotification=ti.NotebookDocumentSyncRegistrationType=ti.NotebookDocument=ti.NotebookCell=ti.ExecutionSummary=ti.NotebookCellKind=void 0;const t=eO,e=tO(),r=di();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ti.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ti.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let A=0;A0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var j;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(j||(t.InitializedNotification=j={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var X;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(X||(t.ExitNotification=X={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var je;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(je||(t.CompletionRequest=je={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function LGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function RGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(di(),t),r(AGe(),t);var n=LGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function DGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(RGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=DGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class NGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=si.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=si.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ii(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ii(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=si.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ii(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class MGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new FVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ii(i)}allElements(e,r){let n=ii(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class OGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=si.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ii(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class IGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return XL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return XL.buildUnableToPopLexerModeMessage(e)}}const BGe={mode:"full"};class PGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new $s(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=BGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function FGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!FGe(t)&&!Nse(t)}function $Ge(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=VGe({lines:a,position:i,options:s});return YGe({index:0,tokens:o,position:i})}function zGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(VFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,qGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function VGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function GGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const UGe=/\S/,HGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(UGe);return r?e+r.index:t.length}function WGe(t){const e=t.match(HGe);if(e&&typeof e.index=="number")return e.index}function YGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(je())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!je())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,X.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?X.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,j.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?j.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=eGe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=tGe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=rGe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=nGe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=iGe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=aGe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function sGe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,sGe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(iVe);var Ja={},WH;function di(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Si={},YH;function tO(){if(YH)return Si;YH=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.objectLiteral=Si.typedArray=Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function t(u){return u===!0||u===!1}Si.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Si.string=e;function r(u){return typeof u=="number"||u instanceof Number}Si.number=r;function n(u){return u instanceof Error}Si.error=n;function i(u){return typeof u=="function"}Si.func=i;function a(u){return Array.isArray(u)}Si.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Si.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Si.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Si.objectLiteral=l,Si}var Ov={},jH;function oGe(){if(jH)return Ov;jH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},XH;function lGe(){if(XH)return Iv;XH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function cGe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=di();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function uGe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=di();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function hGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function dGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function fGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function pGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function gGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=di();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var jc={},nW;function mGe(){if(nW)return jc;nW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.CallHierarchyOutgoingCallsRequest=jc.CallHierarchyIncomingCallsRequest=jc.CallHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(jc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(jc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.CallHierarchyOutgoingCallsRequest=n={})),jc}var es={},iW;function yGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=di();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function vGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=di();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function bGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var xa={},oW;function xGe(){if(oW)return xa;oW=1,Object.defineProperty(xa,"__esModule",{value:!0}),xa.WillDeleteFilesRequest=xa.DidDeleteFilesNotification=xa.DidRenameFilesNotification=xa.WillRenameFilesRequest=xa.DidCreateFilesNotification=xa.WillCreateFilesRequest=xa.FileOperationPatternKind=void 0;const t=di();var e;(function(l){l.file="file",l.folder="folder"})(e||(xa.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(xa.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(xa.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(xa.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(xa.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(xa.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(xa.WillDeleteFilesRequest=o={})),xa}var Xc={},lW;function TGe(){if(lW)return Xc;lW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.MonikerRequest=Xc.MonikerKind=Xc.UniquenessLevel=void 0;const t=di();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Xc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(Xc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.MonikerRequest=n={})),Xc}var Kc={},cW;function wGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function CGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function SGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function EGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=di();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ti={},fW;function kGe(){if(fW)return ti;fW=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.DidCloseNotebookDocumentNotification=ti.DidSaveNotebookDocumentNotification=ti.DidChangeNotebookDocumentNotification=ti.NotebookCellArrayChange=ti.DidOpenNotebookDocumentNotification=ti.NotebookDocumentSyncRegistrationType=ti.NotebookDocument=ti.NotebookCell=ti.ExecutionSummary=ti.NotebookCellKind=void 0;const t=eO,e=tO(),r=di();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ti.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ti.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let A=0;A0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var j;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(j||(t.InitializedNotification=j={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var X;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(X||(t.ExitNotification=X={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var je;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(je||(t.CompletionRequest=je={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function LGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function RGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(di(),t),r(AGe(),t);var n=LGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function DGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(RGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=DGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class NGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=si.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=si.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ii(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ii(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=si.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ii(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class MGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new FVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ii(i)}allElements(e,r){let n=ii(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class OGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=si.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ii(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class IGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return XL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return XL.buildUnableToPopLexerModeMessage(e)}}const BGe={mode:"full"};class PGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Fs(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=BGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function FGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!FGe(t)&&!Nse(t)}function $Ge(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=VGe({lines:a,position:i,options:s});return YGe({index:0,tokens:o,position:i})}function zGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(VFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,qGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function VGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function GGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const UGe=/\S/,HGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(UGe);return r?e+r.index:t.length}function WGe(t){const e=t.match(HGe);if(e&&typeof e.index=="number")return e.index}function YGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=ZGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} ${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??QGe(e,i)}}function QGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` @@ -1354,7 +1354,7 @@ ${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="link `}class JGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&zGe(r))return $Ge(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class eUe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return qVe(e)?e.$comment:PFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class tUe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class rUe{constructor(){this.previousTokenSource=new si.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=kVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=si.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class nUe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else qa(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else qa(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))pFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new eUe(e),DocumentationProvider:e=>new JGe(e)},parser:{AsyncParser:e=>new tUe(e),GrammarConfig:e=>u$e(e),LangiumParser:e=>wVe(e),CompletionParser:e=>TVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new PGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new IGe},workspace:{AstNodeLocator:()=>new ZVe,AstNodeDescriptionProvider:e=>new XVe(e),ReferenceDescriptionProvider:e=>new KVe(e)},references:{Linker:e=>new DVe(e),NameProvider:()=>new MVe,ScopeProvider:e=>new zVe(e),ScopeComputation:e=>new IVe(e),References:e=>new OVe(e)},serializer:{Hydrator:e=>new nUe(e),JsonSerializer:e=>new VVe(e)},validation:{DocumentValidator:e=>new WVe(e),ValidationRegistry:e=>new UVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new GVe(e),workspace:{LangiumDocuments:e=>new RVe(e),LangiumDocumentFactory:e=>new LVe(e),DocumentBuilder:e=>new NGe(e),IndexManager:e=>new MGe(e),WorkspaceManager:e=>new OGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new rUe,ConfigurationProvider:e=>new JVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Gi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const iUe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===iUe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class aUe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new aUe},sUe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},oUe={AstReflection:()=>new pae};function lUe(){const t=Gi(bc(xc),oUe),e=Gi(vc({shared:t}),sUe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=lUe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var cUe=Object.defineProperty,Ft=(t,e)=>cUe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function uUe(t){return Yo.isInstance(t,nu.$type)}Ft(uUe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function hUe(t){return Yo.isInstance(t,K3.$type)}Ft(hUe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function dUe(t){return Yo.isInstance(t,ug.$type)}Ft(dUe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function fUe(t){return Yo.isInstance(t,Df.$type)}Ft(fUe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function pUe(t){return Yo.isInstance(t,y2.$type)}Ft(pUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function gUe(t){return Yo.isInstance(t,hg.$type)}Ft(gUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function mUe(t){return Yo.isInstance(t,dg.$type)}Ft(mUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function yUe(t){return Yo.isInstance(t,fg.$type)}Ft(yUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function vUe(t){return Yo.isInstance(t,Nf.$type)}Ft(vUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function bUe(t){return Yo.isInstance(t,Z3.$type)}Ft(bUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},jT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function xUe(t){return Yo.isInstance(t,pg.$type)}Ft(xUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},wa={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function TUe(t){return Yo.isInstance(t,wa.$type)}Ft(TUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:jT.$type,properties:{evolution:{name:jT.evolution},label:{name:jT.label},name:{name:jT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:wa.$type,properties:{accDescr:{name:wa.accDescr},accelerators:{name:wa.accelerators,defaultValue:[]},accTitle:{name:wa.accTitle},anchors:{name:wa.anchors,defaultValue:[]},annotation:{name:wa.annotation,defaultValue:[]},annotations:{name:wa.annotations,defaultValue:[]},components:{name:wa.components,defaultValue:[]},deaccelerators:{name:wa.deaccelerators,defaultValue:[]},evolution:{name:wa.evolution},evolves:{name:wa.evolves,defaultValue:[]},links:{name:wa.links,defaultValue:[]},notes:{name:wa.notes,defaultValue:[]},pipelines:{name:wa.pipelines,defaultValue:[]},size:{name:wa.size},title:{name:wa.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,wUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,CUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,SUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,EUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,kUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,_Ue=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,AUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,LUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,RUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),DUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},NUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},OUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},IUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},BUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},FUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$Ue={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},zUe={Grammar:Ft(()=>wUe(),"Grammar"),LanguageMetaData:Ft(()=>DUe,"LanguageMetaData"),parser:{}},qUe={Grammar:Ft(()=>CUe(),"Grammar"),LanguageMetaData:Ft(()=>NUe,"LanguageMetaData"),parser:{}},VUe={Grammar:Ft(()=>SUe(),"Grammar"),LanguageMetaData:Ft(()=>MUe,"LanguageMetaData"),parser:{}},GUe={Grammar:Ft(()=>EUe(),"Grammar"),LanguageMetaData:Ft(()=>OUe,"LanguageMetaData"),parser:{}},UUe={Grammar:Ft(()=>kUe(),"Grammar"),LanguageMetaData:Ft(()=>IUe,"LanguageMetaData"),parser:{}},HUe={Grammar:Ft(()=>_Ue(),"Grammar"),LanguageMetaData:Ft(()=>BUe,"LanguageMetaData"),parser:{}},WUe={Grammar:Ft(()=>AUe(),"Grammar"),LanguageMetaData:Ft(()=>PUe,"LanguageMetaData"),parser:{}},YUe={Grammar:Ft(()=>LUe(),"Grammar"),LanguageMetaData:Ft(()=>FUe,"LanguageMetaData"),parser:{}},jUe={Grammar:Ft(()=>RUe(),"Grammar"),LanguageMetaData:Ft(()=>$Ue,"LanguageMetaData"),parser:{}},XUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,KUe=/accTitle[\t ]*:([^\n\r]*)/,ZUe=/title([\t ][^\n\r]*|)/,QUe={ACC_DESCR:XUe,ACC_TITLE:KUe,TITLE:ZUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=QUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` `)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,JUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),eHe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,tHe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=eHe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,rHe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new tHe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new rHe,"TreemapValidator")}};function Vse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),WUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,nHe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new nHe,"ValueConverter")}};function Use(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),jUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,iHe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new iHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),qUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,aHe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new aHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function jse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),VUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(jse,"createInfoServices");var w1,sHe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),Xse={parser:{TokenBuilder:Ft(()=>new sHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),GUe,Xse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,oHe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,lHe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new oHe,"TokenBuilder"),ValueConverter:Ft(()=>new lHe,"ValueConverter")}};function Qse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),UUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,cHe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,uHe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new uHe,"TokenBuilder"),ValueConverter:Ft(()=>new cHe,"ValueConverter")}};function eoe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),YUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,hHe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,dHe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new hHe,"TokenBuilder"),ValueConverter:Ft(()=>new dHe,"ValueConverter")}};function roe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),zUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,fHe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new fHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),HUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},pHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>hnt);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>dnt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>fnt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>pnt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>gnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>mnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>ynt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>vnt);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>bnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=pHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new gHe(i);return i.value}Ft(Tc,"parse");var R1,gHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(` -`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),_n={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},mHe=Vr.gitGraph,H0=S(()=>ea({...mHe,...gr().gitGraph}),"getConfig"),Kt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function jS(){return qZ({length:7})}S(jS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var yHe=S(function(t){Kt.records.direction=t},"setDirection"),vHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{Kt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),bHe=S(function(){return Kt.records.options},"getOptions"),xHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||Kt.records.seq+"-"+jS(),message:e,seq:Kt.records.seq++,type:n??_n.NORMAL,tags:i??[],parents:Kt.records.head==null?[]:[Kt.records.head.id],branch:Kt.records.currBranch};Kt.records.head=s,oe.info("main branch",a.mainBranchName),Kt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),Kt.records.commits.set(s.id,s),Kt.records.branches.set(Kt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),THe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),Kt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Kt.records.branches.set(e,Kt.records.head!=null?Kt.records.head.id:null),Kt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),wHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=Kt.records.branches.get(Kt.records.currBranch),o=Kt.records.branches.get(e),l=s?Kt.records.commits.get(s):void 0,u=o?Kt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Kt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${Kt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!Kt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&Kt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${Kt.records.seq}-${jS()}`,message:`merged branch ${e} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,h],branch:Kt.records.currBranch,type:_n.MERGE,customType:n,customId:!!r,tags:i??[]};Kt.records.head=d,Kt.records.commits.set(d.id,d),Kt.records.branches.set(Kt.records.currBranch,d.id),oe.debug(Kt.records.branches),oe.debug("in mergeBranch")},"merge"),CHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!Kt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=Kt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===_n.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Kt.records.commits.has(r)){if(o===Kt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=Kt.records.branches.get(Kt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=Kt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:Kt.records.seq+"-"+jS(),message:`cherry-picked ${s?.message} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,s.id],branch:Kt.records.currBranch,type:_n.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===_n.MERGE?`|parent:${i}`:""}`]};Kt.records.head=h,Kt.records.commits.set(h.id,h),Kt.records.branches.set(Kt.records.currBranch,h.id),oe.debug(Kt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),Kt.records.branches.has(t)){Kt.records.currBranch=t;const e=Kt.records.branches.get(Kt.records.currBranch);e===void 0||!e?Kt.records.head=null:Kt.records.head=Kt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in Kt.records.branches)Kt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(Kt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var SHe=S(function(){oe.debug(Kt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),EHe=S(function(){Kt.reset(),Kn()},"clear"),kHe=S(function(){return[...Kt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),_He=S(function(){return Kt.records.branches},"getBranches"),AHe=S(function(){return Kt.records.commits},"getCommits"),ooe=S(function(){const t=[...Kt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),LHe=S(function(){return Kt.records.currBranch},"getCurrentBranch"),RHe=S(function(){return Kt.records.direction},"getDirection"),DHe=S(function(){return Kt.records.head},"getHead"),loe={commitType:_n,getConfig:H0,setDirection:yHe,setOptions:vHe,getOptions:bHe,commit:xHe,branch:THe,merge:wHe,cherryPick:CHe,checkout:soe,prettyPrint:SHe,clear:EHe,getBranchesAsObjArray:kHe,getBranches:_He,getCommits:AHe,getCommitsArray:ooe,getCurrentBranch:LHe,getDirection:RHe,getHead:DHe,setAccTitle:Xn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,setDiagramTitle:li,getDiagramTitle:Zn},NHe=S((t,e)=>{ju(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)MHe(r,e)},"populate"),MHe=S((t,e)=>{const n={Commit:S(i=>e.commit(OHe(i)),"Commit"),Branch:S(i=>e.branch(IHe(i)),"Branch"),Merge:S(i=>e.merge(BHe(i)),"Merge"),Checkout:S(i=>e.checkout(PHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(FHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),OHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?_n[t.type]:_n.NORMAL,tags:t.tags??void 0}),"parseCommit"),IHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),BHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?_n[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),PHe=S(t=>t.branch,"parseCheckout"),FHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),$He={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),NHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,XS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),zHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Bs=new Map,zs=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",qHe=S(()=>{Bs.clear(),zs.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?zs.get(i)?.y:zs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),VHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=zs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),GHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=HHe(o),i=Math.max(n,i)):a.push(o),WHe(o,n)}),n=i,a.forEach(s=>{YHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=VHe(o.parents);n=zs.get(l).y-Wh,n<=i&&(i=n);const u=Bs.get(o.branch).pos,h=n-Hh;zs.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),UHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=zs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),HHe=S(t=>UHe(t)+Wh,"calculateCommitPosition"),WHe=S((t,e)=>{const r=Bs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return zs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),YHe=S((t,e,r)=>{const n=Bs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;zs.set(t.id,{x:a,y:i})},"setRootPosition"),jHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=XS.has(s??""),l=iO.has(s??""),u=zHe.has(s??"");if(a===_n.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===_n.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===_n.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===_n.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),XHe=S((t,e,r,n,i)=>{if(e.type!==_n.CHERRY_PICK&&(e.customId&&e.type===_n.MERGE||e.type!==_n.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),KHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` +`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),_n={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},mHe=Vr.gitGraph,H0=S(()=>ea({...mHe,...gr().gitGraph}),"getConfig"),Kt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function jS(){return qZ({length:7})}S(jS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var yHe=S(function(t){Kt.records.direction=t},"setDirection"),vHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{Kt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),bHe=S(function(){return Kt.records.options},"getOptions"),xHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||Kt.records.seq+"-"+jS(),message:e,seq:Kt.records.seq++,type:n??_n.NORMAL,tags:i??[],parents:Kt.records.head==null?[]:[Kt.records.head.id],branch:Kt.records.currBranch};Kt.records.head=s,oe.info("main branch",a.mainBranchName),Kt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),Kt.records.commits.set(s.id,s),Kt.records.branches.set(Kt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),THe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),Kt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Kt.records.branches.set(e,Kt.records.head!=null?Kt.records.head.id:null),Kt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),wHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=Kt.records.branches.get(Kt.records.currBranch),o=Kt.records.branches.get(e),l=s?Kt.records.commits.get(s):void 0,u=o?Kt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Kt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${Kt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!Kt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&Kt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${Kt.records.seq}-${jS()}`,message:`merged branch ${e} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,h],branch:Kt.records.currBranch,type:_n.MERGE,customType:n,customId:!!r,tags:i??[]};Kt.records.head=d,Kt.records.commits.set(d.id,d),Kt.records.branches.set(Kt.records.currBranch,d.id),oe.debug(Kt.records.branches),oe.debug("in mergeBranch")},"merge"),CHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!Kt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=Kt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===_n.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Kt.records.commits.has(r)){if(o===Kt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=Kt.records.branches.get(Kt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=Kt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:Kt.records.seq+"-"+jS(),message:`cherry-picked ${s?.message} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,s.id],branch:Kt.records.currBranch,type:_n.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===_n.MERGE?`|parent:${i}`:""}`]};Kt.records.head=h,Kt.records.commits.set(h.id,h),Kt.records.branches.set(Kt.records.currBranch,h.id),oe.debug(Kt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),Kt.records.branches.has(t)){Kt.records.currBranch=t;const e=Kt.records.branches.get(Kt.records.currBranch);e===void 0||!e?Kt.records.head=null:Kt.records.head=Kt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in Kt.records.branches)Kt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(Kt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var SHe=S(function(){oe.debug(Kt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),EHe=S(function(){Kt.reset(),Kn()},"clear"),kHe=S(function(){return[...Kt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),_He=S(function(){return Kt.records.branches},"getBranches"),AHe=S(function(){return Kt.records.commits},"getCommits"),ooe=S(function(){const t=[...Kt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),LHe=S(function(){return Kt.records.currBranch},"getCurrentBranch"),RHe=S(function(){return Kt.records.direction},"getDirection"),DHe=S(function(){return Kt.records.head},"getHead"),loe={commitType:_n,getConfig:H0,setDirection:yHe,setOptions:vHe,getOptions:bHe,commit:xHe,branch:THe,merge:wHe,cherryPick:CHe,checkout:soe,prettyPrint:SHe,clear:EHe,getBranchesAsObjArray:kHe,getBranches:_He,getCommits:AHe,getCommitsArray:ooe,getCurrentBranch:LHe,getDirection:RHe,getHead:DHe,setAccTitle:Xn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,setDiagramTitle:li,getDiagramTitle:Zn},NHe=S((t,e)=>{ju(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)MHe(r,e)},"populate"),MHe=S((t,e)=>{const n={Commit:S(i=>e.commit(OHe(i)),"Commit"),Branch:S(i=>e.branch(IHe(i)),"Branch"),Merge:S(i=>e.merge(BHe(i)),"Merge"),Checkout:S(i=>e.checkout(PHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(FHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),OHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?_n[t.type]:_n.NORMAL,tags:t.tags??void 0}),"parseCommit"),IHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),BHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?_n[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),PHe=S(t=>t.branch,"parseCheckout"),FHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),$He={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),NHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,XS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),zHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Is=new Map,$s=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",qHe=S(()=>{Is.clear(),$s.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?$s.get(i)?.y:$s.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),VHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=$s.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),GHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=HHe(o),i=Math.max(n,i)):a.push(o),WHe(o,n)}),n=i,a.forEach(s=>{YHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=VHe(o.parents);n=$s.get(l).y-Wh,n<=i&&(i=n);const u=Is.get(o.branch).pos,h=n-Hh;$s.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),UHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=$s.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),HHe=S(t=>UHe(t)+Wh,"calculateCommitPosition"),WHe=S((t,e)=>{const r=Is.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return $s.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),YHe=S((t,e,r)=>{const n=Is.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;$s.set(t.id,{x:a,y:i})},"setRootPosition"),jHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=XS.has(s??""),l=iO.has(s??""),u=zHe.has(s??"");if(a===_n.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===_n.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===_n.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===_n.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),XHe=S((t,e,r,n,i)=>{if(e.type!==_n.CHERRY_PICK&&(e.customId&&e.type===_n.MERGE||e.type!==_n.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),KHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` ${n-a/2-zl/2},${p+cu} ${n-a/2-zl/2},${p-cu} ${r.posWithOffset-a/2-zl},${p-f-cu} @@ -1366,7 +1366,7 @@ ${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="link ${r.x+Hh},${m-f-2} ${r.x+Hh+a+4},${m-f-2} ${r.x+Hh+a+4},${m+f+2} - ${r.x+Hh},${m+f+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("cx",r.x+zl/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),l.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),ZHe=S(t=>{switch(t.customType??t.type){case _n.NORMAL:return"commit-normal";case _n.REVERSE:return"commit-reverse";case _n.HIGHLIGHT:return"commit-highlight";case _n.MERGE:return"commit-merge";case _n.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),QHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),JHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Bs.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Bs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=XS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&GHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=QHe(f,Gr,s,zs));const p=JHe(f,s,l);if(r){const m=ZHe(f),v=f.customType??f.type,b=Bs.get(f.branch)?.index??0;jHe(i,f,p,m,b,v),XHe(a,f,p,s,n),KHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?zs.set(f.id,{x:p.x,y:p.posWithOffset}):zs.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),eWe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),tWe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=zs.get(e.id),o=zs.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=eWe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Bs.get(r.branch)?.index;r.type===_n.MERGE&&e.id!==r.parents[0]&&(p=Bs.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),rWe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{tWe(r,e.get(a),i,e)})})},"drawArrows"),nWe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=XS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Bs.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),A=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);A.node().appendChild(T);const k=T.getBBox(),R=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",R).attr("ry",R).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),A.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),A.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),A.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),iWe=S(function(t,e,r,n,i){return Bs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),aWe=S(function(t,e,r,n){qHe(),oe.debug("in gitgraph renderer",t+` + ${r.x+Hh},${m+f+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("cx",r.x+zl/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),l.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),ZHe=S(t=>{switch(t.customType??t.type){case _n.NORMAL:return"commit-normal";case _n.REVERSE:return"commit-reverse";case _n.HIGHLIGHT:return"commit-highlight";case _n.MERGE:return"commit-merge";case _n.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),QHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),JHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Is.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Is.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=XS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&GHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=QHe(f,Gr,s,$s));const p=JHe(f,s,l);if(r){const m=ZHe(f),v=f.customType??f.type,b=Is.get(f.branch)?.index??0;jHe(i,f,p,m,b,v),XHe(a,f,p,s,n),KHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?$s.set(f.id,{x:p.x,y:p.posWithOffset}):$s.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),eWe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),tWe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=$s.get(e.id),o=$s.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=eWe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Is.get(r.branch)?.index;r.type===_n.MERGE&&e.id!==r.parents[0]&&(p=Is.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),rWe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{tWe(r,e.get(a),i,e)})})},"drawArrows"),nWe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=XS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Is.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),A=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);A.node().appendChild(T);const k=T.getBBox(),R=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",R).attr("ry",R).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),A.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),A.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),A.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),iWe=S(function(t,e,r,n,i){return Is.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),aWe=S(function(t,e,r,n){qHe(),oe.debug("in gitgraph renderer",t+` `,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&XS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),A=_.insert("g").attr("class","label branch-label");A.node()?.appendChild(T);const k=T.getBBox();b=iWe(x.name,b,C,k,s),A.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&nWe(l,o,a,e),rWe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gj(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),sWe={draw:aWe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),oWe=new Set(["redux-color","redux-dark-color"]),lWe=new Set(["neo","neo-dark"]),cWe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),uWe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),hWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(lWe.has(r)){let s="";for(let o=0;o{const e=await Tc("info",t);oe.debug(e)},"parse")},_Ye={version:"11.14.0"},AYe=S(()=>_Ye.version,"getVersion"),LYe={getVersion:AYe},RYe=S((t,e,r)=>{oe.debug(`rendering info diagram -`+t);const n=Gs(e);Ui(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),DYe={draw:RYe},NYe={parser:kYe,db:LYe,renderer:DYe};const MYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NYe},Symbol.toStringTag,{value:"Module"}));var OYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,IYe=structuredClone(OYe),BYe=S(()=>structuredClone(IYe),"getConfig"),PYe=S(()=>{nC=new Map,mO=gO.showData,Kn()},"clear"),FYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),$Ye=S(()=>nC,"getSections"),zYe=S(t=>{mO=t},"setShowData"),qYe=S(()=>mO,"getShowData"),Toe={getConfig:BYe,clear:PYe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:Xn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:FYe,getSections:$Ye,setShowData:zYe,getShowData:qYe},VYe=S((t,e)=>{ju(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),GYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),VYe(e,Toe)},"parse")},UYe=S(t=>` +`+t);const n=Vs(e);Ui(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),DYe={draw:RYe},NYe={parser:kYe,db:LYe,renderer:DYe};const MYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NYe},Symbol.toStringTag,{value:"Module"}));var OYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,IYe=structuredClone(OYe),BYe=S(()=>structuredClone(IYe),"getConfig"),PYe=S(()=>{nC=new Map,mO=gO.showData,Kn()},"clear"),FYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),$Ye=S(()=>nC,"getSections"),zYe=S(t=>{mO=t},"setShowData"),qYe=S(()=>mO,"getShowData"),Toe={getConfig:BYe,clear:PYe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:Xn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:FYe,getSections:$Ye,setShowData:zYe,getShowData:qYe},VYe=S((t,e)=>{ju(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),GYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),VYe(e,Toe)},"parse")},UYe=S(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1780,7 +1780,7 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro font-size: ${t.pieLegendTextSize}; } `,"getStyles"),HYe=UYe,WYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return rbe().value(i=>i.value).sort(null)(r)},"createPieArcs"),YYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart -`+t);const i=n.db,a=Pe(),s=ea(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Gs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=WYe(E),A=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const R=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=Xf(A).domain([...E.keys()]);p.selectAll("mySlices").data(R).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(R).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const j=l+u,Z=j*$.length/2,X=12*l,ee=H*j-Z;return"translate("+X+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Ui(f,h,U,s.useMaxWidth)},"draw"),jYe={draw:YYe},XYe={parser:GYe,db:Toe,renderer:jYe,styles:HYe};const KYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:XYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],A=[1,22],k=[1,24],R=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],j=[1,65],Z=[1,66],X=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],je=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(je,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(je,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: +`+t);const i=n.db,a=Pe(),s=ea(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Vs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=WYe(E),A=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const R=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=Xf(A).domain([...E.keys()]);p.selectAll("mySlices").data(R).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(R).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const j=l+u,Z=j*$.length/2,X=12*l,ee=H*j-Z;return"translate("+X+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Ui(f,h,U,s.useMaxWidth)},"draw"),jYe={draw:YYe},XYe={parser:GYe,db:Toe,renderer:jYe,styles:HYe};const KYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:XYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],A=[1,22],k=[1,24],R=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],j=[1,65],Z=[1,66],X=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],je=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(je,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(je,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: `+Qe.showPosition()+` Expecting `+It.join(", ")+", got '"+(this.terminals_[gt]||gt)+"'":Wt="Parse error on line "+(ze+1)+": Unexpected "+(gt==lt?"end of input":"'"+(this.terminals_[gt]||gt)+"'"),this.parseError(Wt,{text:Qe.match,token:this.terminals_[gt]||gt,line:Qe.yylineno,loc:At,expected:It})}if(Mt[0]instanceof Array&&Mt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+gt);switch(Mt[0]){case 1:fe.push(gt),Ee.push(Qe.yytext),Ie.push(Qe.yylloc),fe.push(Mt[1]),gt=null,et=Qe.yyleng,_e=Qe.yytext,ze=Qe.yylineno,At=Qe.yylloc;break;case 2:if(nt=this.productions_[Mt[1]][1],bt.$=Ee[Ee.length-nt],bt._$={first_line:Ie[Ie.length-(nt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(nt||1)].first_column,last_column:Ie[Ie.length-1].last_column},Et&&(bt._$.range=[Ie[Ie.length-(nt||1)].range[0],Ie[Ie.length-1].range[1]]),xt=this.performAction.apply(bt,[_e,et,ze,Se.yy,Mt[1],Ee,Ie].concat(ve)),typeof xt<"u")return xt;nt&&(fe=fe.slice(0,-1*nt*2),Ee=Ee.slice(0,-1*nt),Ie=Ie.slice(0,-1*nt)),fe.push(this.productions_[Mt[1]][0]),Ee.push(bt.$),Ie.push(bt._$),st=Ue[fe[fe.length-2]][fe[fe.length-1]],fe.push(st);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var be={EOF:1,parseError:S(function(de,fe){if(this.yy.parser)this.yy.parser.parseError(de,fe);else throw new Error(de)},"parseError"),setInput:S(function(Y,de){return this.yy=de||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var de=Y.match(/(?:\r\n?|\n).*/g);return de?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:S(function(Y){var de=Y.length,fe=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-de),this.offset-=de;var we=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var Ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===we.length?this.yylloc.first_column:0)+we[we.length-fe.length].length-fe[0].length:this.yylloc.first_column-de},this.options.ranges&&(this.yylloc.range=[Ee[0],Ee[0]+this.yyleng-de]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:S(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Y=this.pastInput(),de=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+` @@ -1792,7 +1792,7 @@ Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse erro `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(N){this.unput(this.match.slice(N))},"less"),pastInput:S(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var N=this.pastInput(),B=new Array(N.length+1).join("-");return N+this.upcomingInput()+` `+B+"^"},"showPosition"),test_match:S(function(N,B){var M,V,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),V=N[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],M=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var P in U)this[P]=U[P];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,B,M,V;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),P=0;PB[0].length)){if(B=M,V=P,this.options.backtrack_lexer){if(N=this.test_match(M,U[P]),N!==!1)return N;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(N=this.test_match(B,U[V]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var sje=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,oje=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,lje=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new oje(e,r,t.categories,t.title,i):new lje(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,cje=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new cje(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,uje=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,hje=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,dje=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new uje(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new hje(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new dje(t,e,r)}S(zoe,"getPlotComponent");var q1,fje=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,pje=(V1=class{static build(e,r,n,i){return new fje(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return ea(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return ea(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function joe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(joe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||joe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function Xoe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(Xoe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Zn(),pje.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var gje=S(function(){Kn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),mje={getDrawableElem:Zoe,clear:gje,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:Xoe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},yje=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart -`+t);const d=Gs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Ui(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-A};S(E,"fitsHorizontally");const _=.7,A=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),R=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...R)),F=S($=>T?$.data.x+$.data.width+A:$.data.x+$.data.width-A,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,A=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=A.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),R=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(A).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${R}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),vje={draw:yje},bje={parser:sje,db:mje,renderer:vje};const xje=Object.freeze(Object.defineProperty({__proto__:null,diagram:bje},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],A=[1,39],k=[1,40],R=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],j=[1,85],Z=[1,86],X=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),{30:60,33:62,75:O,89:A,90:k},{30:63,33:62,75:O,89:A,90:k},{30:64,33:62,75:O,89:A,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:A,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:A,90:k},{5:[1,95]},{30:96,33:62,75:O,89:A,90:k},{5:[1,97]},{30:98,33:62,75:O,89:A,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(R,[2,59],{76:P}),t(R,[2,64],{76:me}),{33:103,75:[1,102],89:A,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(R,[2,57],{76:me}),t(R,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:A,90:k},{33:120,89:A,90:k},{75:U,78:121,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(R,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(R,[2,28]),{5:[1,127]},t(R,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(R,[2,47]),{5:[1,131]},t(R,[2,48]),t(R,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:A,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(R,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(R,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(R,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(R,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),t(R,[2,44]),t(R,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: +`+t);const d=Vs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Ui(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-A};S(E,"fitsHorizontally");const _=.7,A=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),R=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...R)),F=S($=>T?$.data.x+$.data.width+A:$.data.x+$.data.width-A,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,A=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=A.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),R=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(A).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${R}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),vje={draw:yje},bje={parser:sje,db:mje,renderer:vje};const xje=Object.freeze(Object.defineProperty({__proto__:null,diagram:bje},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],A=[1,39],k=[1,40],R=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],j=[1,85],Z=[1,86],X=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),{30:60,33:62,75:O,89:A,90:k},{30:63,33:62,75:O,89:A,90:k},{30:64,33:62,75:O,89:A,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:A,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:A,90:k},{5:[1,95]},{30:96,33:62,75:O,89:A,90:k},{5:[1,97]},{30:98,33:62,75:O,89:A,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(R,[2,59],{76:P}),t(R,[2,64],{76:me}),{33:103,75:[1,102],89:A,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(R,[2,57],{76:me}),t(R,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:A,90:k},{33:120,89:A,90:k},{75:U,78:121,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(R,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(R,[2,28]),{5:[1,127]},t(R,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(R,[2,47]),{5:[1,131]},t(R,[2,48]),t(R,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:A,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(R,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(R,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(R,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(R,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),t(R,[2,44]),t(R,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: `+qe.showPosition()+` Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},je=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ze){this.unput(this.match.slice(Ze))},"less"),pastInput:S(function(){var Ze=this.matched.substr(0,this.matched.length-this.match.length);return(Ze.length>20?"...":"")+Ze.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ze=this.match;return Ze.length<20&&(Ze+=this._input.substr(0,20-Ze.length)),(Ze.substr(0,20)+(Ze.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ze=this.pastInput(),se=new Array(Ze.length+1).join("-");return Ze+this.upcomingInput()+` @@ -2466,7 +2466,7 @@ g.stateGroup line { ry: ${t.radius}px; filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} } -`,"getStyles"),Dle=nKe,iKe=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),aKe=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),sKe=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),oKe=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),lKe=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),cKe=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),uKe=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),hKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),dKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=hKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&iKe(i),e.type==="end"&&cKe(i),(e.type==="fork"||e.type==="join")&&uKe(i,e),e.type==="note"&&dKe(e.note.text,i),e.type==="divider"&&aKe(i),e.type==="default"&&e.descriptions.length===0&&sKe(i,e),e.type==="default"&&e.descriptions.length>0&&oKe(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,fKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(j2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},pKe=S(function(){},"setConf"),gKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),mKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);gKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Ui(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),yKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Us({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,A=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),A=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(A)&&(A=0)),T.setAttribute("x1",0-A+8),T.setAttribute("x2",_-A-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),fKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),vKe={setConf:pKe,draw:mKe},bKe={parser:yle,get db(){return new $f(1)},renderer:vKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const xKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:bKe},Symbol.toStringTag,{value:"Module"}));var TKe={parser:yle,get db(){return new $f(2)},renderer:eKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const wKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:TKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,A=2,k=1,R=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,j,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var X="";Z=[];for(P in C[B])this.terminals_[P]&&P>A&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?X="Parse error on line "+(E+1)+`: +`,"getStyles"),Dle=nKe,iKe=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),aKe=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),sKe=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),oKe=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),lKe=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),cKe=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),uKe=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),hKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),dKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=hKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&iKe(i),e.type==="end"&&cKe(i),(e.type==="fork"||e.type==="join")&&uKe(i,e),e.type==="note"&&dKe(e.note.text,i),e.type==="divider"&&aKe(i),e.type==="default"&&e.descriptions.length===0&&sKe(i,e),e.type==="default"&&e.descriptions.length>0&&oKe(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,fKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(j2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},pKe=S(function(){},"setConf"),gKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),mKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);gKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Ui(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),yKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Gs({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,A=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),A=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(A)&&(A=0)),T.setAttribute("x1",0-A+8),T.setAttribute("x2",_-A-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),fKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),vKe={setConf:pKe,draw:mKe},bKe={parser:yle,get db(){return new $f(1)},renderer:vKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const xKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:bKe},Symbol.toStringTag,{value:"Module"}));var TKe={parser:yle,get db(){return new $f(2)},renderer:eKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const wKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:TKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,A=2,k=1,R=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,j,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var X="";Z=[];for(P in C[B])this.terminals_[P]&&P>A&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?X="Parse error on line "+(E+1)+`: `+O.showPosition()+` Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":X="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(X,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(R)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),j=C[m[m.length-2]][m[m.length-1]],m.push(j);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(f){this.unput(this.match.slice(f))},"less"),pastInput:S(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+` @@ -2609,7 +2609,7 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":X="Parse error on Expecting `+X.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==R?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:X})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,A=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(j=this.productions_[V[1]][1],P.$=x[x.length-j],P._$={first_line:C[C.length-(j||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(j||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(j||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,A,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;j&&(v=v.slice(0,-1*j*2),x=x.slice(0,-1*j),C=C.slice(0,-1*j)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(p){this.unput(this.match.slice(p))},"less"),pastInput:S(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:S(function(p,m){var v,b,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),b=p[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var C in x)this[C]=x[C];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,v,b;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),C=0;Cm[0].length)){if(m=v,b=C,this.options.backtrack_lexer){if(p=this.test_match(v,x[C]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,x[b]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var m=this.next();return m||this.lex()},"lex"),begin:S(function(m){this.conditionStack.push(m)},"begin"),popState:S(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var HKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>jle,clear:()=>zle,default:()=>WKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",Kn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),jle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),WKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:jle,addEvent:Yle},Xle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),YKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),jKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),XKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),KKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,ZKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),YKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),QKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),JKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var tZe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),nZe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const A=T.select("defs");(A.empty()?T.append("defs"):A).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),rZe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),nZe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+Xle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Ps={drawRect:rE,drawCircle:jKe,drawSection:KKe,drawText:Kle,drawLabel:XKe,drawTask:ZKe,drawBackgroundRect:QKe,getTextObj:JKe,getNoteRect:RO,initGraphics:eZe,drawNode:tZe,getVirtualNodeHeight:rZe},iZe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Ps.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,A=0,k=50+d,R=50;A=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Ps.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Ps.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Ps.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Ps.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${A})`),R+=T+50,N.length>0&&fY(v,N,O,k,R,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),R=A,O++}):(F=!1,fY(v,b,O,k,R,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Ps.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+aZe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),aZe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Ps.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),sZe={setConf:S(()=>{},"setConf"),draw:iZe},nE=200,hu=5,oZe=nE+hu*2,NO=nE+100,lZe=NO+hu*2,Qle=10,cZe=0,pY=20,Jle=20,gY=30,ece=50,uZe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Gs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Ps.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=oZe+Jle,x=lZe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,A=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h},B=Ps.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Ps.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Ps.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+cZe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Ps.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,j=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=j,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Ps.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;hZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),hZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Ps.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),dZe={setConf:S(()=>{},"setConf"),draw:uZe},fZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var HKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>jle,clear:()=>zle,default:()=>WKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",Kn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),jle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),WKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:jle,addEvent:Yle},Xle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),YKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),jKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),XKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),KKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,ZKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),YKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),QKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),JKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var tZe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),nZe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const A=T.select("defs");(A.empty()?T.append("defs"):A).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),rZe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),nZe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+Xle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Bs={drawRect:rE,drawCircle:jKe,drawSection:KKe,drawText:Kle,drawLabel:XKe,drawTask:ZKe,drawBackgroundRect:QKe,getTextObj:JKe,getNoteRect:RO,initGraphics:eZe,drawNode:tZe,getVirtualNodeHeight:rZe},iZe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Bs.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,A=0,k=50+d,R=50;A=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Bs.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Bs.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Bs.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Bs.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${A})`),R+=T+50,N.length>0&&fY(v,N,O,k,R,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),R=A,O++}):(F=!1,fY(v,b,O,k,R,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Bs.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+aZe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),aZe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Bs.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),sZe={setConf:S(()=>{},"setConf"),draw:iZe},nE=200,hu=5,oZe=nE+hu*2,NO=nE+100,lZe=NO+hu*2,Qle=10,cZe=0,pY=20,Jle=20,gY=30,ece=50,uZe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Vs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Bs.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=oZe+Jle,x=lZe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,A=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h},B=Bs.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Bs.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Bs.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+cZe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Bs.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,j=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=j,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Bs.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;hZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),hZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Bs.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),dZe={setConf:S(()=>{},"setConf"),draw:uZe},fZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o{switch(oe.debug("In get type",t,e),t){case"[":return Zi.RECT;case"(":return e===")"?Zi.ROUNDED_RECT:Zi.CLOUD;case"((":return Zi.CIRCLE;case")":return Zi.CLOUD;case"))":return Zi.BANG;case"{{":return Zi.HEXAGON;default:return Zi.DEFAULT}},"getType"),VZe=S((t,e)=>{OO[t]=e},"setElementForId"),GZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),UZe=S(t=>{switch(t){case Zi.DEFAULT:return"no-border";case Zi.RECT:return"rect";case Zi.ROUNDED_RECT:return"rounded-rect";case Zi.CIRCLE:return"circle";case Zi.CLOUD:return"cloud";case Zi.BANG:return"bang";case Zi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),HZe=S(()=>oe,"getLogger"),WZe=S(t=>OO[t],"getElementById"),YZe={clear:PZe,addNode:zZe,getSections:tce,getData:$Ze,nodeType:Zi,getType:qZe,setElementForId:VZe,decorateNode:GZe,type2Str:UZe,getLogger:HZe,getElementById:WZe},jZe=YZe,XZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram -`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Gs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(R=>R.parentId===b.id);for(const R of _){if(R.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");R.x=b.x,R.width=C-1.5*f;const F=(await HC(u,R,{config:s})).node().getBBox();R.y=E+F.height/2,await $8(R),E=R.y+F.height/2+f/2}const A=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);A.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),KZe={draw:XZe},ZZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;nb.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(R=>R.parentId===b.id);for(const R of _){if(R.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");R.x=b.x,R.width=C-1.5*f;const F=(await HC(u,R,{config:s})).node().getBBox();R.y=E+F.height/2,await $8(R),E=R.y+F.height/2+f/2}const A=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);A.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),KZe={draw:XZe},ZZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;nF.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(R){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=R}k.append("path").attr("d",TQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),MQe={draw:NQe},OQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` `).trim(),"prepareTextForParsing"),IQe=S(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),BQe=IQe,PQe=oC.parse.bind(oC);oC.parse=t=>PQe(OQe(t));var FQe={styles:BQe,parser:oC,db:RQe,renderer:MQe};const $Qe=Object.freeze(Object.defineProperty({__proto__:null,diagram:FQe},Symbol.toStringTag,{value:"Module"}));var zQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getConfig(){const e=ea({...zQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Kn(),this.packet=[]}},S(K1,"PacketDB"),K1),qQe=1e4,VQe=S((t,e)=>{ju(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),VQe(e,r)},"parse")},UQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Gs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Ui(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())HQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),HQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),WQe={draw:UQe},YQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},jQe=S(({packet:t}={})=>{const e=ea(YQe,t);return` + }`,"getStyles"),BQe=IQe,PQe=oC.parse.bind(oC);oC.parse=t=>PQe(OQe(t));var FQe={styles:BQe,parser:oC,db:RQe,renderer:MQe};const $Qe=Object.freeze(Object.defineProperty({__proto__:null,diagram:FQe},Symbol.toStringTag,{value:"Module"}));var zQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getConfig(){const e=ea({...zQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Kn(),this.packet=[]}},S(K1,"PacketDB"),K1),qQe=1e4,VQe=S((t,e)=>{ju(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),VQe(e,r)},"parse")},UQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Vs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Ui(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())HQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),HQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),WQe={draw:UQe},YQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},jQe=S(({packet:t}={})=>{const e=ea(YQe,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2938,7 +2938,7 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles"),XQe={parser:sce,get db(){return new ace},renderer:WQe,styles:jQe};const KQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:XQe},Symbol.toStringTag,{value:"Module"}));var yg={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},oce={axes:[],curves:[],options:yg},Y0=structuredClone(oce),ZQe=Vr.radar,QQe=S(()=>ea({...ZQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),JQe=S(()=>Y0.curves,"getCurves"),eJe=S(()=>Y0.options,"getOptions"),tJe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),rJe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:nJe(e.entries)}))},"setCurves"),nJe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),iJe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),aJe=S(()=>{Kn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:JQe,getOptions:eJe,setAxes:tJe,setCurves:rJe,setOptions:iJe,getConfig:QQe,clear:aJe,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},sJe=S(t=>{ju(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),oJe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),sJe(e)},"parse")},lJe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Gs(e),d=cJe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;uJe(d,a,m,o.ticks,o.graticule),hJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),cJe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Ui(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),uJe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),hJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var dJe={draw:lJe},fJe=S((t,e)=>{let r="";for(let n=0;nea({...ZQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),JQe=S(()=>Y0.curves,"getCurves"),eJe=S(()=>Y0.options,"getOptions"),tJe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),rJe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:nJe(e.entries)}))},"setCurves"),nJe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),iJe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),aJe=S(()=>{Kn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:JQe,getOptions:eJe,setAxes:tJe,setCurves:rJe,setOptions:iJe,getConfig:QQe,clear:aJe,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},sJe=S(t=>{ju(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),oJe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),sJe(e)},"parse")},lJe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Vs(e),d=cJe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;uJe(d,a,m,o.ticks,o.graticule),hJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),cJe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Ui(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),uJe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),hJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var dJe={draw:lJe},fJe=S((t,e)=>{let r="";for(let n=0;n{e.forEach(i=>{QJe[i](t,r,n)})},"insertMarkers"),GJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),UJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),HJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),WJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),YJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),jJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),XJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),KJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),ZJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),QJe={extension:GJe,composition:UJe,aggregation:HJe,dependency:WJe,lollipop:YJe,point:jJe,circle:XJe,cross:KJe,barb:ZJe},JJe=VJe,Ei=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var eet=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=eet(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Ei*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Ei-Ei)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Ei;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Ei}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Ei}`),d.size){const x=f/2;h.size.x=l+Ei+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Ei} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Ei,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Ei}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var tet=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=tet,ret=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),net={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=net[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},za={},iet=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var aet=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=za[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=za[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=za[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=za[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),set=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),oet=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!set(e,a)&&!i){const s=oet(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),cet=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=j2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),ret(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),uet=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),het=S((t,e,r)=>{const n=uet(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var det=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var pet=Cce,get=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var met=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),yet=met,Jn={node:det,circle:fet,ellipse:Tce,polygon:get,rect:yet},fa=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),xi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var vet=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await fa(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},n},"note"),bet=vet,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),xi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Jn.polygon(e,o,u)},r},"question"),xet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Jn.circle(e,14,s)},r},"choice"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"hexagon"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=het(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"block_arrow"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_left_inv_arrow"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_right"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_left"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"trapezoid"),Aet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"inv_trapezoid"),Let=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_right_inv_arrow"),Ret=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return xi(e,u),e.intersect=function(h){const d=Jn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),Det=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"rect"),Net=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"composite"),Met=S(async(t,e)=>{const{shapeSvg:r}=await fa(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return xi(e,n),e.intersect=function(s){return Jn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var Oet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},r},"stadium"),Bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),xi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Jn.circle(e,n.width/2+i,s)},r},"circle"),Pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),xi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Jn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"subroutine"),$et=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xi(e,n),e.intersect=function(i){return Jn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return xi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Jn.rect(e,o)},n},"forkJoin"),zet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xi(e,i),e.intersect=function(a){return Jn.circle(e,7,a)},r},"end"),qet=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const R=b.children[0],O=kt(b);x=R.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const R=T.children[0],O=kt(T);E=R.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const A=[];if(e.classData.methods.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,A.push($)}),d+=i,m){let R=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+R)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,A.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),xi(e,o),e.intersect=function(R){return Jn.rect(e,R)},s},"class_box"),MY={rhombus:DY,composite:Net,question:DY,rect:Det,labelRect:Met,rectWithTitle:Oet,choice:xet,circle:Bet,doublecircle:Pet,stadium:Iet,hexagon:Tet,block_arrow:wet,rect_left_inv_arrow:Cet,lean_right:Eet,lean_left:ket,trapezoid:_et,inv_trapezoid:Aet,rect_right_inv_arrow:Let,cylinder:Ret,start:$et,end:zet,note:bet,subroutine:Fet,fork:NY,join:NY,class_box:qet},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Vet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Vet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Us({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;cet(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await iet(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),aet({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Get=S(function(t,e){return e.db.getClasses()},"getClasses"),Uet=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);JJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Ui(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Het={draw:Uet,getClasses:Get},Wet={parser:vJe,db:$Je,renderer:Het,styles:qJe};const Yet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Wet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),jet=S(()=>{Gl.reset(),Kn()},"clear"),Xet=S(()=>Gl.records.stack[0],"getRoot"),Ket=S(()=>Gl.records.cnt,"getCount"),Zet=Vr.treeView,Qet=S(()=>ea(Zet,gr().treeView),"getConfig"),Jet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),ett={clear:jet,addNode:Jet,getRoot:Xet,getCount:Ket,getConfig:Qet,getAccTitle:ci,getAccDescription:hi,getDiagramTitle:Zn,setAccDescription:ui,setAccTitle:Xn,setDiagramTitle:li},rD=ett,ttt=S(t=>{ju(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),rtt={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),ttt(e)},"parse")},ntt=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),itt=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);ntt(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),att=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram -`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Gs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=itt(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Ui(o,u,h,s.useMaxWidth)},"draw"),stt={draw:att},ott=stt,ltt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},ctt=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=ea(ltt,t);return` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!set(e,a)&&!i){const s=oet(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),cet=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=j2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),ret(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),uet=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),het=S((t,e,r)=>{const n=uet(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var det=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var pet=Cce,get=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var met=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),yet=met,Jn={node:det,circle:fet,ellipse:Tce,polygon:get,rect:yet},fa=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),xi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var vet=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await fa(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},n},"note"),bet=vet,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),xi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Jn.polygon(e,o,u)},r},"question"),xet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Jn.circle(e,14,s)},r},"choice"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"hexagon"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=het(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"block_arrow"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_left_inv_arrow"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_right"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_left"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"trapezoid"),Aet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"inv_trapezoid"),Let=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_right_inv_arrow"),Ret=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return xi(e,u),e.intersect=function(h){const d=Jn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),Det=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"rect"),Net=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"composite"),Met=S(async(t,e)=>{const{shapeSvg:r}=await fa(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return xi(e,n),e.intersect=function(s){return Jn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var Oet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},r},"stadium"),Bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),xi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Jn.circle(e,n.width/2+i,s)},r},"circle"),Pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),xi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Jn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"subroutine"),$et=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xi(e,n),e.intersect=function(i){return Jn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return xi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Jn.rect(e,o)},n},"forkJoin"),zet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xi(e,i),e.intersect=function(a){return Jn.circle(e,7,a)},r},"end"),qet=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const R=b.children[0],O=kt(b);x=R.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const R=T.children[0],O=kt(T);E=R.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const A=[];if(e.classData.methods.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,A.push($)}),d+=i,m){let R=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+R)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,A.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),xi(e,o),e.intersect=function(R){return Jn.rect(e,R)},s},"class_box"),MY={rhombus:DY,composite:Net,question:DY,rect:Det,labelRect:Met,rectWithTitle:Oet,choice:xet,circle:Bet,doublecircle:Pet,stadium:Iet,hexagon:Tet,block_arrow:wet,rect_left_inv_arrow:Cet,lean_right:Eet,lean_left:ket,trapezoid:_et,inv_trapezoid:Aet,rect_right_inv_arrow:Let,cylinder:Ret,start:$et,end:zet,note:bet,subroutine:Fet,fork:NY,join:NY,class_box:qet},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Vet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Vet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Gs({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;cet(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await iet(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),aet({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Get=S(function(t,e){return e.db.getClasses()},"getClasses"),Uet=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);JJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Ui(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Het={draw:Uet,getClasses:Get},Wet={parser:vJe,db:$Je,renderer:Het,styles:qJe};const Yet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Wet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),jet=S(()=>{Gl.reset(),Kn()},"clear"),Xet=S(()=>Gl.records.stack[0],"getRoot"),Ket=S(()=>Gl.records.cnt,"getCount"),Zet=Vr.treeView,Qet=S(()=>ea(Zet,gr().treeView),"getConfig"),Jet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),ett={clear:jet,addNode:Jet,getRoot:Xet,getCount:Ket,getConfig:Qet,getAccTitle:ci,getAccDescription:hi,getDiagramTitle:Zn,setAccDescription:ui,setAccTitle:Xn,setDiagramTitle:li},rD=ett,ttt=S(t=>{ju(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),rtt={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),ttt(e)},"parse")},ntt=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),itt=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);ntt(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),att=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram +`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Vs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=itt(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Ui(o,u,h,s.useMaxWidth)},"draw"),stt={draw:att},ott=stt,ltt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},ctt=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=ea(ltt,t);return` .treeView-node-label { font-size: ${e}; fill: ${r}; @@ -3155,12 +3155,12 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error translate(${_}, ${A-I.height/2}) translate(${N*M.width/2}, ${B*M.height/2}) rotate(${-1*N*B*45}, 0, ${I.height/2}) - `)}}}}}))},"drawEdges"),Ott=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Itt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Btt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(xtt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[Ttt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:A,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-A))/Math.sqrt(1+Math.pow((_-k)/(E-A),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const R=Math.sqrt(Math.pow(A-E,2)+Math.pow(k-_,2));C=C/R;let O=(A-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(A-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[A,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:R,distances:O}=p(T,E,A,k);m.style("segment-distances",O),m.style("segment-weights",R)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Ptt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Gs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Itt(i,f,a,e),Btt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await Mtt(d,m,i,e),await Ott(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Ftt={draw:Ptt},$tt={parser:Mce,get db(){return new Nce},renderer:Ftt,styles:Ntt};const ztt=Object.freeze(Object.defineProperty({__proto__:null,diagram:$tt},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,A,k,R){var O=k.length-1;switch(A){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],A=[null],k=[],R=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,A.length=A.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,j,Z,X,ee={},Q,he,te,ae;;){if(j=E[E.length-1],this.defaultActions[j]?Z=this.defaultActions[j]:((H===null||typeof H>"u")&&(H=P()),Z=R[j]&&R[j][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in R[j])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: + `)}}}}}))},"drawEdges"),Ott=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Itt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Btt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(xtt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[Ttt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:A,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-A))/Math.sqrt(1+Math.pow((_-k)/(E-A),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const R=Math.sqrt(Math.pow(A-E,2)+Math.pow(k-_,2));C=C/R;let O=(A-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(A-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[A,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:R,distances:O}=p(T,E,A,k);m.style("segment-distances",O),m.style("segment-weights",R)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Ptt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Vs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Itt(i,f,a,e),Btt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await Mtt(d,m,i,e),await Ott(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Ftt={draw:Ptt},$tt={parser:Mce,get db(){return new Nce},renderer:Ftt,styles:Ntt};const ztt=Object.freeze(Object.defineProperty({__proto__:null,diagram:$tt},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,A,k,R){var O=k.length-1;switch(A){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],A=[null],k=[],R=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,A.length=A.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,j,Z,X,ee={},Q,he,te,ae;;){if(j=E[E.length-1],this.defaultActions[j]?Z=this.defaultActions[j]:((H===null||typeof H>"u")&&(H=P()),Z=R[j]&&R[j][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in R[j])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: `+I.showPosition()+` Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+H);switch(Z[0]){case 1:E.push(H),A.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=A[A.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),X=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],A,k].concat(D)),typeof X<"u")return X;he&&(E=E.slice(0,-1*he*2),A=A.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),A.push(ee.$),k.push(ee._$),te=R[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(C){this.unput(this.match.slice(C))},"less"),pastInput:S(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var C=this.pastInput(),T=new Array(C.length+1).join("-");return C+this.upcomingInput()+` `+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in A)this[k]=A[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,A[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,A[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,A){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var qtt=iD,Q1,Vtt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Kn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],li(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ci()}setAccTitle(e){Xn(e)}getAccDescription(){return hi()}setAccDescription(e){ui(e)}getDiagramTitle(){return Zn()}setDiagramTitle(e){li(e)}},S(Q1,"IshikawaDB"),Q1),Gtt=14,Kp=250,Utt=30,Htt=60,Wtt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Ui(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Ytt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Gtt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Gs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const A=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(jtt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),R=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(R),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),A&&A.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{A.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),jtt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Xtt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Ktt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ztt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Ktt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Xtt(l,i),b=m.length,x=new Array(b);for(const[A,k]of v.entries())x[k]=n+d*((A+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[A,k]of m.entries()){const R=x[A],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(R-O.y0)/D:.5),q=R,z=$-(k.childCount>0?Htt+k.childCount*Wtt:Utt),Ug(F,$,R,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,R,1,0,o),hC(F,k.text,z,R,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((R-q)/E),Ug(F,$,q,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-R,o),hC(F,k.text,z,R,_,"end",s)}k.childCount>0&&C.set(A,{x0:$,y0:q,x1:z,y1:R,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Qtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,A){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var qtt=iD,Q1,Vtt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Kn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],li(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ci()}setAccTitle(e){Xn(e)}getAccDescription(){return hi()}setAccDescription(e){ui(e)}getDiagramTitle(){return Zn()}setDiagramTitle(e){li(e)}},S(Q1,"IshikawaDB"),Q1),Gtt=14,Kp=250,Utt=30,Htt=60,Wtt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Ui(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Ytt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Gtt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Vs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const A=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(jtt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),R=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(R),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),A&&A.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{A.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),jtt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Xtt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Ktt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ztt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Ktt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Xtt(l,i),b=m.length,x=new Array(b);for(const[A,k]of v.entries())x[k]=n+d*((A+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[A,k]of m.entries()){const R=x[A],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(R-O.y0)/D:.5),q=R,z=$-(k.childCount>0?Htt+k.childCount*Wtt:Utt),Ug(F,$,R,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,R,1,0,o),hC(F,k.text,z,R,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((R-q)/E),Ug(F,$,q,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-R,o),hC(F,k.text,z,R,_,"end",s)}k.childCount>0&&C.set(A,{x0:$,y0:q,x1:z,y1:R,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Qtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` `)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=Qtt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),Jtt={draw:Ytt},ert=S(t=>` .ishikawa .ishikawa-spine, .ishikawa .ishikawa-branch, @@ -3224,7 +3224,7 @@ Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .ishikawa .ishikawa-label.down { dominant-baseline: hanging; } -`,"getStyles"),trt=ert,rrt={parser:qtt,get db(){return new Vtt},renderer:Jtt,styles:trt};const nrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:rrt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=art(t),n=r.filter(o=>irt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function irt(t,e){return e.every(r=>qs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=qs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function srt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-A.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=R.slice();return O.fx=R.fx,O.id=R.id,O});k.sort((R,O)=>R.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>A.fx?(du(T,1+h,x,-h,A),T.fx=t(T),T.fx=1)break;for(let R=1;Ro+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function lrt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function crt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function hrt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function drt(t,e={}){let r=prt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=frt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>hrt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+Xce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,qs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function grt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&qs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function mrt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=mrt(n);for(const u of i){grt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function yrt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var R=b[k]=x[C];return C+=1,C>=x.length&&(C=0),R},E=jce,_=Im;function A(k){let R=k.datum();const O=new Set;R.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),R=R.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(R.length>0){let Q=E(R,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,R,v)}const q={};R.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=xrt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(R,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let j=k;N&&typeof j.transition=="function"?(j=H(k),j.selectAll("path").attrTween("d",B)):j.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=j.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const X=H(M.exit()).remove();typeof M.transition=="function"&&X.selectAll("path").attrTween("d",B);const ee=X.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:j,exit:X}}return A.wrap=function(k){return arguments.length?(u=k,A):u},A.useViewBox=function(){return e=!0,A},A.width=function(k){return arguments.length?(r=k,A):r},A.height=function(k){return arguments.length?(n=k,A):n},A.padding=function(k){return arguments.length?(i=k,A):i},A.distinct=function(k){return arguments.length?(p=k,A):p},A.colours=function(k){return arguments.length?(T=k,A):T},A.colors=function(k){return arguments.length?(T=k,A):T},A.fontSize=function(k){return arguments.length?(d=k,A):d},A.round=function(k){return arguments.length?(m=k,A):m},A.duration=function(k){return arguments.length?(a=k,A):a},A.layoutFunction=function(k){return arguments.length?(E=k,A):E},A.normalize=function(k){return arguments.length?(o=k,A):o},A.scaleToFit=function(k){return arguments.length?(l=k,A):l},A.styled=function(k){return arguments.length?(h=k,A):h},A.orientation=function(k){return arguments.length?(s=k,A):s},A.orientationOrder=function(k){return arguments.length?(f=k,A):f},A.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,A):_},A}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-qs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(qs(o,h)>h.radius){l=!1;break}for(const h of e)if(qs(o,h)h.p1))}function vrt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function brt(t,e,r){const n=[];return n.push(` +`,"getStyles"),trt=ert,rrt={parser:qtt,get db(){return new Vtt},renderer:Jtt,styles:trt};const nrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:rrt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=art(t),n=r.filter(o=>irt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function irt(t,e){return e.every(r=>zs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=zs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function srt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-A.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=R.slice();return O.fx=R.fx,O.id=R.id,O});k.sort((R,O)=>R.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>A.fx?(du(T,1+h,x,-h,A),T.fx=t(T),T.fx=1)break;for(let R=1;Ro+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function lrt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function crt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function hrt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function drt(t,e={}){let r=prt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=frt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>hrt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+Xce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,zs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function grt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&zs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function mrt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=mrt(n);for(const u of i){grt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function yrt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var R=b[k]=x[C];return C+=1,C>=x.length&&(C=0),R},E=jce,_=Im;function A(k){let R=k.datum();const O=new Set;R.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),R=R.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(R.length>0){let Q=E(R,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,R,v)}const q={};R.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=xrt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(R,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let j=k;N&&typeof j.transition=="function"?(j=H(k),j.selectAll("path").attrTween("d",B)):j.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=j.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const X=H(M.exit()).remove();typeof M.transition=="function"&&X.selectAll("path").attrTween("d",B);const ee=X.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:j,exit:X}}return A.wrap=function(k){return arguments.length?(u=k,A):u},A.useViewBox=function(){return e=!0,A},A.width=function(k){return arguments.length?(r=k,A):r},A.height=function(k){return arguments.length?(n=k,A):n},A.padding=function(k){return arguments.length?(i=k,A):i},A.distinct=function(k){return arguments.length?(p=k,A):p},A.colours=function(k){return arguments.length?(T=k,A):T},A.colors=function(k){return arguments.length?(T=k,A):T},A.fontSize=function(k){return arguments.length?(d=k,A):d},A.round=function(k){return arguments.length?(m=k,A):m},A.duration=function(k){return arguments.length?(a=k,A):a},A.layoutFunction=function(k){return arguments.length?(E=k,A):E},A.normalize=function(k){return arguments.length?(o=k,A):o},A.scaleToFit=function(k){return arguments.length?(l=k,A):l},A.styled=function(k){return arguments.length?(h=k,A):h},A.orientation=function(k){return arguments.length?(s=k,A):s},A.orientationOrder=function(k){return arguments.length?(f=k,A):f},A.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,A):_},A}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-zs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(zs(o,h)>h.radius){l=!1;break}for(const h of e)if(zs(o,h)h.p1))}function vrt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function brt(t,e,r){const n=[];return n.push(` M`,t,e),n.push(` m`,-r,0),n.push(` a`,r,r,0,1,0,r*2,0),n.push(` @@ -3257,7 +3257,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[j]||j)+"'":ne="Parse error font-family: ${t.fontFamily}; color: ${t.vennSetTextColor}; } -`,"getStyles"),Frt=Prt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var $rt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Gs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const A=kt(document.createElement("div")),k=yrt().width(v).height(b-T);A.datum(f).call(k);const R=u?ar.svg(A.select("svg").node()):void 0,O=Trt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,A,p,C,m);const $=ys(s.background||"#f4f4f4");A.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,j=V?.["stroke-width"]||`${5*C}`;if(u&&R){const X=F.get(M);if(X&&X.circles.length>0){const ee=X.circles[0],Q=R.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(j))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",j).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&R?A.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=R.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),j=U.node();j?.parentNode?.insertBefore(H,j),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(A.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),A.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=A.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Ui(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),R=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=R+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",R+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),j=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);j&&Z.style("color",j)}}}S(oue,"renderTextNodes");var zrt={draw:$rt},qrt={parser:wrt,db:Brt,renderer:zrt,styles:Frt};const Vrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:qrt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return ea({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Kn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Grt=S((t,e)=>{ju(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Urt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Urt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Grt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Hrt=10,Zp=10,jv=25,Wrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Hrt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Gs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Ui(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=Xf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=Xf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=Xf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=yve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?jv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),R=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(R).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",jv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",jv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",jv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let X=N;for(;X.length>0;){if(X=N.substring(0,X.length-1),X.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(X+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",jv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const j=8,Z=28,X=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>j;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*X))),te=H+Q+he;for(;te>P&&H>j&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*X))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,j=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+j;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(Xrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` +`,"getStyles"),Frt=Prt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var $rt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Vs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const A=kt(document.createElement("div")),k=yrt().width(v).height(b-T);A.datum(f).call(k);const R=u?ar.svg(A.select("svg").node()):void 0,O=Trt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,A,p,C,m);const $=ys(s.background||"#f4f4f4");A.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,j=V?.["stroke-width"]||`${5*C}`;if(u&&R){const X=F.get(M);if(X&&X.circles.length>0){const ee=X.circles[0],Q=R.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(j))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",j).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&R?A.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=R.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),j=U.node();j?.parentNode?.insertBefore(H,j),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(A.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),A.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=A.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Ui(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),R=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=R+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",R+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),j=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);j&&Z.style("color",j)}}}S(oue,"renderTextNodes");var zrt={draw:$rt},qrt={parser:wrt,db:Brt,renderer:zrt,styles:Frt};const Vrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:qrt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return ea({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Kn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Grt=S((t,e)=>{ju(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Urt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Urt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Grt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Hrt=10,Zp=10,jv=25,Wrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Hrt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Vs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Ui(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=Xf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=Xf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=Xf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=yve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?jv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),R=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(R).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",jv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",jv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",jv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let X=N;for(;X.length>0;){if(X=N.substring(0,X.length-1),X.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(X+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",jv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const j=8,Z=28,X=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>j;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*X))),te=H+Q+he;for(;te>P&&H>j&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*X))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,j=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+j;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(Xrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` .treemapNode.section { stroke: ${i.sectionStrokeColor}; stroke-width: ${i.sectionStrokeWidth}; @@ -3281,7 +3281,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[j]||j)+"'":ne="Parse error font-size: ${i.titleFontSize}; } `},"getStyles"),Zrt=Krt,Qrt={parser:uue,get db(){return new lue},renderer:jrt,styles:Zrt};const Jrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qrt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),jY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),ent=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),tnt=S((t,e)=>{if(ju(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=jY(r.fromPort)??jY(r.toPort);const{flow:a,label:s}=ent(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");tnt(e,r)},"parse")},em,rnt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),Ts=new rnt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){Ts.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){Ts.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){Ts.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){Ts.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){Ts.setSize(t,e)}S(Tue,"setSize");function wue(t){Ts.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){Ts.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return Ts.getNode(t)}S(Eue,"getNode");function kue(){return Ts.build()}S(kue,"getWardleyData");function _ue(){Ts.clear(),Kn()}S(_ue,"clear");var nnt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},int=["Genesis","Custom Built","Product","Commodity"],ant=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),snt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),ont=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map -`+t);const i=snt(),a=ant(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Gs(e);f.selectAll("*").remove(),Ui(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const A=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:int;if(A.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===A.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/A.length;A.forEach((H,j)=>{U.push({start:j*P,end:(j+1)*P})})}A.forEach((P,H)=>{const j=U[H],Z=i.padding+j.start*v,X=i.padding+j.end*v,ee=(Z+X)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(X=>({id:X,pos:k.get(X),node:l.nodes.find(ee=>ee.id===X)})).filter(X=>X.pos&&X.node).sort((X,ee)=>X.node.x-ee.node.x);for(let X=0;X{const ee=k.get(X);ee&&(H=Math.min(H,ee.x),j=Math.max(j,ee.x),Z=ee.y)}),H!==1/0&&j!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+j)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",j-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const R=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));R.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.x+j/X*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.y+Z/X*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.x+j/X*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.y+Z/X*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),R.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,j=U.x-V.x,Z=Math.sqrt(j*j+H*H),X=8,ee=H/Z;return P+ee*X}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,j=U.y-V.y,Z=Math.sqrt(H*H+j*j),X=8,ee=-H/Z;return P+ee*X}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z),ee=8,Q=Z/X,he=-j/X,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,j)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,j=P-V.y,Z=Math.sqrt(H*H+j*j),X=i.nodeRadius+2,ee=Z>X?U-H/Z*X:U,Q=Z>X?P-j/Z*X:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,j=11,Z=M.append("g").attr("class","wardley-annotations-box"),X=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(X.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",j).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=X.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,j=30,Z=20,X=` +`+t);const i=snt(),a=ant(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Vs(e);f.selectAll("*").remove(),Ui(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const A=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:int;if(A.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===A.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/A.length;A.forEach((H,j)=>{U.push({start:j*P,end:(j+1)*P})})}A.forEach((P,H)=>{const j=U[H],Z=i.padding+j.start*v,X=i.padding+j.end*v,ee=(Z+X)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(X=>({id:X,pos:k.get(X),node:l.nodes.find(ee=>ee.id===X)})).filter(X=>X.pos&&X.node).sort((X,ee)=>X.node.x-ee.node.x);for(let X=0;X{const ee=k.get(X);ee&&(H=Math.min(H,ee.x),j=Math.max(j,ee.x),Z=ee.y)}),H!==1/0&&j!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+j)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",j-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const R=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));R.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.x+j/X*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.y+Z/X*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.x+j/X*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.y+Z/X*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),R.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,j=U.x-V.x,Z=Math.sqrt(j*j+H*H),X=8,ee=H/Z;return P+ee*X}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,j=U.y-V.y,Z=Math.sqrt(H*H+j*j),X=8,ee=-H/Z;return P+ee*X}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z),ee=8,Q=Z/X,he=-j/X,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,j)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,j=P-V.y,Z=Math.sqrt(H*H+j*j),X=i.nodeRadius+2,ee=Z>X?U-H/Z*X:U,Q=Z>X?P-j/Z*X:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,j=11,Z=M.append("g").attr("class","wardley-annotations-box"),X=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(X.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",j).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=X.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,j=30,Z=20,X=` M ${U} ${P-j/2} L ${U+H-Z} ${P-j/2} L ${U+H-Z} ${P-j/2-8} diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index 329a4d8..2a7d104 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,8 +5,8 @@ webview_ui - - + +
    From 9b9947bc85444aa0268329b8f3196b4a70b829aa Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:33:32 -0700 Subject: [PATCH 25/36] fix timing issue, which on windows when first time load extension treeview can't load python interpretor --- extension/src/tree_view/treeview.ts | 8 +++++++- extension/src/util/python_env.ts | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/extension/src/tree_view/treeview.ts b/extension/src/tree_view/treeview.ts index 8373724..34a00e9 100644 --- a/extension/src/tree_view/treeview.ts +++ b/extension/src/tree_view/treeview.ts @@ -8,7 +8,7 @@ import webviewReceiveMessageHandler from "../util/webview_receive_message_handle import { checkActivePythonEnv } from '../util/extension_initial_check'; import { checkRequiredPackages } from '../util/check_required_packages'; import { runFiSteps } from '../util/run_fi_steps'; -import { getActivePythonEnv } from '../util/python_env'; +import { getActivePythonEnv, broadcastPythonEnvUpdate, triggerPythonEnvRefresh } from '../util/python_env'; import { getPlatform } from '../util/platform_config'; export default function treeview(context: vscode.ExtensionContext) { @@ -174,6 +174,12 @@ export default function treeview(context: vscode.ExtensionContext) { } else if (message.frontendInstruction === 'ready') { reactReady = true; initializeApp(); + // Push the env list immediately so the dropdown isn't + // empty on first open. Then trigger a re-discovery pass + // so envs found after our listener was registered also + // surface via the debounced onDidChangeKnownPythonEnvs. + broadcastPythonEnvUpdate().catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); + triggerPythonEnvRefresh().catch((e) => console.error(`Failed to refresh python envs: ${e}`)); } else { webviewReceiveMessageHandler(context, message); } diff --git a/extension/src/util/python_env.ts b/extension/src/util/python_env.ts index 5a0c6d9..502aefe 100644 --- a/extension/src/util/python_env.ts +++ b/extension/src/util/python_env.ts @@ -344,3 +344,19 @@ export async function broadcastPythonEnvUpdate(resource?: vscode.Uri): Promise { + const api = await getPythonApi(); + if (api?.environments?.refreshEnvironments) { + await api.environments.refreshEnvironments(); + } +} From ab4e925920089c00eee9fb660e19ff46f536f515 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:33:47 -0700 Subject: [PATCH 26/36] build extension --- flowsheet-inspector-0.0.6.vsix | Bin 1848484 -> 1849380 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/flowsheet-inspector-0.0.6.vsix b/flowsheet-inspector-0.0.6.vsix index 93d6541570cf25a1b129f1229a30abf8108b2dc4..0b5b6370e13a9f08f24d4f18492445eb00031692 100644 GIT binary patch delta 21959 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 From 97da8367cb3a82b0b9dc7acaf8cee86cf3a00649 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:33:53 -0700 Subject: [PATCH 27/36] format --- webview_ui/src/App.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webview_ui/src/App.tsx b/webview_ui/src/App.tsx index 49fa595..da5ee86 100644 --- a/webview_ui/src/App.tsx +++ b/webview_ui/src/App.tsx @@ -121,7 +121,8 @@ export default function App() { } if (message.isLoading) { setPackageWarnings(null); - } else if (message.packageWarnings !== undefined) { + } + else if (message.packageWarnings !== undefined) { setPackageWarnings(message.packageWarnings); } if (message.open_python_files !== undefined) { From 95db50889ab14d04a797e9e89ff458ae6eb1f1db Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:36:38 -0700 Subject: [PATCH 28/36] fix warning badge font color --- webview_ui/src/css/diagnostic_component.module.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webview_ui/src/css/diagnostic_component.module.css b/webview_ui/src/css/diagnostic_component.module.css index 2a4c1b5..ae25b1e 100644 --- a/webview_ui/src/css/diagnostic_component.module.css +++ b/webview_ui/src/css/diagnostic_component.module.css @@ -39,7 +39,7 @@ height: 20px; border-radius: 50%; background-color: #e5a100; - color: #000; + color: white; font-size: 12px; font-weight: 700; margin-left: 4px; From aa6c3b3595b75ccf0abd500ea26c5cf85a7f4ff1 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:39:23 -0700 Subject: [PATCH 29/36] fix warning badge font color --- webview_ui/src/css/diagnostic.module.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webview_ui/src/css/diagnostic.module.css b/webview_ui/src/css/diagnostic.module.css index 779f58b..fe5c6fe 100644 --- a/webview_ui/src/css/diagnostic.module.css +++ b/webview_ui/src/css/diagnostic.module.css @@ -75,7 +75,7 @@ height: 22px; border-radius: 11px; background: #d32f2f; - color: #000; + color: #fff; font-size: 0.75rem; font-weight: 700; padding: 0 6px; From f208040c8ce2e872834200fe12fe6fd3b9ee9be4 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:39:35 -0700 Subject: [PATCH 30/36] build --- .../assets/{index-DQ8H8RKk.js => index-CqyyPf2S.js} | 2 +- .../assets/{index-BWHY2rky.css => index-nKLF7ikl.css} | 2 +- extension/src/webview_template/webview_new/index.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename extension/src/webview_template/webview_new/assets/{index-DQ8H8RKk.js => index-CqyyPf2S.js} (99%) rename extension/src/webview_template/webview_new/assets/{index-BWHY2rky.css => index-nKLF7ikl.css} (89%) diff --git a/extension/src/webview_template/webview_new/assets/index-DQ8H8RKk.js b/extension/src/webview_template/webview_new/assets/index-CqyyPf2S.js similarity index 99% rename from extension/src/webview_template/webview_new/assets/index-DQ8H8RKk.js rename to extension/src/webview_template/webview_new/assets/index-CqyyPf2S.js index 988f212..1c5af00 100644 --- a/extension/src/webview_template/webview_new/assets/index-DQ8H8RKk.js +++ b/extension/src/webview_template/webview_new/assets/index-CqyyPf2S.js @@ -346,7 +346,7 @@ ${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p

    Mermaid render error: ${f}

    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const ZEe="_ipopt_container_87gan_1",QEe="_solver_output_87gan_11",JEe="_tabs_87gan_35",eke="_tab_87gan_35",tke="_tab_active_87gan_58",rke="_tab_content_87gan_64",nke="_run_error_87gan_73",ike="_run_error_title_87gan_82",ake="_run_error_body_87gan_87",ske="_run_error_hint_87gan_92",Ba={ipopt_container:ZEe,solver_output:QEe,tabs:JEe,tab:eke,tab_active:tke,tab_content:rke,run_error:nke,run_error_title:ike,run_error_body:ake,run_error_hint:ske};function Xz(t){if(!t)return"No solver output available for this step.";const e=t.split(` `);let r=0;for(let n=0;n0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const lke="_container_17xab_2",cke="_empty_msg_17xab_15",uke="_tabs_17xab_21",hke="_tab_17xab_21",dke="_tab_active_17xab_43",fke="_tab_content_17xab_49",pke="_group_17xab_54",gke="_group_header_17xab_58",mke="_group_title_17xab_65",yke="_badge_warning_17xab_70",vke="_badge_caution_17xab_84",bke="_toggle_btns_17xab_99",xke="_toggle_btn_17xab_99",Tke="_toggle_sep_17xab_115",wke="_group_body_17xab_121",Cke="_summary_item_17xab_127",Ske="_summary_line_17xab_131",Eke="_clickable_17xab_140",kke="_arrow_17xab_149",_ke="_summary_count_17xab_156",Ake="_summary_text_17xab_163",Lke="_detail_list_17xab_168",Rke="_run_error_17xab_189",Dke="_run_error_title_17xab_198",Nke="_run_error_body_17xab_203",Mke="_run_error_hint_17xab_208",Xr={container:lke,empty_msg:cke,tabs:uke,tab:hke,tab_active:dke,tab_content:fke,group:pke,group_header:gke,group_title:mke,badge_warning:yke,badge_caution:vke,toggle_btns:bke,toggle_btn:xke,toggle_sep:Tke,group_body:wke,summary_item:Cke,summary_line:Ske,clickable:Eke,arrow:kke,summary_count:_ke,summary_text:Ake,detail_list:Lke,run_error:Rke,run_error_title:Dke,run_error_body:Nke,run_error_hint:Mke};function j8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Oke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ike({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:Xr.summary_item,children:[Ae.jsxs("div",{className:`${Xr.summary_line} ${n?Xr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:Xr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:Xr.summary_count,children:t.count}),Ae.jsxs("span",{className:Xr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:Xr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=jt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:Xr.group,children:[Ae.jsxs("div",{className:Xr.group_header,children:[Ae.jsx("span",{className:Xr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:Xr.toggle_btns,children:[Ae.jsx("span",{className:Xr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:Xr.toggle_sep,children:"|"}),Ae.jsx("span",{className:Xr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:Xr.group_body,children:[r.length===0&&Ae.jsx("div",{className:Xr.summary_line,children:Ae.jsx("span",{className:Xr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ike,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Bke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:j8(i.bounds),names:i.names};Oke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Pke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Fke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=jt.useState("structure");if(!e)return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:Xr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.run_error,children:[Ae.jsx("p",{className:Xr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:Xr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:Xr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.tabs,children:[Ae.jsx("span",{className:`${Xr.tab} ${r==="structure"?Xr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${Xr.tab} ${r==="numerical"?Xr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:Xr.tab_content,children:[r==="structure"&&Ae.jsx(Bke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Pke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=jt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=jt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",$ke(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function $ke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function X8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(X8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>X8(u,h,e)),o=o.filter(([u,h])=>X8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function zke({data:t,dofSteps:e}){const[r,n]=jt.useState(""),[i,a]=jt.useState(!1),[s,o]=jt.useState(0),l=jt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=jt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(qke,{data:t,searchTerm:l})]})}function qke({data:t,searchTerm:e}){return jt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Vke="_run_error_nknwf_18",Gke="_run_error_title_nknwf_27",Uke="_run_error_body_nknwf_32",Hke="_run_error_hint_nknwf_37",iT={run_error:Vke,run_error_title:Gke,run_error_body:Uke,run_error_hint:Hke};function Wke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(zke,{data:r,dofSteps:i})]})}const Yke="_tabs_1froz_2",jke="_tab_1froz_2",Xke="_tab_active_1froz_24",Kke="_logs_main_container_1froz_30",Zke="_tab_content_1froz_39",Qke="_content_section_1froz_47",Jke="_logs_container_1froz_54",e6e="_logs_header_1froz_67",t6e="_logs_title_1froz_76",r6e="_clear_logs_button_1froz_82",n6e="_log_item_1froz_96",i6e="_no_logs_1froz_104",Pi={tabs:Yke,tab:jke,tab_active:Xke,logs_main_container:Kke,tab_content:Zke,content_section:Qke,logs_container:Jke,logs_header:e6e,logs_title:t6e,clear_logs_button:r6e,log_item:n6e,no_logs:i6e};function a6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=jt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function s6e(){const{terminalLogs:t,setTerminalLogs:e}=jt.useContext(Da),r=jt.useRef(null);jt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function o6e(){const{activeLogTab:t,setActiveLogTab:e}=jt.useContext(Da);return jt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(a6e,{}),t==="terminal"&&Ae.jsx(s6e,{})]})]})}const l6e="_main_display_container_xlfzb_1",c6e="_nav_xlfzb_11",u6e="_nav_item_xlfzb_25",h6e="_nav_item_active_xlfzb_44",d6e="_blue_dot_xlfzb_49",to={main_display_container:l6e,nav:c6e,nav_item:u6e,nav_item_active:h6e,blue_dot:d6e};function f6e(){const[t,e]=jt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=jt.useContext(Da),[i,a]=jt.useState(!1),s=jt.useRef(r.length),{flowsheetRunnerResult:o}=jt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;jt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),jt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(KEe,{});break;case"variable":u=Ae.jsx(Wke,{});break;case"ipopt":u=Ae.jsx(oke,{});break;case"diagnostics":u=Ae.jsx(Fke,{});break;case"logs":u=Ae.jsx(o6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${to.main_display_container}`,children:[Ae.jsxs("ul",{className:`${to.nav}`,children:[Ae.jsx("li",{className:`${to.nav_item} ${t==="diagram"?to.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="variable"?to.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${to.nav_item} ${t==="diagnostics"?to.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsx("li",{className:`${to.nav_item} ${t==="ipopt"?to.nav_item_active:""}`,onClick:()=>h("ipopt"),children:"IPOPT"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="logs"?to.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${to.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function p6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setPackageWarnings:h,setOpenPythonFiles:d,setIdaesHistoryList:f,setMermaidDiagram:p,setOsPlatform:m,setPythonEnvInfo:v}=jt.useContext(Da),[b,x]=jt.useState(""),[C,T]=jt.useState(!1);function E(_){let A;switch(console.log(`Now loading page: ${_}`),_){case"editor":A=Ae.jsx(a0e,{});break;case"webView":console.log("loading web view page"),A=Ae.jsx(f6e,{});break;case"treeView":console.log("loading tree page"),A=Ae.jsx(i0e,{});break;case"error":console.log(`Encounter an error: ${_}`);break;default:console.log("Unknown message type:",_);break}return A}return jt.useEffect(()=>{if(!n)return;const _=n.actions?.diagnostics;if(_?.valid!==!1)return;const A=n.last_run??[],k=`[${new Date().toLocaleTimeString()}]`;s(R=>[...R,`${k} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${A.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:_,last_run:A})}`,`${k} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:A})}`,`${k} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:A})}`,`${k} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:A})}`])},[n]),jt.useEffect(()=>{window.addEventListener("message",_=>{const A=_.data;switch(A.type){case"init":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content),r(A.fileName),t(A.idaesRunInfo),x(A.loadApp),l(!1),A.osPlatform&&m(A.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",A),A.isLoading!==void 0&&(console.log("Calling setIsLoading with:",A.isLoading),l(A.isLoading)),r(A.activate_tab_name),A.idaesRunInfo!==void 0&&t(A.idaesRunInfo),A.initError?u(A.initError):(A.initError===null||A.isLoading)&&u(null),A.isLoading?h(null):A.packageWarnings!==void 0&&h(A.packageWarnings),A.open_python_files!==void 0&&d(A.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",A),v({current:A.current??null,envs:A.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),A.open_python_files!==void 0&&d(A.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(A)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(A.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(A)}`),s(k=>{const R=`[${new Date().toLocaleTimeString()}] ${A.message||JSON.stringify(A)}`;return[...k,R]});break;case"terminal_log":o(k=>[...k,A.data]);break;case"start_new_run":i(null),p(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),T(!1),setTimeout(()=>T(!0),10);break;case"history_update":console.log(`Received history list length: ${A.data?.length}`),f(A.data);break;default:console.log("Unknown message type:",JSON.stringify(A));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:C?"flash-highlight":"",onAnimationEnd:()=>T(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:E(b)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(jt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(p6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(g6e,"-$1").toLowerCase(),m6e={"&":"&",">":">","<":"<",'"':""","'":"'"},y6e=/[&><"']/g,Ua=t=>String(t).replace(y6e,e=>m6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,v6e=new Set(["mathord","textord","atom"]),Vu=t=>v6e.has(v3(t).type),b6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function x6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:x6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=b6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[T6e[this.id]]}sub(){return Ul[w6e[this.id]]}fracNum(){return Ul[C6e[this.id]]}fracDen(){return Ul[S6e[this.id]]}cramp(){return Ul[E6e[this.id]]}text(){return Ul[k6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],T6e=[lb,zo,lb,zo,mm,cs,mm,cs],w6e=[zo,zo,zo,zo,cs,cs,cs,cs],C6e=[Ig,wu,lb,zo,mm,cs,mm,cs],S6e=[wu,wu,zo,zo,cs,cs,cs,cs],E6e=[iw,iw,wu,wu,zo,zo,cs,cs],k6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function _6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,A6e=function(e,r){return"M95,"+(622+e+r)+` +`).trimStart();return t}function oke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),[e,r]=jt.useState("initial"),n=t?.actions?.diagnostics,i=!!t&&n?.valid===!1,a=t?.actions?.solver_output?.output||t?.actions?.capture_solver_output?.solver_logs;if(!t)return Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]});if(i){const s=t.last_run??[];return Ae.jsxs("div",{className:Ba.ipopt_container,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsxs("div",{className:Ba.run_error,children:[Ae.jsx("p",{className:Ba.run_error_title,children:"fi-run has issues: Solver Output Unavailable"}),Ae.jsxs("p",{className:Ba.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",s.length>0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const lke="_container_kuhn9_2",cke="_empty_msg_kuhn9_15",uke="_tabs_kuhn9_21",hke="_tab_kuhn9_21",dke="_tab_active_kuhn9_43",fke="_tab_content_kuhn9_49",pke="_group_kuhn9_54",gke="_group_header_kuhn9_58",mke="_group_title_kuhn9_65",yke="_badge_warning_kuhn9_70",vke="_badge_caution_kuhn9_84",bke="_toggle_btns_kuhn9_99",xke="_toggle_btn_kuhn9_99",Tke="_toggle_sep_kuhn9_115",wke="_group_body_kuhn9_121",Cke="_summary_item_kuhn9_127",Ske="_summary_line_kuhn9_131",Eke="_clickable_kuhn9_140",kke="_arrow_kuhn9_149",_ke="_summary_count_kuhn9_156",Ake="_summary_text_kuhn9_163",Lke="_detail_list_kuhn9_168",Rke="_run_error_kuhn9_189",Dke="_run_error_title_kuhn9_198",Nke="_run_error_body_kuhn9_203",Mke="_run_error_hint_kuhn9_208",Xr={container:lke,empty_msg:cke,tabs:uke,tab:hke,tab_active:dke,tab_content:fke,group:pke,group_header:gke,group_title:mke,badge_warning:yke,badge_caution:vke,toggle_btns:bke,toggle_btn:xke,toggle_sep:Tke,group_body:wke,summary_item:Cke,summary_line:Ske,clickable:Eke,arrow:kke,summary_count:_ke,summary_text:Ake,detail_list:Lke,run_error:Rke,run_error_title:Dke,run_error_body:Nke,run_error_hint:Mke};function j8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Oke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ike({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:Xr.summary_item,children:[Ae.jsxs("div",{className:`${Xr.summary_line} ${n?Xr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:Xr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:Xr.summary_count,children:t.count}),Ae.jsxs("span",{className:Xr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:Xr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=jt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:Xr.group,children:[Ae.jsxs("div",{className:Xr.group_header,children:[Ae.jsx("span",{className:Xr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:Xr.toggle_btns,children:[Ae.jsx("span",{className:Xr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:Xr.toggle_sep,children:"|"}),Ae.jsx("span",{className:Xr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:Xr.group_body,children:[r.length===0&&Ae.jsx("div",{className:Xr.summary_line,children:Ae.jsx("span",{className:Xr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ike,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Bke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:j8(i.bounds),names:i.names};Oke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Pke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Fke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=jt.useState("structure");if(!e)return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:Xr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.run_error,children:[Ae.jsx("p",{className:Xr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:Xr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:Xr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.tabs,children:[Ae.jsx("span",{className:`${Xr.tab} ${r==="structure"?Xr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${Xr.tab} ${r==="numerical"?Xr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:Xr.tab_content,children:[r==="structure"&&Ae.jsx(Bke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Pke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=jt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=jt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",$ke(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function $ke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function X8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(X8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>X8(u,h,e)),o=o.filter(([u,h])=>X8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function zke({data:t,dofSteps:e}){const[r,n]=jt.useState(""),[i,a]=jt.useState(!1),[s,o]=jt.useState(0),l=jt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=jt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(qke,{data:t,searchTerm:l})]})}function qke({data:t,searchTerm:e}){return jt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Vke="_run_error_nknwf_18",Gke="_run_error_title_nknwf_27",Uke="_run_error_body_nknwf_32",Hke="_run_error_hint_nknwf_37",iT={run_error:Vke,run_error_title:Gke,run_error_body:Uke,run_error_hint:Hke};function Wke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(zke,{data:r,dofSteps:i})]})}const Yke="_tabs_1froz_2",jke="_tab_1froz_2",Xke="_tab_active_1froz_24",Kke="_logs_main_container_1froz_30",Zke="_tab_content_1froz_39",Qke="_content_section_1froz_47",Jke="_logs_container_1froz_54",e6e="_logs_header_1froz_67",t6e="_logs_title_1froz_76",r6e="_clear_logs_button_1froz_82",n6e="_log_item_1froz_96",i6e="_no_logs_1froz_104",Pi={tabs:Yke,tab:jke,tab_active:Xke,logs_main_container:Kke,tab_content:Zke,content_section:Qke,logs_container:Jke,logs_header:e6e,logs_title:t6e,clear_logs_button:r6e,log_item:n6e,no_logs:i6e};function a6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=jt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function s6e(){const{terminalLogs:t,setTerminalLogs:e}=jt.useContext(Da),r=jt.useRef(null);jt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function o6e(){const{activeLogTab:t,setActiveLogTab:e}=jt.useContext(Da);return jt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(a6e,{}),t==="terminal"&&Ae.jsx(s6e,{})]})]})}const l6e="_main_display_container_xlfzb_1",c6e="_nav_xlfzb_11",u6e="_nav_item_xlfzb_25",h6e="_nav_item_active_xlfzb_44",d6e="_blue_dot_xlfzb_49",to={main_display_container:l6e,nav:c6e,nav_item:u6e,nav_item_active:h6e,blue_dot:d6e};function f6e(){const[t,e]=jt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=jt.useContext(Da),[i,a]=jt.useState(!1),s=jt.useRef(r.length),{flowsheetRunnerResult:o}=jt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;jt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),jt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(KEe,{});break;case"variable":u=Ae.jsx(Wke,{});break;case"ipopt":u=Ae.jsx(oke,{});break;case"diagnostics":u=Ae.jsx(Fke,{});break;case"logs":u=Ae.jsx(o6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${to.main_display_container}`,children:[Ae.jsxs("ul",{className:`${to.nav}`,children:[Ae.jsx("li",{className:`${to.nav_item} ${t==="diagram"?to.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="variable"?to.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${to.nav_item} ${t==="diagnostics"?to.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsx("li",{className:`${to.nav_item} ${t==="ipopt"?to.nav_item_active:""}`,onClick:()=>h("ipopt"),children:"IPOPT"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="logs"?to.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${to.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function p6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setPackageWarnings:h,setOpenPythonFiles:d,setIdaesHistoryList:f,setMermaidDiagram:p,setOsPlatform:m,setPythonEnvInfo:v}=jt.useContext(Da),[b,x]=jt.useState(""),[C,T]=jt.useState(!1);function E(_){let A;switch(console.log(`Now loading page: ${_}`),_){case"editor":A=Ae.jsx(a0e,{});break;case"webView":console.log("loading web view page"),A=Ae.jsx(f6e,{});break;case"treeView":console.log("loading tree page"),A=Ae.jsx(i0e,{});break;case"error":console.log(`Encounter an error: ${_}`);break;default:console.log("Unknown message type:",_);break}return A}return jt.useEffect(()=>{if(!n)return;const _=n.actions?.diagnostics;if(_?.valid!==!1)return;const A=n.last_run??[],k=`[${new Date().toLocaleTimeString()}]`;s(R=>[...R,`${k} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${A.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:_,last_run:A})}`,`${k} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:A})}`,`${k} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:A})}`,`${k} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:A})}`])},[n]),jt.useEffect(()=>{window.addEventListener("message",_=>{const A=_.data;switch(A.type){case"init":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content),r(A.fileName),t(A.idaesRunInfo),x(A.loadApp),l(!1),A.osPlatform&&m(A.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",A),A.isLoading!==void 0&&(console.log("Calling setIsLoading with:",A.isLoading),l(A.isLoading)),r(A.activate_tab_name),A.idaesRunInfo!==void 0&&t(A.idaesRunInfo),A.initError?u(A.initError):(A.initError===null||A.isLoading)&&u(null),A.isLoading?h(null):A.packageWarnings!==void 0&&h(A.packageWarnings),A.open_python_files!==void 0&&d(A.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",A),v({current:A.current??null,envs:A.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),A.open_python_files!==void 0&&d(A.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(A)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(A.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(A)}`),s(k=>{const R=`[${new Date().toLocaleTimeString()}] ${A.message||JSON.stringify(A)}`;return[...k,R]});break;case"terminal_log":o(k=>[...k,A.data]);break;case"start_new_run":i(null),p(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),T(!1),setTimeout(()=>T(!0),10);break;case"history_update":console.log(`Received history list length: ${A.data?.length}`),f(A.data);break;default:console.log("Unknown message type:",JSON.stringify(A));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:C?"flash-highlight":"",onAnimationEnd:()=>T(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:E(b)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(jt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(p6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(g6e,"-$1").toLowerCase(),m6e={"&":"&",">":">","<":"<",'"':""","'":"'"},y6e=/[&><"']/g,Ua=t=>String(t).replace(y6e,e=>m6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,v6e=new Set(["mathord","textord","atom"]),Vu=t=>v6e.has(v3(t).type),b6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function x6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:x6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=b6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[T6e[this.id]]}sub(){return Ul[w6e[this.id]]}fracNum(){return Ul[C6e[this.id]]}fracDen(){return Ul[S6e[this.id]]}cramp(){return Ul[E6e[this.id]]}text(){return Ul[k6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],T6e=[lb,zo,lb,zo,mm,cs,mm,cs],w6e=[zo,zo,zo,zo,cs,cs,cs,cs],C6e=[Ig,wu,lb,zo,mm,cs,mm,cs],S6e=[wu,wu,zo,zo,cs,cs,cs,cs],E6e=[iw,iw,wu,wu,zo,zo,cs,cs],k6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function _6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,A6e=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 diff --git a/extension/src/webview_template/webview_new/assets/index-BWHY2rky.css b/extension/src/webview_template/webview_new/assets/index-nKLF7ikl.css similarity index 89% rename from extension/src/webview_template/webview_new/assets/index-BWHY2rky.css rename to extension/src/webview_template/webview_new/assets/index-nKLF7ikl.css index f8ca2f4..fb80368 100644 --- a/extension/src/webview_template/webview_new/assets/index-BWHY2rky.css +++ b/extension/src/webview_template/webview_new/assets/index-nKLF7ikl.css @@ -1 +1 @@ -*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_jdoxw_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_jdoxw_12,._flowsheet_steps_container_jdoxw_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_jdoxw_24{margin-bottom:20px}._section_label_jdoxw_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_jdoxw_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_jdoxw_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_jdoxw_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._package_warnings_container_jdoxw_55{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}._package_warning_item_jdoxw_62{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-left:3px solid var(--vscode-editorWarning-foreground, #cca700);background-color:var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, .08));border-radius:0 3px 3px 0}._package_warning_title_jdoxw_72{font-size:12px;font-weight:600;color:var(--vscode-editorWarning-foreground, #cca700)}._package_warning_cmd_jdoxw_78{font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);word-break:break-all}._init_error_box_jdoxw_85{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_jdoxw_91{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_jdoxw_97{display:flex;flex-direction:row;gap:10px}._python_env_container_jdoxw_103{margin-bottom:20px}._python_env_label_jdoxw_107{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_jdoxw_114{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_jdoxw_122{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_jdoxw_134{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_jdoxw_134:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_jdoxw_134:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_jdoxw_159{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_jdoxw_169{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_jdoxw_204{width:100%}._open_results_view_btn_jdoxw_208{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_jdoxw_208:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_jdoxw_228{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_jdoxw_228 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_jdoxw_228 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_jdoxw_228 li._active_jdoxw_256{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_17xab_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_17xab_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_17xab_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_17xab_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_17xab_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_17xab_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_17xab_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_17xab_49{padding-top:4px}._group_17xab_54{margin-bottom:20px}._group_header_17xab_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_17xab_65{font-size:1.05rem;font-weight:700}._badge_warning_17xab_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#000;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_17xab_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_17xab_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_17xab_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_17xab_99:hover{text-decoration:underline}._toggle_sep_17xab_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_17xab_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_17xab_127{margin-bottom:2px}._summary_line_17xab_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_17xab_131._clickable_17xab_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_17xab_131._clickable_17xab_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_17xab_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_17xab_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_17xab_163{color:var(--vscode-foreground)}._detail_list_17xab_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_17xab_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_17xab_168 li:hover{color:var(--vscode-foreground)}._run_error_17xab_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_17xab_198{margin:0 0 10px;font-weight:700}._run_error_body_17xab_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_17xab_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} +*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_jdoxw_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_jdoxw_12,._flowsheet_steps_container_jdoxw_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_jdoxw_24{margin-bottom:20px}._section_label_jdoxw_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_jdoxw_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_jdoxw_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_jdoxw_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._package_warnings_container_jdoxw_55{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}._package_warning_item_jdoxw_62{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-left:3px solid var(--vscode-editorWarning-foreground, #cca700);background-color:var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, .08));border-radius:0 3px 3px 0}._package_warning_title_jdoxw_72{font-size:12px;font-weight:600;color:var(--vscode-editorWarning-foreground, #cca700)}._package_warning_cmd_jdoxw_78{font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);word-break:break-all}._init_error_box_jdoxw_85{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_jdoxw_91{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_jdoxw_97{display:flex;flex-direction:row;gap:10px}._python_env_container_jdoxw_103{margin-bottom:20px}._python_env_label_jdoxw_107{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_jdoxw_114{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_jdoxw_122{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_jdoxw_134{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_jdoxw_134:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_jdoxw_134:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_jdoxw_159{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_jdoxw_169{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_jdoxw_204{width:100%}._open_results_view_btn_jdoxw_208{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_jdoxw_208:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_jdoxw_228{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_jdoxw_228 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_jdoxw_228 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_jdoxw_228 li._active_jdoxw_256{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_kuhn9_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_kuhn9_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_kuhn9_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_kuhn9_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_kuhn9_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_kuhn9_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_kuhn9_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_kuhn9_49{padding-top:4px}._group_kuhn9_54{margin-bottom:20px}._group_header_kuhn9_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_kuhn9_65{font-size:1.05rem;font-weight:700}._badge_warning_kuhn9_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_kuhn9_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_kuhn9_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_kuhn9_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_kuhn9_99:hover{text-decoration:underline}._toggle_sep_kuhn9_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_kuhn9_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_kuhn9_127{margin-bottom:2px}._summary_line_kuhn9_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_kuhn9_131._clickable_kuhn9_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_kuhn9_131._clickable_kuhn9_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_kuhn9_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_kuhn9_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_kuhn9_163{color:var(--vscode-foreground)}._detail_list_kuhn9_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_kuhn9_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_kuhn9_168 li:hover{color:var(--vscode-foreground)}._run_error_kuhn9_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_kuhn9_198{margin:0 0 10px;font-weight:700}._run_error_body_kuhn9_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_kuhn9_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index 2a7d104..0a9cb88 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,8 +5,8 @@ webview_ui - - + +
    From c9cfdaaf0e67cff22ce8a0a273e2b8329e132de3 Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 13:40:40 -0700 Subject: [PATCH 31/36] build vsix --- flowsheet-inspector-0.0.6.vsix | Bin 1849380 -> 1849374 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/flowsheet-inspector-0.0.6.vsix b/flowsheet-inspector-0.0.6.vsix index 0b5b6370e13a9f08f24d4f18492445eb00031692..59910e76ccc6cd3b688335e9ca434aa03259cd6d 100644 GIT binary patch delta 675321 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

    aYEcN8$4SJ)nnt#bzl4Ns2?-GReWRQAb^@)&g{ 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 N}Ka*EjAp+Se( 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

    cy|YaJ@1(?k#S5H<`j4kT9FIgmrEd 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 z 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%0A}+T|>Qs-rX+PhxYBkfX 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

  • - +
    - setShowConfig((prev: boolean) => !prev)} - title="Configuration" - > - - - -
    diff --git a/webview_ui/src/treeview/run_flowsheet_view.tsx b/webview_ui/src/treeview/run_flowsheet_view.tsx index faa7f31..f3d1d86 100644 --- a/webview_ui/src/treeview/run_flowsheet_view.tsx +++ b/webview_ui/src/treeview/run_flowsheet_view.tsx @@ -1,11 +1,9 @@ -import { useContext, useState, useEffect } from "react"; +import { useContext, useEffect } from "react"; import { AppContext } from "../context"; -import ConfigView from "./configView"; import FlowsheetSteps from "./flowsheet_steps"; export default function RunFlowsheetView() { - const { idaesRunInfo, activateFileName, setIsRunningFlowsheet } = useContext(AppContext); - const [showConfig, setShowConfig] = useState(false); + const { idaesRunInfo, setIsRunningFlowsheet } = useContext(AppContext); useEffect(() => { window.addEventListener('message', (e) => { @@ -22,15 +20,6 @@ export default function RunFlowsheetView() { }, []) return ( - <> -

    Current Files is: {activateFileName}

    - {/* */} -
    - -
    -
    - -
    - + ) } \ No newline at end of file diff --git a/webview_ui/src/treeview/treeviewNav.tsx b/webview_ui/src/treeview/treeviewNav.tsx index c714ea4..0d6c323 100644 --- a/webview_ui/src/treeview/treeviewNav.tsx +++ b/webview_ui/src/treeview/treeviewNav.tsx @@ -1,12 +1,9 @@ -import React from 'react' import RunFlowsheet from './run_flowsheet' import css from './treeNav.module.css' -export default function TreeNavBar( - { setShowConfig }: { setShowConfig: React.Dispatch> } -) { +export default function TreeNavBar() { return ( ) } From daf69630bff1b36a43d0600cdd97f6080f8369af Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Thu, 11 Jun 2026 15:09:28 -0700 Subject: [PATCH 34/36] build --- .../webview_new/assets/index-CjA71u-g.css | 1 + .../{index-CqyyPf2S.js => index-dSctm9Iw.js} | 684 +++++++++--------- .../webview_new/assets/index-nKLF7ikl.css | 1 - .../webview_template/webview_new/index.html | 4 +- 4 files changed, 345 insertions(+), 345 deletions(-) create mode 100644 extension/src/webview_template/webview_new/assets/index-CjA71u-g.css rename extension/src/webview_template/webview_new/assets/{index-CqyyPf2S.js => index-dSctm9Iw.js} (72%) delete mode 100644 extension/src/webview_template/webview_new/assets/index-nKLF7ikl.css diff --git a/extension/src/webview_template/webview_new/assets/index-CjA71u-g.css b/extension/src/webview_template/webview_new/assets/index-CjA71u-g.css new file mode 100644 index 0000000..af5ec0b --- /dev/null +++ b/extension/src/webview_template/webview_new/assets/index-CjA71u-g.css @@ -0,0 +1 @@ +*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_jdoxw_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_jdoxw_12,._flowsheet_steps_container_jdoxw_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_jdoxw_24{margin-bottom:20px}._section_label_jdoxw_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_jdoxw_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_jdoxw_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_jdoxw_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._package_warnings_container_jdoxw_55{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}._package_warning_item_jdoxw_62{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-left:3px solid var(--vscode-editorWarning-foreground, #cca700);background-color:var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, .08));border-radius:0 3px 3px 0}._package_warning_title_jdoxw_72{font-size:12px;font-weight:600;color:var(--vscode-editorWarning-foreground, #cca700)}._package_warning_cmd_jdoxw_78{font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);word-break:break-all}._init_error_box_jdoxw_85{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_jdoxw_91{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_jdoxw_97{display:flex;flex-direction:row;gap:10px}._python_env_container_jdoxw_103{margin-bottom:20px}._python_env_label_jdoxw_107{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_jdoxw_114{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_jdoxw_122{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_jdoxw_134{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_jdoxw_134:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_jdoxw_134:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_jdoxw_159{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_jdoxw_169{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_jdoxw_204{width:100%}._open_results_view_btn_jdoxw_208{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_jdoxw_208:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_jdoxw_228{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_jdoxw_228 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_jdoxw_228 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_jdoxw_228 li._active_jdoxw_256{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_kuhn9_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_kuhn9_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_kuhn9_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_kuhn9_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_kuhn9_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_kuhn9_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_kuhn9_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_kuhn9_49{padding-top:4px}._group_kuhn9_54{margin-bottom:20px}._group_header_kuhn9_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_kuhn9_65{font-size:1.05rem;font-weight:700}._badge_warning_kuhn9_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_kuhn9_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_kuhn9_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_kuhn9_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_kuhn9_99:hover{text-decoration:underline}._toggle_sep_kuhn9_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_kuhn9_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_kuhn9_127{margin-bottom:2px}._summary_line_kuhn9_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_kuhn9_131._clickable_kuhn9_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_kuhn9_131._clickable_kuhn9_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_kuhn9_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_kuhn9_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_kuhn9_163{color:var(--vscode-foreground)}._detail_list_kuhn9_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_kuhn9_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_kuhn9_168 li:hover{color:var(--vscode-foreground)}._run_error_kuhn9_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_kuhn9_198{margin:0 0 10px;font-weight:700}._run_error_body_kuhn9_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_kuhn9_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/assets/index-CqyyPf2S.js b/extension/src/webview_template/webview_new/assets/index-dSctm9Iw.js similarity index 72% rename from extension/src/webview_template/webview_new/assets/index-CqyyPf2S.js rename to extension/src/webview_template/webview_new/assets/index-dSctm9Iw.js index 1c5af00..2350e69 100644 --- a/extension/src/webview_template/webview_new/assets/index-CqyyPf2S.js +++ b/extension/src/webview_template/webview_new/assets/index-dSctm9Iw.js @@ -1,18 +1,18 @@ -var Rde=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xnt=Rde((lo,co)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var d6={exports:{}},Zy={};var _F;function Nde(){if(_F)return Zy;_F=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Zy.Fragment=e,Zy.jsx=r,Zy.jsxs=r,Zy}var AF;function Mde(){return AF||(AF=1,d6.exports=Nde()),d6.exports}var Ae=Mde(),f6={exports:{}},Dr={};var LF;function Ode(){if(LF)return Dr;LF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,j){this.props=P,this.context=H,this.refs=b,this.updater=j||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=x.prototype;function T(P,H,j){this.props=P,this.context=H,this.refs=b,this.updater=j||m}var E=T.prototype=new C;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function A(){}var k={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function O(P,H,j){var Z=j.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:j}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(j){return H[j]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(A,A):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,j,Z,X){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,j,Z,X)}}if(Q)return X=X(P),Q=Z===""?"."+D(P,0):Z,_(X)?(j="",Q!=null&&(j=Q.replace(z,"$&/")+"/"),N(X,H,j,"",function(ae){return ae})):X!=null&&($(X)&&(X=F(X,j+(X.key==null||P&&P.key===X.key?"":(""+X.key).replace(z,"$&/")+"/")+Q)),H.push(X)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(j,M))Zi(X,j)?(N[V]=X,N[Z]=M,V=Z):(N[V]=j,N[H]=M,V=H);else if(Zi(X,M))N[V]=X,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,A||(A=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var A=!1,k=-1,R=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():A=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(C(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,A||(A=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(m6)),m6}var NF;function Bde(){return NF||(NF=1,g6.exports=Ide()),g6.exports}var y6={exports:{}},Oa={};var MF;function Pde(){if(MF)return Oa;MF=1;var t=dD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),y6.exports=Pde(),y6.exports}var IF;function $de(){if(IF)return Qy;IF=1;var t=Bde(),e=dD(),r=Fde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function j(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),X=P(null),ee=P(null),Q=P(null);function he(g,y){switch(j(ee,y),j(X,g),j(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?KP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=KP(y),g=ZP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),j(Z,g)}function te(){H(Z),H(X),H(ee)}function ae(g){g.memoizedState!==null&&j(Q,g);var y=Z.current,w=ZP(y,g.type);y!==w&&(j(X,g),j(Z,w))}function ie(g){X.current===g&&(H(Z),H(X)),Q.current===g&&(H(Q),Yy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1()=>(e||t((e={exports:{}}).exports,e),e.exports);var fnt=Lde((lo,co)=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function E0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Rde(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var h6={exports:{}},Ky={};var kF;function Dde(){if(kF)return Ky;kF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:n,key:s,ref:i!==void 0?i:null,props:a}}return Ky.Fragment=e,Ky.jsx=r,Ky.jsxs=r,Ky}var _F;function Nde(){return _F||(_F=1,h6.exports=Dde()),h6.exports}var De=Nde(),d6={exports:{}},Dr={};var AF;function Mde(){if(AF)return Dr;AF=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),f=Symbol.iterator;function p(P){return P===null||typeof P!="object"?null:(P=f&&P[f]||P["@@iterator"],typeof P=="function"?P:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}x.prototype.isReactComponent={},x.prototype.setState=function(P,H){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,H,"setState")},x.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=x.prototype;function T(P,H,X){this.props=P,this.context=H,this.refs=b,this.updater=X||m}var E=T.prototype=new C;E.constructor=T,v(E,x.prototype),E.isPureReactComponent=!0;var _=Array.isArray;function R(){}var k={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(P,H,X){var Z=X.ref;return{$$typeof:t,type:P,key:H,ref:Z!==void 0?Z:null,props:X}}function F(P,H){return O(P.type,H,P.props)}function $(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function q(P){var H={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(X){return H[X]})}var z=/\/+/g;function D(P,H){return typeof P=="object"&&P!==null&&P.key!=null?q(""+P.key):H.toString(36)}function I(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(R,R):(P.status="pending",P.then(function(H){P.status==="pending"&&(P.status="fulfilled",P.value=H)},function(H){P.status==="pending"&&(P.status="rejected",P.reason=H)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function N(P,H,X,Z,j){var ee=typeof P;(ee==="undefined"||ee==="boolean")&&(P=null);var Q=!1;if(P===null)Q=!0;else switch(ee){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(P.$$typeof){case t:case e:Q=!0;break;case h:return Q=P._init,N(Q(P._payload),H,X,Z,j)}}if(Q)return j=j(P),Q=Z===""?"."+D(P,0):Z,_(j)?(X="",Q!=null&&(X=Q.replace(z,"$&/")+"/"),N(j,H,X,"",function(ae){return ae})):j!=null&&($(j)&&(j=F(j,X+(j.key==null||P&&P.key===j.key?"":(""+j.key).replace(z,"$&/")+"/")+Q)),H.push(j)),1;Q=0;var he=Z===""?".":Z+":";if(_(P))for(var te=0;te>>1,U=N[V];if(0>>1;Vi(X,M))Zi(j,X)?(N[V]=j,N[Z]=M,V=Z):(N[V]=X,N[H]=M,V=H);else if(Zi(j,M))N[V]=j,N[Z]=M,V=Z;else break e}}return B}function i(N,B){var M=N.sortIndex-B.sortIndex;return M!==0?M:N.id-B.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],u=[],h=1,d=null,f=3,p=!1,m=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function E(N){for(var B=r(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=N)n(u),B.sortIndex=B.expirationTime,e(l,B);else break;B=r(u)}}function _(N){if(v=!1,E(N),!m)if(r(l)!==null)m=!0,R||(R=!0,q());else{var B=r(u);B!==null&&I(_,B.startTime-N)}}var R=!1,k=-1,L=5,O=-1;function F(){return b?!0:!(t.unstable_now()-ON&&F());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var U=V(d.expirationTime<=N);if(N=t.unstable_now(),typeof U=="function"){d.callback=U,E(N),B=!0;break t}d===r(l)&&n(l),E(N)}else n(l);d=r(l)}if(d!==null)B=!0;else{var P=r(u);P!==null&&I(_,P.startTime-N),B=!1}}break e}finally{d=null,f=M,p=!1}B=void 0}}finally{B?q():R=!1}}}var q;if(typeof T=="function")q=function(){T($)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,D=z.port2;z.port1.onmessage=$,q=function(){D.postMessage(null)}}else q=function(){x($,0)};function I(N,B){k=x(function(){N(t.unstable_now())},B)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(N){N.callback=null},t.unstable_forceFrameRate=function(N){0>N||125V?(N.sortIndex=M,e(u,N),r(l)===null&&N===r(u)&&(v?(C(k),k=-1):v=!0,I(_,M-V))):(N.sortIndex=U,e(l,N),m||p||(m=!0,R||(R=!0,q()))),N},t.unstable_shouldYield=F,t.unstable_wrapCallback=function(N){var B=f;return function(){var M=f;f=B;try{return N.apply(this,arguments)}finally{f=M}}}})(g6)),g6}var DF;function Ide(){return DF||(DF=1,p6.exports=Ode()),p6.exports}var m6={exports:{}},Ma={};var NF;function Bde(){if(NF)return Ma;NF=1;var t=hD();function e(l){var u="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),m6.exports=Bde(),m6.exports}var OF;function Fde(){if(OF)return Zy;OF=1;var t=Ide(),e=hD(),r=Pde();function n(g){var y="https://react.dev/errors/"+g;if(1U||(g.current=V[U],V[U]=null,U--)}function X(g,y){U++,V[U]=g.current,g.current=y}var Z=P(null),j=P(null),ee=P(null),Q=P(null);function he(g,y){switch(X(ee,y),X(j,g),X(Z,null),y.nodeType){case 9:case 11:g=(g=y.documentElement)&&(g=g.namespaceURI)?jP(g):0;break;default:if(g=y.tagName,y=y.namespaceURI)y=jP(y),g=KP(y,g);else switch(g){case"svg":g=1;break;case"math":g=2;break;default:g=0}}H(Z),X(Z,g)}function te(){H(Z),H(j),H(ee)}function ae(g){g.memoizedState!==null&&X(Q,g);var y=Z.current,w=KP(y,g.type);y!==w&&(X(j,g),X(Z,w))}function ie(g){j.current===g&&(H(Z),H(j)),Q.current===g&&(H(Q),Wy._currentValue=M)}var ne,me;function pe(g){if(ne===void 0)try{throw Error()}catch(w){var y=w.stack.trim().match(/\n( *(at )?)/);ne=y&&y[1]||"",me=-1)":-1G||Ve[L]!==ut[G]){var Tt=` -`+Ve[L].replace(" at new "," at ");return g.displayName&&Tt.includes("")&&(Tt=Tt.replace("",g.displayName)),Tt}while(1<=L&&0<=G);break}}}finally{Me=!1,Error.prepareStackTrace=w}return(w=g?g.displayName||g.name:"")?pe(w):""}function He(g,y){switch(g.tag){case 26:case 27:case 5:return pe(g.type);case 16:return pe("Lazy");case 13:return g.child!==y&&y!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return $e(g.type,!1);case 11:return $e(g.type.render,!1);case 1:return $e(g.type,!0);case 31:return pe("Activity");default:return""}}function Le(g){try{var y="",w=null;do y+=He(g,w),w=g,g=g.return;while(g);return y}catch(L){return` -Error generating stack: `+L.message+` -`+L.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,De=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,je=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var L=g.pendingLanes;if(L===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=L&134217727;return ge!==0?(L=ge&~W,L!==0?G=qe(L):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=L&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=L&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,L,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var uE=/[\n"\\]/g;function cn(g){return g.replace(uE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function jo(g,y,w,L,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Gn(y)):g.value!==""+Gn(y)&&(g.value=""+Gn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Md(g,re,Gn(y)):w!=null?Md(g,re,Gn(w)):L!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Gn(ge):g.removeAttribute("name")}function X0(g,y,w,L,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Dd(g);return}w=w!=null?""+Gn(w):"",y=y!=null?""+Gn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}L=L??G,L=typeof L!="function"&&typeof L!="symbol"&&!!L,g.checked=ge?g.checked:!!L,g.defaultChecked=!!L,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Dd(g)}function Md(g,y,w){y==="number"&&Nd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function rh(g,y,w,L){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dE=!1;if(Sc)try{var hy={};Object.defineProperty(hy,"passive",{get:function(){dE=!0}}),window.addEventListener("test",hy,hy),window.removeEventListener("test",hy,hy)}catch{dE=!1}var nh=null,fE=null,Ox=null;function ZO(){if(Ox)return Ox;var g,y=fE,w=y.length,L,G="value"in nh?nh.value:nh.textContent,W=G.length;for(g=0;g=py),nI=" ",iI=!1;function aI(g,y){switch(g){case"keyup":return Que.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var ep=!1;function ehe(g,y){switch(g){case"compositionend":return sI(y);case"keypress":return y.which!==32?null:(iI=!0,nI);case"textInput":return g=y.data,g===nI&&iI?null:g;default:return null}}function the(g,y){if(ep)return g==="compositionend"||!vE&&aI(g,y)?(g=ZO(),Ox=fE=nh=null,ep=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=L}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=pI(w)}}function mI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?mI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function yI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Nd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Nd(g.document)}return y}function TE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var che=Sc&&"documentMode"in document&&11>=document.documentMode,tp=null,wE=null,vy=null,CE=!1;function vI(g,y,w){var L=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;CE||tp==null||tp!==Nd(L)||(L=tp,"selectionStart"in L&&TE(L)?L={start:L.selectionStart,end:L.selectionEnd}:(L=(L.ownerDocument&&L.ownerDocument.defaultView||window).getSelection(),L={anchorNode:L.anchorNode,anchorOffset:L.anchorOffset,focusNode:L.focusNode,focusOffset:L.focusOffset}),vy&&yy(vy,L)||(vy=L,L=_4(wE,"onSelect"),0>=re,G-=re,_l=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),jr&&kc(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Eh=dt(rt,lr,nn.value,Ct);if(Eh===null){lr===null&&(lr=Wr);break}g&&lr&&Eh.alternate===null&&y(rt,lr),Xe=W(Eh,Xe,Or),rn===null?fr=Eh:rn.sibling=Eh,rn=Eh,lr=Wr}if(nn.done)return w(rt,lr),jr&&kc(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return jr&&kc(rt,Or),fr}for(lr=L(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),Xe=W(nn,Xe,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Lde){return y(rt,Lde)}),jr&&kc(rt,Or),fr}function Sn(rt,Xe,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;Xe!==null;){if(Xe.key===fr){if(fr=ct.type,fr===v){if(Xe.tag===7){w(rt,Xe.sibling),Ct=G(Xe,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(Xe.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===R&&Hd(fr)===Xe.type){w(rt,Xe.sibling),Ct=G(Xe,ct.props),Sy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,Xe);break}else y(rt,Xe);Xe=Xe.sibling}ct.type===v?(Ct=zd(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Ux(ct.type,ct.key,ct.props,null,rt.mode,Ct),Sy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;Xe!==null;){if(Xe.key===fr)if(Xe.tag===4&&Xe.stateNode.containerInfo===ct.containerInfo&&Xe.stateNode.implementation===ct.implementation){w(rt,Xe.sibling),Ct=G(Xe,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,Xe);break}else y(rt,Xe);Xe=Xe.sibling}Ct=RE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case R:return ct=Hd(ct),Sn(rt,Xe,ct,Ct)}if(I(ct))return ir(rt,Xe,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,Xe,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,Xe,Zx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,Xe,Yx(rt,ct),Ct);Qx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,Xe!==null&&Xe.tag===6?(w(rt,Xe.sibling),Ct=G(Xe,ct),Ct.return=rt,rt=Ct):(w(rt,Xe),Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,Xe)}return function(rt,Xe,ct,Ct){try{Cy=0;var fr=Sn(rt,Xe,ct,Ct);return dp=null,fr}catch(lr){if(lr===hp||lr===Xx)throw lr;var rn=Ys(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Yd=qI(!0),VI=qI(!1),lh=!1;function VE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function ch(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function uh(g,y,w){var L=g.updateQueue;if(L===null)return null;if(L=L.shared,(un&2)!==0){var G=L.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),L.pending=y,y=Gx(g),EI(g,null,w),y}return Vx(g,L,y,w),Gx(g)}function Ey(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var L=y.lanes;L&=g.pendingLanes,w|=L,y.lanes=w,St(g,w)}}function UE(g,y){var w=g.updateQueue,L=g.alternate;if(L!==null&&(L=L.updateQueue,w===L)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:L.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:L.shared,callbacks:L.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var HE=!1;function ky(){if(HE){var g=up;if(g!==null)throw g}}function _y(g,y,w,L){HE=!1;var G=g.updateQueue;lh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(L&dt)===dt){dt!==0&&dt===cp&&(HE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:lh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),gh|=re,g.lanes=re,g.memoizedState=_t}}function GI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function UI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,uk(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=vhe(Ve,L);Ry(g,y,Tt,Qs(g))}else Ry(g,y,L,Qs(g))}catch(_t){Ry(g,y,{then:function(){},status:"rejected",reason:_t},Qs())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function She(){}function lk(g,y,w,L){if(g.tag!==5)throw Error(n(476));var G=wB(g).queue;TB(g,G,y,M,w===null?She:function(){return CB(g),w(L)})}function wB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function CB(g){var y=wB(g);y.next===null&&(y=g.alternate.memoizedState),Ry(g,y.next.queue,{},Qs())}function ck(){return ma(Yy)}function SB(){return Ci().memoizedState}function EB(){return Ci().memoizedState}function Ehe(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Qs();g=ch(w);var L=uh(y,g,w);L!==null&&(As(L,y,w),Ey(L,y,w)),y={cache:FE()},g.payload=y;return}y=y.return}}function khe(g,y,w){var L=Qs();w={lane:L,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},l4(g)?_B(y,w):(w=_E(g,y,w,L),w!==null&&(As(w,g,L),AB(w,y,L)))}function kB(g,y,w){var L=Qs();Ry(g,y,w,L)}function Ry(g,y,w,L){var G={lane:L,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(l4(g))_B(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ws(ge,re))return Vx(g,y,G,0),Ln===null&&qx(),!1}catch{}if(w=_E(g,y,G,L),w!==null)return As(w,g,L),AB(w,y,L),!0}return!1}function uk(g,y,w,L){if(L={lane:2,revertLane:Vk(),gesture:null,action:L,hasEagerState:!1,eagerState:null,next:null},l4(g)){if(y)throw Error(n(479))}else y=_E(g,w,L,2),y!==null&&As(y,g,2)}function l4(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function _B(g,y){pp=t4=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function AB(g,y,w){if((w&4194048)!==0){var L=y.lanes;L&=g.pendingLanes,w|=L,y.lanes=w,St(g,w)}}var Dy={readContext:ma,use:i4,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useLayoutEffect:fi,useInsertionEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useSyncExternalStore:fi,useId:fi,useHostTransitionStatus:fi,useFormState:fi,useActionState:fi,useOptimistic:fi,useMemoCache:fi,useCacheRefresh:fi};Dy.useEffectEvent=fi;var LB={readContext:ma,use:i4,useCallback:function(g,y){return Ka().memoizedState=[g,y===void 0?null:y],g},useContext:ma,useEffect:dB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,s4(4194308,4,mB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return s4(4194308,4,g,y)},useInsertionEffect:function(g,y){s4(4,2,g,y)},useMemo:function(g,y){var w=Ka();y=y===void 0?null:y;var L=g();if(jd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[L,y],L},useReducer:function(g,y,w){var L=Ka();if(w!==void 0){var G=w(y);if(jd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return L.memoizedState=L.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},L.queue=g,g=g.dispatch=khe.bind(null,Mr,g),[L.memoizedState,g]},useRef:function(g){var y=Ka();return g={current:g},y.memoizedState=g},useState:function(g){g=nk(g);var y=g.queue,w=kB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:sk,useDeferredValue:function(g,y){var w=Ka();return ok(w,g,y)},useTransition:function(){var g=nk(!1);return g=TB.bind(null,Mr,g.queue,!0,!1),Ka().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var L=Mr,G=Ka();if(jr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),Ln===null)throw Error(n(349));(Hr&127)!==0||KI(L,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,dB(QI.bind(null,L,W,g),[g]),L.flags|=2048,mp(9,{destroy:void 0},ZI.bind(null,L,W,w,y),null),w},useId:function(){var g=Ka(),y=Ln.identifierPrefix;if(jr){var w=Al,L=_l;w=(L&~(1<<32-we(L)-1)).toString(32)+w,y="_"+y+"R_"+w,w=r4++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof L.is=="string"?re.createElement("select",{is:L.is}):re.createElement("select"),L.multiple?W.multiple=!0:L.size&&(W.size=L.size);break;default:W=typeof L.is=="string"?re.createElement(G,{is:L.is}):re.createElement(G)}}W[nt]=y,W[st]=L;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(va(W,G,L),G){case"button":case"input":case"select":case"textarea":L=!!L.autoFocus;break e;case"img":L=!0;break e;default:L=!1}L&&Nc(y)}}return $n(y),Sk(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==L&&Nc(y);else{if(typeof L!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,op(y)){if(g=y.stateNode,w=y.memoizedProps,L=null,G=ga,G!==null)switch(G.tag){case 27:case 5:L=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||L!==null&&L.suppressHydrationWarning===!0||jP(g.nodeValue,w)),g||sh(y,!0)}else g=A4(g).createTextNode(L),g[nt]=y,y.stateNode=g}return $n(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(L=op(y),w!==null){if(g===null){if(!L)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),g=!1}else w=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(Xs(y),y):(Xs(y),null);if((y.flags&128)!==0)throw Error(n(558))}return $n(y),null;case 13:if(L=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=op(y),L!==null&&L.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else qd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),G=!1}else G=OE(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(Xs(y),y):(Xs(y),null)}return Xs(y),(y.flags&128)!==0?(y.lanes=w,y):(w=L!==null,g=g!==null&&g.memoizedState!==null,w&&(L=y.child,G=null,L.alternate!==null&&L.alternate.memoizedState!==null&&L.alternate.memoizedState.cachePool!==null&&(G=L.alternate.memoizedState.cachePool.pool),W=null,L.memoizedState!==null&&L.memoizedState.cachePool!==null&&(W=L.memoizedState.cachePool.pool),W!==G&&(L.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),f4(y,y.updateQueue),$n(y),null);case 4:return te(),g===null&&Wk(y.stateNode.containerInfo),$n(y),null;case 10:return Ac(y.type),$n(y),null;case 19:if(H(wi),L=y.memoizedState,L===null)return $n(y),null;if(G=(y.flags&128)!==0,W=L.rendering,W===null)if(G)My(L,!1);else{if(pi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=e4(g),W!==null){for(y.flags|=128,My(L,!1),g=W.updateQueue,y.updateQueue=g,f4(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)kI(w,g),w=w.sibling;return j(wi,wi.current&1|2),jr&&kc(y,L.treeForkCount),y.child}g=g.sibling}L.tail!==null&&Ge()>v4&&(y.flags|=128,G=!0,My(L,!1),y.lanes=4194304)}else{if(!G)if(g=e4(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,f4(y,g),My(L,!0),L.tail===null&&L.tailMode==="hidden"&&!W.alternate&&!jr)return $n(y),null}else 2*Ge()-L.renderingStartTime>v4&&w!==536870912&&(y.flags|=128,G=!0,My(L,!1),y.lanes=4194304);L.isBackwards?(W.sibling=y.child,y.child=W):(g=L.last,g!==null?g.sibling=W:y.child=W,L.last=W)}return L.tail!==null?(g=L.tail,L.rendering=g,L.tail=g.sibling,L.renderingStartTime=Ge(),g.sibling=null,w=wi.current,j(wi,G?w&1|2:w&1),jr&&kc(y,L.treeForkCount),g):($n(y),null);case 22:case 23:return Xs(y),YE(),L=y.memoizedState!==null,g!==null?g.memoizedState!==null!==L&&(y.flags|=8192):L&&(y.flags|=8192),L?(w&536870912)!==0&&(y.flags&128)===0&&($n(y),y.subtreeFlags&6&&(y.flags|=8192)):$n(y),w=y.updateQueue,w!==null&&f4(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),L=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(L=y.memoizedState.cachePool.pool),L!==w&&(y.flags|=2048),g!==null&&H(Ud),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),Ac(Di),$n(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Dhe(g,y){switch(NE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return Ac(Di),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(Xs(y),y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(Xs(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));qd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(wi),null;case 4:return te(),null;case 10:return Ac(y.type),null;case 22:case 23:return Xs(y),YE(),g!==null&&H(Ud),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return Ac(Di),null;case 25:return null;default:return null}}function JB(g,y){switch(NE(y),y.tag){case 3:Ac(Di),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&Xs(y);break;case 13:Xs(y);break;case 19:H(wi);break;case 10:Ac(y.type);break;case 22:case 23:Xs(y),YE(),g!==null&&H(Ud);break;case 24:Ac(Di)}}function Oy(g,y){try{var w=y.updateQueue,L=w!==null?w.lastEffect:null;if(L!==null){var G=L.next;w=G;do{if((w.tag&g)===g){L=void 0;var W=w.create,re=w.inst;L=W(),re.destroy=L}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function fh(g,y,w){try{var L=y.updateQueue,G=L!==null?L.lastEffect:null;if(G!==null){var W=G.next;L=W;do{if((L.tag&g)===g){var re=L.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}L=L.next}while(L!==W)}}catch(Tt){xn(y,y.return,Tt)}}function eP(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{UI(y,w)}catch(L){xn(g,g.return,L)}}}function tP(g,y,w){w.props=Xd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(L){xn(g,y,L)}}function Iy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var L=g.stateNode;break;case 30:L=g.stateNode;break;default:L=g.stateNode}typeof w=="function"?g.refCleanup=w(L):w.current=L}}catch(G){xn(g,y,G)}}function Ll(g,y){var w=g.ref,L=g.refCleanup;if(w!==null)if(typeof L=="function")try{L()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function rP(g){var y=g.type,w=g.memoizedProps,L=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&L.focus();break e;case"img":w.src?L.src=w.src:w.srcSet&&(L.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Ek(g,y,w){try{var L=g.stateNode;Jhe(L,g.type,w,y),L[st]=y}catch(G){xn(g,g.return,G)}}function nP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&xh(g.type)||g.tag===4}function kk(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||nP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&xh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function _k(g,y,w){var L=g.tag;if(L===5||L===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=ws));else if(L!==4&&(L===27&&xh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(_k(g,y,w),g=g.sibling;g!==null;)_k(g,y,w),g=g.sibling}function p4(g,y,w){var L=g.tag;if(L===5||L===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(L!==4&&(L===27&&xh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(p4(g,y,w),g=g.sibling;g!==null;)p4(g,y,w),g=g.sibling}function iP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var L=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);va(y,L,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Mc=!1,Oi=!1,Ak=!1,aP=typeof WeakSet=="function"?WeakSet:Set,aa=null;function Nhe(g,y){if(g=g.containerInfo,Xk=I4,g=yI(g),TE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var L=w.getSelection&&w.getSelection();if(L&&L.rangeCount!==0){w=L.anchorNode;var G=L.anchorOffset,W=L.focusNode;L=L.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||L!==0&&_t.nodeType!==3||(Ve=re+L),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===L&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(Kk={focusedElem:g,selectionRange:w},I4=!1,aa=y;aa!==null;)if(y=aa,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,aa=g;else for(;aa!==null;){switch(y=aa,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),va(W,L,w),W[nt]=g,Cr(W),L=W;break e;case"link":var re=hF("link","href",G).get(L+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=gI(ge,br),Xe=gI(ge,Sn);if(rt&&Xe&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==Xe.node||yt.focusOffset!==Xe.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(Xe.node,Xe.offset)):(ct.setEnd(Xe.node,Xe.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}I4=!!Xk,Kk=Xk=null}finally{un=G,B.p=L,N.T=w}}g.current=y,Wi=2}}function NP(){if(Wi===2){Wi=0;var g=yh,y=Tp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var L=B.p;B.p=2;var G=un;un|=4;try{sP(g,y.alternate,y)}finally{un=G,B.p=L,N.T=w}}Wi=3}}function MP(){if(Wi===4||Wi===3){Wi=0,De();var g=yh,y=Tp,w=Fc,L=bP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Wi=5:(Wi=0,Tp=yh=null,OP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(mh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(L!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ik,Ik=null;var W=yh,re=Fc;if(Wi=0,Tp=yh=null,Fc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,mP(W.current),fP(W,W.current,re,w),un=ge,qy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=L,OP(g,y)}}function BP(g,y,w){y=Co(w,y),y=pk(g.stateNode,y,2),g=uh(g,y,2),g!==null&&(At(g,2),Rl(g))}function xn(g,y,w){if(g.tag===3)BP(g,g,w);else for(;y!==null;){if(y.tag===3){BP(y,g,w);break}else if(y.tag===1){var L=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof L.componentDidCatch=="function"&&(mh===null||!mh.has(L))){g=Co(w,g),w=PB(2),L=uh(y,w,2),L!==null&&(FB(w,L,y,g),At(L,2),Rl(L));break}}y=y.return}}function $k(g,y,w){var L=g.pingCache;if(L===null){L=g.pingCache=new Ihe;var G=new Set;L.set(y,G)}else G=L.get(y),G===void 0&&(G=new Set,L.set(y,G));G.has(w)||(Dk=!0,G.add(w),g=zhe.bind(null,g,y,w),y.then(g,g))}function zhe(g,y,w){var L=g.pingCache;L!==null&&L.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,Ln===g&&(Hr&w)===w&&(pi===4||pi===3&&(Hr&62914560)===Hr&&300>Ge()-y4?(un&2)===0&&wp(g,0):Nk|=w,xp===Hr&&(xp=0)),Rl(g)}function PP(g,y){y===0&&(y=Se()),g=$d(g,y),g!==null&&(At(g,y),Rl(g))}function qhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),PP(g,w)}function Vhe(g,y){var w=0;switch(g.tag){case 31:case 13:var L=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:L=g.stateNode;break;case 22:L=g.stateNode._retryCache;break;default:throw Error(n(314))}L!==null&&L.delete(y),PP(g,w)}function Ghe(g,y){return We(g,y)}var S4=null,Sp=null,zk=!1,E4=!1,qk=!1,bh=0;function Rl(g){g!==Sp&&g.next===null&&(Sp===null?S4=Sp=g:Sp=Sp.next=g),E4=!0,zk||(zk=!0,Hhe())}function qy(g,y){if(!qk&&E4){qk=!0;do for(var w=!1,L=S4;L!==null;){if(g!==0){var G=L.pendingLanes;if(G===0)var W=0;else{var re=L.suspendedLanes,ge=L.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,qP(L,W))}else W=Hr,W=lt(L,L===Ln?W:0,L.cancelPendingCommit!==null||L.timeoutHandle!==-1),(W&3)===0||ve(L,W)||(w=!0,qP(L,W));L=L.next}while(w);qk=!1}}function Uhe(){FP()}function FP(){E4=zk=!1;var g=0;bh!==0&&tde()&&(g=bh);for(var y=Ge(),w=null,L=S4;L!==null;){var G=L.next,W=$P(L,y);W===0?(L.next=null,w===null?S4=G:w.next=G,G===null&&(Sp=w)):(w=L,(g!==0||(W&3)!==0)&&(E4=!0)),L=G}Wi!==0&&Wi!==5||qy(g),bh!==0&&(bh=0)}function $P(g,y){for(var w=g.suspendedLanes,L=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&XP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function oF(g,y,w){var L=Ep;if(L&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),sF.has(G)||(sF.add(G),g={rel:g,crossOrigin:w,href:y},L.querySelector(G)===null&&(y=L.createElement("link"),va(y,"link",g),Cr(y),L.head.appendChild(y)))}}function ude(g){$c.D(g),oF("dns-prefetch",g,null)}function hde(g,y){$c.C(g,y),oF("preconnect",g,y)}function dde(g,y,w){$c.L(g,y,w);var L=Ep;if(L&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=kp(g);break;case"script":W=_p(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),L.querySelector(G)!==null||y==="style"&&L.querySelector(Hy(W))||y==="script"&&L.querySelector(Wy(W))||(y=L.createElement("link"),va(y,"link",g),Cr(y),L.head.appendChild(y)))}}function fde(g,y){$c.m(g,y);var w=Ep;if(w&&g){var L=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(L)+'"][href="'+cn(g)+'"]',W=G;switch(L){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=_p(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(L){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Wy(W)))return}L=w.createElement("link"),va(L,"link",g),Cr(L),w.head.appendChild(L)}}}function pde(g,y,w){$c.S(g,y,w);var L=Ep;if(L&&g){var G=_r(L).hoistableStyles,W=kp(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=L.querySelector(Hy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&n6(g,w);var Ve=re=L.createElement("link");Cr(Ve),va(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,R4(re,y,L)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function gde(g,y){$c.X(g,y);var w=Ep;if(w&&g){var L=_r(w).hoistableScripts,G=_p(g),W=L.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},L.set(G,W))}}function mde(g,y){$c.M(g,y);var w=Ep;if(w&&g){var L=_r(w).hoistableScripts,G=_p(g),W=L.get(G);W||(W=w.querySelector(Wy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&i6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},L.set(G,W))}}function lF(g,y,w,L){var G=(G=ee.current)?L4(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=kp(w.href),w=_r(G).hoistableStyles,L=w.get(y),L||(L={type:"style",instance:null,count:0,state:null},w.set(y,L)),L):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=kp(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Hy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||yde(G,g,w,re.state))),y&&L===null)throw Error(n(528,""));return re}if(y&&L!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=_p(w),w=_r(G).hoistableScripts,L=w.get(y),L||(L={type:"script",instance:null,count:0,state:null},w.set(y,L)),L):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function kp(g){return'href="'+cn(g)+'"'}function Hy(g){return'link[rel="stylesheet"]['+g+"]"}function cF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function yde(g,y,w,L){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?L.loading=1:(y=g.createElement("link"),L.preload=y,y.addEventListener("load",function(){return L.loading|=1}),y.addEventListener("error",function(){return L.loading|=2}),va(y,"link",w),Cr(y),g.head.appendChild(y))}function _p(g){return'[src="'+cn(g)+'"]'}function Wy(g){return"script[async]"+g}function uF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var L=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(L)return y.instance=L,Cr(L),L;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return L=(g.ownerDocument||g).createElement("style"),Cr(L),va(L,"style",G),R4(L,w.precedence,g),y.instance=L;case"stylesheet":G=kp(w.href);var W=g.querySelector(Hy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;L=cF(w),(G=Lo.get(G))&&n6(L,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",L),y.state.loading|=4,R4(W,w.precedence,g),y.instance=W;case"script":return W=_p(w.src),(G=g.querySelector(Wy(W)))?(y.instance=G,Cr(G),G):(L=w,(G=Lo.get(W))&&(L=d({},w),i6(L,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),va(G,"link",L),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(L=y.instance,y.state.loading|=4,R4(L,w.precedence,g));return y.instance}function R4(g,y,w){for(var L=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=L.length?L[L.length-1]:null,W=G,re=0;re title"):null)}function vde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function fF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function bde(g,y,w,L){if(w.type==="stylesheet"&&(typeof L.media!="string"||matchMedia(L.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=kp(L.href),W=y.querySelector(Hy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=N4.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,L=cF(L),(G=Lo.get(G))&&n6(L,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",L),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=N4.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var a6=0;function xde(g,y){return g.stylesheets&&g.count===0&&O4(g,g.stylesheets),0a6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(L),clearTimeout(G)}}:null}function N4(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)O4(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var M4=null;function O4(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,M4=new Map,y.forEach(Tde,g),M4=null,N4.call(g))}function Tde(g,y){if(!(y.state.loading&4)){var w=M4.get(g);if(w)var L=w.get(null);else{w=new Map,M4.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),p6.exports=$de(),p6.exports}var qde=zde();const Da=jt.createContext({});function Vde({children:t}){const[e,r]=jt.useState(!0),[n,i]=jt.useState({classname:"",steps:[]}),[a,s]=jt.useState([]),[o,l]=jt.useState(!1),[u,h]=jt.useState(null),[d,f]=jt.useState(""),[p,m]=jt.useState(""),[v,b]=jt.useState(""),[x,C]=jt.useState(null),[T,E]=jt.useState([]),[_,A]=jt.useState([]),[k,R]=jt.useState("error"),[O,F]=jt.useState(null),[$,q]=jt.useState(null),[z,D]=jt.useState([]),[I,N]=jt.useState(null),[B,M]=jt.useState(""),[V,U]=jt.useState(null);return Ae.jsx(Da.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionConfig:x,setExtensionConfig:C,extensionErrorLogs:T,setExtensionErrorLogs:E,terminalLogs:_,setTerminalLogs:A,activeLogTab:k,setActiveLogTab:R,initError:O,setInitError:F,packageWarnings:$,setPackageWarnings:q,openPythonFiles:z,setOpenPythonFiles:D,idaesHistoryList:I,setIdaesHistoryList:N,osPlatform:B,setOsPlatform:M,pythonEnvInfo:V,setPythonEnvInfo:U},children:t})}function Gde(){return acquireVsCodeApi()}const dl=Gde(),Ude="_tree_app_container_jdoxw_1",Hde="_flowsheet_steps_main_container_jdoxw_12",Wde="_flowsheet_file_section_jdoxw_24",Yde="_section_label_jdoxw_28",jde="_section_hint_jdoxw_35",Xde="_steps_container_jdoxw_42",Kde="_steps_actions_footer_jdoxw_48",Zde="_package_warnings_container_jdoxw_55",Qde="_package_warning_item_jdoxw_62",Jde="_package_warning_title_jdoxw_72",efe="_package_warning_cmd_jdoxw_78",tfe="_init_error_box_jdoxw_85",rfe="_init_error_text_jdoxw_91",nfe="_step_selector_container_jdoxw_97",ife="_python_env_container_jdoxw_103",afe="_python_env_label_jdoxw_107",sfe="_python_env_actions_jdoxw_114",ofe="_python_env_path_text_jdoxw_122",lfe="_python_env_icon_btn_jdoxw_134",cfe="_dropdown_select_jdoxw_159",ufe="_step_selector_checkbox_jdoxw_176",hfe="_open_results_view_container_jdoxw_204",dfe="_open_results_view_btn_jdoxw_208",ffe="_view_switch_container_jdoxw_228",pfe="_active_jdoxw_256",kn={tree_app_container:Ude,flowsheet_steps_main_container:Hde,flowsheet_file_section:Wde,section_label:Yde,section_hint:jde,steps_container:Xde,steps_actions_footer:Kde,package_warnings_container:Zde,package_warning_item:Qde,package_warning_title:Jde,package_warning_cmd:efe,init_error_box:tfe,init_error_text:rfe,step_selector_container:nfe,python_env_container:ife,python_env_label:afe,python_env_actions:sfe,python_env_path_text:ofe,python_env_icon_btn:lfe,dropdown_select:cfe,step_selector_checkbox:ufe,open_results_view_container:hfe,open_results_view_btn:dfe,view_switch_container:ffe,active:pfe},gfe="_config_title_8m99f_1",mfe="_config_control_8m99f_7",yfe="_update_button_8m99f_20",vfe="_button_group_8m99f_25",bfe="_cancel_button_8m99f_31",kh={config_title:gfe,config_control:mfe,update_button:yfe,button_group:vfe,cancel_button:bfe};function xfe({setShowConfig:t}){const{extensionConfig:e,setExtensionConfig:r,osPlatform:n}=jt.useContext(Da),[i,a]=jt.useState(null);jt.useEffect(()=>{e&&a({...e})},[e]),i&&console.log(`get extension config: ${JSON.stringify(i)}`);function s(){const l={activate_command:i?.activate_command||"",sorce_treminal:i?.sorce_treminal||"",shell:i?.shell||""};if(Object.keys(l).length===0){console.log("For some reason the extension config is empty, please check the extension config."),dl.postMessage({type:"error",content:"The extension config in react updateConfig is empty, please check the extension config."});return}const u=Object.keys(l).filter(h=>h==="sorce_treminal"&&n==="win32"?!1:!l[h]);if(u.length>0){const h=`The following configuration fields are empty: ${u.join(", ")}. Please fill them in.`;console.log(h),dl.postMessage({type:"error",content:h});return}console.log(`ready to post update extension config to extension: ${JSON.stringify(l)}`),dl.postMessage({type:"updateExtensionConfig",content:l}),r(l),t(!1)}function o(){e&&a(e),t(!1)}return jt.useEffect(()=>{const l=u=>{u.data.for==="extensionConfigMessage"&&console.log("receive message about config from extension.")};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[]),Ae.jsxs("div",{children:[Ae.jsx("p",{className:`${kh.config_title}`,children:"IDAES Extension Configration:"}),Ae.jsxs("form",{onSubmit:l=>l.preventDefault(),children:[Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"shell_type",children:"Shell type (e.g. zsh, bash, fish, etc.):"}),Ae.jsx("input",{type:"text",id:"shell_type",value:i?.shell||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},shell:l.target.value}))})]}),n!=="win32"&&Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"sorce_treminal",children:"Command to sorce your terminal (e.g. source .zshrc):"}),Ae.jsx("input",{type:"text",id:"sorce_treminal",value:i?.sorce_treminal||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},sorce_treminal:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.config_control}`,children:[Ae.jsx("label",{htmlFor:"activate_command",children:"Command to activate your environment (e.g. conda activate idaes_dev):"}),Ae.jsx("input",{type:"text",id:"activate_command",value:i?.activate_command||"",onChange:l=>a(u=>({...u||{activate_command:"",sorce_treminal:"",shell:""},activate_command:l.target.value}))})]}),Ae.jsxs("div",{className:`${kh.button_group}`,children:[Ae.jsx("button",{type:"button",className:`${kh.update_button}`,onClick:l=>{l.preventDefault(),s()},children:"Update"}),Ae.jsx("button",{type:"button",className:`${kh.update_button} ${kh.cancel_button}`,onClick:l=>{l.preventDefault(),o()},children:"Cancel"})]})]})]})}const Tfe="_run_flowsheet_section_ajmxp_1",wfe="_run_flowsheet_button_container_ajmxp_4",Cfe="_run_flowsheet_button_ajmxp_4",Sfe="_run_flowsheet_animation_container_ajmxp_28",Efe="_running_time_container_ajmxp_35",kfe="_running_timer_container_hidden_ajmxp_42",_fe="_running_time_label_ajmxp_46",Afe="_running_dots_ajmxp_50",Lfe="_running_time_ajmxp_35",Rfe="_cancel_flowsheet_run_btn_ajmxp_60",Dfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:Tfe,run_flowsheet_button_container:wfe,run_flowsheet_button:Cfe,run_flowsheet_animation_container:Sfe,running_time_container:Efe,running_timer_container_hidden:kfe,running_time_label:_fe,running_dots:Afe,running_time:Lfe,cancel_flowsheet_run_btn:Rfe,cancel_flowsheet_run_btn_hidden:Dfe};function Nfe({setShowConfig:t}){const{isLoading:e,isRunningFlowsheet:r,setIsRunningFlowsheet:n,setFlowsheetRunnerResult:i,selectedSteps:a,setExtensionErrorLogs:s,setTerminalLogs:o}=jt.useContext(Da),[l,u]=jt.useState(0),[h,d]=jt.useState("."),[f,p]=jt.useState(null),m=()=>{if(e)return;const x=a.length>0?a[a.length-1]:"";dl.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:x}),u(0),d("."),s([]),o([]),n(!0)},v=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${f}`),dl.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:f||999999}),n(!1),u(0),d("."),p(null)};jt.useEffect(()=>{const x=C=>{const T=C.data;switch(T.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${T.pid}`),T.pid&&p(T.pid);break;case"flowsheet_detail":i(T.data),n(!1),u(0),d("."),p(null);break}};return window.addEventListener("message",x),()=>window.removeEventListener("message",x)},[i,n]),jt.useEffect(()=>{let x;return r&&(x=setInterval(()=>{u(C=>C+1),d(C=>C==="."?"..":C===".."?"...":".")},1e3)),()=>{x!==void 0&&clearInterval(x)}},[r]);const b=x=>{const C=Math.floor(x/60),T=x%60;return`${C.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`};return Ae.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[Ae.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[Ae.jsxs("button",{className:`${Ro.run_flowsheet_button} ${r?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>m(),disabled:e,style:{opacity:e?.5:1,cursor:e?"not-allowed":"pointer"},children:["Run",Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),Ae.jsx("button",{onClick:()=>v(),className:` - ${r?Ro.cancel_flowsheet_run_btn:Ro.cancel_flowsheet_run_btn_hidden} - `,children:"Cancel"}),Ae.jsx("span",{style:{cursor:"pointer",display:"flex",alignItems:"center",marginLeft:"5px"},onClick:()=>t(x=>!x),title:"Configuration",children:Ae.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:Ae.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.69 1L6.29 3.06C5.88 3.19 5.5 3.38 5.15 3.62L3.14 2.88L1.83 5.12L3.45 6.65C3.42 6.87 3.4 7.09 3.4 7.31C3.4 7.53 3.42 7.75 3.45 7.97L1.83 9.5L3.14 11.74L5.15 11C5.5 11.24 5.88 11.43 6.29 11.56L6.69 13.62H9.31L9.71 11.56C10.12 11.43 10.5 11.24 10.85 11L12.86 11.74L14.17 9.5L12.55 7.97C12.58 7.75 12.6 7.53 12.6 7.31C12.6 7.09 12.58 6.87 12.55 6.65L14.17 5.12L12.86 2.88L10.85 3.62C10.5 3.38 10.12 3.19 9.71 3.06L9.31 1H6.69ZM8 9.31C9.1 9.31 10 8.41 10 7.31C10 6.21 9.1 5.31 8 5.31C6.9 5.31 6 6.21 6 7.31C6 8.41 6.9 9.31 8 9.31Z"})})})]}),Ae.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:Ae.jsxs("div",{className:` - ${r?Ro.running_time_container:Ro.running_timer_container_hidden} - `,children:[Ae.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",Ae.jsx("span",{className:`${Ro.running_dots}`,children:h})]}),Ae.jsx("p",{className:`${Ro.running_time}`,children:b(l)})]})})]})}const Mfe="_navContainer_1o0u5_1",Ofe={navContainer:Mfe};function Ife({setShowConfig:t}){return Ae.jsx("nav",{className:Ofe.navContainer,children:Ae.jsx(Nfe,{setShowConfig:t})})}function Bfe({idaesRunInfo:t,setShowConfig:e}){const{setSelectedSteps:r,isLoading:n,initError:i,packageWarnings:a,openPythonFiles:s,activateFileName:o,pythonEnvInfo:l}=jt.useContext(Da),[u,h]=jt.useState([]),d=x=>{dl.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:x})},f=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:C})},p=x=>{const C=x.target.value;C&&dl.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:C})},m=()=>{const x=l?.current?.path;x&&navigator.clipboard.writeText(x)},v=(x,C)=>{let T=[];x.target.checked?T=Array.from({length:C+1},(_,A)=>A):(T=Array.from({length:C},(_,A)=>A),T=T.sort((_,A)=>_-A)),h(T);const E=T.map(_=>t.steps[_]).filter(Boolean);r(E)},b=()=>{if(n)return console.log("loading idaes-extension-steps"),Ae.jsx("div",{children:Ae.jsx("p",{children:"Building idaes-extension-steps..."})});if(i)return Ae.jsx("div",{className:kn.init_error_box,children:Ae.jsx("p",{className:kn.init_error_text,children:i})});if(!t)return Ae.jsx("div",{children:Ae.jsx("p",{children:"Loading config data..."})});const x=Object.keys(t);if(!x.includes("steps"))return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Steps Display"}),Ae.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(x.includes("steps")&&x.length===0)return Ae.jsxs("div",{children:[Ae.jsx("h2",{children:"Step Display"}),Ae.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(x.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((T,E)=>Ae.jsxs("div",{className:`${kn.step_selector_container}`,children:[Ae.jsx("input",{type:"checkbox",id:`step_${E}`,className:`${kn.step_selector_checkbox}`,checked:u.includes(E),onChange:_=>v(_,E)}),Ae.jsx("label",{htmlFor:`${E}`,children:T})]},T+E))};return jt.useEffect(()=>{console.log("Selected steps:",u)},[u]),Ae.jsxs("div",{className:kn.flowsheet_steps_main_container,children:[Ae.jsxs("div",{className:kn.flowsheet_file_section,children:[Ae.jsx("label",{className:kn.section_label,children:"Flowsheet to inspect:"}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:f,value:s?.find(x=>x.name===o)?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),s?.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.name},C))]}),Ae.jsx("p",{className:kn.section_hint,children:"Open the flowsheet in editor to select"})]}),Ae.jsxs("div",{className:kn.python_env_container,children:[Ae.jsx("label",{className:kn.python_env_label,children:"Current Python:"}),Ae.jsxs("div",{className:kn.python_env_actions,children:[Ae.jsx("span",{className:kn.python_env_path_text,children:l?.current?.path||"No interpreter selected"}),Ae.jsx("button",{className:kn.python_env_icon_btn,onClick:m,title:"Copy interpreter path",disabled:!l?.current?.path,children:Ae.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ae.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),Ae.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),Ae.jsxs("select",{className:kn.dropdown_select,onChange:p,value:l?.current?.path||"",children:[Ae.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),l?.envs.map((x,C)=>Ae.jsx("option",{value:x.path,children:x.label},C))]}),a&&a.length>0&&Ae.jsx("div",{className:kn.package_warnings_container,children:a.map(x=>Ae.jsxs("div",{className:kn.package_warning_item,children:[Ae.jsxs("span",{className:kn.package_warning_title,children:["Missing package: ",x.name]}),Ae.jsx("span",{className:kn.package_warning_cmd,children:x.install_command})]},x.name))})]}),Ae.jsx("p",{className:kn.section_label,children:"Select Steps to Run:"}),Ae.jsx("div",{className:kn.steps_container,children:b()}),Ae.jsxs("div",{className:kn.steps_actions_footer,children:[Ae.jsx(Ife,{setShowConfig:e}),Ae.jsx("div",{className:kn.open_results_view_container,children:Ae.jsx("button",{className:kn.open_results_view_btn,onClick:()=>d("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Pfe(){const{idaesRunInfo:t,activateFileName:e,setIsRunningFlowsheet:r}=jt.useContext(Da),[n,i]=jt.useState(!1);return jt.useEffect(()=>{window.addEventListener("message",a=>{const s=a.data;console.log(a.data),s.type==="run_flowsheet_done"?r(!1):console.log(`Unknown message from extension: ${s}`)})},[]),Ae.jsxs(Ae.Fragment,{children:[Ae.jsxs("h2",{children:["Current Files is: ",e]}),Ae.jsx("div",{style:{display:n?"block":"none"},children:Ae.jsx(xfe,{setShowConfig:i})}),Ae.jsx("div",{style:{display:n?"none":"block"},children:Ae.jsx(Bfe,{idaesRunInfo:t,setShowConfig:i})})]})}const Ffe="_container_1qs3w_1",$fe="_controlBar_1qs3w_10",zfe="_searchBox_1qs3w_18",qfe="_actionGroup_1qs3w_42",Vfe="_runCount_1qs3w_50",Gfe="_tableContainer_1qs3w_70",Ufe="_headerRow_1qs3w_76",Hfe="_dataRowContainer_1qs3w_89",Wfe="_dataRow_1qs3w_89",Yfe="_colStatus_1qs3w_119",jfe="_colTime_1qs3w_124",Xfe="_colTags_1qs3w_128",Kfe="_tagBadge_1qs3w_134",Zfe="_emptyMessage_1qs3w_143",Qfe="_cssTooltip_1qs3w_175",Jfe="_colFlowsheet_1qs3w_211",e0e="_flowsheetText_1qs3w_216",t0e="_pathTooltip_1qs3w_225",Nn={container:Ffe,controlBar:$fe,searchBox:zfe,actionGroup:qfe,runCount:Vfe,tableContainer:Gfe,headerRow:Ufe,dataRowContainer:Hfe,dataRow:Wfe,colStatus:Yfe,colTime:jfe,colTags:Xfe,tagBadge:Kfe,emptyMessage:Zfe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Qfe,colFlowsheet:Jfe,flowsheetText:e0e,pathTooltip:t0e};function r0e(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function n0e(){const{idaesHistoryList:t}=jt.useContext(Da),[e,r]=jt.useState(""),n=jt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&dl.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return Ae.jsxs("div",{className:Nn.container,children:[Ae.jsxs("div",{className:Nn.controlBar,children:[Ae.jsx("input",{type:"text",className:Nn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),Ae.jsx("div",{className:Nn.actionGroup,children:Ae.jsxs("span",{className:Nn.runCount,children:["Runs: ",n.length]})})]}),Ae.jsxs("div",{className:Nn.tableContainer,children:[Ae.jsxs("div",{className:Nn.headerRow,children:[Ae.jsx("div",{className:Nn.colStatus,children:"Status"}),Ae.jsx("div",{className:Nn.colTime,children:"Since"}),Ae.jsx("div",{children:"Flowsheet"}),Ae.jsx("div",{className:Nn.colTags,children:"Tags"})]}),Ae.jsxs("div",{className:Nn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return Ae.jsxs("div",{className:Nn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[Ae.jsx("div",{className:Nn.colStatus,children:a.status?Ae.jsx("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--success"]}`,children:"✓"}):Ae.jsxs("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",Ae.jsx("span",{className:Nn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),Ae.jsx("div",{className:Nn.colTime,children:r0e(a.created)}),Ae.jsxs("div",{className:Nn.colFlowsheet,children:[Ae.jsx("span",{className:Nn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),Ae.jsx("div",{className:Nn.pathTooltip,children:l})]}),Ae.jsx("div",{className:Nn.colTags,children:Ae.jsx("span",{className:Nn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&Ae.jsx("div",{className:Nn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&Ae.jsxs("div",{className:Nn.emptyMessage,children:[Ae.jsx("div",{children:"No historical runs found across any flowsheet."}),Ae.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",Ae.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function i0e(){const[t,e]=jt.useState("runFlowsheet"),r=n=>{e(n)};return Ae.jsxs("div",{className:`${kn.tree_app_container}`,children:[Ae.jsxs("ul",{className:kn.view_switch_container,children:[Ae.jsx("li",{className:t==="runFlowsheet"?kn.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),Ae.jsx("li",{className:t==="loadFlowsheet"?kn.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&Ae.jsx(Pfe,{}),t==="loadFlowsheet"&&Ae.jsx(n0e,{})]})}function a0e(){const[t,e]=jt.useState(!1),{editorContent:r,activateFileName:n}=jt.useContext(Da),i=()=>{e(!t)};return Ae.jsxs("div",{children:[Ae.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),Ae.jsxs("div",{style:{display:t?"block":"none"},children:[Ae.jsx("h1",{children:"Editor Page "}),Ae.jsxs("h2",{children:["File: ",n]}),Ae.jsx("pre",{children:r})]})]})}const s0e="modulepreload",o0e=function(t){return"/"+t},PF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=o0e(h),h in PF)return;PF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":s0e,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var t3={exports:{}},l0e=t3.exports,FF;function c0e(){return FF||(FF=1,(function(t,e){(function(r,n){t.exports=n()})(l0e,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;A[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(R(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=R,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)XY(t,"name",{value:e,configurable:!0}),fC=(t,e)=>{for(var r in e)XY(t,r,{get:e[r],enumerable:!0})},zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},fD=S(function(t="fatal"){let e=zc.fatal;typeof t=="string"?t.toLowerCase()in zc&&(e=zc[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=zc.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=zc.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=zc.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=zc.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=zc.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=zc.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${oa().format("ss.SSS")} : ${t} : `,"format");const r3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return r3.hue2rgb(a,i,t+1/3)*255;case"g":return r3.hue2rgb(a,i,t)*255;case"b":return r3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},d0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:r3,lang:h0e,unit:d0e},Dh={};for(let t=0;t<=255;t++)Dh[t]=kr.unit.dec2hex(t);const Pa={ALL:0,RGB:1,HSL:2};let f0e=class{constructor(){this.type=Pa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Pa.ALL}is(e){return this.type===e}};class p0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new f0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Pa.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Pa.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Pa.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Pa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Pa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Pa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Pa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Pa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Pa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const pC=new p0e({r:0,g:0,b:0,a:0},"transparent"),Lg={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Lg.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return pC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}${Dh[Math.round(i*255)]}`:`#${Dh[Math.round(e)]}${Dh[Math.round(r)]}${Dh[Math.round(n)]}`}},zf={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(zf.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(zf.re);if(!r)return;const[,n,i,a,s,o]=r;return pC.set({h:zf._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},S2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=S2.colors[t];if(e)return Lg.parse(e)},stringify:t=>{const e=Lg.stringify(t);for(const r in S2.colors)if(S2.colors[r]===e)return r}},Xv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(Xv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return pC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},Tl={format:{keyword:S2,hex:Lg,rgb:Xv,rgba:Xv,hsl:zf,hsla:zf},parse:t=>{if(typeof t!="string")return t;const e=Lg.parse(t)||Xv.parse(t)||zf.parse(t)||S2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Pa.HSL)||t.data.r===void 0?zf.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Xv.stringify(t):Lg.stringify(t)},KY=(t,e)=>{const r=Tl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return Tl.stringify(r)},fl=(t,e,r=0,n=1)=>{if(typeof t!="number")return KY(t,{a:e});const i=pC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return Tl.stringify(i)},pD=(t,e)=>kr.lang.round(Tl.parse(t)[e]),g0e=t=>{const{r:e,g:r,b:n}=Tl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},m0e=t=>g0e(t)>=.5,ys=t=>!m0e(t),gD=(t,e,r)=>{const n=Tl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Tl.stringify(n)},mt=(t,e)=>gD(t,"l",e),pt=(t,e)=>gD(t,"l",-e),$F=(t,e)=>gD(t,"a",-e),le=(t,e)=>{const r=Tl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return KY(t,n)},y0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Tl.parse(t),{r:o,g:l,b:u,a:h}=Tl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return fl(x,C,T,E)},tt=(t,e=100)=>{const r=Tl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,y0e(r,t,e)};const{entries:ZY,setPrototypeOf:zF,isFrozen:v0e,getPrototypeOf:b0e,getOwnPropertyDescriptor:x0e}=Object;let{freeze:ds,seal:Go,create:Kv}=Object,{apply:qA,construct:VA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});qA||(qA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:n3;zF&&zF(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(v0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function k0e(t){for(let e=0;e/gm),D0e=Go(/\$\{[\w\W]*/gm),N0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),M0e=Go(/^aria-[\-\w]+$/),QY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),O0e=Go(/^(?:\w+script|data):/i),I0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JY=Go(/^html$/i),B0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var WF=Object.freeze({__proto__:null,ARIA_ATTR:M0e,ATTR_WHITESPACE:I0e,CUSTOM_ELEMENT:B0e,DATA_ATTR:N0e,DOCTYPE_NAME:JY,ERB_EXPR:R0e,IS_ALLOWED_URI:QY,IS_SCRIPT_OR_DATA:O0e,MUSTACHE_EXPR:L0e,TMPLIT_EXPR:D0e});const nv={element:1,text:3,progressingInstruction:7,comment:8,document:9},P0e=function(){return typeof window>"u"?null:window},F0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},YF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ej(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P0e();const e=vt=>ej(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==nv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=rv(m,"cloneNode"),b=rv(m,"remove"),x=rv(m,"nextSibling"),C=rv(m,"childNodes"),T=rv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:A,createNodeIterator:k,createDocumentFragment:R,getElementsByTagName:O}=r,{importNode:F}=n;let $=YF();e.isSupported=typeof ZY=="function"&&typeof T=="function"&&A&&A.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=WF;let{IS_ALLOWED_URI:U}=WF,P=null;const H=Fr({},[...VF,...x6,...T6,...w6,...GF]);let j=null;const Z=Fr({},[...UF,...C6,...HF,...V4]);let X=Object.seal(Kv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(Kv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Le=!1,Oe=!1,We=!1,Te=!0,ot=!1;const De="user-content-";let Ge=!0,it=!1,Ye={},je=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],v6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Il(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?v6:n3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,j=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,v6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Il(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Il(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,je=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Il({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Il({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Le=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||QY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,X=Ne.CUSTOM_ELEMENT_HANDLING||Kv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(X.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(X.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(X.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Le=!0),Ye&&(P=Fr({},GF),j=Kv(null),Ye.html===!0&&(Fr(P,VF),Fr(j,UF)),Ye.svg===!0&&(Fr(P,x6),Fr(j,C6),Fr(j,V4)),Ye.svgFilters===!0&&(Fr(P,T6),Fr(j,C6),Fr(j,V4)),Ye.mathMl===!0&&(Fr(P,w6),Fr(j,HF),Fr(j,V4))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Il(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(j===Z&&(j=Il(j)),Fr(j,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(je===at&&(je=Il(je)),Fr(je,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tv('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=F0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...x6,...T6,..._0e]),St=Fr({},[...w6,...A0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=n3(Ne.tagName),Zt=n3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Zt==="annotation-xml"||_e[Zt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Zt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Zt]||ft.namespaceURI===Y&&!_e[Zt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){ev(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{ev(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{ev(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Le||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=b6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Zt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Zt,qe)}catch{}if(!ft||!ft.documentElement){ft=A.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Zt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Jy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===nv.progressingInstruction||pe&&Ne.nodeType===nv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt)))return!1;if(Ge&&!je[Rt]){const Zt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Zt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Pn=v(_r[Qr],!0);Pn.__removalCount=(Ne.__removalCount||0)+1,Zt.insertBefore(Pn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===nv.text&&(ft=Ne.textContent,Jy([q,z,D],Zt=>{ft=Lp(ft,Zt," ")}),Ne.textContent!==ft&&(ev(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!j[ft]||Q[ft]){if(!(Ut(Ne)&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Ne)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Ne))&&(X.attributeNameCheck instanceof RegExp&&Za(X.attributeNameCheck,ft)||X.attributeNameCheck instanceof Function&&X.attributeNameCheck(ft,Ne))||ft==="is"&&X.allowCustomizedBuiltInElements&&(X.tagNameCheck instanceof RegExp&&Za(X.tagNameCheck,Rt)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Lp(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&C0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Lp(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&b6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0};let Zt=ft.length;for(;Zt--;){const _r=ft[Zt],{name:Cr,namespaceURI:Qr,value:Pn}=_r,An=Qe(Cr),ei=Pn;let Ur=Cr==="value"?ei:S0e(ei);if(Rt.attrName=An,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(An==="id"||An==="name")&&(Mt(Cr,Ne),Ur=De+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(An==="attributename"&&b6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Jy([q,z,D],Bt=>{Ur=Lp(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,An,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,An)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==ei)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):qF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Zt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw tv("dirty is not a string, aborting")}else throw tv("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Pn=Qe(vt.nodeName);if(!P[Pn]||ee[Pn])throw tv("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===nv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Le&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Le?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Zt=Cr.nextNode();)It(Zt),rr(Zt),Zt.content instanceof a&&pr(Zt.content);if(it)return vt;if(Le){if(me){ft.normalize();let Pn=ft.innerHTML;Jy([q,z,D],An=>{Pn=Lp(Pn,An," ")}),ft.innerHTML=Pn}if(Oe)for(_r=R.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(j.shadowroot||j.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(JY,ft.ownerDocument.doctype.name)&&(Qr=" -`+Qr),me&&Jy([q,z,D],Pn=>{Qr=Lp(Qr,Pn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Zt=Qe(Ne);return Wt(Rt,Zt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&ev($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=T0e($[vt],Ne);return ft===-1?void 0:w0e($[vt],ft,1)[0]}return qF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=YF()},e}var Qh=ej(),tj=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,E2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,$0e=/\s*%%.*\n/gm,Wg,rj=(Wg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Wg,"UnknownDiagramError"),Wg),Jf={},mD=S(function(t,e){t=t.replace(tj,"").replace(E2,"").replace($0e,` -`);for(const[r,{detector:n}]of Object.entries(Jf))if(n(t,e))return r;throw new rj(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),GA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)nj(e,r,n)},"registerLazyLoadedDiagrams"),nj=S((t,e,r)=>{Jf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Jf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),z0e=S(t=>Jf[t].loader,"getDiagramLoader"),UA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),_i=UA,oc="#ffffff",lc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Yg,q0e=(Yg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),V0e=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),jg,G0e=(jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=fl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=fl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),U0e=S(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),Xg,H0e=(Xg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=fl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),Hb=S(t=>{const e=new H0e;return e.calculate(t),e},"getThemeVariables"),Kg,W0e=(Kg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),Y0e=S(t=>{const e=new W0e;return e.calculate(t),e},"getThemeVariables"),Zg,j0e=(Zg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),X0e=S(t=>{const e=new j0e;return e.calculate(t),e},"getThemeVariables"),Qg,K0e=(Qg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),Z0e=S(t=>{const e=new K0e;return e.calculate(t),e},"getThemeVariables"),Jg,Q0e=(Jg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),J0e=S(t=>{const e=new Q0e;return e.calculate(t),e},"getThemeVariables"),e1,epe=(e1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),tpe=S(t=>{const e=new epe;return e.calculate(t),e},"getThemeVariables"),t1,rpe=(t1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),npe=S(t=>{const e=new rpe;return e.calculate(t),e},"getThemeVariables"),r1,ipe=(r1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),ape=S(t=>{const e=new ipe;return e.calculate(t),e},"getThemeVariables"),n1,spe=(n1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=fl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(n1,"Theme"),n1),ope=S(t=>{const e=new spe;return e.calculate(t),e},"getThemeVariables"),xu={base:{getThemeVariables:V0e},dark:{getThemeVariables:U0e},default:{getThemeVariables:Hb},forest:{getThemeVariables:Y0e},neutral:{getThemeVariables:X0e},neo:{getThemeVariables:Z0e},"neo-dark":{getThemeVariables:J0e},redux:{getThemeVariables:tpe},"redux-dark":{getThemeVariables:npe},"redux-color":{getThemeVariables:ape},"redux-dark-color":{getThemeVariables:ope}},Js={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},ij={...Js,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xu.default.getThemeVariables(),sequence:{...Js.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Js.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Js.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Js.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Js.pie,useWidth:984},xyChart:{...Js.xyChart,useWidth:void 0},requirement:{...Js.requirement,useWidth:void 0},packet:{...Js.packet},treeView:{...Js.treeView,useWidth:void 0},radar:{...Js.radar},ishikawa:{...Js.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Js.venn}},aj=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...aj(t[n],"")]:[...r,e+n],[]),"keyify"),lpe=new Set(aj(ij,"")),Vr=ij,h5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!lpe.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),h5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=cpe(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),cpe=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ds=_i({},tm),d5,e0=[],k2=_i({},tm),gC=S((t,e)=>{let r=_i({},t),n={};for(const i of e)lj(i),n=_i(n,i);if(r=_i(r,n),n.theme&&n.theme in xu){const i=_i({},d5),a=_i(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in xu&&(r.themeVariables=xu[r.theme].getThemeVariables(a))}return k2=r,uj(k2),k2},"updateCurrentConfig"),upe=S(t=>(Ds=_i({},tm),Ds=_i(Ds,t),t.theme&&xu[t.theme]&&(Ds.themeVariables=xu[t.theme].getThemeVariables(t.themeVariables)),gC(Ds,e0),Ds),"setSiteConfig"),hpe=S(t=>{d5=_i({},t)},"saveConfigFromInitialize"),dpe=S(t=>(Ds=_i(Ds,t),gC(Ds,e0),Ds),"updateSiteConfig"),sj=S(()=>_i({},Ds),"getSiteConfig"),oj=S(t=>(uj(t),_i(k2,t),gr()),"setConfig"),gr=S(()=>_i({},k2),"getConfig"),lj=S(t=>{t&&(["secure",...Ds.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&lj(t[e])}))},"sanitize"),fpe=S(t=>{h5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),e0.push(t),gC(Ds,e0)},"addDirective"),f5=S((t=Ds)=>{e0=[],gC(t,e0)},"reset"),ppe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},jF={},cj=S(t=>{jF[t]||(oe.warn(ppe[t]),jF[t]=!0)},"issueWarning"),uj=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&cj("LAZY_LOAD_DEPRECATED")},"checkConfig"),gpe=S(()=>{let t={};d5&&(t=_i(t,d5));for(const e of e0)t=_i(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&cj("FLOWCHART_HTML_LABELS_DEPRECATED"),Pu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Bm=//gi,mpe=S(t=>t?fj(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),ype=(()=>{let t=!1;return()=>{t||(hj(),t=!0)}})();function hj(){const t="data-temp-href-target";Qh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Qh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(hj,"setupDompurifyHooks");var dj=S(t=>(ype(),Qh.sanitize(t)),"removeScript"),XF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=dj(t):r!=="loose"&&(t=fj(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Tpe(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Qh.sanitize(XF(t,e),e.dompurifyConfig).toString():t=Qh.sanitize(XF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),vpe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),bpe=S(t=>Bm.test(t),"hasBreaks"),xpe=S(t=>t.split(Bm),"splitBreaks"),Tpe=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),fj=S(t=>t.replace(Bm,"#br#"),"breakToPlaceholder"),mC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),wpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),Cpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Mh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),Spe=S((t,e)=>{const r=HA(t,"~"),n=HA(e,"~");return r===1&&n===1},"shouldCombineSets"),Epe=S(t=>{const e=HA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),KF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),WA=/\$\$(.*)\$\$/g,Ri=S(t=>(t.match(WA)?.length??0)>0,"hasKatex"),Wb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await yC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),kpe=S(async(t,e)=>{if(!Ri(t))return t;if(!(KF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(WA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>Q_e);return{default:i}},void 0),n=e.forceLegacyMathML||!KF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Bm).map(i=>Ri(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(WA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),yC=S(async(t,e)=>Jr(await kpe(t,e),e),"renderKatexSanitized"),$t={getRows:mpe,sanitizeText:Jr,sanitizeTextOrArray:vpe,hasBreaks:bpe,splitBreaks:xpe,lineBreakRegex:Bm,removeScript:dj,getUrl:mC,evaluate:Pu,getMax:wpe,getMin:Cpe},_pe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Ape=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Ui=S(function(t,e,r,n){const i=Ape(e,r,n);_pe(t,i)},"configureSvgSize"),Pm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Ui(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),i3={},Lpe=S((t,e,r,n)=>{let i="";return t in i3&&i3[t]?i=i3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { +`);for(G=A=0;AG||Ve[A]!==ut[G]){var Tt=` +`+Ve[A].replace(" at new "," at ");return g.displayName&&Tt.includes("")&&(Tt=Tt.replace("",g.displayName)),Tt}while(1<=A&&0<=G);break}}}finally{Me=!1,Error.prepareStackTrace=w}return(w=g?g.displayName||g.name:"")?pe(w):""}function He(g,y){switch(g.tag){case 26:case 27:case 5:return pe(g.type);case 16:return pe("Lazy");case 13:return g.child!==y&&y!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return $e(g.type,!1);case 11:return $e(g.type.render,!1);case 1:return $e(g.type,!0);case 31:return pe("Activity");default:return""}}function Ae(g){try{var y="",w=null;do y+=He(g,w),w=g,g=g.return;while(g);return y}catch(A){return` +Error generating stack: `+A.message+` +`+A.stack}}var Oe=Object.prototype.hasOwnProperty,We=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,ot=t.unstable_shouldYield,Re=t.unstable_requestPaint,Ge=t.unstable_now,it=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,at=t.unstable_NormalPriority,xe=t.unstable_LowPriority,Ze=t.unstable_IdlePriority,se=t.log,be=t.unstable_setDisableYieldValue,Y=null,de=null;function fe(g){if(typeof se=="function"&&be(g),de&&typeof de.setStrictMode=="function")try{de.setStrictMode(Y,g)}catch{}}var we=Math.clz32?Math.clz32:Ue,Ee=Math.log,Ie=Math.LN2;function Ue(g){return g>>>=0,g===0?32:31-(Ee(g)/Ie|0)|0}var _e=256,ze=262144,et=4194304;function qe(g){var y=g&42;if(y!==0)return y;switch(g&-g){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return g&261888;case 262144:case 524288:case 1048576:case 2097152:return g&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return g&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function lt(g,y,w){var A=g.pendingLanes;if(A===0)return 0;var G=0,W=g.suspendedLanes,re=g.pingedLanes;g=g.warmLanes;var ge=A&134217727;return ge!==0?(A=ge&~W,A!==0?G=qe(A):(re&=ge,re!==0?G=qe(re):w||(w=ge&~g,w!==0&&(G=qe(w))))):(ge=A&~W,ge!==0?G=qe(ge):re!==0?G=qe(re):w||(w=A&~g,w!==0&&(G=qe(w)))),G===0?0:y!==0&&y!==G&&(y&W)===0&&(W=G&-G,w=y&-y,W>=w||W===32&&(w&4194048)!==0)?y:G}function ve(g,y){return(g.pendingLanes&~(g.suspendedLanes&~g.pingedLanes)&y)===0}function Qe(g,y){switch(g){case 1:case 2:case 4:case 8:case 64:return y+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Se(){var g=et;return et<<=1,(et&62914560)===0&&(et=4194304),g}function Nt(g){for(var y=[],w=0;31>w;w++)y.push(g);return y}function At(g,y){g.pendingLanes|=y,y!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function Et(g,y,w,A,G,W){var re=g.pendingLanes;g.pendingLanes=w,g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0,g.expiredLanes&=w,g.entangledLanes&=w,g.errorRecoveryDisabledLanes&=w,g.shellSuspendCounter=0;var ge=g.entanglements,Ve=g.expirationTimes,ut=g.hiddenUpdates;for(w=re&~w;0"u")return null;try{return g.activeElement||g.body}catch{return g.body}}var cE=/[\n"\\]/g;function cn(g){return g.replace(cE,function(y){return"\\"+y.charCodeAt(0).toString(16)+" "})}function Xo(g,y,w,A,G,W,re,ge){g.name="",re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?g.type=re:g.removeAttribute("type"),y!=null?re==="number"?(y===0&&g.value===""||g.value!=y)&&(g.value=""+Gn(y)):g.value!==""+Gn(y)&&(g.value=""+Gn(y)):re!=="submit"&&re!=="reset"||g.removeAttribute("value"),y!=null?Nd(g,re,Gn(y)):w!=null?Nd(g,re,Gn(w)):A!=null&&g.removeAttribute("value"),G==null&&W!=null&&(g.defaultChecked=!!W),G!=null&&(g.checked=G&&typeof G!="function"&&typeof G!="symbol"),ge!=null&&typeof ge!="function"&&typeof ge!="symbol"&&typeof ge!="boolean"?g.name=""+Gn(ge):g.removeAttribute("name")}function X0(g,y,w,A,G,W,re,ge){if(W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(g.type=W),y!=null||w!=null){if(!(W!=="submit"&&W!=="reset"||y!=null)){Rd(g);return}w=w!=null?""+Gn(w):"",y=y!=null?""+Gn(y):w,ge||y===g.value||(g.value=y),g.defaultValue=y}A=A??G,A=typeof A!="function"&&typeof A!="symbol"&&!!A,g.checked=ge?g.checked:!!A,g.defaultChecked=!!A,re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"&&(g.name=re),Rd(g)}function Nd(g,y,w){y==="number"&&Dd(g.ownerDocument)===g||g.defaultValue===""+w||(g.defaultValue=""+w)}function th(g,y,w,A){if(g=g.options,y){y={};for(var G=0;G"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hE=!1;if(Cc)try{var uy={};Object.defineProperty(uy,"passive",{get:function(){hE=!0}}),window.addEventListener("test",uy,uy),window.removeEventListener("test",uy,uy)}catch{hE=!1}var rh=null,dE=null,Mx=null;function KO(){if(Mx)return Mx;var g,y=dE,w=y.length,A,G="value"in rh?rh.value:rh.textContent,W=G.length;for(g=0;g=fy),rI=" ",nI=!1;function iI(g,y){switch(g){case"keyup":return Zue.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function aI(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var J0=!1;function Jue(g,y){switch(g){case"compositionend":return aI(y);case"keypress":return y.which!==32?null:(nI=!0,rI);case"textInput":return g=y.data,g===rI&&nI?null:g;default:return null}}function ehe(g,y){if(J0)return g==="compositionend"||!yE&&iI(g,y)?(g=KO(),Mx=dE=rh=null,J0=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:w,offset:y-g};g=A}e:{for(;w;){if(w.nextSibling){w=w.nextSibling;break e}w=w.parentNode}w=void 0}w=fI(w)}}function gI(g,y){return g&&y?g===y?!0:g&&g.nodeType===3?!1:y&&y.nodeType===3?gI(g,y.parentNode):"contains"in g?g.contains(y):g.compareDocumentPosition?!!(g.compareDocumentPosition(y)&16):!1:!1}function mI(g){g=g!=null&&g.ownerDocument!=null&&g.ownerDocument.defaultView!=null?g.ownerDocument.defaultView:window;for(var y=Dd(g.document);y instanceof g.HTMLIFrameElement;){try{var w=typeof y.contentWindow.location.href=="string"}catch{w=!1}if(w)g=y.contentWindow;else break;y=Dd(g.document)}return y}function xE(g){var y=g&&g.nodeName&&g.nodeName.toLowerCase();return y&&(y==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||y==="textarea"||g.contentEditable==="true")}var lhe=Cc&&"documentMode"in document&&11>=document.documentMode,ep=null,TE=null,yy=null,wE=!1;function yI(g,y,w){var A=w.window===w?w.document:w.nodeType===9?w:w.ownerDocument;wE||ep==null||ep!==Dd(A)||(A=ep,"selectionStart"in A&&xE(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),yy&&my(yy,A)||(yy=A,A=kT(TE,"onSelect"),0>=re,G-=re,kl=1<<32-we(y)+G|w<Or?(Wr=lr,lr=null):Wr=lr.sibling;var nn=dt(rt,lr,ct[Or],Ct);if(nn===null){lr===null&&(lr=Wr);break}g&&lr&&nn.alternate===null&&y(rt,lr),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn,lr=Wr}if(Or===ct.length)return w(rt,lr),Xr&&Ec(rt,Or),fr;if(lr===null){for(;OrOr?(Wr=lr,lr=null):Wr=lr.sibling;var Sh=dt(rt,lr,nn.value,Ct);if(Sh===null){lr===null&&(lr=Wr);break}g&&lr&&Sh.alternate===null&&y(rt,lr),je=W(Sh,je,Or),rn===null?fr=Sh:rn.sibling=Sh,rn=Sh,lr=Wr}if(nn.done)return w(rt,lr),Xr&&Ec(rt,Or),fr;if(lr===null){for(;!nn.done;Or++,nn=ct.next())nn=_t(rt,nn.value,Ct),nn!==null&&(je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return Xr&&Ec(rt,Or),fr}for(lr=A(lr);!nn.done;Or++,nn=ct.next())nn=yt(lr,rt,Or,nn.value,Ct),nn!==null&&(g&&nn.alternate!==null&&lr.delete(nn.key===null?Or:nn.key),je=W(nn,je,Or),rn===null?fr=nn:rn.sibling=nn,rn=nn);return g&&lr.forEach(function(Ade){return y(rt,Ade)}),Xr&&Ec(rt,Or),fr}function Sn(rt,je,ct,Ct){if(typeof ct=="object"&&ct!==null&&ct.type===v&&ct.key===null&&(ct=ct.props.children),typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case p:e:{for(var fr=ct.key;je!==null;){if(je.key===fr){if(fr=ct.type,fr===v){if(je.tag===7){w(rt,je.sibling),Ct=G(je,ct.props.children),Ct.return=rt,rt=Ct;break e}}else if(je.elementType===fr||typeof fr=="object"&&fr!==null&&fr.$$typeof===L&&Ud(fr)===je.type){w(rt,je.sibling),Ct=G(je,ct.props),Cy(Ct,ct),Ct.return=rt,rt=Ct;break e}w(rt,je);break}else y(rt,je);je=je.sibling}ct.type===v?(Ct=$d(ct.props.children,rt.mode,Ct,ct.key),Ct.return=rt,rt=Ct):(Ct=Gx(ct.type,ct.key,ct.props,null,rt.mode,Ct),Cy(Ct,ct),Ct.return=rt,rt=Ct)}return re(rt);case m:e:{for(fr=ct.key;je!==null;){if(je.key===fr)if(je.tag===4&&je.stateNode.containerInfo===ct.containerInfo&&je.stateNode.implementation===ct.implementation){w(rt,je.sibling),Ct=G(je,ct.children||[]),Ct.return=rt,rt=Ct;break e}else{w(rt,je);break}else y(rt,je);je=je.sibling}Ct=LE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct}return re(rt);case L:return ct=Ud(ct),Sn(rt,je,ct,Ct)}if(I(ct))return ir(rt,je,ct,Ct);if(q(ct)){if(fr=q(ct),typeof fr!="function")throw Error(n(150));return ct=fr.call(ct),br(rt,je,ct,Ct)}if(typeof ct.then=="function")return Sn(rt,je,Kx(ct),Ct);if(ct.$$typeof===T)return Sn(rt,je,Wx(rt,ct),Ct);Zx(rt,ct)}return typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint"?(ct=""+ct,je!==null&&je.tag===6?(w(rt,je.sibling),Ct=G(je,ct),Ct.return=rt,rt=Ct):(w(rt,je),Ct=AE(ct,rt.mode,Ct),Ct.return=rt,rt=Ct),re(rt)):w(rt,je)}return function(rt,je,ct,Ct){try{wy=0;var fr=Sn(rt,je,ct,Ct);return hp=null,fr}catch(lr){if(lr===up||lr===Xx)throw lr;var rn=Ys(29,lr,null,rt.mode);return rn.lanes=Ct,rn.return=rt,rn}}}var Wd=zI(!0),qI=zI(!1),oh=!1;function qE(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function VE(g,y){g=g.updateQueue,y.updateQueue===g&&(y.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,callbacks:null})}function lh(g){return{lane:g,tag:0,payload:null,callback:null,next:null}}function ch(g,y,w){var A=g.updateQueue;if(A===null)return null;if(A=A.shared,(un&2)!==0){var G=A.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),A.pending=y,y=Vx(g),SI(g,null,w),y}return qx(g,A,y,w),Vx(g)}function Sy(g,y,w){if(y=y.updateQueue,y!==null&&(y=y.shared,(w&4194048)!==0)){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}function GE(g,y){var w=g.updateQueue,A=g.alternate;if(A!==null&&(A=A.updateQueue,w===A)){var G=null,W=null;if(w=w.firstBaseUpdate,w!==null){do{var re={lane:w.lane,tag:w.tag,payload:w.payload,callback:null,next:null};W===null?G=W=re:W=W.next=re,w=w.next}while(w!==null);W===null?G=W=y:W=W.next=y}else G=W=y;w={baseState:A.baseState,firstBaseUpdate:G,lastBaseUpdate:W,shared:A.shared,callbacks:A.callbacks},g.updateQueue=w;return}g=w.lastBaseUpdate,g===null?w.firstBaseUpdate=y:g.next=y,w.lastBaseUpdate=y}var UE=!1;function Ey(){if(UE){var g=cp;if(g!==null)throw g}}function ky(g,y,w,A){UE=!1;var G=g.updateQueue;oh=!1;var W=G.firstBaseUpdate,re=G.lastBaseUpdate,ge=G.shared.pending;if(ge!==null){G.shared.pending=null;var Ve=ge,ut=Ve.next;Ve.next=null,re===null?W=ut:re.next=ut,re=Ve;var Tt=g.alternate;Tt!==null&&(Tt=Tt.updateQueue,ge=Tt.lastBaseUpdate,ge!==re&&(ge===null?Tt.firstBaseUpdate=ut:ge.next=ut,Tt.lastBaseUpdate=Ve))}if(W!==null){var _t=G.baseState;re=0,Tt=ut=Ve=null,ge=W;do{var dt=ge.lane&-536870913,yt=dt!==ge.lane;if(yt?(Hr&dt)===dt:(A&dt)===dt){dt!==0&&dt===lp&&(UE=!0),Tt!==null&&(Tt=Tt.next={lane:0,tag:ge.tag,payload:ge.payload,callback:null,next:null});e:{var ir=g,br=ge;dt=y;var Sn=w;switch(br.tag){case 1:if(ir=br.payload,typeof ir=="function"){_t=ir.call(Sn,_t,dt);break e}_t=ir;break e;case 3:ir.flags=ir.flags&-65537|128;case 0:if(ir=br.payload,dt=typeof ir=="function"?ir.call(Sn,_t,dt):ir,dt==null)break e;_t=d({},_t,dt);break e;case 2:oh=!0}}dt=ge.callback,dt!==null&&(g.flags|=64,yt&&(g.flags|=8192),yt=G.callbacks,yt===null?G.callbacks=[dt]:yt.push(dt))}else yt={lane:dt,tag:ge.tag,payload:ge.payload,callback:ge.callback,next:null},Tt===null?(ut=Tt=yt,Ve=_t):Tt=Tt.next=yt,re|=dt;if(ge=ge.next,ge===null){if(ge=G.shared.pending,ge===null)break;yt=ge,ge=yt.next,yt.next=null,G.lastBaseUpdate=yt,G.shared.pending=null}}while(!0);Tt===null&&(Ve=_t),G.baseState=Ve,G.firstBaseUpdate=ut,G.lastBaseUpdate=Tt,W===null&&(G.shared.lanes=0),ph|=re,g.lanes=re,g.memoizedState=_t}}function VI(g,y){if(typeof g!="function")throw Error(n(191,g));g.call(y)}function GI(g,y){var w=g.callbacks;if(w!==null)for(g.callbacks=null,g=0;gW?W:8;var re=N.T,ge={};N.T=ge,ck(g,!1,y,w);try{var Ve=G(),ut=N.S;if(ut!==null&&ut(ge,Ve),Ve!==null&&typeof Ve=="object"&&typeof Ve.then=="function"){var Tt=yhe(Ve,A);Ly(g,y,Tt,Qs(g))}else Ly(g,y,A,Qs(g))}catch(_t){Ly(g,y,{then:function(){},status:"rejected",reason:_t},Qs())}finally{B.p=W,re!==null&&ge.types!==null&&(re.types=ge.types),N.T=re}}function Che(){}function ok(g,y,w,A){if(g.tag!==5)throw Error(n(476));var G=TB(g).queue;xB(g,G,y,M,w===null?Che:function(){return wB(g),w(A)})}function TB(g){var y=g.memoizedState;if(y!==null)return y;y={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lc,lastRenderedState:M},next:null};var w={};return y.next={memoizedState:w,baseState:w,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lc,lastRenderedState:w},next:null},g.memoizedState=y,g=g.alternate,g!==null&&(g.memoizedState=y),y}function wB(g){var y=TB(g);y.next===null&&(y=g.alternate.memoizedState),Ly(g,y.next.queue,{},Qs())}function lk(){return ma(Wy)}function CB(){return Ci().memoizedState}function SB(){return Ci().memoizedState}function She(g){for(var y=g.return;y!==null;){switch(y.tag){case 24:case 3:var w=Qs();g=lh(w);var A=ch(y,g,w);A!==null&&(As(A,y,w),Sy(A,y,w)),y={cache:PE()},g.payload=y;return}y=y.return}}function Ehe(g,y,w){var A=Qs();w={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null},oT(g)?kB(y,w):(w=kE(g,y,w,A),w!==null&&(As(w,g,A),_B(w,y,A)))}function EB(g,y,w){var A=Qs();Ly(g,y,w,A)}function Ly(g,y,w,A){var G={lane:A,revertLane:0,gesture:null,action:w,hasEagerState:!1,eagerState:null,next:null};if(oT(g))kB(y,G);else{var W=g.alternate;if(g.lanes===0&&(W===null||W.lanes===0)&&(W=y.lastRenderedReducer,W!==null))try{var re=y.lastRenderedState,ge=W(re,w);if(G.hasEagerState=!0,G.eagerState=ge,Ws(ge,re))return qx(g,y,G,0),Ln===null&&zx(),!1}catch{}if(w=kE(g,y,G,A),w!==null)return As(w,g,A),_B(w,y,A),!0}return!1}function ck(g,y,w,A){if(A={lane:2,revertLane:qk(),gesture:null,action:A,hasEagerState:!1,eagerState:null,next:null},oT(g)){if(y)throw Error(n(479))}else y=kE(g,w,A,2),y!==null&&As(y,g,2)}function oT(g){var y=g.alternate;return g===Mr||y!==null&&y===Mr}function kB(g,y){fp=eT=!0;var w=g.pending;w===null?y.next=y:(y.next=w.next,w.next=y),g.pending=y}function _B(g,y,w){if((w&4194048)!==0){var A=y.lanes;A&=g.pendingLanes,w|=A,y.lanes=w,St(g,w)}}var Ry={readContext:ma,use:nT,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useLayoutEffect:fi,useInsertionEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useSyncExternalStore:fi,useId:fi,useHostTransitionStatus:fi,useFormState:fi,useActionState:fi,useOptimistic:fi,useMemoCache:fi,useCacheRefresh:fi};Ry.useEffectEvent=fi;var AB={readContext:ma,use:nT,useCallback:function(g,y){return Ka().memoizedState=[g,y===void 0?null:y],g},useContext:ma,useEffect:hB,useImperativeHandle:function(g,y,w){w=w!=null?w.concat([g]):null,aT(4194308,4,gB.bind(null,y,g),w)},useLayoutEffect:function(g,y){return aT(4194308,4,g,y)},useInsertionEffect:function(g,y){aT(4,2,g,y)},useMemo:function(g,y){var w=Ka();y=y===void 0?null:y;var A=g();if(Yd){fe(!0);try{g()}finally{fe(!1)}}return w.memoizedState=[A,y],A},useReducer:function(g,y,w){var A=Ka();if(w!==void 0){var G=w(y);if(Yd){fe(!0);try{w(y)}finally{fe(!1)}}}else G=y;return A.memoizedState=A.baseState=G,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:G},A.queue=g,g=g.dispatch=Ehe.bind(null,Mr,g),[A.memoizedState,g]},useRef:function(g){var y=Ka();return g={current:g},y.memoizedState=g},useState:function(g){g=rk(g);var y=g.queue,w=EB.bind(null,Mr,y);return y.dispatch=w,[g.memoizedState,w]},useDebugValue:ak,useDeferredValue:function(g,y){var w=Ka();return sk(w,g,y)},useTransition:function(){var g=rk(!1);return g=xB.bind(null,Mr,g.queue,!0,!1),Ka().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,y,w){var A=Mr,G=Ka();if(Xr){if(w===void 0)throw Error(n(407));w=w()}else{if(w=y(),Ln===null)throw Error(n(349));(Hr&127)!==0||jI(A,y,w)}G.memoizedState=w;var W={value:w,getSnapshot:y};return G.queue=W,hB(ZI.bind(null,A,W,g),[g]),A.flags|=2048,gp(9,{destroy:void 0},KI.bind(null,A,W,w,y),null),w},useId:function(){var g=Ka(),y=Ln.identifierPrefix;if(Xr){var w=_l,A=kl;w=(A&~(1<<32-we(A)-1)).toString(32)+w,y="_"+y+"R_"+w,w=tT++,0<\/script>",W=W.removeChild(W.firstChild);break;case"select":W=typeof A.is=="string"?re.createElement("select",{is:A.is}):re.createElement("select"),A.multiple?W.multiple=!0:A.size&&(W.size=A.size);break;default:W=typeof A.is=="string"?re.createElement(G,{is:A.is}):re.createElement(G)}}W[nt]=y,W[st]=A;e:for(re=y.child;re!==null;){if(re.tag===5||re.tag===6)W.appendChild(re.stateNode);else if(re.tag!==4&&re.tag!==27&&re.child!==null){re.child.return=re,re=re.child;continue}if(re===y)break e;for(;re.sibling===null;){if(re.return===null||re.return===y)break e;re=re.return}re.sibling.return=re.return,re=re.sibling}y.stateNode=W;e:switch(va(W,G,A),G){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break e;case"img":A=!0;break e;default:A=!1}A&&Dc(y)}}return $n(y),Ck(y,y.type,g===null?null:g.memoizedProps,y.pendingProps,w),null;case 6:if(g&&y.stateNode!=null)g.memoizedProps!==A&&Dc(y);else{if(typeof A!="string"&&y.stateNode===null)throw Error(n(166));if(g=ee.current,sp(y)){if(g=y.stateNode,w=y.memoizedProps,A=null,G=ga,G!==null)switch(G.tag){case 27:case 5:A=G.memoizedProps}g[nt]=y,g=!!(g.nodeValue===w||A!==null&&A.suppressHydrationWarning===!0||YP(g.nodeValue,w)),g||ah(y,!0)}else g=_T(g).createTextNode(A),g[nt]=y,y.stateNode=g}return $n(y),null;case 31:if(w=y.memoizedState,g===null||g.memoizedState!==null){if(A=sp(y),w!==null){if(g===null){if(!A)throw Error(n(318));if(g=y.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(557));g[nt]=y}else zd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),g=!1}else w=ME(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=w),g=!0;if(!g)return y.flags&256?(js(y),y):(js(y),null);if((y.flags&128)!==0)throw Error(n(558))}return $n(y),null;case 13:if(A=y.memoizedState,g===null||g.memoizedState!==null&&g.memoizedState.dehydrated!==null){if(G=sp(y),A!==null&&A.dehydrated!==null){if(g===null){if(!G)throw Error(n(318));if(G=y.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(n(317));G[nt]=y}else zd(),(y.flags&128)===0&&(y.memoizedState=null),y.flags|=4;$n(y),G=!1}else G=ME(),g!==null&&g.memoizedState!==null&&(g.memoizedState.hydrationErrors=G),G=!0;if(!G)return y.flags&256?(js(y),y):(js(y),null)}return js(y),(y.flags&128)!==0?(y.lanes=w,y):(w=A!==null,g=g!==null&&g.memoizedState!==null,w&&(A=y.child,G=null,A.alternate!==null&&A.alternate.memoizedState!==null&&A.alternate.memoizedState.cachePool!==null&&(G=A.alternate.memoizedState.cachePool.pool),W=null,A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(W=A.memoizedState.cachePool.pool),W!==G&&(A.flags|=2048)),w!==g&&w&&(y.child.flags|=8192),dT(y,y.updateQueue),$n(y),null);case 4:return te(),g===null&&Hk(y.stateNode.containerInfo),$n(y),null;case 10:return _c(y.type),$n(y),null;case 19:if(H(wi),A=y.memoizedState,A===null)return $n(y),null;if(G=(y.flags&128)!==0,W=A.rendering,W===null)if(G)Ny(A,!1);else{if(pi!==0||g!==null&&(g.flags&128)!==0)for(g=y.child;g!==null;){if(W=Jx(g),W!==null){for(y.flags|=128,Ny(A,!1),g=W.updateQueue,y.updateQueue=g,dT(y,g),y.subtreeFlags=0,g=w,w=y.child;w!==null;)EI(w,g),w=w.sibling;return X(wi,wi.current&1|2),Xr&&Ec(y,A.treeForkCount),y.child}g=g.sibling}A.tail!==null&&Ge()>yT&&(y.flags|=128,G=!0,Ny(A,!1),y.lanes=4194304)}else{if(!G)if(g=Jx(W),g!==null){if(y.flags|=128,G=!0,g=g.updateQueue,y.updateQueue=g,dT(y,g),Ny(A,!0),A.tail===null&&A.tailMode==="hidden"&&!W.alternate&&!Xr)return $n(y),null}else 2*Ge()-A.renderingStartTime>yT&&w!==536870912&&(y.flags|=128,G=!0,Ny(A,!1),y.lanes=4194304);A.isBackwards?(W.sibling=y.child,y.child=W):(g=A.last,g!==null?g.sibling=W:y.child=W,A.last=W)}return A.tail!==null?(g=A.tail,A.rendering=g,A.tail=g.sibling,A.renderingStartTime=Ge(),g.sibling=null,w=wi.current,X(wi,G?w&1|2:w&1),Xr&&Ec(y,A.treeForkCount),g):($n(y),null);case 22:case 23:return js(y),WE(),A=y.memoizedState!==null,g!==null?g.memoizedState!==null!==A&&(y.flags|=8192):A&&(y.flags|=8192),A?(w&536870912)!==0&&(y.flags&128)===0&&($n(y),y.subtreeFlags&6&&(y.flags|=8192)):$n(y),w=y.updateQueue,w!==null&&dT(y,w.retryQueue),w=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),A=null,y.memoizedState!==null&&y.memoizedState.cachePool!==null&&(A=y.memoizedState.cachePool.pool),A!==w&&(y.flags|=2048),g!==null&&H(Gd),null;case 24:return w=null,g!==null&&(w=g.memoizedState.cache),y.memoizedState.cache!==w&&(y.flags|=2048),_c(Di),$n(y),null;case 25:return null;case 30:return null}throw Error(n(156,y.tag))}function Rhe(g,y){switch(DE(y),y.tag){case 1:return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 3:return _c(Di),te(),g=y.flags,(g&65536)!==0&&(g&128)===0?(y.flags=g&-65537|128,y):null;case 26:case 27:case 5:return ie(y),null;case 31:if(y.memoizedState!==null){if(js(y),y.alternate===null)throw Error(n(340));zd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 13:if(js(y),g=y.memoizedState,g!==null&&g.dehydrated!==null){if(y.alternate===null)throw Error(n(340));zd()}return g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 19:return H(wi),null;case 4:return te(),null;case 10:return _c(y.type),null;case 22:case 23:return js(y),WE(),g!==null&&H(Gd),g=y.flags,g&65536?(y.flags=g&-65537|128,y):null;case 24:return _c(Di),null;case 25:return null;default:return null}}function QB(g,y){switch(DE(y),y.tag){case 3:_c(Di),te();break;case 26:case 27:case 5:ie(y);break;case 4:te();break;case 31:y.memoizedState!==null&&js(y);break;case 13:js(y);break;case 19:H(wi);break;case 10:_c(y.type);break;case 22:case 23:js(y),WE(),g!==null&&H(Gd);break;case 24:_c(Di)}}function My(g,y){try{var w=y.updateQueue,A=w!==null?w.lastEffect:null;if(A!==null){var G=A.next;w=G;do{if((w.tag&g)===g){A=void 0;var W=w.create,re=w.inst;A=W(),re.destroy=A}w=w.next}while(w!==G)}}catch(ge){xn(y,y.return,ge)}}function dh(g,y,w){try{var A=y.updateQueue,G=A!==null?A.lastEffect:null;if(G!==null){var W=G.next;A=W;do{if((A.tag&g)===g){var re=A.inst,ge=re.destroy;if(ge!==void 0){re.destroy=void 0,G=y;var Ve=w,ut=ge;try{ut()}catch(Tt){xn(G,Ve,Tt)}}}A=A.next}while(A!==W)}}catch(Tt){xn(y,y.return,Tt)}}function JB(g){var y=g.updateQueue;if(y!==null){var w=g.stateNode;try{GI(y,w)}catch(A){xn(g,g.return,A)}}}function eP(g,y,w){w.props=Xd(g.type,g.memoizedProps),w.state=g.memoizedState;try{w.componentWillUnmount()}catch(A){xn(g,y,A)}}function Oy(g,y){try{var w=g.ref;if(w!==null){switch(g.tag){case 26:case 27:case 5:var A=g.stateNode;break;case 30:A=g.stateNode;break;default:A=g.stateNode}typeof w=="function"?g.refCleanup=w(A):w.current=A}}catch(G){xn(g,y,G)}}function Al(g,y){var w=g.ref,A=g.refCleanup;if(w!==null)if(typeof A=="function")try{A()}catch(G){xn(g,y,G)}finally{g.refCleanup=null,g=g.alternate,g!=null&&(g.refCleanup=null)}else if(typeof w=="function")try{w(null)}catch(G){xn(g,y,G)}else w.current=null}function tP(g){var y=g.type,w=g.memoizedProps,A=g.stateNode;try{e:switch(y){case"button":case"input":case"select":case"textarea":w.autoFocus&&A.focus();break e;case"img":w.src?A.src=w.src:w.srcSet&&(A.srcset=w.srcSet)}}catch(G){xn(g,g.return,G)}}function Sk(g,y,w){try{var A=g.stateNode;Qhe(A,g.type,w,y),A[st]=y}catch(G){xn(g,g.return,G)}}function rP(g){return g.tag===5||g.tag===3||g.tag===26||g.tag===27&&bh(g.type)||g.tag===4}function Ek(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||rP(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.tag===27&&bh(g.type)||g.flags&2||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function kk(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?(w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w).insertBefore(g,y):(y=w.nodeType===9?w.body:w.nodeName==="HTML"?w.ownerDocument.body:w,y.appendChild(g),w=w._reactRootContainer,w!=null||y.onclick!==null||(y.onclick=ws));else if(A!==4&&(A===27&&bh(g.type)&&(w=g.stateNode,y=null),g=g.child,g!==null))for(kk(g,y,w),g=g.sibling;g!==null;)kk(g,y,w),g=g.sibling}function fT(g,y,w){var A=g.tag;if(A===5||A===6)g=g.stateNode,y?w.insertBefore(g,y):w.appendChild(g);else if(A!==4&&(A===27&&bh(g.type)&&(w=g.stateNode),g=g.child,g!==null))for(fT(g,y,w),g=g.sibling;g!==null;)fT(g,y,w),g=g.sibling}function nP(g){var y=g.stateNode,w=g.memoizedProps;try{for(var A=g.type,G=y.attributes;G.length;)y.removeAttributeNode(G[0]);va(y,A,w),y[nt]=g,y[st]=w}catch(W){xn(g,g.return,W)}}var Nc=!1,Oi=!1,_k=!1,iP=typeof WeakSet=="function"?WeakSet:Set,aa=null;function Dhe(g,y){if(g=g.containerInfo,Xk=OT,g=mI(g),xE(g)){if("selectionStart"in g)var w={start:g.selectionStart,end:g.selectionEnd};else e:{w=(w=g.ownerDocument)&&w.defaultView||window;var A=w.getSelection&&w.getSelection();if(A&&A.rangeCount!==0){w=A.anchorNode;var G=A.anchorOffset,W=A.focusNode;A=A.focusOffset;try{w.nodeType,W.nodeType}catch{w=null;break e}var re=0,ge=-1,Ve=-1,ut=0,Tt=0,_t=g,dt=null;t:for(;;){for(var yt;_t!==w||G!==0&&_t.nodeType!==3||(ge=re+G),_t!==W||A!==0&&_t.nodeType!==3||(Ve=re+A),_t.nodeType===3&&(re+=_t.nodeValue.length),(yt=_t.firstChild)!==null;)dt=_t,_t=yt;for(;;){if(_t===g)break t;if(dt===w&&++ut===G&&(ge=re),dt===W&&++Tt===A&&(Ve=re),(yt=_t.nextSibling)!==null)break;_t=dt,dt=_t.parentNode}_t=yt}w=ge===-1||Ve===-1?null:{start:ge,end:Ve}}else w=null}w=w||{start:0,end:0}}else w=null;for(jk={focusedElem:g,selectionRange:w},OT=!1,aa=y;aa!==null;)if(y=aa,g=y.child,(y.subtreeFlags&1028)!==0&&g!==null)g.return=y,aa=g;else for(;aa!==null;){switch(y=aa,W=y.alternate,g=y.flags,y.tag){case 0:if((g&4)!==0&&(g=y.updateQueue,g=g!==null?g.events:null,g!==null))for(w=0;w title"))),va(W,A,w),W[nt]=g,Cr(W),A=W;break e;case"link":var re=uF("link","href",G).get(A+(w.href||""));if(re){for(var ge=0;geSn&&(re=Sn,Sn=br,br=re);var rt=pI(ge,br),je=pI(ge,Sn);if(rt&&je&&(yt.rangeCount!==1||yt.anchorNode!==rt.node||yt.anchorOffset!==rt.offset||yt.focusNode!==je.node||yt.focusOffset!==je.offset)){var ct=_t.createRange();ct.setStart(rt.node,rt.offset),yt.removeAllRanges(),br>Sn?(yt.addRange(ct),yt.extend(je.node,je.offset)):(ct.setEnd(je.node,je.offset),yt.addRange(ct))}}}}for(_t=[],yt=ge;yt=yt.parentNode;)yt.nodeType===1&&_t.push({element:yt,left:yt.scrollLeft,top:yt.scrollTop});for(typeof ge.focus=="function"&&ge.focus(),ge=0;ge<_t.length;ge++){var Ct=_t[ge];Ct.element.scrollLeft=Ct.left,Ct.element.scrollTop=Ct.top}}OT=!!Xk,jk=Xk=null}finally{un=G,B.p=A,N.T=w}}g.current=y,Wi=2}}function DP(){if(Wi===2){Wi=0;var g=mh,y=xp,w=(y.flags&8772)!==0;if((y.subtreeFlags&8772)!==0||w){w=N.T,N.T=null;var A=B.p;B.p=2;var G=un;un|=4;try{aP(g,y.alternate,y)}finally{un=G,B.p=A,N.T=w}}Wi=3}}function NP(){if(Wi===4||Wi===3){Wi=0,Re();var g=mh,y=xp,w=Pc,A=vP;(y.subtreeFlags&10256)!==0||(y.flags&10256)!==0?Wi=5:(Wi=0,xp=mh=null,MP(g,g.pendingLanes));var G=g.pendingLanes;if(G===0&&(gh=null),Mt(w),y=y.stateNode,de&&typeof de.onCommitFiberRoot=="function")try{de.onCommitFiberRoot(Y,y,void 0,(y.current.flags&128)===128)}catch{}if(A!==null){y=N.T,G=B.p,B.p=2,N.T=null;try{for(var W=g.onRecoverableError,re=0;rew?32:w,N.T=null,w=Ok,Ok=null;var W=mh,re=Pc;if(Wi=0,xp=mh=null,Pc=0,(un&6)!==0)throw Error(n(331));var ge=un;if(un|=4,gP(W.current),dP(W,W.current,re,w),un=ge,zy(0,!1),de&&typeof de.onPostCommitFiberRoot=="function")try{de.onPostCommitFiberRoot(Y,W)}catch{}return!0}finally{B.p=G,N.T=A,MP(g,y)}}function IP(g,y,w){y=Co(w,y),y=fk(g.stateNode,y,2),g=ch(g,y,2),g!==null&&(At(g,2),Ll(g))}function xn(g,y,w){if(g.tag===3)IP(g,g,w);else for(;y!==null;){if(y.tag===3){IP(y,g,w);break}else if(y.tag===1){var A=y.stateNode;if(typeof y.type.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&(gh===null||!gh.has(A))){g=Co(w,g),w=BB(2),A=ch(y,w,2),A!==null&&(PB(w,A,y,g),At(A,2),Ll(A));break}}y=y.return}}function Fk(g,y,w){var A=g.pingCache;if(A===null){A=g.pingCache=new Ohe;var G=new Set;A.set(y,G)}else G=A.get(y),G===void 0&&(G=new Set,A.set(y,G));G.has(w)||(Rk=!0,G.add(w),g=$he.bind(null,g,y,w),y.then(g,g))}function $he(g,y,w){var A=g.pingCache;A!==null&&A.delete(y),g.pingedLanes|=g.suspendedLanes&w,g.warmLanes&=~w,Ln===g&&(Hr&w)===w&&(pi===4||pi===3&&(Hr&62914560)===Hr&&300>Ge()-mT?(un&2)===0&&Tp(g,0):Dk|=w,bp===Hr&&(bp=0)),Ll(g)}function BP(g,y){y===0&&(y=Se()),g=Fd(g,y),g!==null&&(At(g,y),Ll(g))}function zhe(g){var y=g.memoizedState,w=0;y!==null&&(w=y.retryLane),BP(g,w)}function qhe(g,y){var w=0;switch(g.tag){case 31:case 13:var A=g.stateNode,G=g.memoizedState;G!==null&&(w=G.retryLane);break;case 19:A=g.stateNode;break;case 22:A=g.stateNode._retryCache;break;default:throw Error(n(314))}A!==null&&A.delete(y),BP(g,w)}function Vhe(g,y){return We(g,y)}var CT=null,Cp=null,$k=!1,ST=!1,zk=!1,vh=0;function Ll(g){g!==Cp&&g.next===null&&(Cp===null?CT=Cp=g:Cp=Cp.next=g),ST=!0,$k||($k=!0,Uhe())}function zy(g,y){if(!zk&&ST){zk=!0;do for(var w=!1,A=CT;A!==null;){if(g!==0){var G=A.pendingLanes;if(G===0)var W=0;else{var re=A.suspendedLanes,ge=A.pingedLanes;W=(1<<31-we(42|g)+1)-1,W&=G&~(re&~ge),W=W&201326741?W&201326741|1:W?W|2:0}W!==0&&(w=!0,zP(A,W))}else W=Hr,W=lt(A,A===Ln?W:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),(W&3)===0||ve(A,W)||(w=!0,zP(A,W));A=A.next}while(w);zk=!1}}function Ghe(){PP()}function PP(){ST=$k=!1;var g=0;vh!==0&&ede()&&(g=vh);for(var y=Ge(),w=null,A=CT;A!==null;){var G=A.next,W=FP(A,y);W===0?(A.next=null,w===null?CT=G:w.next=G,G===null&&(Cp=w)):(w=A,(g!==0||(W&3)!==0)&&(ST=!0)),A=G}Wi!==0&&Wi!==5||zy(g),vh!==0&&(vh=0)}function FP(g,y){for(var w=g.suspendedLanes,A=g.pingedLanes,G=g.expirationTimes,W=g.pendingLanes&-62914561;0ge)break;var Tt=Ve.transferSize,_t=Ve.initiatorType;Tt&&XP(_t)&&(Ve=Ve.responseEnd,re+=Tt*(Ve"u"?null:document;function sF(g,y,w){var A=Sp;if(A&&typeof y=="string"&&y){var G=cn(y);G='link[rel="'+g+'"][href="'+G+'"]',typeof w=="string"&&(G+='[crossorigin="'+w+'"]'),aF.has(G)||(aF.add(G),g={rel:g,crossOrigin:w,href:y},A.querySelector(G)===null&&(y=A.createElement("link"),va(y,"link",g),Cr(y),A.head.appendChild(y)))}}function cde(g){Fc.D(g),sF("dns-prefetch",g,null)}function ude(g,y){Fc.C(g,y),sF("preconnect",g,y)}function hde(g,y,w){Fc.L(g,y,w);var A=Sp;if(A&&g&&y){var G='link[rel="preload"][as="'+cn(y)+'"]';y==="image"&&w&&w.imageSrcSet?(G+='[imagesrcset="'+cn(w.imageSrcSet)+'"]',typeof w.imageSizes=="string"&&(G+='[imagesizes="'+cn(w.imageSizes)+'"]')):G+='[href="'+cn(g)+'"]';var W=G;switch(y){case"style":W=Ep(g);break;case"script":W=kp(g)}Lo.has(W)||(g=d({rel:"preload",href:y==="image"&&w&&w.imageSrcSet?void 0:g,as:y},w),Lo.set(W,g),A.querySelector(G)!==null||y==="style"&&A.querySelector(Uy(W))||y==="script"&&A.querySelector(Hy(W))||(y=A.createElement("link"),va(y,"link",g),Cr(y),A.head.appendChild(y)))}}function dde(g,y){Fc.m(g,y);var w=Sp;if(w&&g){var A=y&&typeof y.as=="string"?y.as:"script",G='link[rel="modulepreload"][as="'+cn(A)+'"][href="'+cn(g)+'"]',W=G;switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":W=kp(g)}if(!Lo.has(W)&&(g=d({rel:"modulepreload",href:g},y),Lo.set(W,g),w.querySelector(G)===null)){switch(A){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(w.querySelector(Hy(W)))return}A=w.createElement("link"),va(A,"link",g),Cr(A),w.head.appendChild(A)}}}function fde(g,y,w){Fc.S(g,y,w);var A=Sp;if(A&&g){var G=_r(A).hoistableStyles,W=Ep(g);y=y||"default";var re=G.get(W);if(!re){var ge={loading:0,preload:null};if(re=A.querySelector(Uy(W)))ge.loading=5;else{g=d({rel:"stylesheet",href:g,"data-precedence":y},w),(w=Lo.get(W))&&r6(g,w);var Ve=re=A.createElement("link");Cr(Ve),va(Ve,"link",g),Ve._p=new Promise(function(ut,Tt){Ve.onload=ut,Ve.onerror=Tt}),Ve.addEventListener("load",function(){ge.loading|=1}),Ve.addEventListener("error",function(){ge.loading|=2}),ge.loading|=4,LT(re,y,A)}re={type:"stylesheet",instance:re,count:1,state:ge},G.set(W,re)}}}function pde(g,y){Fc.X(g,y);var w=Sp;if(w&&g){var A=_r(w).hoistableScripts,G=kp(g),W=A.get(G);W||(W=w.querySelector(Hy(G)),W||(g=d({src:g,async:!0},y),(y=Lo.get(G))&&n6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function gde(g,y){Fc.M(g,y);var w=Sp;if(w&&g){var A=_r(w).hoistableScripts,G=kp(g),W=A.get(G);W||(W=w.querySelector(Hy(G)),W||(g=d({src:g,async:!0,type:"module"},y),(y=Lo.get(G))&&n6(g,y),W=w.createElement("script"),Cr(W),va(W,"link",g),w.head.appendChild(W)),W={type:"script",instance:W,count:1,state:null},A.set(G,W))}}function oF(g,y,w,A){var G=(G=ee.current)?AT(G):null;if(!G)throw Error(n(446));switch(g){case"meta":case"title":return null;case"style":return typeof w.precedence=="string"&&typeof w.href=="string"?(y=Ep(w.href),w=_r(G).hoistableStyles,A=w.get(y),A||(A={type:"style",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};case"link":if(w.rel==="stylesheet"&&typeof w.href=="string"&&typeof w.precedence=="string"){g=Ep(w.href);var W=_r(G).hoistableStyles,re=W.get(g);if(re||(G=G.ownerDocument||G,re={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},W.set(g,re),(W=G.querySelector(Uy(g)))&&!W._p&&(re.instance=W,re.state.loading=5),Lo.has(g)||(w={rel:"preload",as:"style",href:w.href,crossOrigin:w.crossOrigin,integrity:w.integrity,media:w.media,hrefLang:w.hrefLang,referrerPolicy:w.referrerPolicy},Lo.set(g,w),W||mde(G,g,w,re.state))),y&&A===null)throw Error(n(528,""));return re}if(y&&A!==null)throw Error(n(529,""));return null;case"script":return y=w.async,w=w.src,typeof w=="string"&&y&&typeof y!="function"&&typeof y!="symbol"?(y=kp(w),w=_r(G).hoistableScripts,A=w.get(y),A||(A={type:"script",instance:null,count:0,state:null},w.set(y,A)),A):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,g))}}function Ep(g){return'href="'+cn(g)+'"'}function Uy(g){return'link[rel="stylesheet"]['+g+"]"}function lF(g){return d({},g,{"data-precedence":g.precedence,precedence:null})}function mde(g,y,w,A){g.querySelector('link[rel="preload"][as="style"]['+y+"]")?A.loading=1:(y=g.createElement("link"),A.preload=y,y.addEventListener("load",function(){return A.loading|=1}),y.addEventListener("error",function(){return A.loading|=2}),va(y,"link",w),Cr(y),g.head.appendChild(y))}function kp(g){return'[src="'+cn(g)+'"]'}function Hy(g){return"script[async]"+g}function cF(g,y,w){if(y.count++,y.instance===null)switch(y.type){case"style":var A=g.querySelector('style[data-href~="'+cn(w.href)+'"]');if(A)return y.instance=A,Cr(A),A;var G=d({},w,{"data-href":w.href,"data-precedence":w.precedence,href:null,precedence:null});return A=(g.ownerDocument||g).createElement("style"),Cr(A),va(A,"style",G),LT(A,w.precedence,g),y.instance=A;case"stylesheet":G=Ep(w.href);var W=g.querySelector(Uy(G));if(W)return y.state.loading|=4,y.instance=W,Cr(W),W;A=lF(w),(G=Lo.get(G))&&r6(A,G),W=(g.ownerDocument||g).createElement("link"),Cr(W);var re=W;return re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",A),y.state.loading|=4,LT(W,w.precedence,g),y.instance=W;case"script":return W=kp(w.src),(G=g.querySelector(Hy(W)))?(y.instance=G,Cr(G),G):(A=w,(G=Lo.get(W))&&(A=d({},w),n6(A,G)),g=g.ownerDocument||g,G=g.createElement("script"),Cr(G),va(G,"link",A),g.head.appendChild(G),y.instance=G);case"void":return null;default:throw Error(n(443,y.type))}else y.type==="stylesheet"&&(y.state.loading&4)===0&&(A=y.instance,y.state.loading|=4,LT(A,w.precedence,g));return y.instance}function LT(g,y,w){for(var A=w.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),G=A.length?A[A.length-1]:null,W=G,re=0;re title"):null)}function yde(g,y,w){if(w===1||y.itemProp!=null)return!1;switch(g){case"meta":case"title":return!0;case"style":if(typeof y.precedence!="string"||typeof y.href!="string"||y.href==="")break;return!0;case"link":if(typeof y.rel!="string"||typeof y.href!="string"||y.href===""||y.onLoad||y.onError)break;return y.rel==="stylesheet"?(g=y.disabled,typeof y.precedence=="string"&&g==null):!0;case"script":if(y.async&&typeof y.async!="function"&&typeof y.async!="symbol"&&!y.onLoad&&!y.onError&&y.src&&typeof y.src=="string")return!0}return!1}function dF(g){return!(g.type==="stylesheet"&&(g.state.loading&3)===0)}function vde(g,y,w,A){if(w.type==="stylesheet"&&(typeof A.media!="string"||matchMedia(A.media).matches!==!1)&&(w.state.loading&4)===0){if(w.instance===null){var G=Ep(A.href),W=y.querySelector(Uy(G));if(W){y=W._p,y!==null&&typeof y=="object"&&typeof y.then=="function"&&(g.count++,g=DT.bind(g),y.then(g,g)),w.state.loading|=4,w.instance=W,Cr(W);return}W=y.ownerDocument||y,A=lF(A),(G=Lo.get(G))&&r6(A,G),W=W.createElement("link"),Cr(W);var re=W;re._p=new Promise(function(ge,Ve){re.onload=ge,re.onerror=Ve}),va(W,"link",A),w.instance=W}g.stylesheets===null&&(g.stylesheets=new Map),g.stylesheets.set(w,y),(y=w.state.preload)&&(w.state.loading&3)===0&&(g.count++,w=DT.bind(g),y.addEventListener("load",w),y.addEventListener("error",w))}}var i6=0;function bde(g,y){return g.stylesheets&&g.count===0&&MT(g,g.stylesheets),0i6?50:800)+y);return g.unsuspend=w,function(){g.unsuspend=null,clearTimeout(A),clearTimeout(G)}}:null}function DT(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)MT(this,this.stylesheets);else if(this.unsuspend){var g=this.unsuspend;this.unsuspend=null,g()}}}var NT=null;function MT(g,y){g.stylesheets=null,g.unsuspend!==null&&(g.count++,NT=new Map,y.forEach(xde,g),NT=null,DT.call(g))}function xde(g,y){if(!(y.state.loading&4)){var w=NT.get(g);if(w)var A=w.get(null);else{w=new Map,NT.set(g,w);for(var G=g.querySelectorAll("link[data-precedence],style[data-precedence]"),W=0;W"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),f6.exports=Fde(),f6.exports}var zde=$de();const Ua=Zt.createContext({});function qde({children:t}){const[e,r]=Zt.useState(!0),[n,i]=Zt.useState({classname:"",steps:[]}),[a,s]=Zt.useState([]),[o,l]=Zt.useState(!1),[u,h]=Zt.useState(null),[d,f]=Zt.useState(""),[p,m]=Zt.useState(""),[v,b]=Zt.useState(""),[x,C]=Zt.useState([]),[T,E]=Zt.useState([]),[_,R]=Zt.useState("error"),[k,L]=Zt.useState(null),[O,F]=Zt.useState(null),[$,q]=Zt.useState([]),[z,D]=Zt.useState(null),[I,N]=Zt.useState(""),[B,M]=Zt.useState(null);return De.jsx(Ua.Provider,{value:{isLoading:e,setIsLoading:r,selectedSteps:a,setSelectedSteps:s,idaesRunInfo:n,setidaesRunInfo:i,isRunningFlowsheet:o,setIsRunningFlowsheet:l,flowsheetRunnerResult:u,setFlowsheetRunnerResult:h,editorContent:d,setEditorContent:f,activateFileName:p,setActivateFileName:m,mermaidDiagram:v,setMermaidDiagram:b,extensionErrorLogs:x,setExtensionErrorLogs:C,terminalLogs:T,setTerminalLogs:E,activeLogTab:_,setActiveLogTab:R,initError:k,setInitError:L,packageWarnings:O,setPackageWarnings:F,openPythonFiles:$,setOpenPythonFiles:q,idaesHistoryList:z,setIdaesHistoryList:D,osPlatform:I,setOsPlatform:N,pythonEnvInfo:B,setPythonEnvInfo:M},children:t})}function Vde(){return acquireVsCodeApi()}const Hh=Vde(),Gde="_tree_app_container_jdoxw_1",Ude="_flowsheet_steps_main_container_jdoxw_12",Hde="_flowsheet_file_section_jdoxw_24",Wde="_section_label_jdoxw_28",Yde="_section_hint_jdoxw_35",Xde="_steps_container_jdoxw_42",jde="_steps_actions_footer_jdoxw_48",Kde="_package_warnings_container_jdoxw_55",Zde="_package_warning_item_jdoxw_62",Qde="_package_warning_title_jdoxw_72",Jde="_package_warning_cmd_jdoxw_78",efe="_init_error_box_jdoxw_85",tfe="_init_error_text_jdoxw_91",rfe="_step_selector_container_jdoxw_97",nfe="_python_env_container_jdoxw_103",ife="_python_env_label_jdoxw_107",afe="_python_env_actions_jdoxw_114",sfe="_python_env_path_text_jdoxw_122",ofe="_python_env_icon_btn_jdoxw_134",lfe="_dropdown_select_jdoxw_159",cfe="_step_selector_checkbox_jdoxw_176",ufe="_open_results_view_container_jdoxw_204",hfe="_open_results_view_btn_jdoxw_208",dfe="_view_switch_container_jdoxw_228",ffe="_active_jdoxw_256",kn={tree_app_container:Gde,flowsheet_steps_main_container:Ude,flowsheet_file_section:Hde,section_label:Wde,section_hint:Yde,steps_container:Xde,steps_actions_footer:jde,package_warnings_container:Kde,package_warning_item:Zde,package_warning_title:Qde,package_warning_cmd:Jde,init_error_box:efe,init_error_text:tfe,step_selector_container:rfe,python_env_container:nfe,python_env_label:ife,python_env_actions:afe,python_env_path_text:sfe,python_env_icon_btn:ofe,dropdown_select:lfe,step_selector_checkbox:cfe,open_results_view_container:ufe,open_results_view_btn:hfe,view_switch_container:dfe,active:ffe},pfe="_run_flowsheet_section_ajmxp_1",gfe="_run_flowsheet_button_container_ajmxp_4",mfe="_run_flowsheet_button_ajmxp_4",yfe="_run_flowsheet_animation_container_ajmxp_28",vfe="_running_time_container_ajmxp_35",bfe="_running_timer_container_hidden_ajmxp_42",xfe="_running_time_label_ajmxp_46",Tfe="_running_dots_ajmxp_50",wfe="_running_time_ajmxp_35",Cfe="_cancel_flowsheet_run_btn_ajmxp_60",Sfe="_cancel_flowsheet_run_btn_hidden_ajmxp_71",Ro={run_flowsheet_section:pfe,run_flowsheet_button_container:gfe,run_flowsheet_button:mfe,run_flowsheet_animation_container:yfe,running_time_container:vfe,running_timer_container_hidden:bfe,running_time_label:xfe,running_dots:Tfe,running_time:wfe,cancel_flowsheet_run_btn:Cfe,cancel_flowsheet_run_btn_hidden:Sfe};function Efe(){const{isLoading:t,isRunningFlowsheet:e,setIsRunningFlowsheet:r,setFlowsheetRunnerResult:n,selectedSteps:i,setExtensionErrorLogs:a,setTerminalLogs:s}=Zt.useContext(Ua),[o,l]=Zt.useState(0),[u,h]=Zt.useState("."),[d,f]=Zt.useState(null),p=()=>{if(t)return;const b=i.length>0?i[i.length-1]:"";Hh.postMessage({frontendInstruction:"run_flowsheet",fromPanel:"treeView",selectedSteps:b}),l(0),h("."),a([]),s([]),r(!0)},m=()=>{console.log(`cancelFlowsheetRunHandler triggered, activePid is: ${d}`),Hh.postMessage({frontendInstruction:"kill_process",fromPanel:"treeView",pid:d||999999}),r(!1),l(0),h("."),f(null)};Zt.useEffect(()=>{const b=x=>{const C=x.data;switch(C.type){case"process_started":console.log(`Received process_started message in frontend! PID is: ${C.pid}`),C.pid&&f(C.pid);break;case"flowsheet_detail":n(C.data),r(!1),l(0),h("."),f(null);break}};return window.addEventListener("message",b),()=>window.removeEventListener("message",b)},[n,r]),Zt.useEffect(()=>{let b;return e&&(b=setInterval(()=>{l(x=>x+1),h(x=>x==="."?"..":x===".."?"...":".")},1e3)),()=>{b!==void 0&&clearInterval(b)}},[e]);const v=b=>{const x=Math.floor(b/60),C=b%60;return`${x.toString().padStart(2,"0")}:${C.toString().padStart(2,"0")}`};return De.jsxs("section",{className:`${Ro.run_flowsheet_section}`,children:[De.jsxs("div",{className:`${Ro.run_flowsheet_button_container}`,children:[De.jsxs("button",{className:`${Ro.run_flowsheet_button} ${e?Ro.cancel_flowsheet_run_btn_hidden:""}`,onClick:()=>p(),disabled:t,style:{opacity:t?.5:1,cursor:t?"not-allowed":"pointer"},children:["Run",De.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[De.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.2"}),De.jsx("path",{d:"M6 5L11 8L6 11V5Z",fill:"currentColor"})]})]}),De.jsx("button",{onClick:()=>m(),className:` + ${e?Ro.cancel_flowsheet_run_btn:Ro.cancel_flowsheet_run_btn_hidden} + `,children:"Cancel"})]}),De.jsx("div",{className:`${Ro.run_flowsheet_animation_container}`,children:De.jsxs("div",{className:` + ${e?Ro.running_time_container:Ro.running_timer_container_hidden} + `,children:[De.jsxs("p",{className:`${Ro.running_time_label}`,children:["Running",De.jsx("span",{className:`${Ro.running_dots}`,children:u})]}),De.jsx("p",{className:`${Ro.running_time}`,children:v(o)})]})})]})}const kfe="_navContainer_1o0u5_1",_fe={navContainer:kfe};function Afe(){return De.jsx("nav",{className:_fe.navContainer,children:De.jsx(Efe,{})})}function Lfe({idaesRunInfo:t}){const{setSelectedSteps:e,isLoading:r,initError:n,packageWarnings:i,openPythonFiles:a,activateFileName:s,pythonEnvInfo:o}=Zt.useContext(Ua),[l,u]=Zt.useState([]),h=b=>{Hh.postMessage({frontendInstruction:"focus_view",fromPanel:"treeView",target:b})},d=b=>{const x=b.target.value;x&&Hh.postMessage({frontendInstruction:"focus_document",fromPanel:"treeView",target:x})},f=b=>{const x=b.target.value;x&&Hh.postMessage({frontendInstruction:"change_python_env",fromPanel:"treeView",envPath:x})},p=()=>{const b=o?.current?.path;b&&navigator.clipboard.writeText(b)},m=(b,x)=>{let C=[];b.target.checked?C=Array.from({length:x+1},(E,_)=>_):(C=Array.from({length:x},(E,_)=>_),C=C.sort((E,_)=>E-_)),u(C);const T=C.map(E=>t.steps[E]).filter(Boolean);e(T)},v=()=>{if(r)return console.log("loading idaes-extension-steps"),De.jsx("div",{children:De.jsx("p",{children:"Building idaes-extension-steps..."})});if(n)return De.jsx("div",{className:kn.init_error_box,children:De.jsx("p",{className:kn.init_error_text,children:n})});if(!t)return De.jsx("div",{children:De.jsx("p",{children:"Loading config data..."})});const b=Object.keys(t);if(!b.includes("steps"))return De.jsxs("div",{children:[De.jsx("h2",{children:"Steps Display"}),De.jsx("p",{children:"Config data loaded successfully, but no steps in config data"})]});if(b.includes("steps")&&b.length===0)return De.jsxs("div",{children:[De.jsx("h2",{children:"Step Display"}),De.jsx("p",{children:"Config data loaded successfully, has steps but steps is empty"})]});if(b.includes("steps")&&t.steps&&t.steps.length>0)return t.steps.map((C,T)=>De.jsxs("div",{className:`${kn.step_selector_container}`,children:[De.jsx("input",{type:"checkbox",id:`step_${T}`,className:`${kn.step_selector_checkbox}`,checked:l.includes(T),onChange:E=>m(E,T)}),De.jsx("label",{htmlFor:`${T}`,children:C})]},C+T))};return Zt.useEffect(()=>{console.log("Selected steps:",l)},[l]),De.jsxs("div",{className:kn.flowsheet_steps_main_container,children:[De.jsxs("div",{className:kn.flowsheet_file_section,children:[De.jsx("label",{className:kn.section_label,children:"Flowsheet to inspect:"}),De.jsxs("select",{className:kn.dropdown_select,onChange:d,value:a?.find(b=>b.name===s)?.path||"",children:[De.jsx("option",{value:"",disabled:!0,children:"Select a flowsheet..."}),a?.map((b,x)=>De.jsx("option",{value:b.path,children:b.name},x))]}),De.jsx("p",{className:kn.section_hint,children:"Open the flowsheet in editor to select"})]}),De.jsxs("div",{className:kn.python_env_container,children:[De.jsx("label",{className:kn.python_env_label,children:"Current Python:"}),De.jsxs("div",{className:kn.python_env_actions,children:[De.jsx("span",{className:kn.python_env_path_text,children:o?.current?.path||"No interpreter selected"}),De.jsx("button",{className:kn.python_env_icon_btn,onClick:p,title:"Copy interpreter path",disabled:!o?.current?.path,children:De.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[De.jsx("rect",{x:"4",y:"4",width:"8",height:"9",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),De.jsx("rect",{x:"2",y:"2",width:"8",height:"9",rx:"1",fill:"var(--vscode-sideBar-background, #1e1e1e)",stroke:"currentColor",strokeWidth:"1.2"})]})})]}),De.jsxs("select",{className:kn.dropdown_select,onChange:f,value:o?.current?.path||"",children:[De.jsx("option",{value:"",disabled:!0,children:"Select a Python environment..."}),o?.envs.map((b,x)=>De.jsx("option",{value:b.path,children:b.label},x))]}),i&&i.length>0&&De.jsx("div",{className:kn.package_warnings_container,children:i.map(b=>De.jsxs("div",{className:kn.package_warning_item,children:[De.jsxs("span",{className:kn.package_warning_title,children:["Missing package: ",b.name]}),De.jsx("span",{className:kn.package_warning_cmd,children:b.install_command})]},b.name))})]}),De.jsx("p",{className:kn.section_label,children:"Select Steps to Run:"}),De.jsx("div",{className:kn.steps_container,children:v()}),De.jsxs("div",{className:kn.steps_actions_footer,children:[De.jsx(Afe,{}),De.jsx("div",{className:kn.open_results_view_container,children:De.jsx("button",{className:kn.open_results_view_btn,onClick:()=>h("webview"),children:"Open Inspector Results Panel ↗"})})]})]})}function Rfe(){const{idaesRunInfo:t,setIsRunningFlowsheet:e}=Zt.useContext(Ua);return Zt.useEffect(()=>{window.addEventListener("message",r=>{const n=r.data;console.log(r.data),n.type==="run_flowsheet_done"?e(!1):console.log(`Unknown message from extension: ${n}`)})},[]),De.jsx(Lfe,{idaesRunInfo:t})}const Dfe="_container_1qs3w_1",Nfe="_controlBar_1qs3w_10",Mfe="_searchBox_1qs3w_18",Ofe="_actionGroup_1qs3w_42",Ife="_runCount_1qs3w_50",Bfe="_tableContainer_1qs3w_70",Pfe="_headerRow_1qs3w_76",Ffe="_dataRowContainer_1qs3w_89",$fe="_dataRow_1qs3w_89",zfe="_colStatus_1qs3w_119",qfe="_colTime_1qs3w_124",Vfe="_colTags_1qs3w_128",Gfe="_tagBadge_1qs3w_134",Ufe="_emptyMessage_1qs3w_143",Hfe="_cssTooltip_1qs3w_175",Wfe="_colFlowsheet_1qs3w_211",Yfe="_flowsheetText_1qs3w_216",Xfe="_pathTooltip_1qs3w_225",Nn={container:Dfe,controlBar:Nfe,searchBox:Mfe,actionGroup:Ofe,runCount:Ife,tableContainer:Bfe,headerRow:Pfe,dataRowContainer:Ffe,dataRow:$fe,colStatus:zfe,colTime:qfe,colTags:Vfe,tagBadge:Gfe,emptyMessage:Ufe,"status-icon":"_status-icon_1qs3w_152","status-icon--success":"_status-icon--success_1qs3w_165","status-icon--fail":"_status-icon--fail_1qs3w_169",cssTooltip:Hfe,colFlowsheet:Wfe,flowsheetText:Yfe,pathTooltip:Xfe};function jfe(t){if(!t)return"-";const e=new Date(t*1e3),r=Math.floor(Date.now()/1e3-t);let n=r/86400;if(n>1)return e.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1});if(n=r/3600,n>=1){const i=Math.floor(n),a=Math.floor((r-i*3600)/60);return a>0?`${i}h ${a}m`:`${i}h`}return n=r/60,n>=1?Math.floor(n)+"m":Math.floor(r)+"s"}function Kfe(){const{idaesHistoryList:t}=Zt.useContext(Ua),[e,r]=Zt.useState(""),n=Zt.useMemo(()=>{if(!t)return[];if(!e)return t;const a=e.toLowerCase();return t.filter(s=>s.name?.toLowerCase().includes(a)||s.filename?.toLowerCase().includes(a))},[t,e]),i=a=>{a&&Hh.postMessage({frontendInstruction:"pull_flowsheet_history",fromPanel:"treeView",id:a})};return De.jsxs("div",{className:Nn.container,children:[De.jsxs("div",{className:Nn.controlBar,children:[De.jsx("input",{type:"text",className:Nn.searchBox,placeholder:"Search history by name or path...",value:e,onChange:a=>r(a.target.value),disabled:t===null}),De.jsx("div",{className:Nn.actionGroup,children:De.jsxs("span",{className:Nn.runCount,children:["Runs: ",n.length]})})]}),De.jsxs("div",{className:Nn.tableContainer,children:[De.jsxs("div",{className:Nn.headerRow,children:[De.jsx("div",{className:Nn.colStatus,children:"Status"}),De.jsx("div",{className:Nn.colTime,children:"Since"}),De.jsx("div",{children:"Flowsheet"}),De.jsx("div",{className:Nn.colTags,children:"Tags"})]}),De.jsxs("div",{className:Nn.dataRowContainer,children:[n.map(a=>{const s=a.filename?a.filename.split(/[/\\]/).pop():"";let o=a.name?a.name.trim():s||"";(!o||/[/\\]/.test(o))&&(o="Name not available");const l=a.filename||"No file path available";return De.jsxs("div",{className:Nn.dataRow,onClick:()=>i(a.id),style:{cursor:"pointer"},children:[De.jsx("div",{className:Nn.colStatus,children:a.status?De.jsx("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--success"]}`,children:"✓"}):De.jsxs("div",{className:`${Nn["status-icon"]} ${Nn["status-icon--fail"]}`,onClick:u=>u.stopPropagation(),children:["✕",De.jsx("span",{className:Nn.cssTooltip,children:a.solverError?`Solver Output: ${a.solverError}`:"Run failed. No solver output available."})]})}),De.jsx("div",{className:Nn.colTime,children:jfe(a.created)}),De.jsxs("div",{className:Nn.colFlowsheet,children:[De.jsx("span",{className:Nn.flowsheetText,style:{fontStyle:o==="Name not available"?"italic":"normal",color:o==="Name not available"?"var(--vscode-descriptionForeground)":"var(--vscode-editor-foreground)"},children:o}),De.jsx("div",{className:Nn.pathTooltip,children:l})]}),De.jsx("div",{className:Nn.colTags,children:De.jsx("span",{className:Nn.tagBadge,style:a.tags?{}:{backgroundColor:"transparent",color:"var(--vscode-descriptionForeground)"},children:a.tags||"-"})})]},a.id)}),t===null&&De.jsx("div",{className:Nn.emptyMessage,children:"Scanning SQLite database..."}),t!==null&&n.length===0&&De.jsxs("div",{className:Nn.emptyMessage,children:[De.jsx("div",{children:"No historical runs found across any flowsheet."}),De.jsxs("div",{style:{marginTop:"8px",fontSize:"11px"},children:["Please execute a ",De.jsx("b",{children:"RUN FLOWSHEET"})," above to generate history."]})]})]})]})]})}function Zfe(){const[t,e]=Zt.useState("runFlowsheet"),r=n=>{e(n)};return De.jsxs("div",{className:`${kn.tree_app_container}`,children:[De.jsxs("ul",{className:kn.view_switch_container,children:[De.jsx("li",{className:t==="runFlowsheet"?kn.active:"",onClick:()=>r("runFlowsheet"),children:"Run Flowsheet"}),De.jsx("li",{className:t==="loadFlowsheet"?kn.active:"",onClick:()=>r("loadFlowsheet"),children:"Load Flowsheet"})]}),t==="runFlowsheet"&&De.jsx(Rfe,{}),t==="loadFlowsheet"&&De.jsx(Kfe,{})]})}function Qfe(){const[t,e]=Zt.useState(!1),{editorContent:r,activateFileName:n}=Zt.useContext(Ua),i=()=>{e(!t)};return De.jsxs("div",{children:[De.jsx("button",{onClick:()=>i(),children:"Toggle Editor Content"}),De.jsxs("div",{style:{display:t?"block":"none"},children:[De.jsx("h1",{children:"Editor Page "}),De.jsxs("h2",{children:["File: ",n]}),De.jsx("pre",{children:r})]})]})}const Jfe="modulepreload",e0e=function(t){return"/"+t},BF={},Nr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};var s=u;document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=u(r.map(h=>{if(h=e0e(h),h in BF)return;BF[h]=!0;const d=h.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":Jfe,d||(p.as="script"),p.crossOrigin="",p.href=h,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function a(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var e3={exports:{}},t0e=e3.exports,PF;function r0e(){return PF||(PF=1,(function(t,e){(function(r,n){t.exports=n()})(t0e,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",h="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var I=["th","st","nd","rd"],N=D%100;return"["+D+(I[(N-20)%10]||I[N]||I[0])+"]"}},T=function(D,I,N){var B=String(D);return!B||B.length>=I?D:""+Array(I+1-B.length).join(N)+D},E={s:T,z:function(D){var I=-D.utcOffset(),N=Math.abs(I),B=Math.floor(N/60),M=N%60;return(I<=0?"+":"-")+T(B,2,"0")+":"+T(M,2,"0")},m:function D(I,N){if(I.date()1)return D(U[0])}else{var P=I.name;R[P]=I,M=P}return!B&&M&&(_=M),M||!B&&_},F=function(D,I){if(L(D))return D.clone();var N=typeof I=="object"?I:{};return N.date=D,N.args=arguments,new q(N)},$=E;$.l=O,$.i=L,$.w=function(D,I){return F(D,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var q=(function(){function D(N){this.$L=O(N.locale,null,!0),this.parse(N),this.$x=this.$x||N.x||{},this[k]=!0}var I=D.prototype;return I.parse=function(N){this.$d=(function(B){var M=B.date,V=B.utc;if(M===null)return new Date(NaN);if($.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var U=M.match(b);if(U){var P=U[2]-1||0,H=(U[7]||"0").substring(0,3);return V?new Date(Date.UTC(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)):new Date(U[1],P,U[3]||1,U[4]||0,U[5]||0,U[6]||0,H)}}return new Date(M)})(N),this.init()},I.init=function(){var N=this.$d;this.$y=N.getFullYear(),this.$M=N.getMonth(),this.$D=N.getDate(),this.$W=N.getDay(),this.$H=N.getHours(),this.$m=N.getMinutes(),this.$s=N.getSeconds(),this.$ms=N.getMilliseconds()},I.$utils=function(){return $},I.isValid=function(){return this.$d.toString()!==v},I.isSame=function(N,B){var M=F(N);return this.startOf(B)<=M&&M<=this.endOf(B)},I.isAfter=function(N,B){return F(N)XY(t,"name",{value:e,configurable:!0}),dC=(t,e)=>{for(var r in e)XY(t,r,{get:e[r],enumerable:!0})},$c={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},oe={trace:S((...t)=>{},"trace"),debug:S((...t)=>{},"debug"),info:S((...t)=>{},"info"),warn:S((...t)=>{},"warn"),error:S((...t)=>{},"error"),fatal:S((...t)=>{},"fatal")},dD=S(function(t="fatal"){let e=$c.fatal;typeof t=="string"?t.toLowerCase()in $c&&(e=$c[t]):typeof t=="number"&&(e=t),oe.trace=()=>{},oe.debug=()=>{},oe.info=()=>{},oe.warn=()=>{},oe.error=()=>{},oe.fatal=()=>{},e<=$c.fatal&&(oe.fatal=console.error?console.error.bind(console,Do("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Do("FATAL"))),e<=$c.error&&(oe.error=console.error?console.error.bind(console,Do("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Do("ERROR"))),e<=$c.warn&&(oe.warn=console.warn?console.warn.bind(console,Do("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Do("WARN"))),e<=$c.info&&(oe.info=console.info?console.info.bind(console,Do("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Do("INFO"))),e<=$c.debug&&(oe.debug=console.debug?console.debug.bind(console,Do("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("DEBUG"))),e<=$c.trace&&(oe.trace=console.debug?console.debug.bind(console,Do("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Do("TRACE")))},"setLogLevel"),Do=S(t=>`%c${oa().format("ss.SSS")} : ${t} : `,"format");const t3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return t3.hue2rgb(a,i,t+1/3)*255;case"g":return t3.hue2rgb(a,i,t)*255;case"b":return t3.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},a0e={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kr={channel:t3,lang:i0e,unit:a0e},Lh={};for(let t=0;t<=255;t++)Lh[t]=kr.unit.dec2hex(t);const Ba={ALL:0,RGB:1,HSL:2};let s0e=class{constructor(){this.type=Ba.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Ba.ALL}is(e){return this.type===e}};class o0e{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new s0e}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Ba.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=kr.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=kr.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=kr.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=kr.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=kr.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=kr.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Ba.HSL)&&r!==void 0?r:(this._ensureHSL(),kr.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Ba.RGB)&&r!==void 0?r:(this._ensureRGB(),kr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Ba.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Ba.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Ba.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Ba.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Ba.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Ba.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const fC=new o0e({r:0,g:0,b:0,a:0},"transparent"),Ag={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Ag.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,h=s?255:15;return fC.set({r:(n>>l*(u+3)&h)*o,g:(n>>l*(u+2)&h)*o,b:(n>>l*(u+1)&h)*o,a:a?(n&h)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Lh[Math.round(e)]}${Lh[Math.round(r)]}${Lh[Math.round(n)]}${Lh[Math.round(i*255)]}`:`#${Lh[Math.round(e)]}${Lh[Math.round(r)]}${Lh[Math.round(n)]}`}},$f={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match($f.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return kr.channel.clamp.h(parseFloat(r)*.9);case"rad":return kr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return kr.channel.clamp.h(parseFloat(r)*360)}}return kr.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match($f.re);if(!r)return;const[,n,i,a,s,o]=r;return fC.set({h:$f._hue2deg(n),s:kr.channel.clamp.s(parseFloat(i)),l:kr.channel.clamp.l(parseFloat(a)),a:s?kr.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%, ${i})`:`hsl(${kr.lang.round(e)}, ${kr.lang.round(r)}%, ${kr.lang.round(n)}%)`}},C2={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=C2.colors[t];if(e)return Ag.parse(e)},stringify:t=>{const e=Ag.stringify(t);for(const r in C2.colors)if(C2.colors[r]===e)return r}},Xv={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(Xv.re);if(!r)return;const[,n,i,a,s,o,l,u,h]=r;return fC.set({r:kr.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:kr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:kr.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?kr.channel.clamp.a(h?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)}, ${kr.lang.round(i)})`:`rgb(${kr.lang.round(e)}, ${kr.lang.round(r)}, ${kr.lang.round(n)})`}},xl={format:{keyword:C2,hex:Ag,rgb:Xv,rgba:Xv,hsl:$f,hsla:$f},parse:t=>{if(typeof t!="string")return t;const e=Ag.parse(t)||Xv.parse(t)||$f.parse(t)||C2.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Ba.HSL)||t.data.r===void 0?$f.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Xv.stringify(t):Ag.stringify(t)},jY=(t,e)=>{const r=xl.parse(t);for(const n in e)r[n]=kr.channel.clamp[n](e[n]);return xl.stringify(r)},dl=(t,e,r=0,n=1)=>{if(typeof t!="number")return jY(t,{a:e});const i=fC.set({r:kr.channel.clamp.r(t),g:kr.channel.clamp.g(e),b:kr.channel.clamp.b(r),a:kr.channel.clamp.a(n)});return xl.stringify(i)},fD=(t,e)=>kr.lang.round(xl.parse(t)[e]),l0e=t=>{const{r:e,g:r,b:n}=xl.parse(t),i=.2126*kr.channel.toLinear(e)+.7152*kr.channel.toLinear(r)+.0722*kr.channel.toLinear(n);return kr.lang.round(i)},c0e=t=>l0e(t)>=.5,ys=t=>!c0e(t),pD=(t,e,r)=>{const n=xl.parse(t),i=n[e],a=kr.channel.clamp[e](i+r);return i!==a&&(n[e]=a),xl.stringify(n)},mt=(t,e)=>pD(t,"l",e),pt=(t,e)=>pD(t,"l",-e),FF=(t,e)=>pD(t,"a",-e),le=(t,e)=>{const r=xl.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return jY(t,n)},u0e=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=xl.parse(t),{r:o,g:l,b:u,a:h}=xl.parse(e),d=r/100,f=d*2-1,p=s-h,v=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,b=1-v,x=n*v+o*b,C=i*v+l*b,T=a*v+u*b,E=s*d+h*(1-d);return dl(x,C,T,E)},tt=(t,e=100)=>{const r=xl.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,u0e(r,t,e)};const{entries:KY,setPrototypeOf:$F,isFrozen:h0e,getPrototypeOf:d0e,getOwnPropertyDescriptor:f0e}=Object;let{freeze:ds,seal:Go,create:jv}=Object,{apply:zA,construct:qA}=typeof Reflect<"u"&&Reflect;ds||(ds=function(e){return e});Go||(Go=function(e){return e});zA||(zA=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:r3;$F&&$F(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(h0e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function b0e(t){for(let e=0;e/gm),S0e=Go(/\$\{[\w\W]*/gm),E0e=Go(/^data-[\-\w.\u00B7-\uFFFF]+$/),k0e=Go(/^aria-[\-\w]+$/),ZY=Go(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),_0e=Go(/^(?:\w+script|data):/i),A0e=Go(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),QY=Go(/^html$/i),L0e=Go(/^[a-z][.\w]*(-[.\w]+)+$/i);var HF=Object.freeze({__proto__:null,ARIA_ATTR:k0e,ATTR_WHITESPACE:A0e,CUSTOM_ELEMENT:L0e,DATA_ATTR:E0e,DOCTYPE_NAME:QY,ERB_EXPR:C0e,IS_ALLOWED_URI:ZY,IS_SCRIPT_OR_DATA:_0e,MUSTACHE_EXPR:w0e,TMPLIT_EXPR:S0e});const rv={element:1,text:3,progressingInstruction:7,comment:8,document:9},R0e=function(){return typeof window>"u"?null:window},D0e=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},WF=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function JY(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:R0e();const e=vt=>JY(vt);if(e.version="3.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==rv.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t;const n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:u,NamedNodeMap:h=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=t,m=l.prototype,v=tv(m,"cloneNode"),b=tv(m,"remove"),x=tv(m,"nextSibling"),C=tv(m,"childNodes"),T=tv(m,"parentNode");if(typeof s=="function"){const vt=r.createElement("template");vt.content&&vt.content.ownerDocument&&(r=vt.content.ownerDocument)}let E,_="";const{implementation:R,createNodeIterator:k,createDocumentFragment:L,getElementsByTagName:O}=r,{importNode:F}=n;let $=WF();e.isSupported=typeof KY=="function"&&typeof T=="function"&&R&&R.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:z,TMPLIT_EXPR:D,DATA_ATTR:I,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:V}=HF;let{IS_ALLOWED_URI:U}=HF,P=null;const H=Fr({},[...qF,...b6,...x6,...T6,...VF]);let X=null;const Z=Fr({},[...GF,...w6,...UF,...qT]);let j=Object.seal(jv(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,Q=null;const he=Object.seal(jv(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let te=!0,ae=!0,ie=!1,ne=!0,me=!1,pe=!0,Me=!1,$e=!1,He=!1,Ae=!1,Oe=!1,We=!1,Te=!0,ot=!1;const Re="user-content-";let Ge=!0,it=!1,Ye={},Xe=null;const at=Fr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xe=null;const Ze=Fr({},["audio","video","img","source","image","track"]);let se=null;const be=Fr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let we=fe,Ee=!1,Ie=null;const Ue=Fr({},[Y,de,fe],y6);let _e=Fr({},["mi","mo","mn","ms","mtext"]),ze=Fr({},["annotation-xml"]);const et=Fr({},["title","style","font","a","script"]);let qe=null;const lt=["application/xhtml+xml","text/html"],ve="text/html";let Qe=null,Se=null;const Nt=r.createElement("form"),At=function(Ne){return Ne instanceof RegExp||Ne instanceof Function},Et=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Se&&Se===Ne)){if((!Ne||typeof Ne!="object")&&(Ne={}),Ne=Ol(Ne),qe=lt.indexOf(Ne.PARSER_MEDIA_TYPE)===-1?ve:Ne.PARSER_MEDIA_TYPE,Qe=qe==="application/xhtml+xml"?y6:r3,P=tl(Ne,"ALLOWED_TAGS")?Fr({},Ne.ALLOWED_TAGS,Qe):H,X=tl(Ne,"ALLOWED_ATTR")?Fr({},Ne.ALLOWED_ATTR,Qe):Z,Ie=tl(Ne,"ALLOWED_NAMESPACES")?Fr({},Ne.ALLOWED_NAMESPACES,y6):Ue,se=tl(Ne,"ADD_URI_SAFE_ATTR")?Fr(Ol(be),Ne.ADD_URI_SAFE_ATTR,Qe):be,xe=tl(Ne,"ADD_DATA_URI_TAGS")?Fr(Ol(Ze),Ne.ADD_DATA_URI_TAGS,Qe):Ze,Xe=tl(Ne,"FORBID_CONTENTS")?Fr({},Ne.FORBID_CONTENTS,Qe):at,ee=tl(Ne,"FORBID_TAGS")?Fr({},Ne.FORBID_TAGS,Qe):Ol({}),Q=tl(Ne,"FORBID_ATTR")?Fr({},Ne.FORBID_ATTR,Qe):Ol({}),Ye=tl(Ne,"USE_PROFILES")?Ne.USE_PROFILES:!1,te=Ne.ALLOW_ARIA_ATTR!==!1,ae=Ne.ALLOW_DATA_ATTR!==!1,ie=Ne.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ne.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=Ne.SAFE_FOR_TEMPLATES||!1,pe=Ne.SAFE_FOR_XML!==!1,Me=Ne.WHOLE_DOCUMENT||!1,Ae=Ne.RETURN_DOM||!1,Oe=Ne.RETURN_DOM_FRAGMENT||!1,We=Ne.RETURN_TRUSTED_TYPE||!1,He=Ne.FORCE_BODY||!1,Te=Ne.SANITIZE_DOM!==!1,ot=Ne.SANITIZE_NAMED_PROPS||!1,Ge=Ne.KEEP_CONTENT!==!1,it=Ne.IN_PLACE||!1,U=Ne.ALLOWED_URI_REGEXP||ZY,we=Ne.NAMESPACE||fe,_e=Ne.MATHML_TEXT_INTEGRATION_POINTS||_e,ze=Ne.HTML_INTEGRATION_POINTS||ze,j=Ne.CUSTOM_ELEMENT_HANDLING||jv(null),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&At(Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ne.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ne.CUSTOM_ELEMENT_HANDLING&&typeof Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ne.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),me&&(ae=!1),Oe&&(Ae=!0),Ye&&(P=Fr({},VF),X=jv(null),Ye.html===!0&&(Fr(P,qF),Fr(X,GF)),Ye.svg===!0&&(Fr(P,b6),Fr(X,w6),Fr(X,qT)),Ye.svgFilters===!0&&(Fr(P,x6),Fr(X,w6),Fr(X,qT)),Ye.mathMl===!0&&(Fr(P,T6),Fr(X,UF),Fr(X,qT))),he.tagCheck=null,he.attributeCheck=null,Ne.ADD_TAGS&&(typeof Ne.ADD_TAGS=="function"?he.tagCheck=Ne.ADD_TAGS:(P===H&&(P=Ol(P)),Fr(P,Ne.ADD_TAGS,Qe))),Ne.ADD_ATTR&&(typeof Ne.ADD_ATTR=="function"?he.attributeCheck=Ne.ADD_ATTR:(X===Z&&(X=Ol(X)),Fr(X,Ne.ADD_ATTR,Qe))),Ne.ADD_URI_SAFE_ATTR&&Fr(se,Ne.ADD_URI_SAFE_ATTR,Qe),Ne.FORBID_CONTENTS&&(Xe===at&&(Xe=Ol(Xe)),Fr(Xe,Ne.FORBID_CONTENTS,Qe)),Ne.ADD_FORBID_CONTENTS&&(Xe===at&&(Xe=Ol(Xe)),Fr(Xe,Ne.ADD_FORBID_CONTENTS,Qe)),Ge&&(P["#text"]=!0),Me&&Fr(P,["html","head","body"]),P.table&&(Fr(P,["tbody"]),delete ee.tbody),Ne.TRUSTED_TYPES_POLICY){if(typeof Ne.TRUSTED_TYPES_POLICY.createHTML!="function")throw ev('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ne.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ev('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Ne.TRUSTED_TYPES_POLICY,_=E.createHTML("")}else E===void 0&&(E=D0e(p,i)),E!==null&&typeof _=="string"&&(_=E.createHTML(""));ds&&ds(Ne),Se=Ne}},zt=Fr({},[...b6,...x6,...x0e]),St=Fr({},[...T6,...T0e]),gt=function(Ne){let ft=T(Ne);(!ft||!ft.tagName)&&(ft={namespaceURI:we,tagName:"template"});const Rt=r3(Ne.tagName),Kt=r3(ft.tagName);return Ie[Ne.namespaceURI]?Ne.namespaceURI===de?ft.namespaceURI===fe?Rt==="svg":ft.namespaceURI===Y?Rt==="svg"&&(Kt==="annotation-xml"||_e[Kt]):!!zt[Rt]:Ne.namespaceURI===Y?ft.namespaceURI===fe?Rt==="math":ft.namespaceURI===de?Rt==="math"&&ze[Kt]:!!St[Rt]:Ne.namespaceURI===fe?ft.namespaceURI===de&&!ze[Kt]||ft.namespaceURI===Y&&!_e[Kt]?!1:!St[Rt]&&(et[Rt]||!zt[Rt]):!!(qe==="application/xhtml+xml"&&Ie[Ne.namespaceURI]):!1},ue=function(Ne){Jy(e.removed,{element:Ne});try{T(Ne).removeChild(Ne)}catch{b(Ne)}},Mt=function(Ne,ft){try{Jy(e.removed,{attribute:ft.getAttributeNode(Ne),from:ft})}catch{Jy(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ne),Ne==="is")if(Ae||Oe)try{ue(ft)}catch{}else try{ft.setAttribute(Ne,"")}catch{}},xt=function(Ne){let ft=null,Rt=null;if(He)Ne=""+Ne;else{const Cr=v6(Ne,/^[\r\n\t ]+/);Rt=Cr&&Cr[0]}qe==="application/xhtml+xml"&&we===fe&&(Ne=''+Ne+"");const Kt=E?E.createHTML(Ne):Ne;if(we===fe)try{ft=new f().parseFromString(Kt,qe)}catch{}if(!ft||!ft.documentElement){ft=R.createDocument(we,"template",null);try{ft.documentElement.innerHTML=Ee?_:Kt}catch{}}const _r=ft.body||ft.documentElement;return Ne&&Rt&&_r.insertBefore(r.createTextNode(Rt),_r.childNodes[0]||null),we===fe?O.call(ft,Me?"html":"body")[0]:Me?ft.documentElement:_r},bt=function(Ne){return k.call(Ne.ownerDocument||Ne,Ne,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(Ne){return Ne instanceof d&&(typeof Ne.nodeName!="string"||typeof Ne.textContent!="string"||typeof Ne.removeChild!="function"||!(Ne.attributes instanceof h)||typeof Ne.removeAttribute!="function"||typeof Ne.setAttribute!="function"||typeof Ne.namespaceURI!="string"||typeof Ne.insertBefore!="function"||typeof Ne.hasChildNodes!="function")},nt=function(Ne){return typeof o=="function"&&Ne instanceof o};function st(vt,Ne,ft){Qy(vt,Rt=>{Rt.call(e,Ne,ft,Se)})}const It=function(Ne){let ft=null;if(st($.beforeSanitizeElements,Ne,null),Ce(Ne))return ue(Ne),!0;const Rt=Qe(Ne.nodeName);if(st($.uponSanitizeElement,Ne,{tagName:Rt,allowedTags:P}),pe&&Ne.hasChildNodes()&&!nt(Ne.firstElementChild)&&Za(/<[/\w!]/g,Ne.innerHTML)&&Za(/<[/\w!]/g,Ne.textContent)||pe&&Ne.namespaceURI===fe&&Rt==="style"&&nt(Ne.firstElementChild)||Ne.nodeType===rv.progressingInstruction||pe&&Ne.nodeType===rv.comment&&Za(/<[/\w]/g,Ne.data))return ue(Ne),!0;if(ee[Rt]||!(he.tagCheck instanceof Function&&he.tagCheck(Rt))&&!P[Rt]){if(!ee[Rt]&&Ut(Rt)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt)))return!1;if(Ge&&!Xe[Rt]){const Kt=T(Ne)||Ne.parentNode,_r=C(Ne)||Ne.childNodes;if(_r&&Kt){const Cr=_r.length;for(let Qr=Cr-1;Qr>=0;--Qr){const Pn=v(_r[Qr],!0);Pn.__removalCount=(Ne.__removalCount||0)+1,Kt.insertBefore(Pn,x(Ne))}}}return ue(Ne),!0}return Ne instanceof l&&!gt(Ne)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&Za(/<\/no(script|embed|frames)/i,Ne.innerHTML)?(ue(Ne),!0):(me&&Ne.nodeType===rv.text&&(ft=Ne.textContent,Qy([q,z,D],Kt=>{ft=Ap(ft,Kt," ")}),Ne.textContent!==ft&&(Jy(e.removed,{element:Ne.cloneNode()}),Ne.textContent=ft)),st($.afterSanitizeElements,Ne,null),!1)},Wt=function(Ne,ft,Rt){if(Q[ft]||Te&&(ft==="id"||ft==="name")&&(Rt in r||Rt in Nt))return!1;if(!(ae&&!Q[ft]&&Za(I,ft))){if(!(te&&Za(N,ft))){if(!(he.attributeCheck instanceof Function&&he.attributeCheck(ft,Ne))){if(!X[ft]||Q[ft]){if(!(Ut(Ne)&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Ne)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ne))&&(j.attributeNameCheck instanceof RegExp&&Za(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft,Ne))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Za(j.tagNameCheck,Rt)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Rt))))return!1}else if(!se[ft]){if(!Za(U,Ap(Rt,M,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ne!=="script"&&m0e(Rt,"data:")===0&&xe[Ne])){if(!(ie&&!Za(B,Ap(Rt,M,"")))){if(Rt)return!1}}}}}}}return!0},Ut=function(Ne){return Ne!=="annotation-xml"&&v6(Ne,V)},rr=function(Ne){st($.beforeSanitizeAttributes,Ne,null);const{attributes:ft}=Ne;if(!ft||Ce(Ne))return;const Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Kt=ft.length;for(;Kt--;){const _r=ft[Kt],{name:Cr,namespaceURI:Qr,value:Pn}=_r,An=Qe(Cr),ei=Pn;let Ur=Cr==="value"?ei:y0e(ei);if(Rt.attrName=An,Rt.attrValue=Ur,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,st($.uponSanitizeAttribute,Ne,Rt),Ur=Rt.attrValue,ot&&(An==="id"||An==="name")&&(Mt(Cr,Ne),Ur=Re+Ur),pe&&Za(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ur)){Mt(Cr,Ne);continue}if(An==="attributename"&&v6(Ur,"href")){Mt(Cr,Ne);continue}if(Rt.forceKeepAttr)continue;if(!Rt.keepAttr){Mt(Cr,Ne);continue}if(!ne&&Za(/\/>/i,Ur)){Mt(Cr,Ne);continue}me&&Qy([q,z,D],Bt=>{Ur=Ap(Ur,Bt," ")});const Ht=Qe(Ne.nodeName);if(!Wt(Ht,An,Ur)){Mt(Cr,Ne);continue}if(E&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Qr)switch(p.getAttributeType(Ht,An)){case"TrustedHTML":{Ur=E.createHTML(Ur);break}case"TrustedScriptURL":{Ur=E.createScriptURL(Ur);break}}if(Ur!==ei)try{Qr?Ne.setAttributeNS(Qr,Cr,Ur):Ne.setAttribute(Cr,Ur),Ce(Ne)?ue(Ne):zF(e.removed)}catch{Mt(Cr,Ne)}}st($.afterSanitizeAttributes,Ne,null)},pr=function(Ne){let ft=null;const Rt=bt(Ne);for(st($.beforeSanitizeShadowDOM,Ne,null);ft=Rt.nextNode();)st($.uponSanitizeShadowNode,ft,null),It(ft),rr(ft),ft.content instanceof a&&pr(ft.content);st($.afterSanitizeShadowDOM,Ne,null)};return e.sanitize=function(vt){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,Rt=null,Kt=null,_r=null;if(Ee=!vt,Ee&&(vt=""),typeof vt!="string"&&!nt(vt))if(typeof vt.toString=="function"){if(vt=vt.toString(),typeof vt!="string")throw ev("dirty is not a string, aborting")}else throw ev("toString is not a function");if(!e.isSupported)return vt;if($e||Et(Ne),e.removed=[],typeof vt=="string"&&(it=!1),it){if(vt.nodeName){const Pn=Qe(vt.nodeName);if(!P[Pn]||ee[Pn])throw ev("root node is forbidden and cannot be sanitized in-place")}}else if(vt instanceof o)ft=xt(""),Rt=ft.ownerDocument.importNode(vt,!0),Rt.nodeType===rv.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?ft=Rt:ft.appendChild(Rt);else{if(!Ae&&!me&&!Me&&vt.indexOf("<")===-1)return E&&We?E.createHTML(vt):vt;if(ft=xt(vt),!ft)return Ae?null:We?_:""}ft&&He&&ue(ft.firstChild);const Cr=bt(it?vt:ft);for(;Kt=Cr.nextNode();)It(Kt),rr(Kt),Kt.content instanceof a&&pr(Kt.content);if(it)return vt;if(Ae){if(me){ft.normalize();let Pn=ft.innerHTML;Qy([q,z,D],An=>{Pn=Ap(Pn,An," ")}),ft.innerHTML=Pn}if(Oe)for(_r=L.call(ft.ownerDocument);ft.firstChild;)_r.appendChild(ft.firstChild);else _r=ft;return(X.shadowroot||X.shadowrootmode)&&(_r=F.call(n,_r,!0)),_r}let Qr=Me?ft.outerHTML:ft.innerHTML;return Me&&P["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Za(QY,ft.ownerDocument.doctype.name)&&(Qr=" +`+Qr),me&&Qy([q,z,D],Pn=>{Qr=Ap(Qr,Pn," ")}),E&&We?E.createHTML(Qr):Qr},e.setConfig=function(){let vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Et(vt),$e=!0},e.clearConfig=function(){Se=null,$e=!1},e.isValidAttribute=function(vt,Ne,ft){Se||Et({});const Rt=Qe(vt),Kt=Qe(Ne);return Wt(Rt,Kt,ft)},e.addHook=function(vt,Ne){typeof Ne=="function"&&Jy($[vt],Ne)},e.removeHook=function(vt,Ne){if(Ne!==void 0){const ft=p0e($[vt],Ne);return ft===-1?void 0:g0e($[vt],ft,1)[0]}return zF($[vt])},e.removeHooks=function(vt){$[vt]=[]},e.removeAllHooks=function(){$=WF()},e}var Zh=JY(),eX=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,S2=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,N0e=/\s*%%.*\n/gm,Hg,tX=(Hg=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},S(Hg,"UnknownDiagramError"),Hg),Qf={},gD=S(function(t,e){t=t.replace(eX,"").replace(S2,"").replace(N0e,` +`);for(const[r,{detector:n}]of Object.entries(Qf))if(n(t,e))return r;throw new tX(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),VA=S((...t)=>{for(const{id:e,detector:r,loader:n}of t)rX(e,r,n)},"registerLazyLoadedDiagrams"),rX=S((t,e,r)=>{Qf[t]&&oe.warn(`Detector with key ${t} already exists. Overwriting.`),Qf[t]={detector:e,loader:r},oe.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),M0e=S(t=>Qf[t].loader,"getDiagramLoader"),GA=S((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>GA(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=GA(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),_i=GA,sc="#ffffff",oc="#f2f2f2",wr=S((t,e)=>e?le(t,{s:-40,l:10}):le(t,{s:-40,l:-10}),"mkBorder"),Wg,O0e=(Wg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||mt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Wg,"Theme"),Wg),I0e=S(t=>{const e=new O0e;return e.calculate(t),e},"getThemeVariables"),Yg,B0e=(Yg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=dl(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=pt(this.sectionBkgColor,10),this.taskBorderColor=dl(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=dl(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||mt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=mt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=mt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=mt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=tt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=le(this.primaryColor,{h:64}),this.fillType3=le(this.secondaryColor,{h:64}),this.fillType4=le(this.primaryColor,{h:-64}),this.fillType5=le(this.secondaryColor,{h:-64}),this.fillType6=le(this.primaryColor,{h:128}),this.fillType7=le(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Yg,"Theme"),Yg),P0e=S(t=>{const e=new B0e;return e.calculate(t),e},"getThemeVariables"),Xg,F0e=(Xg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=le(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=dl(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Xg,"Theme"),Xg),Ub=S(t=>{const e=new F0e;return e.calculate(t),e},"getThemeVariables"),jg,$0e=(jg=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=mt("#cde498",10),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.primaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=pt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(jg,"Theme"),jg),z0e=S(t=>{const e=new $0e;return e.calculate(t),e},"getThemeVariables"),Kg,q0e=(Kg=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=mt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.lineColor=tt(this.background),this.textColor=tt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||mt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=mt(this.contrast,55),this.border2=this.contrast,this.actorBorder=mt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Kg,"Theme"),Kg),V0e=S(t=>{const e=new q0e;return e.calculate(t),e},"getThemeVariables"),Zg,G0e=(Zg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||le(e,{h:30}),this.cScale4=this.cScale4||le(e,{h:60}),this.cScale5=this.cScale5||le(e,{h:90}),this.cScale6=this.cScale6||le(e,{h:120}),this.cScale7=this.cScale7||le(e,{h:150}),this.cScale8=this.cScale8||le(e,{h:210,l:150}),this.cScale9=this.cScale9||le(e,{h:270}),this.cScale10=this.cScale10||le(e,{h:300}),this.cScale11=this.cScale11||le(e,{h:330}),this.darkMode)for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Zg,"Theme"),Zg),U0e=S(t=>{const e=new G0e;return e.calculate(t),e},"getThemeVariables"),Qg,H0e=(Qg=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=dl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Qg,"Theme"),Qg),W0e=S(t=>{const e=new H0e;return e.calculate(t),e},"getThemeVariables"),Jg,Y0e=(Jg=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(Jg,"Theme"),Jg),X0e=S(t=>{const e=new Y0e;return e.calculate(t),e},"getThemeVariables"),e1,j0e=(e1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=dl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||le(this.primaryColor,{h:30}),this.cScale4=this.cScale4||le(this.primaryColor,{h:60}),this.cScale5=this.cScale5||le(this.primaryColor,{h:90}),this.cScale6=this.cScale6||le(this.primaryColor,{h:120}),this.cScale7=this.cScale7||le(this.primaryColor,{h:150}),this.cScale8=this.cScale8||le(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||le(this.primaryColor,{h:270}),this.cScale10=this.cScale10||le(this.primaryColor,{h:300}),this.cScale11=this.cScale11||le(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(e1,"Theme"),e1),K0e=S(t=>{const e=new j0e;return e.calculate(t),e},"getThemeVariables"),t1,Z0e=(t1=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=wr(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor);const e="#ECECFE",r="#E9E9F1",n=le(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(t1,"Theme"),t1),Q0e=S(t=>{const e=new Z0e;return e.calculate(t),e},"getThemeVariables"),r1,J0e=(r1=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=mt(this.primaryColor,16),this.tertiaryColor=le(this.primaryColor,{h:-160}),this.primaryBorderColor=tt(this.background),this.secondaryBorderColor=wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wr(this.tertiaryColor,this.darkMode),this.primaryTextColor=tt(this.primaryColor),this.secondaryTextColor=tt(this.secondaryColor),this.tertiaryTextColor=tt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=mt(tt("#323D47"),10),this.border1="#ccc",this.border2=dl(255,255,255,.25),this.arrowheadColor=tt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||le(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||le(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||tt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||tt(this.tertiaryColor),this.lineColor=this.lineColor||tt(this.background),this.arrowheadColor=this.arrowheadColor||tt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?pt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||tt(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||mt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},S(r1,"Theme"),r1),epe=S(t=>{const e=new J0e;return e.calculate(t),e},"getThemeVariables"),bu={base:{getThemeVariables:I0e},dark:{getThemeVariables:P0e},default:{getThemeVariables:Ub},forest:{getThemeVariables:z0e},neutral:{getThemeVariables:V0e},neo:{getThemeVariables:U0e},"neo-dark":{getThemeVariables:W0e},redux:{getThemeVariables:X0e},"redux-dark":{getThemeVariables:K0e},"redux-color":{getThemeVariables:Q0e},"redux-dark-color":{getThemeVariables:epe}},Js={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},nX={...Js,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:bu.default.getThemeVariables(),sequence:{...Js.sequence,messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:S(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:S(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Js.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Js.c4,useWidth:void 0,personFont:S(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Js.flowchart,inheritDir:!1},external_personFont:S(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:S(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:S(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:S(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:S(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:S(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:S(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:S(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:S(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:S(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:S(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:S(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:S(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:S(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:S(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:S(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:S(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:S(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:S(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:S(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:S(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Js.pie,useWidth:984},xyChart:{...Js.xyChart,useWidth:void 0},requirement:{...Js.requirement,useWidth:void 0},packet:{...Js.packet},treeView:{...Js.treeView,useWidth:void 0},radar:{...Js.radar},ishikawa:{...Js.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Js.venn}},iX=S((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...iX(t[n],"")]:[...r,e+n],[]),"keyify"),tpe=new Set(iX(nX,"")),Vr=nX,u5=S(t=>{if(oe.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>u5(e));return}for(const e of Object.keys(t)){if(oe.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!tpe.has(e)||t[e]==null){oe.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){oe.debug("sanitizing object",e),u5(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(oe.debug("sanitizing css option",e),t[e]=rpe(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}oe.debug("After sanitization",t)}},"sanitizeDirective"),rpe=S(t=>{let e=0,r=0;for(const n of t){if(e!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Ds=_i({},em),h5,Jf=[],E2=_i({},em),pC=S((t,e)=>{let r=_i({},t),n={};for(const i of e)oX(i),n=_i(n,i);if(r=_i(r,n),n.theme&&n.theme in bu){const i=_i({},h5),a=_i(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in bu&&(r.themeVariables=bu[r.theme].getThemeVariables(a))}return E2=r,cX(E2),E2},"updateCurrentConfig"),npe=S(t=>(Ds=_i({},em),Ds=_i(Ds,t),t.theme&&bu[t.theme]&&(Ds.themeVariables=bu[t.theme].getThemeVariables(t.themeVariables)),pC(Ds,Jf),Ds),"setSiteConfig"),ipe=S(t=>{h5=_i({},t)},"saveConfigFromInitialize"),ape=S(t=>(Ds=_i(Ds,t),pC(Ds,Jf),Ds),"updateSiteConfig"),aX=S(()=>_i({},Ds),"getSiteConfig"),sX=S(t=>(cX(t),_i(E2,t),gr()),"setConfig"),gr=S(()=>_i({},E2),"getConfig"),oX=S(t=>{t&&(["secure",...Ds.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(oe.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&oX(t[e])}))},"sanitize"),spe=S(t=>{u5(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Jf.push(t),pC(Ds,Jf)},"addDirective"),d5=S((t=Ds)=>{Jf=[],pC(t,Jf)},"reset"),ope={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},YF={},lX=S(t=>{YF[t]||(oe.warn(ope[t]),YF[t]=!0)},"issueWarning"),cX=S(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&lX("LAZY_LOAD_DEPRECATED")},"checkConfig"),lpe=S(()=>{let t={};h5&&(t=_i(t,h5));for(const e of Jf)t=_i(t,e);return t},"getUserDefinedConfig"),gn=S(t=>(t.flowchart?.htmlLabels!=null&&lX("FLOWCHART_HTML_LABELS_DEPRECATED"),Bu(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Im=//gi,cpe=S(t=>t?dX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),upe=(()=>{let t=!1;return()=>{t||(uX(),t=!0)}})();function uX(){const t="data-temp-href-target";Zh.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Zh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}S(uX,"setupDompurifyHooks");var hX=S(t=>(upe(),Zh.sanitize(t)),"removeScript"),XF=S((t,e)=>{if(gn(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=hX(t):r!=="loose"&&(t=dX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=ppe(t))}return t},"sanitizeMore"),Jr=S((t,e)=>t&&(e.dompurifyConfig?t=Zh.sanitize(XF(t,e),e.dompurifyConfig).toString():t=Zh.sanitize(XF(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),hpe=S((t,e)=>typeof t=="string"?Jr(t,e):t.flat().map(r=>Jr(r,e)),"sanitizeTextOrArray"),dpe=S(t=>Im.test(t),"hasBreaks"),fpe=S(t=>t.split(Im),"splitBreaks"),ppe=S(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),dX=S(t=>t.replace(Im,"#br#"),"breakToPlaceholder"),gC=S(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),gpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),mpe=S(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Dh=S(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),ype=S((t,e)=>{const r=UA(t,"~"),n=UA(e,"~");return r===1&&n===1},"shouldCombineSets"),vpe=S(t=>{const e=UA(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),jF=S(()=>window.MathMLElement!==void 0,"isMathMLSupported"),HA=/\$\$(.*)\$\$/g,Ri=S(t=>(t.match(HA)?.length??0)>0,"hasKatex"),Hb=S(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await mC(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),bpe=S(async(t,e)=>{if(!Ri(t))return t;if(!(jF()||e.legacyMathML||e.forceLegacyMathML))return t.replace(HA,"MathML is unsupported in this environment.");{const{default:r}=await Nr(async()=>{const{default:i}=await Promise.resolve().then(()=>H_e);return{default:i}},void 0),n=e.forceLegacyMathML||!jF()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Im).map(i=>Ri(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(HA,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),mC=S(async(t,e)=>Jr(await bpe(t,e),e),"renderKatexSanitized"),$t={getRows:cpe,sanitizeText:Jr,sanitizeTextOrArray:hpe,hasBreaks:dpe,splitBreaks:fpe,lineBreakRegex:Im,removeScript:hX,getUrl:gC,evaluate:Bu,getMax:gpe,getMin:mpe},xpe=S(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Tpe=S(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Ui=S(function(t,e,r,n){const i=Tpe(e,r,n);xpe(t,i)},"configureSvgSize"),Bm=S(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;oe.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;oe.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,oe.info(`Calculated bounds: ${o}x${l}`),Ui(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),n3={},wpe=S((t,e,r,n)=>{let i="";return t in n3&&n3[t]?i=n3[t]({...r,svgId:n}):oe.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -130,45 +130,45 @@ Error generating stack: `+L.message+` } ${e} -`},"getStyles"),Rpe=S((t,e)=>{e!==void 0&&(i3[t]=e)},"addStylesForDiagram"),Dpe=Lpe,yD={};fC(yD,{clear:()=>Kn,getAccDescription:()=>hi,getAccTitle:()=>ci,getDiagramTitle:()=>Zn,setAccDescription:()=>ui,setAccTitle:()=>Xn,setDiagramTitle:()=>li});var vD="",bD="",xD="",TD=S(t=>Jr(t,gr()),"sanitizeText"),Kn=S(()=>{vD="",xD="",bD=""},"clear"),Xn=S(t=>{vD=TD(t).replace(/^\s+/g,"")},"setAccTitle"),ci=S(()=>vD,"getAccTitle"),ui=S(t=>{xD=TD(t).replace(/\n\s+/g,` -`)},"setAccDescription"),hi=S(()=>xD,"getAccDescription"),li=S(t=>{bD=TD(t)},"setDiagramTitle"),Zn=S(()=>bD,"getDiagramTitle"),ZF=oe,Npe=fD,Pe=gr,YA=oj,pj=tm,wD=S(t=>Jr(t,Pe()),"sanitizeText"),gj=Pm,Mpe=S(()=>yD,"getCommonDb"),p5={},g5=S((t,e,r)=>{p5[t]&&ZF.warn(`Diagram with id ${t} already registered. Overwriting.`),p5[t]=e,r&&nj(t,r),Rpe(t,e.styles),e.injectUtils?.(ZF,Npe,Pe,wD,gj,Mpe(),()=>{})},"registerDiagram"),jA=S(t=>{if(t in p5)return p5[t];throw new Ope(t)},"getDiagram"),i1,Ope=(i1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(i1,"DiagramNotFoundError"),i1);function a3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Ipe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function CD(t){let e,r,n;t.length!==2?(e=a3,r=(o,l)=>a3(t(o),l),n=(o,l)=>t(o)-l):(e=t===a3||t===Ipe?t:Bpe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function Bpe(){return 0}function Ppe(t){return t===null?NaN:+t}const Fpe=CD(a3),$pe=Fpe.right;CD(Ppe).center;class QF extends Map{constructor(e,r=Vpe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(JF(this,e))}has(e){return super.has(JF(this,e))}set(e,r){return super.set(zpe(this,e),r)}delete(e){return super.delete(qpe(this,e))}}function JF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function zpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function qpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Vpe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Gpe=Math.sqrt(50),Upe=Math.sqrt(10),Hpe=Math.sqrt(2);function m5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Gpe?10:a>=Upe?5:a>=Hpe?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function jpe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Xpe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function ege(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function tge(){return!this.__axis}function mj(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===s3||t===G4?-1:1,h=t===G4||t===S6?"x":"y",d=t===s3||t===ZA?Zpe:Qpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Kpe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?ege:Jpe)(e.copy(),l),_=p.selection?p.selection():p,A=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),R=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");A=A.merge(A.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===s3?"0em":t===ZA?"0.71em":"0.32em")),p!==_&&(A=A.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),R=R.transition(p).attr("opacity",e$).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",e$).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),R.remove(),A.attr("d",t===G4||t===S6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(tge).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===S6?"start":t===G4?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function rge(t){return mj(s3,t)}function nge(t){return mj(ZA,t)}var ige={value:()=>{}};function yj(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}o3.prototype=yj.prototype={constructor:o3,on:function(t,e){var r=this._,n=age(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),r$.hasOwnProperty(e)?{space:r$[e],local:t}:t}function oge(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===QA&&e.documentElement.namespaceURI===QA?e.createElement(t):e.createElementNS(r,t)}}function lge(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function vj(t){var e=vC(t);return(e.local?lge:oge)(e)}function cge(){}function SD(t){return t==null?cge:function(){return this.querySelector(t)}}function uge(t){typeof t!="function"&&(t=SD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Ige(t){t||(t=Bge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function Pge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Fge(){return Array.from(this)}function $ge(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Kge:typeof e=="function"?Qge:Zge)(t,e,r??"")):rm(this.node(),t)}function rm(t,e){return t.style.getPropertyValue(e)||Cj(t).getComputedStyle(t,null).getPropertyValue(e)}function e1e(t){return function(){delete this[t]}}function t1e(t,e){return function(){this[t]=e}}function r1e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function n1e(t,e){return arguments.length>1?this.each((e==null?e1e:typeof e=="function"?r1e:t1e)(t,e)):this.node()[t]}function Sj(t){return t.trim().split(/^|\s+/)}function ED(t){return t.classList||new Ej(t)}function Ej(t){this._node=t,this._names=Sj(t.getAttribute("class")||"")}Ej.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function kj(t,e){for(var r=ED(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function D1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=z1e.exec(t))?new Va(e[1],e[2],e[3],1):(e=q1e.exec(t))?new Va(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=V1e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=G1e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=U1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,1):(e=H1e.exec(t))?c$(e[1],e[2]/100,e[3]/100,e[4]):n$.hasOwnProperty(t)?s$(n$[t]):t==="transparent"?new Va(NaN,NaN,NaN,0):null}function s$(t){return new Va(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Va(t,e,r,n)}function Rj(t){return t instanceof _0||(t=t0(t)),t?(t=t.rgb(),new Va(t.r,t.g,t.b,t.opacity)):new Va}function JA(t,e,r,n){return arguments.length===1?Rj(t):new Va(t,e,r,n??1)}function Va(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}jb(Va,JA,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new Va(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Va(jf(this.r),jf(this.g),jf(this.b),b5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:o$,formatHex:o$,formatHex8:j1e,formatRgb:l$,toString:l$}));function o$(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function j1e(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function l$(){const t=b5(this.opacity);return`${t===1?"rgb(":"rgba("}${jf(this.r)}, ${jf(this.g)}, ${jf(this.b)}${t===1?")":`, ${t})`}`}function b5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function jf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=jf(t),(t<16?"0":"")+t.toString(16)}function c$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function Dj(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof _0||(t=t0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function X1e(t,e,r,n){return arguments.length===1?Dj(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}jb(ll,X1e,bC(_0,{brighter(t){return t=t==null?v5:Math.pow(v5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$2:Math.pow($2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Va(E6(t>=240?t-240:t+120,i,n),E6(t,i,n),E6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(u$(this.h),H4(this.s),H4(this.l),b5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=b5(this.opacity);return`${t===1?"hsl(":"hsla("}${u$(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));function u$(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function E6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const K1e=Math.PI/180,Z1e=180/Math.PI,x5=18,Nj=.96422,Mj=1,Oj=.82521,Ij=4/29,Dg=6/29,Bj=3*Dg*Dg,Q1e=Dg*Dg*Dg;function Pj(t){if(t instanceof ec)return new ec(t.l,t.a,t.b,t.opacity);if(t instanceof fu)return Fj(t);t instanceof Va||(t=Rj(t));var e=L6(t.r),r=L6(t.g),n=L6(t.b),i=k6((.2225045*e+.7168786*r+.0606169*n)/Mj),a,s;return e===r&&r===n?a=s=i:(a=k6((.4360747*e+.3850649*r+.1430804*n)/Nj),s=k6((.0139322*e+.0971045*r+.7141733*n)/Oj)),new ec(116*i-16,500*(a-i),200*(i-s),t.opacity)}function J1e(t,e,r,n){return arguments.length===1?Pj(t):new ec(t,e,r,n??1)}function ec(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}jb(ec,J1e,bC(_0,{brighter(t){return new ec(this.l+x5*(t??1),this.a,this.b,this.opacity)},darker(t){return new ec(this.l-x5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=Nj*_6(e),t=Mj*_6(t),r=Oj*_6(r),new Va(A6(3.1338561*e-1.6168667*t-.4906146*r),A6(-.9787684*e+1.9161415*t+.033454*r),A6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function k6(t){return t>Q1e?Math.pow(t,1/3):t/Bj+Ij}function _6(t){return t>Dg?t*t*t:Bj*(t-Ij)}function A6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function eme(t){if(t instanceof fu)return new fu(t.h,t.c,t.l,t.opacity);if(t instanceof ec||(t=Pj(t)),t.a===0&&t.b===0)return new fu(NaN,0()=>t;function $j(t,e){return function(r){return t+r*e}}function tme(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function rme(t,e){var r=e-t;return r?$j(t,r>180||r<-180?r-360*Math.round(r/360):r):xC(isNaN(t)?e:t)}function nme(t){return(t=+t)==1?_2:function(e,r){return r-e?tme(e,r,t):xC(isNaN(e)?r:e)}}function _2(t,e){var r=e-t;return r?$j(t,r):xC(isNaN(t)?e:t)}const T5=(function t(e){var r=nme(e);function n(i,a){var s=r((i=JA(i)).r,(a=JA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=_2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function ime(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=R6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--nm}function d$(){r0=(C5=q2.now())+TC,nm=Zv=0;try{bme()}finally{nm=0,Tme(),r0=0}}function xme(){var t=q2.now(),e=t-C5;e>Gj&&(TC-=e,C5=t)}function Tme(){for(var t,e=w5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w5=r);Qv=t,n8(n)}function n8(t){if(!nm){Zv&&(Zv=clearTimeout(Zv));var e=t-r0;e>24?(t<1/0&&(Zv=setTimeout(d$,t-q2.now()-TC)),iv&&(iv=clearInterval(iv))):(iv||(C5=q2.now(),iv=setInterval(xme,Gj)),nm=1,Uj(d$))}}function f$(t,e,r){var n=new S5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var wme=yj("start","end","cancel","interrupt"),Cme=[],Wj=0,p$=1,i8=2,l3=3,g$=4,a8=5,c3=6;function wC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;Sme(t,r,{name:e,index:n,group:i,on:wme,tween:Cme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Wj})}function AD(t,e){var r=Sl(t,e);if(r.state>Wj)throw new Error("too late; already scheduled");return r}function cc(t,e){var r=Sl(t,e);if(r.state>l3)throw new Error("too late; already running");return r}function Sl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function Sme(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=Hj(a,0,r.time);function a(u){r.state=p$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==p$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===l3)return f$(s);p.state===g$?(p.state=c3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hi8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function tye(t,e,r){var n,i,a=eye(e)?AD:cc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function rye(t,e){var r=this._id;return arguments.length<2?Sl(this.node(),r).on.on(t):this.each(tye(r,t,e))}function nye(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function iye(){return this.on("end.remove",nye(this._id))}function aye(t){var e=this._name,r=this._id;typeof t!="function"&&(t=SD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Kj;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iCf)if(!(Math.abs(d*l-u*h)>Cf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((s8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>Cf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>Cf||Math.abs(this._y1-h)>Cf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%o8+o8),f>Rye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>Cf&&this._append`A${n},${n},0,${+(f>=s8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function Mye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function E5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function im(t){return t=E5(Math.abs(t)),t?t[1]:NaN}function Oye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Iye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var Bye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k5(t){if(!(e=Bye.exec(t)))throw new Error("invalid format: "+t);var e;return new RD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}k5.prototype=RD.prototype;function RD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}RD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Pye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _5;function Fye(t,e){var r=E5(t,e);if(!r)return _5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(_5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+E5(t,Math.max(0,e+a-1))[0]}function m$(t,e){var r=E5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const y$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Mye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>m$(t*100,e),r:m$,s:Fye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function v$(t){return t}var b$=Array.prototype.map,x$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $ye(t){var e=t.grouping===void 0||t.thousands===void 0?v$:Oye(b$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?v$:Iye(b$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=k5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,A=d.type;A==="n"?(T=!0,A="g"):y$[A]||(E===void 0&&(E=12),_=!0,A="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(A)?"0"+A.toLowerCase():""),R=(b==="$"?n:/[%p]/.test(A)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=y$[A],F=/[defgprs%]/.test(A);E=E===void 0?6:/[gprs]/.test(A)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=R,I,N,B;if(A==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=Pye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(A==="s"&&!isNaN(q)&&_5!==void 0?x$[8+_5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(im(f)/3)))*3,m=Math.pow(10,-p),v=u((d=k5(d),d.type="f",d),{suffix:x$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var Y4,Of,Zj;zye({thousands:",",grouping:[3],currency:["$",""]});function zye(t){return Y4=$ye(t),Of=Y4.format,Zj=Y4.formatPrefix,Y4}function qye(t){return Math.max(0,-im(Math.abs(t)))}function Vye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(im(e)/3)))*3-im(Math.abs(t)))}function Gye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,im(e)-im(t))+1}function Uye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Hye(){return this.eachAfter(Uye)}function Wye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function Yye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function jye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Zye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Qye(t){for(var e=this,r=Jye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function Jye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function eve(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function tve(){return Array.from(this)}function rve(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function nve(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*ive(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new A5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(cve)}function ave(){return DD(this).eachBefore(lve)}function sve(t){return t.children}function ove(t){return Array.isArray(t)?t[1]:null}function lve(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function cve(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function A5(t){this.data=t,this.depth=this.height=0,this.parent=null}A5.prototype=DD.prototype={constructor:A5,count:Hye,each:Wye,eachAfter:jye,eachBefore:Yye,find:Xye,sum:Kye,sort:Zye,path:Qye,ancestors:eve,descendants:tve,leaves:rve,links:nve,copy:ave,[Symbol.iterator]:ive};function uve(t){if(typeof t!="function")throw new Error;return t}function av(){return 0}function sv(t){return function(){return t}}function hve(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function dve(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),A=b*b*_,T=Math.max(C/A,A/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(pve);function yve(){var t=mve,e=!1,r=1,n=1,i=[0],a=av,s=av,o=av,l=av,u=av;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(hve),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function Tve(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?wve:Tve,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,bve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=hme,h()},d.clamp=function(f){return arguments.length?(s=f?!0:vg,h()):s!==vg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function Jj(){return Cve()(vg,vg)}function Sve(t,e,r,n){var i=KA(t,e,r),a;switch(n=k5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Vye(i,s))&&(n.precision=a),Zj(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Gye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=qye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Of(n)}function Eve(t){var e=t.domain;return t.ticks=function(r){var n=e();return Wpe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return Sve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=XA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function am(){var t=Jj();return t.copy=function(){return Qj(t,am())},CC.apply(t,arguments),Eve(t)}function kve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(una(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(D6.setTime(+a),N6.setTime(+s),t(D6),t(N6),Math.floor(r(D6,N6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const sm=na(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);sm.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?na(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):sm);sm.range;const pu=1e3,$o=pu*60,gu=$o*60,Lu=gu*24,ND=Lu*7,C$=Lu*30,M6=Lu*365,Fh=na(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCSeconds());Fh.range;const V2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());V2.range;const _ve=na(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());_ve.range;const G2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*pu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getHours());G2.range;const Ave=na(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gu)},(t,e)=>(e-t)/gu,t=>t.getUTCHours());Ave.range;const n0=na(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Lu,t=>t.getDate()-1);n0.range;const MD=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>t.getUTCDate()-1);MD.range;const Lve=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Lu,t=>Math.floor(t/Lu));Lve.range;function A0(t){return na(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/ND)}const Xb=A0(0),U2=A0(1),eX=A0(2),tX=A0(3),i0=A0(4),rX=A0(5),nX=A0(6);Xb.range;U2.range;eX.range;tX.range;i0.range;rX.range;nX.range;function L0(t){return na(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/ND)}const iX=L0(0),L5=L0(1),Rve=L0(2),Dve=L0(3),om=L0(4),Nve=L0(5),Mve=L0(6);iX.range;L5.range;Rve.range;Dve.range;om.range;Nve.range;Mve.range;const H2=na(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());H2.range;const Ove=na(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Ove.range;const Ru=na(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ru.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Ru.range;const a0=na(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());a0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});a0.range;function Ive(t,e,r,n,i,a){const s=[[Fh,1,pu],[Fh,5,5*pu],[Fh,15,15*pu],[Fh,30,30*pu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,gu],[i,3,3*gu],[i,6,6*gu],[i,12,12*gu],[n,1,Lu],[n,2,2*Lu],[r,1,ND],[e,1,C$],[e,3,3*C$],[t,1,M6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(KA(u/M6,h/M6,d));if(p===0)return sm.every(Math.max(KA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=I6(ov(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?L5.ceil(pe):L5(pe),pe=MD.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=O6(ov(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?U2.ceil(pe):U2(pe),pe=n0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?I6(ov(ne.y,0,1)).getUTCDay():O6(ov(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,I6(ne)):O6(ne)}}function R(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in S$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return R(te,e,ae,ie)}function I(te,ae,ie){return R(te,r,ae,ie)}function N(te,ae,ie){return R(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function j(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function X(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=A(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=A(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var S$={"-":"",_:" ",0:"0"},ha=/^\s*\d+/,$ve=/^%/,zve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Vve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Uve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Hve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Wve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ha.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function k$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Yve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function jve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Xve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function _$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Kve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function A$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Zve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Qve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Jve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function e2e(t,e,r){var n=ha.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function t2e(t,e,r){var n=$ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function r2e(t,e,r){var n=ha.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function n2e(t,e,r){var n=ha.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function L$(t,e){return sn(t.getDate(),e,2)}function i2e(t,e){return sn(t.getHours(),e,2)}function a2e(t,e){return sn(t.getHours()%12||12,e,2)}function s2e(t,e){return sn(1+n0.count(Ru(t),t),e,3)}function aX(t,e){return sn(t.getMilliseconds(),e,3)}function o2e(t,e){return aX(t,e)+"000"}function l2e(t,e){return sn(t.getMonth()+1,e,2)}function c2e(t,e){return sn(t.getMinutes(),e,2)}function u2e(t,e){return sn(t.getSeconds(),e,2)}function h2e(t){var e=t.getDay();return e===0?7:e}function d2e(t,e){return sn(Xb.count(Ru(t)-1,t),e,2)}function sX(t){var e=t.getDay();return e>=4||e===0?i0(t):i0.ceil(t)}function f2e(t,e){return t=sX(t),sn(i0.count(Ru(t),t)+(Ru(t).getDay()===4),e,2)}function p2e(t){return t.getDay()}function g2e(t,e){return sn(U2.count(Ru(t)-1,t),e,2)}function m2e(t,e){return sn(t.getFullYear()%100,e,2)}function y2e(t,e){return t=sX(t),sn(t.getFullYear()%100,e,2)}function v2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function b2e(t,e){var r=t.getDay();return t=r>=4||r===0?i0(t):i0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function x2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function R$(t,e){return sn(t.getUTCDate(),e,2)}function T2e(t,e){return sn(t.getUTCHours(),e,2)}function w2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function C2e(t,e){return sn(1+MD.count(a0(t),t),e,3)}function oX(t,e){return sn(t.getUTCMilliseconds(),e,3)}function S2e(t,e){return oX(t,e)+"000"}function E2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function k2e(t,e){return sn(t.getUTCMinutes(),e,2)}function _2e(t,e){return sn(t.getUTCSeconds(),e,2)}function A2e(t){var e=t.getUTCDay();return e===0?7:e}function L2e(t,e){return sn(iX.count(a0(t)-1,t),e,2)}function lX(t){var e=t.getUTCDay();return e>=4||e===0?om(t):om.ceil(t)}function R2e(t,e){return t=lX(t),sn(om.count(a0(t),t)+(a0(t).getUTCDay()===4),e,2)}function D2e(t){return t.getUTCDay()}function N2e(t,e){return sn(L5.count(a0(t)-1,t),e,2)}function M2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function O2e(t,e){return t=lX(t),sn(t.getUTCFullYear()%100,e,2)}function I2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function B2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?om(t):om.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function P2e(){return"+0000"}function D$(){return"%"}function N$(t){return+t}function M$(t){return Math.floor(+t/1e3)}var Rp,R5;F2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function F2e(t){return Rp=Fve(t),R5=Rp.format,Rp.parse,Rp.utcFormat,Rp.utcParse,Rp}function $2e(t){return new Date(t)}function z2e(t){return t instanceof Date?+t:+new Date(+t)}function cX(t,e,r,n,i,a,s,o,l,u){var h=Jj(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(A){return(l(A)1?0:t<-1?W2:Math.acos(t)}function I$(t){return t>=1?D5:t<=-1?-D5:Math.asin(t)}function uX(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Nye(e)}function W2e(t){return t.innerRadius}function Y2e(t){return t.outerRadius}function j2e(t){return t.startAngle}function X2e(t){return t.endAngle}function K2e(t){return t&&t.padAngle}function Z2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(R=F,O=$),{cx:R,cy:O,x01:-h,y01:-d,x11:R*(i/_-1),y11:O*(i/_-1)}}function lm(){var t=W2e,e=Y2e,r=ki(0),n=null,i=j2e,a=X2e,s=K2e,o=null,l=uX(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-D5,v=a.apply(this,arguments)-D5,b=O$(v-m),x=v>m;if(o||(o=h=l()),pFa))o.moveTo(0,0);else if(b>u3-Fa)o.moveTo(p*Qd(m),p*Dl(m)),o.arc(0,0,p,m,v,!x),f>Fa&&(o.moveTo(f*Qd(v),f*Dl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,A=b,k=b,R=s.apply(this,arguments)/2,O=R>Fa&&(n?+n.apply(this,arguments):bg(f*f+p*p)),F=B6(O$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Fa){var I=I$(O/f*Dl(R)),N=I$(O/p*Dl(R));(A-=I*2)>Fa?(I*=x?1:-1,E+=I,_-=I):(A=0,E=_=(m+v)/2),(k-=N*2)>Fa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Qd(C),M=p*Dl(C),V=f*Qd(_),U=f*Dl(_);if(F>Fa){var P=p*Qd(T),H=p*Dl(T),j=f*Qd(E),Z=f*Dl(E),X;if(bFa?q>Fa?(z=j4(j,Z,B,M,p,q,x),D=j4(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qFa)||!(A>Fa)?o.lineTo(V,U):$>Fa?(z=j4(V,U,P,H,f,-$,x),D=j4(B,M,j,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function tbe(t){return t}function rbe(){var t=tbe,e=ebe,r=null,n=ki(0),i=ki(u3),a=ki(0);function s(o){var l,u=(o=hX(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(u3,Math.max(-u3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,A){return e(m[_],m[A])}):r!=null&&p.sort(function(_,A){return r(o[_],o[A])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:ki(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:ki(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:ki(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:ki(+o),s):a},s}class fX{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function pX(t){return new fX(t,!0)}function gX(t){return new fX(t,!1)}function Jh(){}function N5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function SC(t){this._context=t}SC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:N5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function j2(t){return new SC(t)}function mX(t){this._context=t}mX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function nbe(t){return new mX(t)}function yX(t){this._context=t}yX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function ibe(t){return new yX(t)}function vX(t,e){this._basis=new SC(t),this._beta=e}vX.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const abe=(function t(e){function r(n){return e===1?new SC(n):new vX(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function M5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:M5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bX=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const sbe=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e){this._context=t,this._k=(1-e)/6}BD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:M5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const obe=(function t(e){function r(n){return new BD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function PD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Fa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Fa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function xX(t,e){this._context=t,this._alpha=e}xX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const TX=(function t(e){function r(n){return e?new xX(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wX(t,e){this._context=t,this._alpha=e}wX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const lbe=(function t(e){function r(n){return e?new wX(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function CX(t,e){this._context=t,this._alpha=e}CX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:PD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cbe=(function t(e){function r(n){return e?new CX(n,e):new BD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function SX(t){this._context=t}SX.prototype={areaStart:Jh,areaEnd:Jh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function ube(t){return new SX(t)}function B$(t){return t<0?-1:1}function P$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(B$(a)+B$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function F$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function P6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function O5(t){this._context=t}O5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P6(this,this._t0,F$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,P6(this,F$(this,r=P$(this,t,e)),r);break;default:P6(this,this._t0,r=P$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function EX(t){this._context=new kX(t)}(EX.prototype=Object.create(O5.prototype)).point=function(t,e){O5.prototype.point.call(this,e,t)};function kX(t){this._context=t}kX.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function _X(t){return new O5(t)}function AX(t){return new EX(t)}function LX(t){this._context=t}LX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$$(t),i=$$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function DX(t){return new EC(t,.5)}function NX(t){return new EC(t,0)}function MX(t){return new EC(t,1)}function Jv(t,e,r){this.k=t,this.x=e,this.y=r}Jv.prototype={constructor:Jv,scale:function(t){return t===1?this:new Jv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Jv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Jv.prototype;var Vs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function FD(t){return typeof t>"u"||t===null}S(FD,"isNothing");function OX(t){return typeof t=="object"&&t!==null}S(OX,"isObject");function IX(t){return Array.isArray(t)?t:FD(t)?[]:[t]}S(IX,"toArray");function BX(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;r{e!==void 0&&(n3[t]=e)},"addStylesForDiagram"),Spe=wpe,mD={};dC(mD,{clear:()=>Kn,getAccDescription:()=>hi,getAccTitle:()=>ci,getDiagramTitle:()=>Zn,setAccDescription:()=>ui,setAccTitle:()=>jn,setDiagramTitle:()=>li});var yD="",vD="",bD="",xD=S(t=>Jr(t,gr()),"sanitizeText"),Kn=S(()=>{yD="",bD="",vD=""},"clear"),jn=S(t=>{yD=xD(t).replace(/^\s+/g,"")},"setAccTitle"),ci=S(()=>yD,"getAccTitle"),ui=S(t=>{bD=xD(t).replace(/\n\s+/g,` +`)},"setAccDescription"),hi=S(()=>bD,"getAccDescription"),li=S(t=>{vD=xD(t)},"setDiagramTitle"),Zn=S(()=>vD,"getDiagramTitle"),KF=oe,Epe=dD,Pe=gr,WA=sX,fX=em,TD=S(t=>Jr(t,Pe()),"sanitizeText"),pX=Bm,kpe=S(()=>mD,"getCommonDb"),f5={},p5=S((t,e,r)=>{f5[t]&&KF.warn(`Diagram with id ${t} already registered. Overwriting.`),f5[t]=e,r&&rX(t,r),Cpe(t,e.styles),e.injectUtils?.(KF,Epe,Pe,TD,pX,kpe(),()=>{})},"registerDiagram"),YA=S(t=>{if(t in f5)return f5[t];throw new _pe(t)},"getDiagram"),n1,_pe=(n1=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},S(n1,"DiagramNotFoundError"),n1);function i3(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Ape(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function wD(t){let e,r,n;t.length!==2?(e=i3,r=(o,l)=>i3(t(o),l),n=(o,l)=>t(o)-l):(e=t===i3||t===Ape?t:Lpe,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function Lpe(){return 0}function Rpe(t){return t===null?NaN:+t}const Dpe=wD(i3),Npe=Dpe.right;wD(Rpe).center;class ZF extends Map{constructor(e,r=Ipe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(QF(this,e))}has(e){return super.has(QF(this,e))}set(e,r){return super.set(Mpe(this,e),r)}delete(e){return super.delete(Ope(this,e))}}function QF({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function Mpe({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Ope({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Ipe(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Bpe=Math.sqrt(50),Ppe=Math.sqrt(10),Fpe=Math.sqrt(2);function g5(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Bpe?10:a>=Ppe?5:a>=Fpe?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/ue&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*ue&&--l),l0))return[];if(t===e)return[t];const n=e=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function qpe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Vpe(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n+t(e)}function Ype(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Xpe(){return!this.__axis}function gX(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===a3||t===VT?-1:1,h=t===VT||t===C6?"x":"y",d=t===a3||t===KA?Upe:Hpe;function f(p){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),v=i??(e.tickFormat?e.tickFormat.apply(e,r):Gpe),b=Math.max(a,0)+o,x=e.range(),C=+x[0]+l,T=+x[x.length-1]+l,E=(e.bandwidth?Ype:Wpe)(e.copy(),l),_=p.selection?p.selection():p,R=_.selectAll(".domain").data([null]),k=_.selectAll(".tick").data(m,e).order(),L=k.exit(),O=k.enter().append("g").attr("class","tick"),F=k.select("line"),$=k.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(O),F=F.merge(O.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),$=$.merge(O.append("text").attr("fill","currentColor").attr(h,u*b).attr("dy",t===a3?"0em":t===KA?"0.71em":"0.32em")),p!==_&&(R=R.transition(p),k=k.transition(p),F=F.transition(p),$=$.transition(p),L=L.transition(p).attr("opacity",JF).attr("transform",function(q){return isFinite(q=E(q))?d(q+l):this.getAttribute("transform")}),O.attr("opacity",JF).attr("transform",function(q){var z=this.parentNode.__axis;return d((z&&isFinite(z=z(q))?z:E(q))+l)})),L.remove(),R.attr("d",t===VT||t===C6?s?"M"+u*s+","+C+"H"+l+"V"+T+"H"+u*s:"M"+l+","+C+"V"+T:s?"M"+C+","+u*s+"V"+l+"H"+T+"V"+u*s:"M"+C+","+l+"H"+T),k.attr("opacity",1).attr("transform",function(q){return d(E(q)+l)}),F.attr(h+"2",u*a),$.attr(h,u*b).text(v),_.filter(Xpe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===C6?"start":t===VT?"end":"middle"),_.each(function(){this.__axis=E})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function jpe(t){return gX(a3,t)}function Kpe(t){return gX(KA,t)}var Zpe={value:()=>{}};function mX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}s3.prototype=mX.prototype={constructor:s3,on:function(t,e){var r=this._,n=Qpe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),t$.hasOwnProperty(e)?{space:t$[e],local:t}:t}function ege(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===ZA&&e.documentElement.namespaceURI===ZA?e.createElement(t):e.createElementNS(r,t)}}function tge(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function yX(t){var e=yC(t);return(e.local?tge:ege)(e)}function rge(){}function CD(t){return t==null?rge:function(){return this.querySelector(t)}}function nge(t){typeof t!="function"&&(t=CD(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=T&&(T=C+1);!(_=b[T])&&++T=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Age(t){t||(t=Lge);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function Rge(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Dge(){return Array.from(this)}function Nge(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Gge:typeof e=="function"?Hge:Uge)(t,e,r??"")):tm(this.node(),t)}function tm(t,e){return t.style.getPropertyValue(e)||wX(t).getComputedStyle(t,null).getPropertyValue(e)}function Yge(t){return function(){delete this[t]}}function Xge(t,e){return function(){this[t]=e}}function jge(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Kge(t,e){return arguments.length>1?this.each((e==null?Yge:typeof e=="function"?jge:Xge)(t,e)):this.node()[t]}function CX(t){return t.trim().split(/^|\s+/)}function SD(t){return t.classList||new SX(t)}function SX(t){this._node=t,this._names=CX(t.getAttribute("class")||"")}SX.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function EX(t,e){for(var r=SD(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function S1e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?GT(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?GT(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=M1e.exec(t))?new qa(e[1],e[2],e[3],1):(e=O1e.exec(t))?new qa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=I1e.exec(t))?GT(e[1],e[2],e[3],e[4]):(e=B1e.exec(t))?GT(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=P1e.exec(t))?l$(e[1],e[2]/100,e[3]/100,1):(e=F1e.exec(t))?l$(e[1],e[2]/100,e[3]/100,e[4]):r$.hasOwnProperty(t)?a$(r$[t]):t==="transparent"?new qa(NaN,NaN,NaN,0):null}function a$(t){return new qa(t>>16&255,t>>8&255,t&255,1)}function GT(t,e,r,n){return n<=0&&(t=e=r=NaN),new qa(t,e,r,n)}function LX(t){return t instanceof k0||(t=e0(t)),t?(t=t.rgb(),new qa(t.r,t.g,t.b,t.opacity)):new qa}function QA(t,e,r,n){return arguments.length===1?LX(t):new qa(t,e,r,n??1)}function qa(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Yb(qa,QA,vC(k0,{brighter(t){return t=t==null?y5:Math.pow(y5,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?F2:Math.pow(F2,t),new qa(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new qa(Yf(this.r),Yf(this.g),Yf(this.b),v5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:s$,formatHex:s$,formatHex8:q1e,formatRgb:o$,toString:o$}));function s$(){return`#${zf(this.r)}${zf(this.g)}${zf(this.b)}`}function q1e(){return`#${zf(this.r)}${zf(this.g)}${zf(this.b)}${zf((isNaN(this.opacity)?1:this.opacity)*255)}`}function o$(){const t=v5(this.opacity);return`${t===1?"rgb(":"rgba("}${Yf(this.r)}, ${Yf(this.g)}, ${Yf(this.b)}${t===1?")":`, ${t})`}`}function v5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Yf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function zf(t){return t=Yf(t),(t<16?"0":"")+t.toString(16)}function l$(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ll(t,e,r,n)}function RX(t){if(t instanceof ll)return new ll(t.h,t.s,t.l,t.opacity);if(t instanceof k0||(t=e0(t)),!t)return new ll;if(t instanceof ll)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new ll(s,o,l,t.opacity)}function V1e(t,e,r,n){return arguments.length===1?RX(t):new ll(t,e,r,n??1)}function ll(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Yb(ll,V1e,vC(k0,{brighter(t){return t=t==null?y5:Math.pow(y5,t),new ll(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?F2:Math.pow(F2,t),new ll(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new qa(S6(t>=240?t-240:t+120,i,n),S6(t,i,n),S6(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new ll(c$(this.h),UT(this.s),UT(this.l),v5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=v5(this.opacity);return`${t===1?"hsl(":"hsla("}${c$(this.h)}, ${UT(this.s)*100}%, ${UT(this.l)*100}%${t===1?")":`, ${t})`}`}}));function c$(t){return t=(t||0)%360,t<0?t+360:t}function UT(t){return Math.max(0,Math.min(1,t||0))}function S6(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const G1e=Math.PI/180,U1e=180/Math.PI,b5=18,DX=.96422,NX=1,MX=.82521,OX=4/29,Rg=6/29,IX=3*Rg*Rg,H1e=Rg*Rg*Rg;function BX(t){if(t instanceof Jl)return new Jl(t.l,t.a,t.b,t.opacity);if(t instanceof du)return PX(t);t instanceof qa||(t=LX(t));var e=A6(t.r),r=A6(t.g),n=A6(t.b),i=E6((.2225045*e+.7168786*r+.0606169*n)/NX),a,s;return e===r&&r===n?a=s=i:(a=E6((.4360747*e+.3850649*r+.1430804*n)/DX),s=E6((.0139322*e+.0971045*r+.7141733*n)/MX)),new Jl(116*i-16,500*(a-i),200*(i-s),t.opacity)}function W1e(t,e,r,n){return arguments.length===1?BX(t):new Jl(t,e,r,n??1)}function Jl(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Yb(Jl,W1e,vC(k0,{brighter(t){return new Jl(this.l+b5*(t??1),this.a,this.b,this.opacity)},darker(t){return new Jl(this.l-b5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=DX*k6(e),t=NX*k6(t),r=MX*k6(r),new qa(_6(3.1338561*e-1.6168667*t-.4906146*r),_6(-.9787684*e+1.9161415*t+.033454*r),_6(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function E6(t){return t>H1e?Math.pow(t,1/3):t/IX+OX}function k6(t){return t>Rg?t*t*t:IX*(t-OX)}function _6(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function A6(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Y1e(t){if(t instanceof du)return new du(t.h,t.c,t.l,t.opacity);if(t instanceof Jl||(t=BX(t)),t.a===0&&t.b===0)return new du(NaN,0()=>t;function FX(t,e){return function(r){return t+r*e}}function X1e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function j1e(t,e){var r=e-t;return r?FX(t,r>180||r<-180?r-360*Math.round(r/360):r):bC(isNaN(t)?e:t)}function K1e(t){return(t=+t)==1?k2:function(e,r){return r-e?X1e(e,r,t):bC(isNaN(e)?r:e)}}function k2(t,e){var r=e-t;return r?FX(t,r):bC(isNaN(t)?e:t)}const x5=(function t(e){var r=K1e(e);function n(i,a){var s=r((i=QA(i)).r,(a=QA(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=k2(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n})(1);function Z1e(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;ir&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:al(n,i)})),r=L6.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:al(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:al(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var v=p.push(i(p)+"scale(",null,",",null,")");m.push({i:v-4,x:al(u,d)},{i:v-2,x:al(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,v=f.length,b;++m=0&&t._call.call(void 0,e),t=t._next;--rm}function h$(){t0=(w5=z2.now())+xC,rm=Kv=0;try{dme()}finally{rm=0,pme(),t0=0}}function fme(){var t=z2.now(),e=t-w5;e>VX&&(xC-=e,w5=t)}function pme(){for(var t,e=T5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:T5=r);Zv=t,r8(n)}function r8(t){if(!rm){Kv&&(Kv=clearTimeout(Kv));var e=t-t0;e>24?(t<1/0&&(Kv=setTimeout(h$,t-z2.now()-xC)),nv&&(nv=clearInterval(nv))):(nv||(w5=z2.now(),nv=setInterval(fme,VX)),rm=1,GX(h$))}}function d$(t,e,r){var n=new C5;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var gme=mX("start","end","cancel","interrupt"),mme=[],HX=0,f$=1,n8=2,o3=3,p$=4,i8=5,l3=6;function TC(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;yme(t,r,{name:e,index:n,group:i,on:gme,tween:mme,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:HX})}function _D(t,e){var r=Cl(t,e);if(r.state>HX)throw new Error("too late; already scheduled");return r}function lc(t,e){var r=Cl(t,e);if(r.state>o3)throw new Error("too late; already running");return r}function Cl(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function yme(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=UX(a,0,r.time);function a(u){r.state=f$,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==f$)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===o3)return d$(s);p.state===p$?(p.state=l3,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hn8&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function Xme(t,e,r){var n,i,a=Yme(e)?_D:lc;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function jme(t,e){var r=this._id;return arguments.length<2?Cl(this.node(),r).on.on(t):this.each(Xme(r,t,e))}function Kme(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Zme(){return this.on("end.remove",Kme(this._id))}function Qme(t){var e=this._name,r=this._id;typeof t!="function"&&(t=CD(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return jX;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;iwf)if(!(Math.abs(d*l-u*h)>wf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,m=i-o,v=l*l+u*u,b=p*p+m*m,x=Math.sqrt(v),C=Math.sqrt(f),T=a*Math.tan((a8-Math.acos((v+f-b)/(2*x*C)))/2),E=T/C,_=T/x;Math.abs(E-1)>wf&&this._append`L${e+E*h},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*p>h*m)},${this._x1=e+_*l},${this._y1=r+_*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>wf||Math.abs(this._y1-h)>wf)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%s8+s8),f>Cye?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>wf&&this._append`A${n},${n},0,${+(f>=a8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function kye(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function S5(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function nm(t){return t=S5(Math.abs(t)),t?t[1]:NaN}function _ye(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Aye(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var Lye=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function E5(t){if(!(e=Lye.exec(t)))throw new Error("invalid format: "+t);var e;return new LD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}E5.prototype=LD.prototype;function LD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}LD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Rye(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var k5;function Dye(t,e){var r=S5(t,e);if(!r)return k5=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(k5=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+S5(t,Math.max(0,e+a-1))[0]}function g$(t,e){var r=S5(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const m$={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:kye,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>g$(t*100,e),r:g$,s:Dye,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function y$(t){return t}var v$=Array.prototype.map,b$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Nye(t){var e=t.grouping===void 0||t.thousands===void 0?y$:_ye(v$.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?y$:Aye(v$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d,f){d=E5(d);var p=d.fill,m=d.align,v=d.sign,b=d.symbol,x=d.zero,C=d.width,T=d.comma,E=d.precision,_=d.trim,R=d.type;R==="n"?(T=!0,R="g"):m$[R]||(E===void 0&&(E=12),_=!0,R="g"),(x||p==="0"&&m==="=")&&(x=!0,p="0",m="=");var k=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():""),L=(b==="$"?n:/[%p]/.test(R)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),O=m$[R],F=/[defgprs%]/.test(R);E=E===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E));function $(q){var z=k,D=L,I,N,B;if(R==="c")D=O(q)+D,q="";else{q=+q;var M=q<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),E),_&&(q=Rye(q)),M&&+q==0&&v!=="+"&&(M=!1),z=(M?v==="("?v:o:v==="-"||v==="("?"":v)+z,D=(R==="s"&&!isNaN(q)&&k5!==void 0?b$[8+k5/3]:"")+D+(M&&v==="("?")":""),F){for(I=-1,N=q.length;++IB||B>57){D=(B===46?i+q.slice(I+1):q.slice(I))+D,q=q.slice(0,I);break}}}T&&!x&&(q=e(q,1/0));var V=z.length+q.length+D.length,U=V>1)+z+q+D+U.slice(V);break;default:q=U+z+q+D;break}return a(q)}return $.toString=function(){return d+""},$}function h(d,f){var p=Math.max(-8,Math.min(8,Math.floor(nm(f)/3)))*3,m=Math.pow(10,-p),v=u((d=E5(d),d.type="f",d),{suffix:b$[8+p/3]});return function(b){return v(m*b)}}return{format:u,formatPrefix:h}}var WT,Mf,KX;Mye({thousands:",",grouping:[3],currency:["$",""]});function Mye(t){return WT=Nye(t),Mf=WT.format,KX=WT.formatPrefix,WT}function Oye(t){return Math.max(0,-nm(Math.abs(t)))}function Iye(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(nm(e)/3)))*3-nm(Math.abs(t)))}function Bye(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,nm(e)-nm(t))+1}function Pye(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function Fye(){return this.eachAfter(Pye)}function $ye(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function zye(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function qye(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function Uye(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Hye(t){for(var e=this,r=Wye(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function Wye(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function Yye(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function Xye(){return Array.from(this)}function jye(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Kye(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*Zye(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new _5(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(rve)}function Qye(){return RD(this).eachBefore(tve)}function Jye(t){return t.children}function eve(t){return Array.isArray(t)?t[1]:null}function tve(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function rve(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function _5(t){this.data=t,this.depth=this.height=0,this.parent=null}_5.prototype=RD.prototype={constructor:_5,count:Fye,each:$ye,eachAfter:qye,eachBefore:zye,find:Vye,sum:Gye,sort:Uye,path:Hye,ancestors:Yye,descendants:Xye,leaves:jye,links:Kye,copy:Qye,[Symbol.iterator]:Zye};function nve(t){if(typeof t!="function")throw new Error;return t}function iv(){return 0}function av(t){return function(){return t}}function ive(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function ave(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++oC&&(C=u),R=b*b*_,T=Math.max(C/R,R/x),T>E){b-=u;break}E=T}s.push(l={value:b,dice:p1?n:1)},r})(ove);function uve(){var t=cve,e=!1,r=1,n=1,i=[0],a=iv,s=iv,o=iv,l=iv,u=iv;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(ive),f}function d(f){var p=i[f.depth],m=f.x0+p,v=f.y0+p,b=f.x1-p,x=f.y1-p;be&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function pve(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?gve:pve,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),al)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,dve),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=ime,h()},d.clamp=function(f){return arguments.length?(s=f?!0:yg,h()):s!==yg},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function QX(){return mve()(yg,yg)}function yve(t,e,r,n){var i=jA(t,e,r),a;switch(n=E5(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=Iye(i,s))&&(n.precision=a),KX(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=Bye(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=Oye(i))&&(n.precision=a-(n.type==="%")*2);break}}return Mf(n)}function vve(t){var e=t.domain;return t.ticks=function(r){var n=e();return $pe(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return yve(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=XA(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function im(){var t=QX();return t.copy=function(){return ZX(t,im())},wC.apply(t,arguments),vve(t)}function bve(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(una(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(R6.setTime(+a),D6.setTime(+s),t(R6),t(D6),Math.floor(r(R6,D6))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const am=na(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);am.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?na(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):am);am.range;const fu=1e3,$o=fu*60,pu=$o*60,Au=pu*24,DD=Au*7,w$=Au*30,N6=Au*365,Bh=na(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*fu)},(t,e)=>(e-t)/fu,t=>t.getUTCSeconds());Bh.range;const q2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*fu)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getMinutes());q2.range;const xve=na(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*$o)},(t,e)=>(e-t)/$o,t=>t.getUTCMinutes());xve.range;const V2=na(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*fu-t.getMinutes()*$o)},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getHours());V2.range;const Tve=na(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*pu)},(t,e)=>(e-t)/pu,t=>t.getUTCHours());Tve.range;const r0=na(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$o)/Au,t=>t.getDate()-1);r0.range;const ND=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Au,t=>t.getUTCDate()-1);ND.range;const wve=na(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Au,t=>Math.floor(t/Au));wve.range;function _0(t){return na(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*$o)/DD)}const Xb=_0(0),G2=_0(1),JX=_0(2),ej=_0(3),n0=_0(4),tj=_0(5),rj=_0(6);Xb.range;G2.range;JX.range;ej.range;n0.range;tj.range;rj.range;function A0(t){return na(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/DD)}const nj=A0(0),A5=A0(1),Cve=A0(2),Sve=A0(3),sm=A0(4),Eve=A0(5),kve=A0(6);nj.range;A5.range;Cve.range;Sve.range;sm.range;Eve.range;kve.range;const U2=na(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());U2.range;const _ve=na(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());_ve.range;const Lu=na(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Lu.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Lu.range;const i0=na(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());i0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:na(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});i0.range;function Ave(t,e,r,n,i,a){const s=[[Bh,1,fu],[Bh,5,5*fu],[Bh,15,15*fu],[Bh,30,30*fu],[a,1,$o],[a,5,5*$o],[a,15,15*$o],[a,30,30*$o],[i,1,pu],[i,3,3*pu],[i,6,6*pu],[i,12,12*pu],[n,1,Au],[n,2,2*Au],[r,1,DD],[e,1,w$],[e,3,3*w$],[t,1,N6]];function o(u,h,d){const f=hb).right(s,f);if(p===s.length)return t.every(jA(u/N6,h/N6,d));if(p===0)return am.every(Math.max(jA(u,h,d),1));const[m,v]=s[f/s[p-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?(pe=O6(sv(ne.y,0,1)),Me=pe.getUTCDay(),pe=Me>4||Me===0?A5.ceil(pe):A5(pe),pe=ND.offset(pe,(ne.V-1)*7),ne.y=pe.getUTCFullYear(),ne.m=pe.getUTCMonth(),ne.d=pe.getUTCDate()+(ne.w+6)%7):(pe=M6(sv(ne.y,0,1)),Me=pe.getDay(),pe=Me>4||Me===0?G2.ceil(pe):G2(pe),pe=r0.offset(pe,(ne.V-1)*7),ne.y=pe.getFullYear(),ne.m=pe.getMonth(),ne.d=pe.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Me="Z"in ne?O6(sv(ne.y,0,1)).getUTCDay():M6(sv(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Me+5)%7:ne.w+ne.U*7-(Me+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,O6(ne)):M6(ne)}}function L(te,ae,ie,ne){for(var me=0,pe=ae.length,Me=ie.length,$e,He;me=Me)return-1;if($e=ae.charCodeAt(me++),$e===37){if($e=ae.charAt(me++),He=_[$e in C$?ae.charAt(me++):$e],!He||(ne=He(te,ie,ne))<0)return-1}else if($e!=ie.charCodeAt(ne++))return-1}return ne}function O(te,ae,ie){var ne=u.exec(ae.slice(ie));return ne?(te.p=h.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function F(te,ae,ie){var ne=p.exec(ae.slice(ie));return ne?(te.w=m.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function $(te,ae,ie){var ne=d.exec(ae.slice(ie));return ne?(te.w=f.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function q(te,ae,ie){var ne=x.exec(ae.slice(ie));return ne?(te.m=C.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function z(te,ae,ie){var ne=v.exec(ae.slice(ie));return ne?(te.m=b.get(ne[0].toLowerCase()),ie+ne[0].length):-1}function D(te,ae,ie){return L(te,e,ae,ie)}function I(te,ae,ie){return L(te,r,ae,ie)}function N(te,ae,ie){return L(te,n,ae,ie)}function B(te){return s[te.getDay()]}function M(te){return a[te.getDay()]}function V(te){return l[te.getMonth()]}function U(te){return o[te.getMonth()]}function P(te){return i[+(te.getHours()>=12)]}function H(te){return 1+~~(te.getMonth()/3)}function X(te){return s[te.getUTCDay()]}function Z(te){return a[te.getUTCDay()]}function j(te){return l[te.getUTCMonth()]}function ee(te){return o[te.getUTCMonth()]}function Q(te){return i[+(te.getUTCHours()>=12)]}function he(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ae=R(te+="",T);return ae.toString=function(){return te},ae},parse:function(te){var ae=k(te+="",!1);return ae.toString=function(){return te},ae},utcFormat:function(te){var ae=R(te+="",E);return ae.toString=function(){return te},ae},utcParse:function(te){var ae=k(te+="",!0);return ae.toString=function(){return te},ae}}}var C$={"-":"",_:" ",0:"0"},ha=/^\s*\d+/,Nve=/^%/,Mve=/[\\^$*+?|[\]().{}]/g;function sn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Ive(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Bve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Pve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Fve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function $ve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function S$(t,e,r){var n=ha.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function E$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function zve(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function qve(t,e,r){var n=ha.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Vve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function k$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Gve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function _$(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Uve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Hve(t,e,r){var n=ha.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Wve(t,e,r){var n=ha.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Yve(t,e,r){var n=ha.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Xve(t,e,r){var n=Nve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function jve(t,e,r){var n=ha.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Kve(t,e,r){var n=ha.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function A$(t,e){return sn(t.getDate(),e,2)}function Zve(t,e){return sn(t.getHours(),e,2)}function Qve(t,e){return sn(t.getHours()%12||12,e,2)}function Jve(t,e){return sn(1+r0.count(Lu(t),t),e,3)}function ij(t,e){return sn(t.getMilliseconds(),e,3)}function e2e(t,e){return ij(t,e)+"000"}function t2e(t,e){return sn(t.getMonth()+1,e,2)}function r2e(t,e){return sn(t.getMinutes(),e,2)}function n2e(t,e){return sn(t.getSeconds(),e,2)}function i2e(t){var e=t.getDay();return e===0?7:e}function a2e(t,e){return sn(Xb.count(Lu(t)-1,t),e,2)}function aj(t){var e=t.getDay();return e>=4||e===0?n0(t):n0.ceil(t)}function s2e(t,e){return t=aj(t),sn(n0.count(Lu(t),t)+(Lu(t).getDay()===4),e,2)}function o2e(t){return t.getDay()}function l2e(t,e){return sn(G2.count(Lu(t)-1,t),e,2)}function c2e(t,e){return sn(t.getFullYear()%100,e,2)}function u2e(t,e){return t=aj(t),sn(t.getFullYear()%100,e,2)}function h2e(t,e){return sn(t.getFullYear()%1e4,e,4)}function d2e(t,e){var r=t.getDay();return t=r>=4||r===0?n0(t):n0.ceil(t),sn(t.getFullYear()%1e4,e,4)}function f2e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+sn(e/60|0,"0",2)+sn(e%60,"0",2)}function L$(t,e){return sn(t.getUTCDate(),e,2)}function p2e(t,e){return sn(t.getUTCHours(),e,2)}function g2e(t,e){return sn(t.getUTCHours()%12||12,e,2)}function m2e(t,e){return sn(1+ND.count(i0(t),t),e,3)}function sj(t,e){return sn(t.getUTCMilliseconds(),e,3)}function y2e(t,e){return sj(t,e)+"000"}function v2e(t,e){return sn(t.getUTCMonth()+1,e,2)}function b2e(t,e){return sn(t.getUTCMinutes(),e,2)}function x2e(t,e){return sn(t.getUTCSeconds(),e,2)}function T2e(t){var e=t.getUTCDay();return e===0?7:e}function w2e(t,e){return sn(nj.count(i0(t)-1,t),e,2)}function oj(t){var e=t.getUTCDay();return e>=4||e===0?sm(t):sm.ceil(t)}function C2e(t,e){return t=oj(t),sn(sm.count(i0(t),t)+(i0(t).getUTCDay()===4),e,2)}function S2e(t){return t.getUTCDay()}function E2e(t,e){return sn(A5.count(i0(t)-1,t),e,2)}function k2e(t,e){return sn(t.getUTCFullYear()%100,e,2)}function _2e(t,e){return t=oj(t),sn(t.getUTCFullYear()%100,e,2)}function A2e(t,e){return sn(t.getUTCFullYear()%1e4,e,4)}function L2e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?sm(t):sm.ceil(t),sn(t.getUTCFullYear()%1e4,e,4)}function R2e(){return"+0000"}function R$(){return"%"}function D$(t){return+t}function N$(t){return Math.floor(+t/1e3)}var Lp,L5;D2e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function D2e(t){return Lp=Dve(t),L5=Lp.format,Lp.parse,Lp.utcFormat,Lp.utcParse,Lp}function N2e(t){return new Date(t)}function M2e(t){return t instanceof Date?+t:+new Date(+t)}function lj(t,e,r,n,i,a,s,o,l,u){var h=QX(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),v=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),C=u("%b %d"),T=u("%B"),E=u("%Y");function _(R){return(l(R)1?0:t<-1?H2:Math.acos(t)}function O$(t){return t>=1?R5:t<=-1?-R5:Math.asin(t)}function cj(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Eye(e)}function $2e(t){return t.innerRadius}function z2e(t){return t.outerRadius}function q2e(t){return t.startAngle}function V2e(t){return t.endAngle}function G2e(t){return t&&t.padAngle}function U2e(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+I*I&&(L=F,O=$),{cx:L,cy:O,x01:-h,y01:-d,x11:L*(i/_-1),y11:O*(i/_-1)}}function om(){var t=$2e,e=z2e,r=ki(0),n=null,i=q2e,a=V2e,s=G2e,o=null,l=cj(u);function u(){var h,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=i.apply(this,arguments)-R5,v=a.apply(this,arguments)-R5,b=M$(v-m),x=v>m;if(o||(o=h=l()),pPa))o.moveTo(0,0);else if(b>c3-Pa)o.moveTo(p*Zd(m),p*Rl(m)),o.arc(0,0,p,m,v,!x),f>Pa&&(o.moveTo(f*Zd(v),f*Rl(v)),o.arc(0,0,f,v,m,x));else{var C=m,T=v,E=m,_=v,R=b,k=b,L=s.apply(this,arguments)/2,O=L>Pa&&(n?+n.apply(this,arguments):vg(f*f+p*p)),F=I6(M$(p-f)/2,+r.apply(this,arguments)),$=F,q=F,z,D;if(O>Pa){var I=O$(O/f*Rl(L)),N=O$(O/p*Rl(L));(R-=I*2)>Pa?(I*=x?1:-1,E+=I,_-=I):(R=0,E=_=(m+v)/2),(k-=N*2)>Pa?(N*=x?1:-1,C+=N,T-=N):(k=0,C=T=(m+v)/2)}var B=p*Zd(C),M=p*Rl(C),V=f*Zd(_),U=f*Rl(_);if(F>Pa){var P=p*Zd(T),H=p*Rl(T),X=f*Zd(E),Z=f*Rl(E),j;if(bPa?q>Pa?(z=YT(X,Z,B,M,p,q,x),D=YT(P,H,V,U,p,q,x),o.moveTo(z.cx+z.x01,z.cy+z.y01),qPa)||!(R>Pa)?o.lineTo(V,U):$>Pa?(z=YT(V,U,P,H,f,-$,x),D=YT(B,M,X,Z,f,-$,x),o.lineTo(z.cx+z.x01,z.cy+z.y01),$t?1:e>=t?0:NaN}function X2e(t){return t}function j2e(){var t=X2e,e=Y2e,r=null,n=ki(0),i=ki(c3),a=ki(0);function s(o){var l,u=(o=uj(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),v=+n.apply(this,arguments),b=Math.min(c3,Math.max(-c3,i.apply(this,arguments)-v)),x,C=Math.min(Math.abs(b)/u,a.apply(this,arguments)),T=C*(b<0?-1:1),E;for(l=0;l0&&(f+=E);for(e!=null?p.sort(function(_,R){return e(m[_],m[R])}):r!=null&&p.sort(function(_,R){return r(o[_],o[R])}),l=0,d=f?(b-u*T)/f:0;l0?E*d:0)+T,m[h]={data:o[h],index:l,value:E,startAngle:v,endAngle:x,padAngle:C};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:ki(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:ki(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:ki(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:ki(+o),s):a},s}class dj{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function fj(t){return new dj(t,!0)}function pj(t){return new dj(t,!1)}function Qh(){}function D5(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function CC(t){this._context=t}CC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:D5(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:D5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Y2(t){return new CC(t)}function gj(t){this._context=t}gj.prototype={areaStart:Qh,areaEnd:Qh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:D5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function K2e(t){return new gj(t)}function mj(t){this._context=t}mj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:D5(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Z2e(t){return new mj(t)}function yj(t,e){this._basis=new CC(t),this._beta=e}yj.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const Q2e=(function t(e){function r(n){return e===1?new CC(n):new yj(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function N5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function MD(t,e){this._context=t,this._k=(1-e)/6}MD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:N5(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:N5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const vj=(function t(e){function r(n){return new MD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function OD(t,e){this._context=t,this._k=(1-e)/6}OD.prototype={areaStart:Qh,areaEnd:Qh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:N5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const J2e=(function t(e){function r(n){return new OD(n,e)}return r.tension=function(n){return t(+n)},r})(0);function ID(t,e){this._context=t,this._k=(1-e)/6}ID.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:N5(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const ebe=(function t(e){function r(n){return new ID(n,e)}return r.tension=function(n){return t(+n)},r})(0);function BD(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Pa){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Pa){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function bj(t,e){this._context=t,this._alpha=e}bj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:BD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const xj=(function t(e){function r(n){return e?new bj(n,e):new MD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Tj(t,e){this._context=t,this._alpha=e}Tj.prototype={areaStart:Qh,areaEnd:Qh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:BD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const tbe=(function t(e){function r(n){return e?new Tj(n,e):new OD(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function wj(t,e){this._context=t,this._alpha=e}wj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:BD(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const rbe=(function t(e){function r(n){return e?new wj(n,e):new ID(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function Cj(t){this._context=t}Cj.prototype={areaStart:Qh,areaEnd:Qh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function nbe(t){return new Cj(t)}function I$(t){return t<0?-1:1}function B$(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(I$(a)+I$(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function P$(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function B6(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function M5(t){this._context=t}M5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:B6(this,this._t0,P$(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,B6(this,P$(this,r=B$(this,t,e)),r);break;default:B6(this,this._t0,r=B$(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function Sj(t){this._context=new Ej(t)}(Sj.prototype=Object.create(M5.prototype)).point=function(t,e){M5.prototype.point.call(this,e,t)};function Ej(t){this._context=t}Ej.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function kj(t){return new M5(t)}function _j(t){return new Sj(t)}function Aj(t){this._context=t}Aj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=F$(t),i=F$(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Rj(t){return new SC(t,.5)}function Dj(t){return new SC(t,0)}function Nj(t){return new SC(t,1)}function Qv(t,e,r){this.k=t,this.x=e,this.y=r}Qv.prototype={constructor:Qv,scale:function(t){return t===1?this:new Qv(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qv(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Qv.prototype;var Vs=S(t=>{const{securityLevel:e}=Pe();let r=kt("body");if(e==="sandbox"){const a=kt(`#i${t}`).node()?.contentDocument??document;r=kt(a.body)}return r.select(`#${t}`)},"selectSvgElement");function PD(t){return typeof t>"u"||t===null}S(PD,"isNothing");function Mj(t){return typeof t=="object"&&t!==null}S(Mj,"isObject");function Oj(t){return Array.isArray(t)?t:PD(t)?[]:[t]}S(Oj,"toArray");function Ij(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;ro&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(h3,"getLine");function d3(t,e){return Qi.repeat(" ",e-t.length)+t}S(d3,"padStart");function $X(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=h3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Qi.repeat(" ",e.indent)+d3((t.line-l+1).toString(),h)+" | "+u.str+` -`+o;for(u=h3(t.buffer,n[s],i[s],t.position,d),o+=Qi.repeat(" ",e.indent)+d3((t.line+1).toString(),h)+" | "+u.str+` +`+t.mark.snippet),n+" "+r):n}S(FD,"formatError");function lm(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=FD(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}S(lm,"YAMLException$1");lm.prototype=Object.create(Error.prototype);lm.prototype.constructor=lm;lm.prototype.toString=S(function(e){return this.name+": "+FD(this,e)},"toString");var Os=lm;function u3(t,e,r,n,i){var a="",s="",o=Math.floor(i/2)-1;return n-e>o&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}S(u3,"getLine");function h3(t,e){return Qi.repeat(" ",e-t.length)+t}S(h3,"padStart");function Fj(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,h=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+h+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=u3(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),d),o=Qi.repeat(" ",e.indent)+h3((t.line-l+1).toString(),h)+" | "+u.str+` +`+o;for(u=u3(t.buffer,n[s],i[s],t.position,d),o+=Qi.repeat(" ",e.indent)+h3((t.line+1).toString(),h)+" | "+u.str+` `,o+=Qi.repeat("-",e.indent+h+3+u.pos)+`^ -`,l=1;l<=e.linesAfter&&!(s+l>=i.length);l++)u=h3(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),d),o+=Qi.repeat(" ",e.indent)+d3((t.line+l+1).toString(),h)+" | "+u.str+` -`;return o.replace(/\n$/,"")}S($X,"makeSnippet");var ybe=$X,vbe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],bbe=["scalar","sequence","mapping"];function zX(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}S(zX,"compileStyleAliases");function qX(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(vbe.indexOf(r)===-1)throw new Os('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=zX(e.styleAliases||null),bbe.indexOf(this.kind)===-1)throw new Os('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}S(qX,"Type$1");var Ga=qX;function u8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}S(u8,"compileList");function VX(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(S(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Abe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tK(t){return!(t===null||!Abe.test(t)||t[t.length-1]==="_")}S(tK,"resolveYamlFloat");function rK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(rK,"constructYamlFloat");var Lbe=/^[-+]?[0-9]+e/;function nK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Qi.isNegativeZero(t))return"-0.0";return r=t.toString(10),Lbe.test(r)?r.replace("e",".e"):r}S(nK,"representYamlFloat");function iK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Qi.isNegativeZero(t))}S(iK,"isFloat");var Rbe=new Ga("tag:yaml.org,2002:float",{kind:"scalar",resolve:tK,construct:rK,predicate:iK,represent:nK,defaultStyle:"lowercase"}),aK=Sbe.extend({implicit:[Ebe,kbe,_be,Rbe]}),Dbe=aK,sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),oK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lK(t){return t===null?!1:sK.exec(t)!==null||oK.exec(t)!==null}S(lK,"resolveYamlTimestamp");function cK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=sK.exec(t),e===null&&(e=oK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(cK,"constructYamlTimestamp");function uK(t){return t.toISOString()}S(uK,"representYamlTimestamp");var Nbe=new Ga("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lK,construct:cK,instanceOf:Date,represent:uK});function hK(t){return t==="<<"||t===null}S(hK,"resolveYamlMerge");var Mbe=new Ga("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hK}),zD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function dK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=zD;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(dK,"resolveYamlBinary");function fK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=zD,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(fK,"constructYamlBinary");function pK(t){var e="",r=0,n,i,a=t.length,s=zD;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(pK,"representYamlBinary");function gK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(gK,"isBinary");var Obe=new Ga("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dK,construct:fK,predicate:gK,represent:pK}),Ibe=Object.prototype.hasOwnProperty,Bbe=Object.prototype.toString;function mK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(RK,"charFromCodepoint");function qD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(qD,"setProperty");var DK=new Array(256),NK=new Array(256);for(Jd=0;Jd<256;Jd++)DK[Jd]=d8(Jd)?1:0,NK[Jd]=d8(Jd);var Jd;function MK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||wK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(MK,"State$1");function VD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=ybe(r),new Os(e,r)}S(VD,"generateError");function hr(t,e){throw VD(t,e)}S(hr,"throwError");function X2(t,e){t.onWarning&&t.onWarning.call(null,VD(t,e))}S(X2,"throwWarning");var q$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&X2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],EK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),ed.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),kK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Tu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Qi.repeat(` -`,e-1))}S(_C,"writeFoldedLines");function OK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),os(p)||Vf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),os(i)||r&&Vf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),os(n))break}else{if(t.position===t.lineStart&&Kb(t)||r&&Vf(p))break;if(pl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,Ai(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(Tu(t,a,s,!1),_C(t,t.line-l),a=s=t.position,o=!1),Yh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return Tu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(OK,"readPlainScalar");function IK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Tu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else pl(r)?(Tu(t,n,i,!0),_C(t,Ai(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(IK,"readSingleQuotedScalar");function BK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Tu(t,r,t.position,!0),t.position++,!0;if(o===92){if(Tu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),pl(o))Ai(t,!1,e);else if(o<256&&DK[o])t.result+=NK[o],t.position++;else if((s=AK(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=_K(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=RK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else pl(o)?(Tu(t,r,n,!0),_C(t,Ai(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Kb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(BK,"readDoubleQuotedScalar");function PK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),os(u)&&(d=f=!0,t.position++,Ai(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,s0(t,e,B5,!1,!0),b=t.tag,v=t.result,Ai(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),Ai(t,!0,e),s0(t,e,B5,!1,!0),x=t.result),p?Gf(t,o,m,b,v,x,n,i,a):d?o.push(Gf(t,null,m,b,v,x,n,i,a)):o.push(v),Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(PK,"readFlowCollection");function FK(t,e){var r,n,i=F6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)F6===i?i=d===43?z$:Vbe:hr(t,"repeat of a chomping mode identifier");else if((h=LK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Yh(d)){do d=t.input.charCodeAt(++t.position);while(Yh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!pl(d)&&d!==0)}for(;d!==0;){for(kC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),pl(d)){l++;continue}if(t.lineIndent=i.length);l++)u=u3(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),d),o+=Qi.repeat(" ",e.indent)+h3((t.line+l+1).toString(),h)+" | "+u.str+` +`;return o.replace(/\n$/,"")}S(Fj,"makeSnippet");var ube=Fj,hbe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],dbe=["scalar","sequence","mapping"];function $j(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}S($j,"compileStyleAliases");function zj(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(hbe.indexOf(r)===-1)throw new Os('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=$j(e.styleAliases||null),dbe.indexOf(this.kind)===-1)throw new Os('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}S(zj,"Type$1");var Va=zj;function c8(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}S(c8,"compileList");function qj(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(S(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:S(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:S(function(t){return t.toString(10)},"decimal"),hexadecimal:S(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Tbe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function eK(t){return!(t===null||!Tbe.test(t)||t[t.length-1]==="_")}S(eK,"resolveYamlFloat");function tK(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}S(tK,"constructYamlFloat");var wbe=/^[-+]?[0-9]+e/;function rK(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Qi.isNegativeZero(t))return"-0.0";return r=t.toString(10),wbe.test(r)?r.replace("e",".e"):r}S(rK,"representYamlFloat");function nK(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Qi.isNegativeZero(t))}S(nK,"isFloat");var Cbe=new Va("tag:yaml.org,2002:float",{kind:"scalar",resolve:eK,construct:tK,predicate:nK,represent:rK,defaultStyle:"lowercase"}),iK=ybe.extend({implicit:[vbe,bbe,xbe,Cbe]}),Sbe=iK,aK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),sK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function oK(t){return t===null?!1:aK.exec(t)!==null||sK.exec(t)!==null}S(oK,"resolveYamlTimestamp");function lK(t){var e,r,n,i,a,s,o,l=0,u=null,h,d,f;if(e=aK.exec(t),e===null&&(e=sK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=+e[10],d=+(e[11]||0),u=(h*60+d)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}S(lK,"constructYamlTimestamp");function cK(t){return t.toISOString()}S(cK,"representYamlTimestamp");var Ebe=new Va("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:oK,construct:lK,instanceOf:Date,represent:cK});function uK(t){return t==="<<"||t===null}S(uK,"resolveYamlMerge");var kbe=new Va("tag:yaml.org,2002:merge",{kind:"scalar",resolve:uK}),$D=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function hK(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=$D;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}S(hK,"resolveYamlBinary");function dK(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=$D,s=0,o=[];for(e=0;e>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}S(dK,"constructYamlBinary");function fK(t){var e="",r=0,n,i,a=t.length,s=$D;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}S(fK,"representYamlBinary");function pK(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}S(pK,"isBinary");var _be=new Va("tag:yaml.org,2002:binary",{kind:"scalar",resolve:hK,construct:dK,predicate:pK,represent:fK}),Abe=Object.prototype.hasOwnProperty,Lbe=Object.prototype.toString;function gK(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r>10)+55296,(t-65536&1023)+56320)}S(LK,"charFromCodepoint");function zD(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}S(zD,"setProperty");var RK=new Array(256),DK=new Array(256);for(Qd=0;Qd<256;Qd++)RK[Qd]=h8(Qd)?1:0,DK[Qd]=h8(Qd);var Qd;function NK(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||TK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}S(NK,"State$1");function qD(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=ube(r),new Os(e,r)}S(qD,"generateError");function hr(t,e){throw qD(t,e)}S(hr,"throwError");function X2(t,e){t.onWarning&&t.onWarning.call(null,qD(t,e))}S(X2,"throwWarning");var z$={YAML:S(function(e,r,n){var i,a,s;e.version!==null&&hr(e,"duplication of %YAML directive"),n.length!==1&&hr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&hr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&hr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&X2(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:S(function(e,r,n){var i,a;n.length!==2&&hr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],SK.test(i)||hr(e,"ill-formed tag handle (first argument) of the TAG directive"),Jh.call(e.tagMap,i)&&hr(e,'there is a previously declared suffix for "'+i+'" tag handle'),EK.test(a)||hr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{hr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function xu(t,e,r,n){var i,a,s,o;if(e1&&(t.result+=Qi.repeat(` +`,e-1))}S(kC,"writeFoldedLines");function MK(t,e,r){var n,i,a,s,o,l,u,h,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),os(p)||qf(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=t.input.charCodeAt(t.position+1),os(i)||r&&qf(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),os(i)||r&&qf(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),os(n))break}else{if(t.position===t.lineStart&&jb(t)||r&&qf(p))break;if(fl(p))if(l=t.line,u=t.lineStart,h=t.lineIndent,Ai(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=h;break}}o&&(xu(t,a,s,!1),kC(t,t.line-l),a=s=t.position,o=!1),Wh(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return xu(t,a,s,!1),t.result?!0:(t.kind=d,t.result=f,!1)}S(MK,"readPlainScalar");function OK(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(xu(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else fl(r)?(xu(t,n,i,!0),kC(t,Ai(t,!1,e)),n=i=t.position):t.position===t.lineStart&&jb(t)?hr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);hr(t,"unexpected end of the stream within a single quoted scalar")}S(OK,"readSingleQuotedScalar");function IK(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return xu(t,r,t.position,!0),t.position++,!0;if(o===92){if(xu(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),fl(o))Ai(t,!1,e);else if(o<256&&RK[o])t.result+=DK[o],t.position++;else if((s=_K(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=kK(o))>=0?a=(a<<4)+s:hr(t,"expected hexadecimal character");t.result+=LK(a),t.position++}else hr(t,"unknown escape sequence");r=n=t.position}else fl(o)?(xu(t,r,n,!0),kC(t,Ai(t,!1,e)),r=n=t.position):t.position===t.lineStart&&jb(t)?hr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}hr(t,"unexpected end of the stream within a double quoted scalar")}S(IK,"readDoubleQuotedScalar");function BK(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,h,d,f,p,m=Object.create(null),v,b,x,C;if(C=t.input.charCodeAt(t.position),C===91)h=93,p=!1,o=[];else if(C===123)h=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),C=t.input.charCodeAt(++t.position);C!==0;){if(Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===h)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?C===44&&hr(t,"expected the node content, but found ','"):hr(t,"missed comma between flow collection entries"),b=v=x=null,d=f=!1,C===63&&(u=t.input.charCodeAt(t.position+1),os(u)&&(d=f=!0,t.position++,Ai(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,a0(t,e,I5,!1,!0),b=t.tag,v=t.result,Ai(t,!0,e),C=t.input.charCodeAt(t.position),(f||t.line===n)&&C===58&&(d=!0,C=t.input.charCodeAt(++t.position),Ai(t,!0,e),a0(t,e,I5,!1,!0),x=t.result),p?Vf(t,o,m,b,v,x,n,i,a):d?o.push(Vf(t,null,m,b,v,x,n,i,a)):o.push(v),Ai(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}hr(t,"unexpected end of the stream within a flow collection")}S(BK,"readFlowCollection");function PK(t,e){var r,n,i=P6,a=!1,s=!1,o=e,l=0,u=!1,h,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)P6===i?i=d===43?$$:Ibe:hr(t,"repeat of a chomping mode identifier");else if((h=AK(d))>=0)h===0?hr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?hr(t,"repeat of an indentation width identifier"):(o=e+h-1,s=!0);else break;if(Wh(d)){do d=t.input.charCodeAt(++t.position);while(Wh(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!fl(d)&&d!==0)}for(;d!==0;){for(EC(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndento&&(o=t.lineIndent),fl(d)){l++;continue}if(t.lineIndente)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),s0(t,e,P5,!0,i)&&(b?m=t.result:v=t.result),b||(Gf(t,d,f,p,m,v,s,o,l),p=m=v=null),Ai(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(s0,"composeNode");function GK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ai(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Yh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!pl(s));break}if(pl(s))break;for(r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&kC(t),ed.call(q$,n)?q$[n](t,n,i):X2(t,'unknown document directive "'+n+'"')}if(Ai(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ai(t,!0,-1)):a&&hr(t,"directives end mark is expected"),s0(t,t.lineIndent-1,P5,!1,!0),Ai(t,!0,-1),t.checkLineBreaks&&Ube.test(t.input.slice(e,t.position))&&X2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ai(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=GD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;ie)&&l!==0)hr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(b&&(s=t.line,o=t.lineStart,l=t.position),a0(t,e,B5,!0,i)&&(b?m=t.result:v=t.result),b||(Vf(t,d,f,p,m,v,s,o,l),p=m=v=null),Ai(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&C!==0)hr(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d"),t.result!==null&&m.kind!==t.kind&&hr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):hr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||h}S(a0,"composeNode");function VK(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ai(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&hr(t,"directive name must not be less than one character in length");s!==0;){for(;Wh(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!fl(s));break}if(fl(s))break;for(r=t.position;s!==0&&!os(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&EC(t),Jh.call(z$,n)?z$[n](t,n,i):X2(t,'unknown document directive "'+n+'"')}if(Ai(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ai(t,!0,-1)):a&&hr(t,"directives end mark is expected"),a0(t,t.lineIndent-1,B5,!1,!0),Ai(t,!0,-1),t.checkLineBreaks&&Pbe.test(t.input.slice(e,t.position))&&X2(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&jb(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ai(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=VD(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(xg,"codePointAt");function HD(t){var e=/^\n* /;return e.test(t)}S(HD,"needIndentIndicator");var iZ=1,b8=2,aZ=3,sZ=4,Qp=5;function oZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=rZ(xg(t,0))&&nZ(xg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),!um(u))return Qp;v=v&&v8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=xg(t,l),u===K2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!um(u))return Qp;v=v&&v8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?iZ:a===Z2?Qp:b8:r>9&&HD(t)?Qp:s?a===Z2?Qp:b8:f?sZ:aZ}S(oZ,"chooseScalarStyle");function lZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Z2?'""':"''";if(!t.noCompatMode&&(hxe.indexOf(e)!==-1||dxe.test(e)))return t.quotingType===Z2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return tZ(t,u)}switch(S(l,"testAmbiguity"),oZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case iZ:return e;case b8:return"'"+e.replace(/'/g,"''")+"'";case aZ:return"|"+x8(e,t.indent)+T8(m8(e,a));case sZ:return">"+x8(e,t.indent)+T8(m8(cZ(e,s),a));case Qp:return'"'+uZ(e)+'"';default:throw new Os("impossible error: invalid scalar style")}})()}S(lZ,"writeScalar");function x8(t,e){var r=HD(t)?String(e):"",n=t[t.length-1]===` +`&&(a+=r),a+=s;return a}S(g8,"indentString");function F5(t,e){return` +`+Qi.repeat(" ",t.indent*e)}S(F5,"generateNextLine");function eZ(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}S(bg,"codePointAt");function UD(t){var e=/^\n* /;return e.test(t)}S(UD,"needIndentIndicator");var nZ=1,v8=2,iZ=3,aZ=4,Zp=5;function sZ(t,e,r,n,i,a,s,o){var l,u=0,h=null,d=!1,f=!1,p=n!==-1,m=-1,v=tZ(bg(t,0))&&rZ(bg(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(u=bg(t,l),!cm(u))return Zp;v=v&&y8(u,h,o),h=u}else{for(l=0;l=65536?l+=2:l++){if(u=bg(t,l),u===j2)d=!0,p&&(f=f||l-m-1>n&&t[m+1]!==" ",m=l);else if(!cm(u))return Zp;v=v&&y8(u,h,o),h=u}f=f||p&&l-m-1>n&&t[m+1]!==" "}return!d&&!f?v&&!s&&!i(t)?nZ:a===K2?Zp:v8:r>9&&UD(t)?Zp:s?a===K2?Zp:v8:f?aZ:iZ}S(sZ,"chooseScalarStyle");function oZ(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===K2?'""':"''";if(!t.noCompatMode&&(ixe.indexOf(e)!==-1||axe.test(e)))return t.quotingType===K2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return eZ(t,u)}switch(S(l,"testAmbiguity"),sZ(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case nZ:return e;case v8:return"'"+e.replace(/'/g,"''")+"'";case iZ:return"|"+b8(e,t.indent)+x8(g8(e,a));case aZ:return">"+b8(e,t.indent)+x8(g8(lZ(e,s),a));case Zp:return'"'+cZ(e)+'"';default:throw new Os("impossible error: invalid scalar style")}})()}S(oZ,"writeScalar");function b8(t,e){var r=UD(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` -`}S(x8,"blockHeader");function T8(t){return t[t.length-1]===` -`?t.slice(0,-1):t}S(T8,"dropEndingNewline");function cZ(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var u=t.indexOf(` -`);return u=u!==-1?u:t.length,r.lastIndex=u,w8(t.slice(0,u),e)})(),i=t[0]===` +`}S(b8,"blockHeader");function x8(t){return t[t.length-1]===` +`?t.slice(0,-1):t}S(x8,"dropEndingNewline");function lZ(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var u=t.indexOf(` +`);return u=u!==-1?u:t.length,r.lastIndex=u,T8(t.slice(0,u),e)})(),i=t[0]===` `||t[0]===" ",a,s;s=r.exec(t);){var o=s[1],l=s[2];a=l[0]===" ",n+=o+(!i&&!a&&l!==""?` -`:"")+w8(l,e),i=a}return n}S(cZ,"foldString");function w8(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=` +`:"")+T8(l,e),i=a}return n}S(lZ,"foldString");function T8(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=` `+t.slice(i,a),i=a+1),s=o;return l+=` `,t.length-i>e&&s>i?l+=t.slice(i,s)+` -`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(w8,"foldLine");function uZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xg(t,i),n=Ya[r],!n&&um(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||JK(r);return e}S(uZ,"escapeString");function hZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&rc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(hZ,"writeFlowSequence");function C8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&rc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=$5(t,e)),t.dump&&K2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(C8,"writeBlockSequence");function dZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(dZ,"writeFlowMapping");function fZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Os("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&K2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=$5(t,e)),rc(t,e+1,h,!0,d)&&(t.dump&&K2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(fZ,"writeBlockMapping");function S8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(S8,"detectType");function rc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,S8(t,r,!1)||S8(t,r,!0);var o=HK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(fZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(dZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?C8(t,e-1,t.dump,i):C8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&lZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Os("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(rc,"writeNode");function pZ(t,e){var r=[],n=[],i,a;for(z5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),$a={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},V$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function e2(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Wn(t),e=Wn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(e2,"calculateDeltaAndAngle");var Wn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),gZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Wn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaX:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),o=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),l=Math.abs(Wn(e).x-Wn(n[0]).x),u=Math.abs(Wn(e).y-Wn(n[0]).y),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($a,t.arrowTypeEnd)){const{angle:p,deltaY:m}=e2(n[n.length-1],n[n.length-2]);i=$a[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),o=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),l=Math.abs(Wn(e).y-Wn(n[0]).y),u=Math.abs(Wn(e).x-Wn(n[0]).x),h=$a[t.arrowTypeStart],d=$a[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return X4}var R0=yxe(),mZ=typeof global=="object"&&global&&global.Object===Object&&global,vxe=typeof self=="object"&&self&&self.Object===Object&&self,uc=mZ||vxe||Function("return this")(),Uo=uc.Symbol,yZ=Object.prototype,bxe=yZ.hasOwnProperty,xxe=yZ.toString,uv=Uo?Uo.toStringTag:void 0;function Txe(t){var e=bxe.call(t,uv),r=t[uv];try{t[uv]=void 0;var n=!0}catch{}var i=xxe.call(t);return n&&(e?t[uv]=r:delete t[uv]),i}var wxe=Object.prototype,Cxe=wxe.toString;function Sxe(t){return Cxe.call(t)}var Exe="[object Null]",kxe="[object Undefined]",H$=Uo?Uo.toStringTag:void 0;function D0(t){return t==null?t===void 0?kxe:Exe:H$&&H$ in Object(t)?Txe(t):Sxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var _xe="[object AsyncFunction]",Axe="[object Function]",Lxe="[object GeneratorFunction]",Rxe="[object Proxy]";function J2(t){if(!po(t))return!1;var e=D0(t);return e==Axe||e==Lxe||e==_xe||e==Rxe}var $6=uc["__core-js_shared__"],W$=(function(){var t=/[^.]+$/.exec($6&&$6.keys&&$6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Dxe(t){return!!W$&&W$ in t}var Nxe=Function.prototype,Mxe=Nxe.toString;function N0(t){if(t!=null){try{return Mxe.call(t)}catch{}try{return t+""}catch{}}return""}var Oxe=/[\\^$.*+?()[\]{}|]/g,Ixe=/^\[object .+?Constructor\]$/,Bxe=Function.prototype,Pxe=Object.prototype,Fxe=Bxe.toString,$xe=Pxe.hasOwnProperty,zxe=RegExp("^"+Fxe.call($xe).replace(Oxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function qxe(t){if(!po(t)||Dxe(t))return!1;var e=J2(t)?zxe:Ixe;return e.test(N0(t))}function Vxe(t,e){return t?.[e]}function M0(t,e){var r=Vxe(t,e);return qxe(r)?r:void 0}var eb=M0(Object,"create");function Gxe(){this.__data__=eb?eb(null):{},this.size=0}function Uxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Hxe="__lodash_hash_undefined__",Wxe=Object.prototype,Yxe=Wxe.hasOwnProperty;function jxe(t){var e=this.__data__;if(eb){var r=e[t];return r===Hxe?void 0:r}return Yxe.call(e,t)?e[t]:void 0}var Xxe=Object.prototype,Kxe=Xxe.hasOwnProperty;function Zxe(t){var e=this.__data__;return eb?e[t]!==void 0:Kxe.call(e,t)}var Qxe="__lodash_hash_undefined__";function Jxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eb&&e===void 0?Qxe:e,this}function o0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function s4e(t,e){var r=this.__data__,n=RC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=_4e}function vd(t){return t!=null&&XD(t.length)&&!J2(t)}function EZ(t){return nc(t)&&vd(t)}function A4e(){return!1}var kZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Q$=kZ&&typeof co=="object"&&co&&!co.nodeType&&co,L4e=Q$&&Q$.exports===kZ,J$=L4e?uc.Buffer:void 0,R4e=J$?J$.isBuffer:void 0,dm=R4e||A4e,D4e="[object Object]",N4e=Function.prototype,M4e=Object.prototype,_Z=N4e.toString,O4e=M4e.hasOwnProperty,I4e=_Z.call(Object);function B4e(t){if(!nc(t)||D0(t)!=D4e)return!1;var e=jD(t);if(e===null)return!0;var r=O4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&_Z.call(r)==I4e}var P4e="[object Arguments]",F4e="[object Array]",$4e="[object Boolean]",z4e="[object Date]",q4e="[object Error]",V4e="[object Function]",G4e="[object Map]",U4e="[object Number]",H4e="[object Object]",W4e="[object RegExp]",Y4e="[object Set]",j4e="[object String]",X4e="[object WeakMap]",K4e="[object ArrayBuffer]",Z4e="[object DataView]",Q4e="[object Float32Array]",J4e="[object Float64Array]",eTe="[object Int8Array]",tTe="[object Int16Array]",rTe="[object Int32Array]",nTe="[object Uint8Array]",iTe="[object Uint8ClampedArray]",aTe="[object Uint16Array]",sTe="[object Uint32Array]",zn={};zn[Q4e]=zn[J4e]=zn[eTe]=zn[tTe]=zn[rTe]=zn[nTe]=zn[iTe]=zn[aTe]=zn[sTe]=!0;zn[P4e]=zn[F4e]=zn[K4e]=zn[$4e]=zn[Z4e]=zn[z4e]=zn[q4e]=zn[V4e]=zn[G4e]=zn[U4e]=zn[H4e]=zn[W4e]=zn[Y4e]=zn[j4e]=zn[X4e]=!1;function oTe(t){return nc(t)&&XD(t.length)&&!!zn[D0(t)]}function OC(t){return function(e){return t(e)}}var AZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,L2=AZ&&typeof co=="object"&&co&&!co.nodeType&&co,lTe=L2&&L2.exports===AZ,z6=lTe&&mZ.process,fm=(function(){try{var t=L2&&L2.require&&L2.require("util").types;return t||z6&&z6.binding&&z6.binding("util")}catch{}})(),ez=fm&&fm.isTypedArray,IC=ez?OC(ez):oTe;function k8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var cTe=Object.prototype,uTe=cTe.hasOwnProperty;function BC(t,e,r){var n=t[e];(!(uTe.call(t,e)&&Fm(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function Zb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=STe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var NZ=_Te(CTe);function FC(t,e){return NZ(DZ(t,e,I0),t+"")}function rb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?vd(r)&&PC(e,r.length):n=="string"&&e in r)?Fm(r[e],t):!1}function ATe(t){return FC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&rb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);h5(s),n=_i(n,[...s])}else n=r.args;if(!n)return;let i=mD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),OZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${RTe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=E2.exec(t))!==null;)if(n.index===E2.lastIndex&&E2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),NTe=S(function(t){return t.replace(E2,"")},"removeDirectives"),MTe=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function KD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return LTe[r]??e}S(KD,"interpolateToCurve");function IZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?R0.sanitizeUrl(r):r}S(IZ,"formatUrl");var OTe=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=ZD(i,e),e=i});const n=r/2;return QD(t,n)}S(BZ,"traverseEdge");function PZ(t){return t.length===1?t[0]:BZ(t)}S(PZ,"calcLabelPosition");var rz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),QD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=ZD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:rz((1-s)*r.x+s*i.x,5),y:rz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),ITe=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=QD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function FZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=QD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(FZ,"calcTerminalLabelPosition");function JD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(JD,"getStylesFromArray");var nz=0,$Z=S(()=>(nz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+nz),"generateId");function zZ(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;izZ(t.length),"random"),BTe=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),PTe=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=zu(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),VZ=$m((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=us(`${s} `,r),u=us(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=FTe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),FTe=$m((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(us(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function U5(t,e){return eN(t,e).height}S(U5,"calculateTextHeight");function us(t,e){return eN(t,e).width}S(us,"calculateTextWidth");var eN=$m((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=zu(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=BTe();b.text=v||MZ;const x=PTe(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),a1,$Te=(a1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(a1,"InitIDGenerator"),a1),K4,zTe=S(function(t){return K4=K4||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),K4.innerHTML=t,unescape(K4.textContent)},"entityDecode");function tN(t){return"str"in t}S(tN,"isDetailedError");var qTe=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),zu=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function ea(t,e){return G5({},t,e)}S(ea,"cleanAndMerge");var Lr={assignWithDepth:_i,wrapLabel:VZ,calculateTextHeight:U5,calculateTextWidth:us,calculateTextDimensions:eN,cleanAndMerge:ea,detectInit:DTe,detectDirective:OZ,isSubstringInArray:MTe,interpolateToCurve:KD,calcLabelPosition:PZ,calcCardinalityPosition:ITe,calcTerminalLabelPosition:FZ,formatUrl:IZ,getStylesFromArray:JD,generateId:$Z,random:qZ,runFunc:OTe,entityDecode:zTe,insertTitle:qTe,isLabelCoordinateInPath:GZ,parseFontSize:zu,InitIDGenerator:$Te},VTe=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Du=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ng=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function la(t){return t??null}S(la,"handleUndefinedAttr");function GZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(GZ,"isLabelCoordinateInPath");var Qb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function rN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=zu(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(rN,"configureLabelImages");var GTe=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),zm=S(t=>{const e=UTe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),UTe=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),nN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=zm(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];nN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=zm(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:HTe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),HTe=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const WTe=Object.freeze({left:0,top:0,width:16,height:16}),H5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),UZ=Object.freeze({...WTe,...H5}),YTe=Object.freeze({...UZ,body:"",hidden:!1}),jTe=Object.freeze({width:null,height:null}),XTe=Object.freeze({...jTe,...H5}),KTe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return q6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return q6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return q6(o,r)?o:null}return null},q6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function ZTe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iz(t,e){const r=ZTe(t,e);for(const n in YTe)n in H5?n in t&&!(n in r)&&(r[n]=H5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function QTe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function az(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iz(n[o]||i[o],a)}return s(e),r.forEach(s),iz(t,a)}function JTe(t,e){if(t.icons[e])return az(t,e,[]);const r=QTe(t,[e])[e];return r?az(t,e,r):null}const e3e=/(-?[0-9.]*[0-9]+[0-9.]*)/g,t3e=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sz(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(e3e);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=t3e.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function r3e(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function n3e(t,e){return t?""+t+""+e:e}function i3e(t,e,r){const n=r3e(t);return n3e(n.defs,e+n.content+r)}const a3e=t=>t==="unset"||t==="undefined"||t==="none";function s3e(t,e){const r={...UZ,...t},n={...XTe,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=i3e(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=sz(d,l/u)):(h=s==="auto"?l:s,d=o===null?sz(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{a3e(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const o3e=/\sid="(\S+)"/g,oz=new Map;function l3e(t){t=t.replace(/[0-9]+$/,"")||"a";const e=oz.get(t)||0;return oz.set(t,e+1),e?`${t}${e}`:t}function c3e(t){const e=[];let r;for(;r=o3e.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=l3e(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function u3e(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function iN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B0=iN();function HZ(t){B0=t}var R2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(ls.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var h3e=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},d3e=/^(?:[ \t]*(?:\n|$))+/,f3e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,p3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Jb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,g3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aN=/(?:[*+-]|\d{1,9}[.)])/,WZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,YZ=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),m3e=on(WZ).replace(/bull/g,aN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),sN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,y3e=/^[^\n]+/,oN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,v3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),b3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aN).getRegex(),$C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",lN=/|$))/,x3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",lN).replace("tag",$C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),jZ=on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),T3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",jZ).getRegex(),cN={blockquote:T3e,code:f3e,def:v3e,fences:p3e,heading:g3e,hr:Jb,html:x3e,lheading:YZ,list:b3e,newline:d3e,paragraph:jZ,table:R2,text:y3e},lz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex(),w3e={...cN,lheading:m3e,table:lz,paragraph:on(sN).replace("hr",Jb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$C).getRegex()},C3e={...cN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(sN).replace("hr",Jb).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",YZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},S3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,E3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,XZ=/^( {2,}|\\)\n(?!\s*$)/,k3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",h3e?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),QZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,D3e=on(QZ,"u").replace(/punct/g,zC).getRegex(),N3e=on(QZ,"u").replace(/punct/g,ZZ).getRegex(),JZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",M3e=on(JZ,"gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),O3e=on(JZ,"gu").replace(/notPunctSpace/g,L3e).replace(/punctSpace/g,A3e).replace(/punct/g,ZZ).getRegex(),I3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,KZ).replace(/punctSpace/g,uN).replace(/punct/g,zC).getRegex(),B3e=on(/\\(punct)/,"gu").replace(/punct/g,zC).getRegex(),P3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),F3e=on(lN).replace("(?:-->|$)","-->").getRegex(),$3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",F3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,z3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",W5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eQ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",W5).replace("ref",oN).getRegex(),tQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",oN).getRegex(),q3e=on("reflink|nolink(?!\\()","g").replace("reflink",eQ).replace("nolink",tQ).getRegex(),cz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hN={_backpedal:R2,anyPunctuation:B3e,autolink:P3e,blockSkip:R3e,br:XZ,code:E3e,del:R2,emStrongLDelim:D3e,emStrongRDelimAst:M3e,emStrongRDelimUnd:I3e,escape:S3e,link:z3e,nolink:tQ,punctuation:_3e,reflink:eQ,reflinkSearch:q3e,tag:$3e,text:k3e,url:R2},V3e={...hN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",W5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W5).getRegex()},_8={...hN,emStrongRDelimAst:O3e,emStrongLDelim:N3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",cz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},uz=t=>U3e[t];function Bl(t,e){if(e){if(ls.escapeTest.test(t))return t.replace(ls.escapeReplace,uz)}else if(ls.escapeTestNoEncode.test(t))return t.replace(ls.escapeReplaceNoEncode,uz);return t}function hz(t){try{t=encodeURI(t).replace(ls.percentDecode,"%")}catch{return null}return t}function dz(t,e){let r=t.replace(ls.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(ls.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function W3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` +`+t.slice(s+1):l+=t.slice(i),l.slice(1)}S(T8,"foldLine");function cZ(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=bg(t,i),n=Ya[r],!n&&cm(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||QK(r);return e}S(cZ,"escapeString");function uZ(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&tc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}S(uZ,"writeFlowSequence");function w8(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s"u"&&tc(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=F5(t,e)),t.dump&&j2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}S(w8,"writeBlockSequence");function hZ(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),tc(t,e,u,!1,!1)&&(h+=t.dump,n+=h));t.tag=i,t.dump="{"+n+"}"}S(hZ,"writeFlowMapping");function dZ(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,h,d,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Os("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,d&&(t.dump&&j2===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=F5(t,e)),tc(t,e+1,h,!0,d)&&(t.dump&&j2===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}S(dZ,"writeBlockMapping");function C8(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}S(C8,"detectType");function tc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,C8(t,r,!1)||C8(t,r,!0);var o=UK.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(dZ(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(hZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?w8(t,e-1,t.dump,i):w8(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(uZ(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&oZ(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Os("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}S(tc,"writeNode");function fZ(t,e){var r=[],n=[],i,a;for($5(t,r,n),i=0,a=n.length;i{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),Fa={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},q$={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function Jv(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Wn(t),e=Wn(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}S(Jv,"calculateDeltaAndAngle");var Wn=S(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),pZ=S(t=>({x:S(function(e,r,n){let i=0;const a=Wn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaX:m}=Jv(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.cos(p)*(m>=0?1:-1)}const s=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),o=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),l=Math.abs(Wn(e).x-Wn(n[0]).x),u=Math.abs(Wn(e).y-Wn(n[0]).y),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fa,t.arrowTypeEnd)){const{angle:p,deltaY:m}=Jv(n[n.length-1],n[n.length-2]);i=Fa[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(m>=0?1:-1)}const s=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),o=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),l=Math.abs(Wn(e).y-Wn(n[0]).y),u=Math.abs(Wn(e).x-Wn(n[0]).x),h=Fa[t.arrowTypeStart],d=Fa[t.arrowTypeEnd],f=1;if(s0&&o0&&u-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var m=new URL(p);return m.protocol=m.protocol.toLowerCase(),m.hostname=m.hostname.toLowerCase(),m.toString()}return p}return XT}var L0=uxe(),gZ=typeof global=="object"&&global&&global.Object===Object&&global,hxe=typeof self=="object"&&self&&self.Object===Object&&self,cc=gZ||hxe||Function("return this")(),Uo=cc.Symbol,mZ=Object.prototype,dxe=mZ.hasOwnProperty,fxe=mZ.toString,cv=Uo?Uo.toStringTag:void 0;function pxe(t){var e=dxe.call(t,cv),r=t[cv];try{t[cv]=void 0;var n=!0}catch{}var i=fxe.call(t);return n&&(e?t[cv]=r:delete t[cv]),i}var gxe=Object.prototype,mxe=gxe.toString;function yxe(t){return mxe.call(t)}var vxe="[object Null]",bxe="[object Undefined]",U$=Uo?Uo.toStringTag:void 0;function R0(t){return t==null?t===void 0?bxe:vxe:U$&&U$ in Object(t)?pxe(t):yxe(t)}function po(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var xxe="[object AsyncFunction]",Txe="[object Function]",wxe="[object GeneratorFunction]",Cxe="[object Proxy]";function Q2(t){if(!po(t))return!1;var e=R0(t);return e==Txe||e==wxe||e==xxe||e==Cxe}var F6=cc["__core-js_shared__"],H$=(function(){var t=/[^.]+$/.exec(F6&&F6.keys&&F6.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Sxe(t){return!!H$&&H$ in t}var Exe=Function.prototype,kxe=Exe.toString;function D0(t){if(t!=null){try{return kxe.call(t)}catch{}try{return t+""}catch{}}return""}var _xe=/[\\^$.*+?()[\]{}|]/g,Axe=/^\[object .+?Constructor\]$/,Lxe=Function.prototype,Rxe=Object.prototype,Dxe=Lxe.toString,Nxe=Rxe.hasOwnProperty,Mxe=RegExp("^"+Dxe.call(Nxe).replace(_xe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Oxe(t){if(!po(t)||Sxe(t))return!1;var e=Q2(t)?Mxe:Axe;return e.test(D0(t))}function Ixe(t,e){return t?.[e]}function N0(t,e){var r=Ixe(t,e);return Oxe(r)?r:void 0}var J2=N0(Object,"create");function Bxe(){this.__data__=J2?J2(null):{},this.size=0}function Pxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Fxe="__lodash_hash_undefined__",$xe=Object.prototype,zxe=$xe.hasOwnProperty;function qxe(t){var e=this.__data__;if(J2){var r=e[t];return r===Fxe?void 0:r}return zxe.call(e,t)?e[t]:void 0}var Vxe=Object.prototype,Gxe=Vxe.hasOwnProperty;function Uxe(t){var e=this.__data__;return J2?e[t]!==void 0:Gxe.call(e,t)}var Hxe="__lodash_hash_undefined__";function Wxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=J2&&e===void 0?Hxe:e,this}function s0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function Jxe(t,e){var r=this.__data__,n=LC(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Pu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=xTe}function yd(t){return t!=null&&XD(t.length)&&!Q2(t)}function SZ(t){return rc(t)&&yd(t)}function TTe(){return!1}var EZ=typeof lo=="object"&&lo&&!lo.nodeType&&lo,Z$=EZ&&typeof co=="object"&&co&&!co.nodeType&&co,wTe=Z$&&Z$.exports===EZ,Q$=wTe?cc.Buffer:void 0,CTe=Q$?Q$.isBuffer:void 0,hm=CTe||TTe,STe="[object Object]",ETe=Function.prototype,kTe=Object.prototype,kZ=ETe.toString,_Te=kTe.hasOwnProperty,ATe=kZ.call(Object);function LTe(t){if(!rc(t)||R0(t)!=STe)return!1;var e=YD(t);if(e===null)return!0;var r=_Te.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&kZ.call(r)==ATe}var RTe="[object Arguments]",DTe="[object Array]",NTe="[object Boolean]",MTe="[object Date]",OTe="[object Error]",ITe="[object Function]",BTe="[object Map]",PTe="[object Number]",FTe="[object Object]",$Te="[object RegExp]",zTe="[object Set]",qTe="[object String]",VTe="[object WeakMap]",GTe="[object ArrayBuffer]",UTe="[object DataView]",HTe="[object Float32Array]",WTe="[object Float64Array]",YTe="[object Int8Array]",XTe="[object Int16Array]",jTe="[object Int32Array]",KTe="[object Uint8Array]",ZTe="[object Uint8ClampedArray]",QTe="[object Uint16Array]",JTe="[object Uint32Array]",zn={};zn[HTe]=zn[WTe]=zn[YTe]=zn[XTe]=zn[jTe]=zn[KTe]=zn[ZTe]=zn[QTe]=zn[JTe]=!0;zn[RTe]=zn[DTe]=zn[GTe]=zn[NTe]=zn[UTe]=zn[MTe]=zn[OTe]=zn[ITe]=zn[BTe]=zn[PTe]=zn[FTe]=zn[$Te]=zn[zTe]=zn[qTe]=zn[VTe]=!1;function e4e(t){return rc(t)&&XD(t.length)&&!!zn[R0(t)]}function MC(t){return function(e){return t(e)}}var _Z=typeof lo=="object"&&lo&&!lo.nodeType&&lo,A2=_Z&&typeof co=="object"&&co&&!co.nodeType&&co,t4e=A2&&A2.exports===_Z,$6=t4e&&gZ.process,dm=(function(){try{var t=A2&&A2.require&&A2.require("util").types;return t||$6&&$6.binding&&$6.binding("util")}catch{}})(),J$=dm&&dm.isTypedArray,OC=J$?MC(J$):e4e;function E8(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var r4e=Object.prototype,n4e=r4e.hasOwnProperty;function IC(t,e,r){var n=t[e];(!(n4e.call(t,e)&&Pm(n,r))||r===void 0&&!(e in t))&&DC(t,e,r)}function Kb(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a-1&&t%1==0&&t0){if(++e>=y4e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var DZ=x4e(m4e);function PC(t,e){return DZ(RZ(t,e,O0),t+"")}function tb(t,e,r){if(!po(r))return!1;var n=typeof e;return(n=="number"?yd(r)&&BC(e,r.length):n=="string"&&e in r)?Pm(r[e],t):!1}function T4e(t){return PC(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&tb(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++no.args);u5(s),n=_i(n,[...s])}else n=r.args;if(!n)return;let i=gD(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),MZ=S(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${C4e.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),oe.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=S2.exec(t))!==null;)if(n.index===S2.lastIndex&&S2.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return oe.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),E4e=S(function(t){return t.replace(S2,"")},"removeDirectives"),k4e=S(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function jD(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return w4e[r]??e}S(jD,"interpolateToCurve");function OZ(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?L0.sanitizeUrl(r):r}S(OZ,"formatUrl");var _4e=S((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s{r+=KD(i,e),e=i});const n=r/2;return ZD(t,n)}S(IZ,"traverseEdge");function BZ(t){return t.length===1?t[0]:IZ(t)}S(BZ,"calcLabelPosition");var tz=S((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),ZD=S((t,e)=>{let r,n=e;for(const i of t){if(r){const a=KD(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:tz((1-s)*r.x+s*i.x,5),y:tz((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),A4e=S((t,e,r)=>{oe.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=ZD(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function PZ(t,e,r){const n=structuredClone(r);oe.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=ZD(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}S(PZ,"calcTerminalLabelPosition");function QD(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}S(QD,"getStylesFromArray");var rz=0,FZ=S(()=>(rz++,"id-"+Math.random().toString(36).substr(2,12)+"-"+rz),"generateId");function $Z(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;i$Z(t.length),"random"),L4e=S(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),R4e=S(function(t,e){const r=e.text.replace($t.lineBreakRegex," "),[,n]=$u(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),qZ=Fm((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=us(`${s} `,r),u=us(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=D4e(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),D4e=Fm((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(us(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function G5(t,e){return JD(t,e).height}S(G5,"calculateTextHeight");function us(t,e){return JD(t,e).width}S(us,"calculateTextWidth");var JD=Fm((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=$u(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=kt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const v of o){const b=L4e();b.text=v||NZ;const x=R4e(h,b).style("font-size",a).style("font-weight",i).style("font-family",f),C=(x._groups||x)[0][0].getBBox();if(C.width===0&&C.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,C.width)),p=Math.round(C.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),i1,N4e=(i1=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},S(i1,"InitIDGenerator"),i1),jT,M4e=S(function(t){return jT=jT||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),jT.innerHTML=t,unescape(jT.textContent)},"entityDecode");function eN(t){return"str"in t}S(eN,"isDetailedError");var O4e=S((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),$u=S(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function ea(t,e){return V5({},t,e)}S(ea,"cleanAndMerge");var Lr={assignWithDepth:_i,wrapLabel:qZ,calculateTextHeight:G5,calculateTextWidth:us,calculateTextDimensions:JD,cleanAndMerge:ea,detectInit:S4e,detectDirective:MZ,isSubstringInArray:k4e,interpolateToCurve:jD,calcLabelPosition:BZ,calcCardinalityPosition:A4e,calcTerminalLabelPosition:PZ,formatUrl:OZ,getStylesFromArray:QD,generateId:FZ,random:zZ,runFunc:_4e,entityDecode:M4e,insertTitle:O4e,isLabelCoordinateInPath:VZ,parseFontSize:$u,InitIDGenerator:N4e},I4e=S(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Ru=S(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Dg=S((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function la(t){return t??null}S(la,"handleUndefinedAttr");function VZ(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}S(VZ,"isLabelCoordinateInPath");var Zb=S(({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function tN(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Pe().fontSize?Pe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=$u(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}S(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}S(tN,"configureLabelImages");var B4e=S(t=>{const{handDrawnSeed:e}=Pe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),$m=S(t=>{const e=P4e([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),P4e=S(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),rN=S(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tr=S(t=>{const{stylesArray:e}=$m(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];rN(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),sr=S((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=Pe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=$m(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:F4e(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),F4e=S(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray");const $4e=Object.freeze({left:0,top:0,width:16,height:16}),U5=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),GZ=Object.freeze({...$4e,...U5}),z4e=Object.freeze({...GZ,body:"",hidden:!1}),q4e=Object.freeze({width:null,height:null}),V4e=Object.freeze({...q4e,...U5}),G4e=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return z6(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return z6(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return z6(o,r)?o:null}return null},z6=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function U4e(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function nz(t,e){const r=U4e(t,e);for(const n in z4e)n in U5?n in t&&!(n in r)&&(r[n]=U5[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function H4e(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function iz(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=nz(n[o]||i[o],a)}return s(e),r.forEach(s),nz(t,a)}function W4e(t,e){if(t.icons[e])return iz(t,e,[]);const r=H4e(t,[e])[e];return r?iz(t,e,r):null}const Y4e=/(-?[0-9.]*[0-9]+[0-9.]*)/g,X4e=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function az(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(Y4e);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=X4e.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function j4e(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function K4e(t,e){return t?""+t+""+e:e}function Z4e(t,e,r){const n=j4e(t);return K4e(n.defs,e+n.content+r)}const Q4e=t=>t==="unset"||t==="undefined"||t==="none";function J4e(t,e){const r={...GZ,...t},n={...V4e,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(v=>{const b=[],x=v.hFlip,C=v.vFlip;let T=v.rotate;x?C?T+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):C&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,b.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,b.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),b.length&&(a=Z4e(a,'',""))});const s=n.width,o=n.height,l=i.width,u=i.height;let h,d;s===null?(d=o===null?"1em":o==="auto"?u:o,h=az(d,l/u)):(h=s==="auto"?l:s,d=o===null?az(h,u/l):o==="auto"?u:o);const f={},p=(v,b)=>{Q4e(b)||(f[v]=b.toString())};p("width",h),p("height",d);const m=[i.left,i.top,l,u];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}const e3e=/\sid="(\S+)"/g,sz=new Map;function t3e(t){t=t.replace(/[0-9]+$/,"")||"a";const e=sz.get(t)||0;return sz.set(t,e+1),e?`${t}${e}`:t}function r3e(t){const e=[];let r;for(;r=e3e.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=t3e(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function n3e(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}function nN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var I0=nN();function UZ(t){I0=t}var L2={exec:()=>null};function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(ls.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var i3e=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},a3e=/^(?:[ \t]*(?:\n|$))+/,s3e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,o3e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Qb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,l3e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,iN=/(?:[*+-]|\d{1,9}[.)])/,HZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,WZ=on(HZ).replace(/bull/g,iN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),c3e=on(HZ).replace(/bull/g,iN).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),aN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,u3e=/^[^\n]+/,sN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,h3e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",sN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),d3e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,iN).getRegex(),FC="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",oN=/|$))/,f3e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",oN).replace("tag",FC).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),YZ=on(aN).replace("hr",Qb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",FC).getRegex(),p3e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",YZ).getRegex(),lN={blockquote:p3e,code:s3e,def:h3e,fences:o3e,heading:l3e,hr:Qb,html:f3e,lheading:WZ,list:d3e,newline:a3e,paragraph:YZ,table:L2,text:u3e},oz=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Qb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",FC).getRegex(),g3e={...lN,lheading:c3e,table:oz,paragraph:on(aN).replace("hr",Qb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",oz).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",FC).getRegex()},m3e={...lN,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",oN).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:L2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(aN).replace("hr",Qb).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",WZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},y3e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,v3e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,XZ=/^( {2,}|\\)\n(?!\s*$)/,b3e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",i3e?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ZZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,S3e=on(ZZ,"u").replace(/punct/g,$C).getRegex(),E3e=on(ZZ,"u").replace(/punct/g,KZ).getRegex(),QZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",k3e=on(QZ,"gu").replace(/notPunctSpace/g,jZ).replace(/punctSpace/g,cN).replace(/punct/g,$C).getRegex(),_3e=on(QZ,"gu").replace(/notPunctSpace/g,w3e).replace(/punctSpace/g,T3e).replace(/punct/g,KZ).getRegex(),A3e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,jZ).replace(/punctSpace/g,cN).replace(/punct/g,$C).getRegex(),L3e=on(/\\(punct)/,"gu").replace(/punct/g,$C).getRegex(),R3e=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),D3e=on(oN).replace("(?:-->|$)","-->").getRegex(),N3e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",D3e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),H5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,M3e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",H5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),JZ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",H5).replace("ref",sN).getRegex(),eQ=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",sN).getRegex(),O3e=on("reflink|nolink(?!\\()","g").replace("reflink",JZ).replace("nolink",eQ).getRegex(),lz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,uN={_backpedal:L2,anyPunctuation:L3e,autolink:R3e,blockSkip:C3e,br:XZ,code:v3e,del:L2,emStrongLDelim:S3e,emStrongRDelimAst:k3e,emStrongRDelimUnd:A3e,escape:y3e,link:M3e,nolink:eQ,punctuation:x3e,reflink:JZ,reflinkSearch:O3e,tag:N3e,text:b3e,url:L2},I3e={...uN,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",H5).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",H5).getRegex()},k8={...uN,emStrongRDelimAst:_3e,emStrongLDelim:E3e,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",lz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},cz=t=>P3e[t];function Il(t,e){if(e){if(ls.escapeTest.test(t))return t.replace(ls.escapeReplace,cz)}else if(ls.escapeTestNoEncode.test(t))return t.replace(ls.escapeReplaceNoEncode,cz);return t}function uz(t){try{t=encodeURI(t).replace(ls.percentDecode,"%")}catch{return null}return t}function hz(t,e){let r=t.replace(ls.findPipe,(a,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=r.split(ls.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function dz(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function $3e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` `).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[o]=s;return o.length>=i.length?a.slice(i.length):a}).join(` -`)}var Y5=class{options;rules;lexer;constructor(e){this.options=e||B0}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:dv(n,` -`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=W3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=dv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:dv(r[0],` -`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=dv(r[0],` +`)}var W5=class{options;rules;lexer;constructor(e){this.options=e||I0}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:hv(n,` +`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=$3e(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=hv(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:hv(r[0],` +`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=hv(r[0],` `).split(` `),i="",a="",s=[];for(;n.length>0;){let o=!1,l=[],u;for(u=0;u1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let s=this.rules.other.listItemRegex(n),o=!1;for(;e;){let u=!1,h="",d="";if(!(r=s.exec(e))||this.rules.block.hr.test(e))break;h=r[0],e=e.substring(h.length);let f=r[2].split(` `,1)[0].replace(this.rules.other.listReplaceTabs,C=>" ".repeat(3*C.length)),p=e.split(` `,1)[0],m=!f.trim(),v=0;if(this.options.pedantic?(v=2,d=f.trimStart()):m?v=r[1].length+1:(v=r[2].search(this.rules.other.nonSpaceChar),v=v>4?1:v,d=f.slice(v),v+=r[1].length),m&&this.rules.other.blankLine.test(p)&&(h+=p+` -`,e=e.substring(p.length+1),u=!0),!u){let C=this.rules.other.nextBulletRegex(v),T=this.rules.other.hrRegex(v),E=this.rules.other.fencesBeginRegex(v),_=this.rules.other.headingBeginRegex(v),A=this.rules.other.htmlBeginRegex(v);for(;e;){let k=e.split(` -`,1)[0],R;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),R=p):R=p.replace(this.rules.other.tabCharGlobal," "),E.test(p)||_.test(p)||A.test(p)||C.test(p)||T.test(p))break;if(R.search(this.rules.other.nonSpaceChar)>=v||!p.trim())d+=` -`+R.slice(v);else{if(m||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||E.test(f)||_.test(f)||T.test(f))break;d+=` +`,e=e.substring(p.length+1),u=!0),!u){let C=this.rules.other.nextBulletRegex(v),T=this.rules.other.hrRegex(v),E=this.rules.other.fencesBeginRegex(v),_=this.rules.other.headingBeginRegex(v),R=this.rules.other.htmlBeginRegex(v);for(;e;){let k=e.split(` +`,1)[0],L;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),L=p):L=p.replace(this.rules.other.tabCharGlobal," "),E.test(p)||_.test(p)||R.test(p)||C.test(p)||T.test(p))break;if(L.search(this.rules.other.nonSpaceChar)>=v||!p.trim())d+=` +`+L.slice(v);else{if(m||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||E.test(f)||_.test(f)||T.test(f))break;d+=` `+p}!m&&!p.trim()&&(m=!0),h+=k+` -`,e=e.substring(k.length+1),f=R.slice(v)}}a.loose||(o?a.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(o=!0));let b=null,x;this.options.gfm&&(b=this.rules.other.listIsTask.exec(d),b&&(x=b[0]!=="[ ] ",d=d.replace(this.rules.other.listReplaceTask,""))),a.items.push({type:"list_item",raw:h,task:!!b,checked:x,loose:!1,text:d,tokens:[]}),a.raw+=h}let l=a.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let u=0;uf.type==="space"),d=h.length>0&&h.some(f=>this.rules.other.anyLine.test(f.raw));a.loose=d}if(a.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[u]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` -`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=dv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=H3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),fz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return fz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},sl=class A8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B0,this.options.tokenizer=this.options.tokenizer||new Y5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:ls,block:Z4.normal,inline:hv.normal};this.options.pedantic?(r.block=Z4.pedantic,r.inline=hv.pedantic):this.options.gfm&&(r.block=Z4.gfm,this.options.breaks?r.inline=hv.breaks:r.inline=hv.gfm),this.tokenizer.rules=r}static get rules(){return{block:Z4,inline:hv}}static lex(e,r){return new A8(r).lex(e)}static lexInline(e,r){return new A8(r).inlineTokens(e)}lex(e){e=e.replace(ls.carriageReturn,` +`,e=e.substring(k.length+1),f=L.slice(v)}}a.loose||(o?a.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(o=!0));let b=null,x;this.options.gfm&&(b=this.rules.other.listIsTask.exec(d),b&&(x=b[0]!=="[ ] ",d=d.replace(this.rules.other.listReplaceTask,""))),a.items.push({type:"list_item",raw:h,task:!!b,checked:x,loose:!1,text:d,tokens:[]}),a.raw+=h}let l=a.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let u=0;uf.type==="space"),d=h.length>0&&h.some(f=>this.rules.other.anyLine.test(f.raw));a.loose=d}if(a.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[u]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=hv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=F3e(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),dz(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return dz(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*e.length+a);(i=h.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let d=[...i[0]][0].length,f=e.slice(0,a+i.index+d+o);if(Math.min(a,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=r[0],i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=r[0],r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},sl=class _8{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||I0,this.options.tokenizer=this.options.tokenizer||new W5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:ls,block:KT.normal,inline:uv.normal};this.options.pedantic?(r.block=KT.pedantic,r.inline=uv.pedantic):this.options.gfm&&(r.block=KT.gfm,this.options.breaks?r.inline=uv.breaks:r.inline=uv.gfm),this.tokenizer.rules=r}static get rules(){return{block:KT,inline:uv}}static lex(e,r){return new _8(r).lex(e)}static lexInline(e,r){return new _8(r).inlineTokens(e)}lex(e){e=e.replace(ls.carriageReturn,` `),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` @@ -202,16 +202,16 @@ ${d}`:d;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` `)+i.raw,s.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,o)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,d=e.slice(1),f;this.options.extensions.startInline.forEach(p=>{f=p.call({lexer:this},d),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(o=l.raw.slice(-1)),s=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},j5=class{options;parser;constructor(e){this.options=e||B0}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(ls.notSpaceStart)?.[0],a=e.replace(ls.endingNewline,"")+` -`;return i?'
    '+(n?a:Bl(a,!0))+`
    -`:"
    "+(n?a:Bl(a,!0))+`
    +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,o)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,d=e.slice(1),f;this.options.extensions.startInline.forEach(p=>{f=p.call({lexer:this},d),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(o=l.raw.slice(-1)),s=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},Y5=class{options;parser;constructor(e){this.options=e||I0}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(ls.notSpaceStart)?.[0],a=e.replace(ls.endingNewline,"")+` +`;return i?'
    '+(n?a:Il(a,!0))+`
    +`:"
    "+(n?a:Il(a,!0))+`
    `}blockquote({tokens:e}){return`
    ${this.parser.parse(e)}
    `}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:r}){return`${this.parser.parseInline(e)} `}hr(e){return`
    `}list(e){let r=e.ordered,n=e.start,i="";for(let o=0;o `+i+" -`}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+Bl(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`
  • ${r}
  • +`}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+Il(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`
  • ${r}
  • `}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    `}table(e){let r="",n="";for(let a=0;a${i}`),`
    @@ -220,28 +220,28 @@ ${this.parser.parse(e)} `}tablerow({text:e}){return` ${e} `}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` -`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Bl(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=hz(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=hz(e);if(a===null)return Bl(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new j5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Y5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new t2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];t2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&t2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Bl(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},l0=new Y3e;function yn(t,e){return l0.parse(t,e)}yn.options=yn.setOptions=function(t){return l0.setOptions(t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.getDefaults=iN;yn.defaults=B0;yn.use=function(...t){return l0.use(...t),yn.defaults=l0.defaults,HZ(yn.defaults),yn};yn.walkTokens=function(t,e){return l0.walkTokens(t,e)};yn.parseInline=l0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=j5;yn.TextRenderer=dN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=Y5;yn.Hooks=t2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function rQ(t){for(var e=[],r=1;r${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Il(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=uz(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=uz(e);if(a===null)return Il(n);e=a;let s=`${n}{let o=a[s].flat(1/0);n=n.concat(this.walkTokens(o,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new Y5(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new W5(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...h)=>{let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new e2;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];e2.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async&&e2.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,h);return u.call(a,f)})();let d=l.call(a,h);return u.call(a,d)}:a[o]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,h);return f===!1&&(f=await u.apply(a,h)),f})();let d=l.apply(a,h);return d===!1&&(d=u.apply(a,h)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return sl.lex(e,r??this.defaults)}parser(e,r){return ol.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?sl.lex:sl.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser():e?ol.parse:ol.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?sl.lex:sl.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?ol.parse:ol.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Il(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},o0=new z3e;function yn(t,e){return o0.parse(t,e)}yn.options=yn.setOptions=function(t){return o0.setOptions(t),yn.defaults=o0.defaults,UZ(yn.defaults),yn};yn.getDefaults=nN;yn.defaults=I0;yn.use=function(...t){return o0.use(...t),yn.defaults=o0.defaults,UZ(yn.defaults),yn};yn.walkTokens=function(t,e){return o0.walkTokens(t,e)};yn.parseInline=o0.parseInline;yn.Parser=ol;yn.parser=ol.parse;yn.Renderer=Y5;yn.TextRenderer=hN;yn.Lexer=sl;yn.lexer=sl.lex;yn.Tokenizer=W5;yn.Hooks=e2;yn.parse=yn;yn.options;yn.setOptions;yn.use;yn.walkTokens;yn.parseInline;ol.parse;sl.lex;function tQ(t){for(var e=[],r=1;r?',height:80,width:80},R8=new Map,iQ=new Map,aQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)iQ.set(e.name,e.loader);else if("icons"in e)R8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),sQ=S(async(t,e)=>{const r=KTe(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=R8.get(n);if(!i){const s=iQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},R8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=JTe(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),j3e=S(async t=>{try{return await sQ(t),!0}catch{return!1}},"isIconAvailable"),td=S(async(t,e,r)=>{let n;try{n=await sQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=nQ}const i=s3e(n,e),a=u3e(c3e(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function oQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` +`)),s+=d+n[l+1]}),s}var rQ={body:'?',height:80,width:80},L8=new Map,nQ=new Map,iQ=S(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(oe.debug("Registering icon pack:",e.name),"loader"in e)nQ.set(e.name,e.loader);else if("icons"in e)L8.set(e.name,e.icons);else throw oe.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),aQ=S(async(t,e)=>{const r=G4e(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=L8.get(n);if(!i){const s=nQ.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},L8.set(n,i)}catch(o){throw oe.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=W4e(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),q3e=S(async t=>{try{return await aQ(t),!0}catch{return!1}},"isIconAvailable"),ed=S(async(t,e,r)=>{let n;try{n=await aQ(t,e?.fallbackPrefix)}catch(s){oe.error(s),n=rQ}const i=J4e(n,e),a=n3e(r3e(i.body),{...i.attributes,...r});return Jr(a,gr())},"getIconSVG");function sQ(t,{markdownAutoWrap:e}){const n=t.replace(//g,` `).replace(/\n{2,}/g,` -`);return rQ(n)}S(oQ,"preprocessMarkdown");function lQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}S(lQ,"nonMarkdownToLines");function cQ(t,e={}){const r=oQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` -`).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return S(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}S(cQ,"markdownToLines");function uQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}S(uQ,"nonMarkdownToHTML");function hQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return S(n,"output"),r.map(n).join("")}S(hQ,"markdownToHTML");function dQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}S(dQ,"splitTextToChars");function fQ(t,e){const r=dQ(e.content);return fN(t,[],r,e.type)}S(fQ,"splitWordToFitWidth");function fN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}S(fN,"splitWordToFitWidthRecursion");function pQ(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return X5(t,e)}S(pQ,"splitLineToFitWidth");function X5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return X5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=fQ(e,a);r.push([o]),l.content&&t.unshift(l)}return X5(t,e,r)}S(X5,"splitLineToFitWidthRecursion");function D8(t,e){e&&t.attr("style",e)}S(D8,"applyStyle");var pz=16384;async function gQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,pz)}px`),s.attr("height",`${Math.min(10*r,pz)}px`);const o=s.append("xhtml:div"),l=Ri(e.label)?await yC(e.label.replace($t.lineBreakRegex,` -`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),D8(h,e.labelStyle),h.attr("class",`${u} ${n}`),D8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(gQ,"addHtmlSpan");function qC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(qC,"createTspan");function mQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(mQ,"computeWidthOfText");function yQ(t,e,r){const n=t.append("text"),i=qC(n,1,e);VC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(yQ,"computeDimensionOfText");function vQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>mQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:pQ(h,d);for(const p of f){const m=qC(l,u,1.1,i);VC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(vQ,"createFormattedText");function N8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(N8,"decodeHTMLEntities");function VC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(N8(r.content)):i.text(" "+N8(r.content))})}S(VC,"updateTextContentAndStyles");async function bQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await j3e(o)?await td(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(bQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?hQ(e,h):uQ(e),f=await bQ(Du(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ri(e)?p:f,labelStyle:r.replace("fill:","color:")};return await gQ(t,m,l,i,u,h)}else{const d=Du(e.replace(//g,"
    ")),f=s?cQ(d.replace("
    ","
    "),h):lQ(d),p=vQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function V6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function X3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function K3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)V6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];X3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)V6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),V6(f,h,d)})(l,o,-i)}return l}function ex(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),K3e(t,i,n,a||1)}class pN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=ex(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function GC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class Z3e extends pN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=ex(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)GC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class Q3e extends pN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let J3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=ex(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=GC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=GC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=GC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function TQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(wQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function fv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function wQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=fv(t,e,-h),[r,n]=fv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=wQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),A=Math.tan(x/4),k=4/3*i*A,R=4/3*a*A,O=[t,e],F=[t+k*T,e-R*C],$=[r+k*_,n-R*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=Tz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=Tz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...rd(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...rd(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function vz(t,e){const r=TQ(xQ(gN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...rd(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...s5e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...rd(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function H6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*EQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function J4(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Sf(l,u,.5),p=Sf(u,h,.5),m=Sf(h,d,.5),v=Sf(f,p,.5),b=Sf(p,m,.5),x=Sf(v,b,.5);I8([l,f,v,x],0,r,i),I8([x,b,m,d],0,r,i)}var a,s;return i}function l5e(t,e){return Q5(t,0,t.length,e)}function Q5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Q5(t,e,u+1,n,a),Q5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function W6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Q5(n,0,n.length,r):n}const eo="none";class J5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[CQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=a5e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(H6([u],s)):o.push(Dp([u],s))}return s.stroke!==eo&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=SQ(n,i,s),u=M8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=M8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Dp([u.estimatedPoints],s));return s.stroke!==eo&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[f3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=yz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=yz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),A=Math.abs(v/2);_+=Tr(.01*_,C),A+=Tr(.01*A,C);let k=b,R=x;for(;k<0;)k+=2*Math.PI,R+=2*Math.PI;R-k>2*Math.PI&&(k=0,R=2*Math.PI);const O=(R-k)/C.curveStepCount,F=[];for(let $=k;$<=R;$+=O)F.push([T+_*Math.cos($),E+A*Math.sin($)]);return F.push([T+_*Math.cos(R),E+A*Math.sin(R)]),F.push([T,E]),Dp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==eo&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=mz(e,n);if(n.fill&&n.fill!==eo)if(n.fillStyle==="solid"){const s=mz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...W6(wz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...W6(wz(u),10,(1+n.roughness)/2))}s.length&&i.push(Dp([s],n))}return n.stroke!==eo&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=f3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(H6([e],n)):i.push(Dp([e],n))),n.stroke!==eo&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==eo,s=n.stroke!==eo,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=TQ(xQ(gN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...W6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:A}of p)switch(_){case"M":T(),b=[A[0],A[1]],v.push(b);break;case"L":C(),v.push([A[0],A[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([A[0],A[1]]),x.push([A[2],A[3]]),x.push([A[4],A[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const A=l5e(_,f);A.length&&E.push(A)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=vz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=vz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(H6(l,n));else i.push(Dp(l,n));return s&&(o?l.forEach((h=>{i.push(f3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:eo};break;case"fillPath":s={d:this.opsToPath(a),stroke:eo,strokeWidth:0,fill:n.fill||eo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||eo,strokeWidth:n,fill:eo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class c5e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const eT="http://www.w3.org/2000/svg";class u5e{constructor(e,r){this.svg=e,this.gen=new J5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(eT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(eT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(eT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new c5e(t,e),svg:(t,e)=>new u5e(t,e),generator:t=>new J5(t),newSeed:()=>J5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Pu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",la(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Du(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await rN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),Y6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Du(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function nd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(nd,"generateFullSineWavePoints");function nb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(B8,"mergePaths");var h5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),qm=h5e,d5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),$h=d5e,bd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await $h(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(bd(C,T,b,x,0),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"rect"),f5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return qm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),p5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await $h(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const A=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(bd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,A,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",A).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const R=k.node().getBBox();return e.height=R.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return qm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),g5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],R=kt(m);v=k.getBoundingClientRect(),R.attr("width",v.width),R.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),R=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(bd(C,T,b,x,e.rx),R);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Qb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const A=E.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return qm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),m5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return qm(e,v)},{cluster:s,labelBBox:{}}},"divider"),y5e=kQ,v5e={rect:kQ,squareRect:y5e,roundedWithTitle:p5e,noteGroup:f5e,divider:m5e,kanbanSection:g5e},_Q=new Map,mN=S(async(t,e)=>{const r=e.shape||"rect",n=await v5e[r](t,e);return _Q.set(e.id,n),n},"insertCluster"),b5e=S(()=>{_Q=new Map},"clear");function AQ(t,e){return t.intersect(e)}S(AQ,"intersectNode");var x5e=AQ;function LQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(P8,"sameSign");var w5e=NQ;function MQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",la(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(OQ,"anchor");function F8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const A=[];for(let k=0;k<20;k++){const R=k/19,O=T+R*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);A.push({x:F,y:$})}return A}S(F8,"generateArcPoints");function IQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(IQ,"calculateArcSagitta");async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=IQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...F8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...F8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const A=Zr(T),k=E.path(A,_),R=u.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${f/2}, 0)`),or(e,R),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(BQ,"bowTieRect");function qu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(qu,"insertPolygonShape");var tT=12;async function PQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+tT),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+tT,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+tT},{x:d+tT,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=qu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(PQ,"card");function FQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(FQ,"choice");async function yN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",la(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(yN,"circle");function $Q(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} - M ${i.x},${i.y} L ${s.x},${s.y}`}S($Q,"createLine");function zQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=$Q(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S(zQ,"crossedCircle");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),A.insert(()=>T,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceLeft");function tu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),A.insert(()=>T,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(VQ,"curlyBraceRight");function Ta(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(GQ,"curlyBraces");async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...nb(-T,-C/2,p,50,270,90)],A=Zr(_),k=v.path(A,b),R=u.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(UQ,"curvedTrapezoid");var S5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),E5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),k5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Cz=8,Sz=8;async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=S5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",la(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(HQ,"cylinder");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(WQ,"dividedRectangle");async function YQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",la(e.cssClasses)).attr("style",la(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(YQ,"doublecircle");function jQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(jQ,"filledCircle");var Ez=10,kz=10;async function XQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(XQ,"flippedTriangle");function KQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(KQ,"forkJoin");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(ZQ,"halfRoundedRectangle");var _5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=_5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=qu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(QQ,"hexagon");async function JQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(JQ,"hourglass");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=zm(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const A=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),R=p+h.height+T,O=E.rectangle(-k/2,-R/2,k,R,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>A,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-R/2:R/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(eJ,"icon");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=zm(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const A=_.node().getBBox(),k=A.width,R=A.height,O=A.x,F=A.y,$=Math.max(k,R)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-R/2-F:-h.height/2-p/2-R/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(tJ,"iconCircle");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,A=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const R=C.get("fill");k.stroke=R??x;const O=A.path(bd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=A.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconRounded");async function nJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=zm(e),T=-v/2,E=-m/2,_=e.label?8:0,A=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const R=C.get("fill");k.stroke=R??x;const O=A.path(bd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=A.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await td(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(nJ,"iconSquare");async function iJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),A=h+f.height+x,k=C.rectangle(-_/2,-A/2,_,A,{...T,fill:"none",stroke:"none"}),R=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?A/2-h:-A/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),R.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(iJ,"imageSquare");async function aJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=qu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(aJ,"inv_trapezoid");async function tx(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(bd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",la(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",la(f)).attr("ry",la(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(tx,"drawRect");async function sJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(sJ,"labelRect");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_left");async function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(lJ,"lean_right");function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(cJ,"lightningBolt");var A5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),L5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),R5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),_z=10,Az=10;async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.widthA,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=A5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",la(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(uJ,"linedCylinder");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...nd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(hJ,"linedWaveEdgedRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const A=Zr(E);let k=C.path(A,T);const R=Zr(_);let O=C.path(R,T);e.look!=="handDrawn"&&(k=B8(k),O=B8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(dJ,"multiRect");async function fJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=nd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],A=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const O=Zr(_),F=k.path(O,R),$=Zr(A),q=k.path($,R),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(fJ,"multiWaveEdgedRectangle");async function pJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(pJ,"note");var D5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=D5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=qu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(gJ,"question");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(A){return Jt.polygon(e,v,A)},o}S(mJ,"rect_left_inv_arrow");async function yJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await $h(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const R=h.children[0],O=kt(h);d=R.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await $h(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),A=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else A=s.insert("rect",":first-child"),k=s.insert("line"),A.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,A),e.intersect=function(R){return Jt.rect(e,R)},a}S(yJ,"rectWithTitle");async function vJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tx(t,e,i)}S(vJ,"roundedRect");var ef=8;async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?ef:ef*2),h=(e?.height??o.height)+a*2,d=u-ef,f=h,p=ef-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-ef,y:m+f},{x:p-ef,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",la(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${ef/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(bJ,"shadedProcess");async function xJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),A=o.insert(()=>_,":first-child");return A.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&A.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&A.selectChildren("path").attr("style",n),A.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,A),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(xJ,"slopedRect");async function TJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return tx(t,e,a)}S(TJ,"squareRect");async function wJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...nb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...nb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(wJ,"stadium");async function CJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return tx(t,e,r)}S(CJ,"state");function SJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(SJ,"stateEnd");function EJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,GTe(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(EJ,"stateStart");var Np=8;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Np+a,h=(e?.height??l.height)+s,d=u-2*Np,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Np,m,p+Np,m+f,x),E=b.line(p+Np+d,m,p+Np+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:A}=e;_.attr("class","basic label-container").attr("style",la(A)),or(e,_)}else{const b=qu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(kJ,"subroutine");var j6=.2;async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-j6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=j6*u,d=j6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const A=Zr(E),k=C.path(A,T),R=Zr(_),O=C.path(R,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(_J,"taggedRect");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...nd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...nd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),A=Zr(T),k=m.path(A,{...v,fillStyle:"solid"}),R=i.insert(()=>k,":first-child");return R.insert(()=>_,":first-child"),R.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(AJ,"taggedWaveEdgedRectangle");async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(LJ,"text");var N5e=S((t,e,r,n,i,a)=>`M${t},${e} +`);return tQ(n)}S(sQ,"preprocessMarkdown");function oQ(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}S(oQ,"nonMarkdownToLines");function lQ(t,e={}){const r=sQ(t,e),n=yn.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` +`).forEach((h,d)=>{d!==0&&(a++,i.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return S(s,"processNode"),n.forEach(o=>{o.type==="paragraph"?o.tokens?.forEach(l=>{s(l)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}S(lQ,"markdownToLines");function cQ(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}S(cQ,"nonMarkdownToHTML");function uQ(t,{markdownAutoWrap:e}={}){const r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(oe.warn(`Unsupported markdown: ${i.type}`),i.raw)}return S(n,"output"),r.map(n).join("")}S(uQ,"markdownToHTML");function hQ(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}S(hQ,"splitTextToChars");function dQ(t,e){const r=hQ(e.content);return dN(t,[],r,e.type)}S(dQ,"splitWordToFitWidth");function dN(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?dN(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}S(dN,"splitWordToFitWidthRecursion");function fQ(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return X5(t,e)}S(fQ,"splitLineToFitWidth");function X5(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return X5(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=dQ(e,a);r.push([o]),l.content&&t.unshift(l)}return X5(t,e,r)}S(X5,"splitLineToFitWidthRecursion");function R8(t,e){e&&t.attr("style",e)}S(R8,"applyStyle");var fz=16384;async function pQ(t,e,r,n,i=!1,a=gr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,fz)}px`),s.attr("height",`${Math.min(10*r,fz)}px`);const o=s.append("xhtml:div"),l=Ri(e.label)?await mC(e.label.replace($t.lineBreakRegex,` +`),a):Jr(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),R8(h,e.labelStyle),h.attr("class",`${u} ${n}`),R8(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let d=o.node().getBoundingClientRect();return d.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),d=o.node().getBoundingClientRect()),s.node()}S(pQ,"addHtmlSpan");function zC(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}S(zC,"createTspan");function gQ(t,e,r){const n=t.append("text"),i=zC(n,1,e);qC(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}S(gQ,"computeWidthOfText");function mQ(t,e,r){const n=t.append("text"),i=zC(n,1,e);qC(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}S(mQ,"computeDimensionOfText");function yQ(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const h of r){const d=S(p=>gQ(s,1.1,p)<=t,"checkWidth"),f=d(h)?[h]:fQ(h,d);for(const p of f){const m=zC(l,u,1.1,i);qC(m,p),u++}}if(n){const h=l.node().getBBox(),d=2;return o.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),s.node()}else return l.node()}S(yQ,"createFormattedText");function D8(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}S(D8,"decodeHTMLEntities");function qC(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(D8(r.content)):i.text(" "+D8(r.content))})}S(qC,"updateTextContentAndStyles");async function vQ(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await q3e(o)?await ed(o,void 0,{class:"label-icon"}):``})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}S(vQ,"replaceIconSubstring");var vs=S(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(oe.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const d=s?uQ(e,h):cQ(e),f=await vQ(Ru(d),h),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ri(e)?p:f,labelStyle:r.replace("fill:","color:")};return await pQ(t,m,l,i,u,h)}else{const d=Ru(e.replace(//g,"
    ")),f=s?lQ(d.replace("
    ","
    "),h):oQ(d),p=yQ(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).attr("style",m)}else{const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");kt(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));const v=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");kt(p).select("text").attr("style",v)}return n?kt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):kt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function q6(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,h]=l;l[0]=(u-n)*s-(h-i)*o+n,l[1]=(u-n)*o+(h-i)*s+i}}}function V3e(t,e){return t[0]===e[0]&&t[1]===e[1]}function G3e(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)q6(u,o,i);const l=(function(u,h,d){const f=[];for(const C of u){const T=[...C];V3e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&f.push(T)}const p=[];h=Math.max(h,.1);const m=[];for(const C of f)for(let T=0;TC.yminT.ymin?1:C.xT.x?1:C.ymax===T.ymax?0:(C.ymax-T.ymax)/Math.abs(C.ymax-T.ymax))),!m.length)return p;let v=[],b=m[0].ymin,x=0;for(;v.length||m.length;){if(m.length){let C=-1;for(let T=0;Tb);T++)C=T;m.splice(0,C+1).forEach((T=>{v.push({s:b,edge:T})}))}if(v=v.filter((C=>!(C.edge.ymax<=b))),v.sort(((C,T)=>C.edge.x===T.edge.x?0:(C.edge.x-T.edge.x)/Math.abs(C.edge.x-T.edge.x))),(d!==1||x%h==0)&&v.length>1)for(let C=0;C=v.length)break;const E=v[C].edge,_=v[T].edge;p.push([[Math.round(E.x),b],[Math.round(_.x),b]])}b+=d,v.forEach((C=>{C.edge.x=C.edge.x+d*C.edge.islope})),x++}return p})(s,a,n);if(i){for(const u of s)q6(u,o,-i);(function(u,h,d){const f=[];u.forEach((p=>f.push(...p))),q6(f,h,d)})(l,o,-i)}return l}function Jb(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),G3e(t,i,n,a||1)}class fN{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=Jb(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function VC(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class U3e extends fN{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=Jb(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,h]of i)VC([u,h])&&s.push([[u[0]-o,u[1]+l],[...h]],[[u[0]+o,u[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class H3e extends fN{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let W3e=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=Jb(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=VC(o),u=l/i,h=Math.ceil(u)-1,d=l-h*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let m=0;m{const o=VC(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let h=s[0],d=s[1];h[0]>d[0]&&(h=s[1],d=s[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let p=0;p{const s=VC(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const h=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let d=0;dh%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,h)=>h%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function xQ(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:h}of t){switch(u){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=n+(n-o),f=i+(i-l)):(d=n,f=i),e.push({key:"C",data:[d,f,...h]}),o=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{const[d,f]=h;let p=0,m=0;r==="Q"||r==="T"?(p=n+(n-o),m=i+(i-l)):(p=n,m=i);const v=n+2*(p-n)/3,b=i+2*(m-i)/3,x=d+2*(p-d)/3,C=f+2*(m-f)/3;e.push({key:"C",data:[v,b,x,C,d,f]}),o=p,l=m,n=d,i=f;break}case"Q":{const[d,f,p,m]=h,v=n+2*(d-n)/3,b=i+2*(f-i)/3,x=p+2*(d-p)/3,C=m+2*(f-m)/3;e.push({key:"C",data:[v,b,x,C,p,m]}),o=d,l=f,n=p,i=m;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),p=h[2],m=h[3],v=h[4],b=h[5],x=h[6];d===0||f===0?(e.push({key:"C",data:[n,i,b,x,b,x]}),n=b,i=x):(n!==b||i!==x)&&(TQ(n,i,b,x,d,f,p,m,v).forEach((function(C){e.push({key:"C",data:C})})),n=b,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function dv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function TQ(t,e,r,n,i,a,s,o,l,u){const h=(d=s,Math.PI*d/180);var d;let f=[],p=0,m=0,v=0,b=0;if(u)[p,m,v,b]=u;else{[t,e]=dv(t,e,-h),[r,n]=dv(r,n,-h);const z=(t-r)/2,D=(e-n)/2;let I=z*z/(i*i)+D*D/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);const N=i*i,B=a*a,M=N*B-N*D*D-B*z*z,V=N*D*D+B*z*z,U=(o===l?-1:1)*Math.sqrt(Math.abs(M/V));v=U*i*D/a+(t+r)/2,b=U*-a*z/i+(e+n)/2,p=Math.asin(parseFloat(((e-b)/a).toFixed(9))),m=Math.asin(parseFloat(((n-b)/a).toFixed(9))),tm&&(p-=2*Math.PI),!l&&m>p&&(m-=2*Math.PI)}let x=m-p;if(Math.abs(x)>120*Math.PI/180){const z=m,D=r,I=n;m=l&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=TQ(r=v+i*Math.cos(m),n=b+a*Math.sin(m),D,I,i,a,s,0,l,[m,z,v,b])}x=m-p;const C=Math.cos(p),T=Math.sin(p),E=Math.cos(m),_=Math.sin(m),R=Math.tan(x/4),k=4/3*i*R,L=4/3*a*R,O=[t,e],F=[t+k*T,e-L*C],$=[r+k*_,n-L*E],q=[r,n];if(F[0]=2*O[0]-F[0],F[1]=2*O[1]-F[1],u)return[F,$,q].concat(f);{f=[F,$,q].concat(f);const z=[];for(let D=0;D2){const i=[];for(let a=0;a2*Math.PI&&(p=0,m=2*Math.PI);const v=2*Math.PI/l.curveStepCount,b=Math.min(v/2,(m-p)/2),x=xz(b,u,h,d,f,p,m,1,l);if(!l.disableMultiStroke){const C=xz(b,u,h,d,f,p,m,1.5,l);x.push(...C)}return s&&(o?x.push(...td(u,h,u+d*Math.cos(p),h+f*Math.sin(p),l),...td(u,h,u+d*Math.cos(m),h+f*Math.sin(m),l)):x.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+d*Math.cos(p),h+f*Math.sin(p)]})),{type:"path",ops:x}}function yz(t,e){const r=xQ(bQ(pN(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...td(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,h,d,f,p]=o;n.push(...J3e(l,u,h,d,f,p,a,e)),a=[f,p];break}case"Z":n.push(...td(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function U6(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Tr(i,e),n[0][1]+Tr(i,e)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const d=h/2,f=.2+.2*SQ(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,m=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=Tr(p,i,u),m=Tr(m,i,u);const v=[],b=()=>Tr(d,i,u),x=()=>Tr(h,i,u),C=i.preserveVertices;return s?v.push({op:"move",data:[t+(C?0:b()),e+(C?0:b())]}):v.push({op:"move",data:[t+(C?0:Tr(h,i,u)),e+(C?0:Tr(h,i,u))]}),s?v.push({op:"bcurveTo",data:[p+t+(r-t)*f+b(),m+e+(n-e)*f+b(),p+t+2*(r-t)*f+b(),m+e+2*(n-e)*f+b(),r+(C?0:b()),n+(C?0:b())]}):v.push({op:"bcurveTo",data:[p+t+(r-t)*f+x(),m+e+(n-e)*f+x(),p+t+2*(r-t)*f+x(),m+e+2*(n-e)*f+x(),r+(C?0:x()),n+(C?0:x())]}),v}function QT(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]),n.push([t[0][0]+Tr(e,r),t[0][1]+Tr(e,r)]);for(let i=1;i3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+21&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],h=t[e+2],d=t[e+3],f=Cf(l,u,.5),p=Cf(u,h,.5),m=Cf(h,d,.5),v=Cf(f,p,.5),b=Cf(p,m,.5),x=Cf(v,b,.5);O8([l,f,v,x],0,r,i),O8([x,b,m,d],0,r,i)}var a,s;return i}function t5e(t,e){return Z5(t,0,t.length,e)}function Z5(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let h=e+1;hl&&(l=d,u=h)}return Math.sqrt(l)>n?(Z5(t,e,u+1,n,a),Z5(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function H6(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a0?Z5(n,0,n.length,r):n}const eo="none";class Q5{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[wQ(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=Q3e(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(U6([u],s)):o.push(Rp([u],s))}return s.stroke!==eo&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=CQ(n,i,s),u=N8(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=N8(e,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Rp([u.estimatedPoints],s));return s.stroke!==eo&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[d3(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),h=[],d=mz(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=mz(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",h.push(p)}else h.push((function(f,p,m,v,b,x,C){const T=f,E=p;let _=Math.abs(m/2),R=Math.abs(v/2);_+=Tr(.01*_,C),R+=Tr(.01*R,C);let k=b,L=x;for(;k<0;)k+=2*Math.PI,L+=2*Math.PI;L-k>2*Math.PI&&(k=0,L=2*Math.PI);const O=(L-k)/C.curveStepCount,F=[];for(let $=k;$<=L;$+=O)F.push([T+_*Math.cos($),E+R*Math.sin($)]);return F.push([T+_*Math.cos(L),E+R*Math.sin(L)]),F.push([T,E]),Rp([F],C)})(e,r,n,i,a,s,u));return u.stroke!==eo&&h.push(d),this._d("arc",h,u)}curve(e,r){const n=this._o(r),i=[],a=gz(e,n);if(n.fill&&n.fill!==eo)if(n.fillStyle==="solid"){const s=gz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...H6(Tz([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...H6(Tz(u),10,(1+n.roughness)/2))}s.length&&i.push(Rp([s],n))}return n.stroke!==eo&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=d3(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(U6([e],n)):i.push(Rp([e],n))),n.stroke!==eo&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==eo,s=n.stroke!==eo,o=!!(n.simplification&&n.simplification<1),l=(function(h,d,f){const p=xQ(bQ(pN(h))),m=[];let v=[],b=[0,0],x=[];const C=()=>{x.length>=4&&v.push(...H6(x,d)),x=[]},T=()=>{C(),v.length&&(m.push(v),v=[])};for(const{key:_,data:R}of p)switch(_){case"M":T(),b=[R[0],R[1]],v.push(b);break;case"L":C(),v.push([R[0],R[1]]);break;case"C":if(!x.length){const k=v.length?v[v.length-1]:b;x.push([k[0],k[1]])}x.push([R[0],R[1]]),x.push([R[2],R[3]]),x.push([R[4],R[5]]);break;case"Z":C(),v.push([b[0],b[1]])}if(T(),!f)return m;const E=[];for(const _ of m){const R=t5e(_,f);R.length&&E.push(R)}return E})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=yz(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const h=yz(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else i.push(U6(l,n));else i.push(Rp(l,n));return s&&(o?l.forEach((h=>{i.push(d3(h,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:eo};break;case"fillPath":s={d:this.opsToPath(a),stroke:eo,strokeWidth:0,fill:n.fill||eo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||eo,strokeWidth:n,fill:eo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}}class r5e{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new Q5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const JT="http://www.w3.org/2000/svg";class n5e{constructor(e,r){this.svg=e,this.gen=new Q5(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(JT,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(JT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(JT,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(JT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var ar={canvas:(t,e)=>new r5e(t,e),svg:(t,e)=>new n5e(t,e),generator:t=>new Q5(t),newSeed:()=>Q5.newSeed()},xr=S(async(t,e,r)=>{let n;const i=e.useHtmlLabels||Bu(Pe()?.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",la(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",h=await vs(s,Jr(Ru(o),Pe()),{useHtmlLabels:i,width:e.width||Pe().flowchart?.wrappingWidth,classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Pe());let d=h.getBBox();const f=(e?.padding??0)/2;if(i){const p=h.children[0],m=kt(h);await tN(p,o),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:f,label:s}},"labelHelper"),W6=S(async(t,e,r)=>{const n=r.useHtmlLabels??gn(Pe()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await vs(i,Jr(Ru(e),Pe()),{useHtmlLabels:n,width:r.width||Pe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(gn(Pe())){const l=a.children[0],u=kt(a);s=l.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),or=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),vr=S((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Zr(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}S(Zr,"createPathFromPoints");function rd(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,h=l/a,d=2*Math.PI/h,f=e+u/2;for(let p=0;p<=50;p++){const m=p/50,v=t+m*l,b=f+i*Math.sin(d*(v-t));s.push({x:v,y:b})}return s}S(rd,"generateFullSineWavePoints");function rb(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=S((l,u)=>l?.getAttribute(u)??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,h])=>{h&&r.setAttribute(u,h)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}S(I8,"mergePaths");var i5e=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),zm=i5e,a5e=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),Ph=a5e,vd=S((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),EQ=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label ");let m;e.labelType==="markdown"?m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):m=await Ph(p,e.label,e.labelStyle||"",!1,!0);let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),O=k.path(vd(C,T,b,x,0),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Zb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return zm(e,k)},{cluster:d,labelBBox:v}},"rect"),s5e=S((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return zm(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),o5e=S(async(t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),h=u.insert("g",":first-child"),d=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await Ph(d,e.label,e.labelStyle,void 0,!0);let m=p.getBBox();if(gn(r)){const O=p.children[0],F=kt(p);m=O.getBoundingClientRect(),F.attr("width",m.width),F.attr("height",m.height)}const v=0*e.padding,b=v/2,x=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+v;e.width<=m.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;const C=e.height+v,T=e.height+v-m.height-6,E=e.x-x/2,_=e.y-C/2;e.width=x;const R=e.y-e.height/2-b+m.height+2;let k;if(e.look==="handDrawn"){const O=e.cssClasses.includes("statediagram-cluster-alt"),F=ar.svg(u),$=e.rx||e.ry?F.path(vd(E,_,x,C,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):F.rectangle(E,_,x,C,{seed:i});k=u.insert(()=>$,":first-child");const q=F.rectangle(E,R,x,T,{fill:O?a:s,fillStyle:O?"hachure":"solid",stroke:l,seed:i});k=u.insert(()=>$,":first-child"),f=u.insert(()=>q)}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",E).attr("y",_).attr("width",x).attr("height",C).attr("data-look",e.look),f.attr("class","inner").attr("x",E).attr("y",R).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-m.width/2}, ${_+1-(gn(r)?0:3)})`);const L=k.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(O){return zm(e,O)},{cluster:u,labelBBox:m}},"roundedWithTitle"),l5e=S(async(t,e)=>{oe.info("Creating subgraph rect for ",e.id,e);const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:h}=tr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=gn(r),p=d.insert("g").attr("class","cluster-label "),m=await vs(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let v=m.getBBox();if(gn(r)){const k=m.children[0],L=kt(m);v=k.getBoundingClientRect(),L.attr("width",v.width),L.attr("height",v.height)}const b=e.width<=v.width+e.padding?v.width+e.padding:e.width;e.width<=v.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;const x=e.height,C=e.x-b/2,T=e.y-x/2;oe.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){const k=ar.svg(d),L=sr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),O=k.path(vd(C,T,b,x,e.rx),L);E=d.insert(()=>(oe.debug("Rough node insert CXC",O),O),":first-child"),E.select("path:nth-child(2)").attr("style",u.join(";")),E.select("path").attr("style",h.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",C).attr("y",T).attr("width",b).attr("height",x);const{subGraphTitleTopMargin:_}=Zb(r);if(p.attr("transform",`translate(${e.x-v.width/2}, ${e.y-e.height/2+_})`),o){const k=p.select("span");k&&k.attr("style",o)}const R=E.node().getBBox();return e.offsetX=0,e.width=R.width,e.height=R.height,e.offsetY=v.height-e.padding/2,e.intersect=function(k){return zm(e,k)},{cluster:d,labelBBox:v}},"kanbanSection"),c5e=S((t,e)=>{const r=Pe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const h=e.height+l,d=e.x-u/2,f=e.y-h/2;e.width=u;let p;if(e.look==="handDrawn"){const b=ar.svg(s).rectangle(d,f,u,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>b,":first-child")}else{p=o.insert("rect",":first-child");let v="outer";e.look,v="divider",p.attr("class",v).attr("x",d).attr("y",f).attr("width",u).attr("height",h).attr("data-look",e.look)}const m=p.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(v){return zm(e,v)},{cluster:s,labelBBox:{}}},"divider"),u5e=EQ,h5e={rect:EQ,squareRect:u5e,roundedWithTitle:o5e,noteGroup:s5e,divider:c5e,kanbanSection:l5e},kQ=new Map,gN=S(async(t,e)=>{const r=e.shape||"rect",n=await h5e[r](t,e);return kQ.set(e.id,n),n},"insertCluster"),d5e=S(()=>{kQ=new Map},"clear");function _Q(t,e){return t.intersect(e)}S(_Q,"intersectNode");var f5e=_Q;function AQ(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(B8,"sameSign");var g5e=DQ;function NQ(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let h=0;h1&&a.sort(function(h,d){let f=h.x-r.x,p=h.y-r.y,m=Math.sqrt(f*f+p*p),v=d.x-r.x,b=d.y-r.y,x=Math.sqrt(v*v+b*b);return mh,":first-child");return d.attr("class","anchor").attr("style",la(o)),or(e,d),e.intersect=function(f){return oe.info("Circle intersect",e,s,f),Jt.circle(e,s,f)},a}S(MQ,"anchor");function P8(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,h=Math.atan2(n-e,r-t),d=(r-t)/2,f=(n-e)/2,p=d/i,m=f/a,v=Math.sqrt(p**2+m**2);if(v>1)throw new Error("The given radii are too small to create an arc between the points.");const b=Math.sqrt(1-v**2),x=l+b*a*Math.sin(h)*(s?-1:1),C=u-b*i*Math.cos(h)*(s?-1:1),T=Math.atan2((e-C)/a,(t-x)/i);let _=Math.atan2((n-C)/a,(r-x)/i)-T;s&&_<0&&(_+=2*Math.PI),!s&&_>0&&(_-=2*Math.PI);const R=[];for(let k=0;k<20;k++){const L=k/19,O=T+L*_,F=x+i*Math.cos(O),$=C+a*Math.sin(O);R.push({x:F,y:$})}return R}S(P8,"generateArcPoints");function OQ(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}S(OQ,"calculateArcSagitta");async function IQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=S(O=>O+s,"calcTotalHeight"),l=S(O=>{const F=O/2;return[F/(2.5+O/50),F]},"calcEllipseRadius"),{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=o(e?.height?e?.height:h.height),[f,p]=l(d),m=OQ(d,f,p),b=(e?.width?e?.width:h.width)+a*2+m-m,x=d,{cssStyles:C}=e,T=[{x:b/2,y:-x/2},{x:-b/2,y:-x/2},...P8(-b/2,-x/2,-b/2,x/2,f,p,!1),{x:b/2,y:x/2},...P8(b/2,x/2,b/2,-x/2,f,p,!0)],E=ar.svg(u),_=sr(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=Zr(T),k=E.path(R,_),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(${f/2}, 0)`),or(e,L),e.intersect=function(O){return Jt.polygon(e,T,O)},u}S(IQ,"bowTieRect");function zu(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(zu,"insertPolygonShape");var e4=12;async function BQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+(e.look==="neo"?a*2:a+e4),h=(e?.height??l.height)+(e.look==="neo"?s*2:s),d=0,f=u,p=-h,m=0,v=[{x:d+e4,y:p},{x:f,y:p},{x:f,y:m},{x:d,y:m},{x:d,y:p+e4},{x:d+e4,y:p}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(o),T=sr(e,{}),E=Zr(v),_=C.path(E,T);b=o.insert(()=>_,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),x&&b.attr("style",x)}else b=zu(o,u,h,v);return n&&b.attr("style",n),or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},o}S(BQ,"card");function PQ(t,e){const{nodeStyles:r}=tr(e);e.label="";const n=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=ar.svg(n),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Zr(s),h=o.path(u,l),d=n.insert(()=>h,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return Jt.polygon(e,s,f)},n}S(PQ,"choice");async function mN(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await xr(t,e,vr(e)),l=16,u=r?.padding??o,h=e.look==="neo"?s.width/2+l*2:s.width/2+u;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(a),m=sr(e,{}),v=p.circle(0,0,h*2,m);d=a.insert(()=>v,":first-child"),d.attr("class","basic label-container").attr("style",la(f))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return or(e,d),e.calcIntersect=function(p,m){const v=p.width/2;return Jt.circle(p,v,m)},e.intersect=function(p){return oe.info("Circle intersect",e,h,p),Jt.circle(e,h,p)},a}S(mN,"circle");function FQ(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}S(FQ,"createLine");function $Q(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,o=ar.svg(i),l=sr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),h=FQ(a),d=o.path(h,l),f=i.insert(()=>u,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),or(e,f),e.intersect=function(p){return oe.info("crossedCircle intersect",e,{radius:a,point:p}),Jt.circle(e,a,p)},i}S($Q,"crossedCircle");function Jc(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-u/2+d-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(zQ,"curlyBraceLeft");function eu(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),R.insert(()=>T,":first-child"),R.attr("class","text"),f&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,m,k)},i}S(qQ,"curlyBraceRight");function Ta(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,h=(a*Math.PI/180-o)/(n-1);for(let d=0;dO,":first-child").attr("stroke-opacity",0),F.insert(()=>E,":first-child"),F.insert(()=>k,":first-child"),F.attr("class","text"),f&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),F.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-h/2+(e.padding??0)/2-(a.y-(a.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,v,$)},i}S(VQ,"curlyBraces");async function GQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:h}=await xr(t,e,vr(e)),d=Math.max(o,(h.width+a*2)*1.25,e?.width??0),f=Math.max(l,h.height+s*2,e?.height??0),p=f/2,{cssStyles:m}=e,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=d,C=f,T=x-p,E=C/4,_=[{x:T,y:0},{x:E,y:0},{x:0,y:C/2},{x:E,y:C},{x:T,y:C},...rb(-T,-C/2,p,50,270,90)],R=Zr(_),k=v.path(R,b),L=u.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&L.selectChildren("path").attr("style",n),L.attr("transform",`translate(${-d/2}, ${-f/2})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},u}S(GQ,"curvedTrapezoid");var y5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),v5e=S((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),b5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),wz=8,Cz=8;async function UQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const b=e.width??0;e.width=(e.width??0)-s,e.width_,":first-child"),m=o.insert(()=>E,":first-child"),m.attr("class","basic label-container"),v&&m.attr("style",v)}else{const b=y5e(0,0,h,p,d,f);m=o.insert("path",":first-child").attr("d",b).attr("class","basic label-container outer-path").attr("style",la(v)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(b){const x=Jt.rect(e,b),C=x.x-(e.x??0);if(d!=0&&(Math.abs(C)<(e.width??0)/2||Math.abs(C)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-f)){let T=f*f*(1-C*C/(d*d));T>0&&(T=Math.sqrt(T)),T=f-T,b.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},o}S(UQ,"cylinder");async function HQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=o.width+i,h=o.height+a,d=h*.2,f=-u/2,p=-h/2-d/2,{cssStyles:m}=e,v=ar.svg(s),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=s.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+d+(e.padding??0)/2-(o.y-(o.top??0))})`),or(e,T),e.intersect=function(E){return Jt.rect(e,E)},s}S(HQ,"dividedRectangle");async function WQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width/2:l.width/2)+(s??0),h=u-i;let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(o),m=sr(e,{roughness:.2,strokeWidth:2.5}),v=sr(e,{roughness:.2,strokeWidth:1.5}),b=p.circle(0,0,u*2,m),x=p.circle(0,0,h*2,v);d=o.insert("g",":first-child"),d.attr("class",la(e.cssClasses)).attr("style",la(f)),d.node()?.appendChild(b),d.node()?.appendChild(x)}else{d=o.insert("g",":first-child");const p=d.insert("circle",":first-child"),m=d.insert("circle");d.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return or(e,d),e.intersect=function(p){return oe.info("DoubleCircle intersect",e,u,p),Jt.circle(e,u,p)},o}S(WQ,"doublecircle");function YQ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=ar.svg(a),{nodeBorder:u}=r,h=sr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,s*2,h),f=a.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),or(e,f),e.intersect=function(p){return oe.info("filledCircle intersect",e,{radius:s,point:p}),Jt.circle(e,s,p)},a}S(YQ,"filledCircle");var Sz=10,Ez=10;async function XQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),e.width=u,e.height=h,or(e,C),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-h/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(T){return oe.info("Triangle intersect",e,f,T),Jt.polygon(e,f,T)},s}S(XQ,"flippedTriangle");function jQ(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=tr(e);e.label="";const s=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),u=Math.max(10,e?.height??0);r==="LR"&&(l=Math.max(10,e?.width??0),u=Math.max(70,e?.height??0));const h=-1*l/2,d=-1*u/2,f=ar.svg(s),p=sr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=f.rectangle(h,d,l,u,p),v=s.insert(()=>m,":first-child");o&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",a),or(e,v);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(x){return Jt.rect(e,x)},s}S(jQ,"forkJoin");async function KQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-o*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return oe.info("Pill intersect",e,{radius:f,point:E}),Jt.polygon(e,b,E)},l}S(KQ,"halfRoundedRectangle");var x5e=S((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function ZQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const T=(e.height??0)/i;e.width=(e?.width??0)-2*T-u,e.height=(e.height??0)-l}const{shapeSvg:h,bbox:d}=await xr(t,e,vr(e)),f=(e?.height?e?.height:d.height)+l,p=f/i,m=(e?.width?e?.width:d.width)+2*p+u,v=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let b;const{cssStyles:x}=e;if(e.look==="handDrawn"){const C=ar.svg(h),T=sr(e,{}),E=x5e(0,0,m,f,p),_=C.path(E,T);b=h.insert(()=>_,":first-child").attr("transform",`translate(${-m/2}, ${f/2})`),x&&b.attr("style",x)}else b=zu(h,m,f,v);return n&&b.attr("style",n),e.width=m,e.height=f,or(e,b),e.intersect=function(C){return Jt.polygon(e,v,C)},h}S(ZQ,"hexagon");async function QQ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await xr(t,e,vr(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,l=ar.svg(i),u=sr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Zr(h),f=l.path(d,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),or(e,p),e.intersect=function(m){return oe.info("Pill intersect",e,{points:h}),Jt.polygon(e,h,m)},i}S(QQ,"hourglass");async function JQ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=e.pos==="t",p=o,m=o,{nodeBorder:v}=r,{stylesMap:b}=$m(e),x=-m/2,C=-p/2,T=e.label?8:0,E=ar.svg(u),_=sr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const R=E.rectangle(x,C,m,p,_),k=Math.max(m,h.width),L=p+h.height+T,O=E.rectangle(-k/2,-L/2,k,L,{..._,fill:"transparent",stroke:"none"}),F=u.insert(()=>R,":first-child"),$=u.insert(()=>O);if(e.icon){const q=u.append("g");q.html(`${await ed(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const z=q.node().getBBox(),D=z.width,I=z.height,N=z.x,B=z.y;q.attr("transform",`translate(${-D/2-N},${f?h.height/2+T/2-I/2-B:-h.height/2-T/2-I/2-B})`),q.attr("style",`color: ${b.get("stroke")??v};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-L/2:L/2-h.height})`),F.attr("transform",`translate(0,${f?h.height/2+T/2:-h.height/2-T/2})`),or(e,$),e.intersect=function(q){if(oe.info("iconSquare intersect",e,q),!e.label)return Jt.rect(e,q);const z=e.x??0,D=e.y??0,I=e.height??0;let N=[];return f?N=[{x:z-h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2},{x:z+h.width/2,y:D-I/2+h.height+T},{x:z+m/2,y:D-I/2+h.height+T},{x:z+m/2,y:D+I/2},{x:z-m/2,y:D+I/2},{x:z-m/2,y:D-I/2+h.height+T},{x:z-h.width/2,y:D-I/2+h.height+T}]:N=[{x:z-m/2,y:D-I/2},{x:z+m/2,y:D-I/2},{x:z+m/2,y:D-I/2+p},{x:z+h.width/2,y:D-I/2+p},{x:z+h.width/2/2,y:D+I/2},{x:z-h.width/2,y:D+I/2},{x:z-h.width/2,y:D-I/2+p},{x:z-m/2,y:D-I/2+p}],Jt.polygon(e,N,q)},u}S(JQ,"icon");async function eJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,label:d}=await xr(t,e,"icon-shape default"),f=20,p=e.label?8:0,m=e.pos==="t",{nodeBorder:v,mainBkg:b}=r,{stylesMap:x}=$m(e),C=ar.svg(u),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=x.get("fill");T.stroke=E??b;const _=u.append("g");e.icon&&_.html(`${await ed(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const R=_.node().getBBox(),k=R.width,L=R.height,O=R.x,F=R.y,$=Math.max(k,L)*Math.SQRT2+f*2,q=C.circle(0,0,$,T),z=Math.max($,h.width),D=$+h.height+p,I=C.rectangle(-z/2,-D/2,z,D,{...T,fill:"transparent",stroke:"none"}),N=u.insert(()=>q,":first-child"),B=u.insert(()=>I);return _.attr("transform",`translate(${-k/2-O},${m?h.height/2+p/2-L/2-F:-h.height/2-p/2-L/2-F})`),_.attr("style",`color: ${x.get("stroke")??v};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${m?-D/2:D/2-h.height})`),N.attr("transform",`translate(0,${m?h.height/2+p/2:-h.height/2-p/2})`),or(e,B),e.intersect=function(M){return oe.info("iconSquare intersect",e,M),Jt.rect(e,M)},u}S(eJ,"iconCircle");async function tJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=$m(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(vd(T,E,v,m,5),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child").attr("class","icon-shape2"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await ed(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(tJ,"iconRounded");async function rJ(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=tr(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n?.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:h,halfPadding:d,label:f}=await xr(t,e,"icon-shape default"),p=e.pos==="t",m=o+d*2,v=o+d*2,{nodeBorder:b,mainBkg:x}=r,{stylesMap:C}=$m(e),T=-v/2,E=-m/2,_=e.label?8:0,R=ar.svg(u),k=sr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const L=C.get("fill");k.stroke=L??x;const O=R.path(vd(T,E,v,m,.1),k),F=Math.max(v,h.width),$=m+h.height+_,q=R.rectangle(-F/2,-$/2,F,$,{...k,fill:"transparent",stroke:"none"}),z=u.insert(()=>O,":first-child"),D=u.insert(()=>q);if(e.icon){const I=u.append("g");I.html(`${await ed(e.icon,{height:o,width:o,fallbackPrefix:""})}`);const N=I.node().getBBox(),B=N.width,M=N.height,V=N.x,U=N.y;I.attr("transform",`translate(${-B/2-V},${p?h.height/2+_/2-M/2-U:-h.height/2-_/2-M/2-U})`),I.attr("style",`color: ${C.get("stroke")??b};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-$/2:$/2-h.height})`),z.attr("transform",`translate(0,${p?h.height/2+_/2:-h.height/2-_/2})`),or(e,D),e.intersect=function(I){if(oe.info("iconSquare intersect",e,I),!e.label)return Jt.rect(e,I);const N=e.x??0,B=e.y??0,M=e.height??0;let V=[];return p?V=[{x:N-h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2},{x:N+h.width/2,y:B-M/2+h.height+_},{x:N+v/2,y:B-M/2+h.height+_},{x:N+v/2,y:B+M/2},{x:N-v/2,y:B+M/2},{x:N-v/2,y:B-M/2+h.height+_},{x:N-h.width/2,y:B-M/2+h.height+_}]:V=[{x:N-v/2,y:B-M/2},{x:N+v/2,y:B-M/2},{x:N+v/2,y:B-M/2+m},{x:N+h.width/2,y:B-M/2+m},{x:N+h.width/2/2,y:B+M/2},{x:N-h.width/2,y:B+M/2},{x:N-h.width/2,y:B-M/2+m},{x:N-v/2,y:B-M/2+m}],Jt.polygon(e,V,I)},u}S(rJ,"iconSquare");async function nJ(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=tr(e);e.labelStyle=s;const o=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const l=Math.max(e.label?o??0:0,e?.assetWidth??i),u=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:l,h=e.constraint==="on"?u/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(u,o??0);const{shapeSvg:d,bbox:f,label:p}=await xr(t,e,"image-shape default"),m=e.pos==="t",v=-u/2,b=-h/2,x=e.label?8:0,C=ar.svg(d),T=sr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const E=C.rectangle(v,b,u,h,T),_=Math.max(u,f.width),R=h+f.height+x,k=C.rectangle(-_/2,-R/2,_,R,{...T,fill:"none",stroke:"none"}),L=d.insert(()=>E,":first-child"),O=d.insert(()=>k);if(e.img){const F=d.append("image");F.attr("href",e.img),F.attr("width",u),F.attr("height",h),F.attr("preserveAspectRatio","none"),F.attr("transform",`translate(${-u/2},${m?R/2-h:-R/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),L.attr("transform",`translate(0,${m?f.height/2+x/2:-f.height/2-x/2})`),or(e,O),e.intersect=function(F){if(oe.info("iconSquare intersect",e,F),!e.label)return Jt.rect(e,F);const $=e.x??0,q=e.y??0,z=e.height??0;let D=[];return m?D=[{x:$-f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2},{x:$+f.width/2,y:q-z/2+f.height+x},{x:$+u/2,y:q-z/2+f.height+x},{x:$+u/2,y:q+z/2},{x:$-u/2,y:q+z/2},{x:$-u/2,y:q-z/2+f.height+x},{x:$-f.width/2,y:q-z/2+f.height+x}]:D=[{x:$-u/2,y:q-z/2},{x:$+u/2,y:q-z/2},{x:$+u/2,y:q-z/2+h},{x:$+f.width/2,y:q-z/2+h},{x:$+f.width/2/2,y:q+z/2},{x:$-f.width/2,y:q+z/2},{x:$-f.width/2,y:q-z/2+h},{x:$-u/2,y:q-z/2+h}],Jt.polygon(e,D,F)},d}S(nJ,"imageSquare");async function iJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=Math.max(l.width+(s??0)*2,e?.width??0),h=Math.max(l.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:u,y:0},{x:u+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-u/2}, ${h/2})`),p&&f.attr("style",p)}else f=zu(o,u,h,d);return n&&f.attr("style",n),e.width=u,e.height=h,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(iJ,"inv_trapezoid");async function ex(t,e,r){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await xr(t,e,vr(e)),o=Math.max(s.width+r.labelPaddingX*2,e?.width||0),l=Math.max(s.height+r.labelPaddingY*2,e?.height||0),u=-o/2,h=-l/2;let d,{rx:f,ry:p}=e;const{cssStyles:m}=e;if(r?.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const v=ar.svg(a),b=sr(e,{}),x=f||p?v.path(vd(u,h,o,l,f||0),b):v.rectangle(u,h,o,l,b);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",la(m))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",la(f)).attr("ry",la(p)).attr("x",u).attr("y",h).attr("width",o).attr("height",l);return or(e,d),e.calcIntersect=function(v,b){return Jt.rect(v,b)},e.intersect=function(v){return Jt.rect(e,v)},a}S(ex,"drawRect");async function aJ(t,e){const{shapeSvg:r,bbox:n,label:i}=await xr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),or(e,a),e.intersect=function(l){return Jt.rect(e,l)},r}S(aJ,"labelRect");async function sJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:0,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=zu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(sJ,"lean_left");async function oJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h,y:0},{x:h+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=zu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(oJ,"lean_right");function lJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",vr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=ar.svg(i),d=sr(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=Zr(u),p=h.path(f,d),m=i.insert(()=>p,":first-child");return m.attr("class","outer-path"),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(-${s/2},${-o})`),or(e,m),e.intersect=function(v){return oe.info("lightningBolt intersect",e,v),Jt.polygon(e,u,v)},i}S(lJ,"lightningBolt");var T5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),w5e=S((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),C5e=S((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),kz=10,_z=10;async function cJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const x=e.width??0;e.width=(e.width??0)-a,e.width<_z&&(e.width=_z);const T=x/2/(2.5+x/50);e.height=(e.height??0)-s-T*3,e.heightR,":first-child").attr("class","line"),v=o.insert(()=>_,":first-child"),v.attr("class","basic label-container"),b&&v.attr("style",b)}else{const x=T5e(0,0,h,p,d,f,m);v=o.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",la(b)).attr("style",n)}return v.attr("label-offset-y",f),v.attr("transform",`translate(${-h/2}, ${-(p/2+f)})`),or(e,v),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(x){const C=Jt.rect(e,x),T=C.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(C.y-(e.y??0))>(e.height??0)/2-f)){let E=f*f*(1-T*T/(d*d));E>0&&(E=Math.sqrt(E)),E=f-E,x.y-(e.y??0)>0&&(E=-E),C.y+=E}return C},o}S(cJ,"linedCylinder");async function uJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const E=e.width;e.width=(E??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+(a??0)*2,d=(e?.height?e?.height:l.height)+(s??0)*2,f=e.look==="neo"?d/4:d/8,p=d+f,{cssStyles:m}=e,v=ar.svg(o),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=[{x:-h/2-h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:p/2},...rd(-h/2-h/2*.1,p/2,h/2+h/2*.1,p/2,f,.8),{x:h/2+h/2*.1,y:-p/2},{x:-h/2-h/2*.1,y:-p/2},{x:-h/2,y:-p/2},{x:-h/2,y:p/2*1.1},{x:-h/2,y:-p/2}],C=v.polygon(x.map(E=>[E.x,E.y]),b),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-h/2+(e.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),or(e,T),e.intersect=function(E){return Jt.polygon(e,x,E)},o}S(uJ,"linedWaveEdgedRect");async function hJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*o,10),e.height=Math.max((e?.height??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+a*2+2*o,f=(e?.height?e?.height:u.height)+s*2+2*o,p=d-2*o,m=f-2*o,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(l),T=sr(e,{}),E=[{x:v-o,y:b+o},{x:v-o,y:b+m+o},{x:v+p-o,y:b+m+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b+m-o},{x:v+p+o,y:b+m-o},{x:v+p+o,y:b-o},{x:v+o,y:b-o},{x:v+o,y:b},{x:v,y:b},{x:v,y:b+o}],_=[{x:v,y:b+o},{x:v+p-o,y:b+o},{x:v+p-o,y:b+m},{x:v+p,y:b+m},{x:v+p,y:b},{x:v,y:b}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E);let k=C.path(R,T);const L=Zr(_);let O=C.path(L,T);e.look!=="handDrawn"&&(k=I8(k),O=I8(O));const F=l.insert("g",":first-child");return F.insert(()=>k),F.insert(()=>O),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),h.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},l}S(hJ,"multiRect");async function dJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let h=!0;(e.width||e.height)&&(h=!1,e.width=(e?.width??0)-l*2,e.height=(e?.height??0)-u*3);const d=Math.max(a.width,e?.width??0)+l*2,f=Math.max(a.height,e?.height??0)+u*3,p=e.look==="neo"?f/4:f/8,m=f+(h?p/2:-p/2),v=-d/2,b=-m/2,x=10,{cssStyles:C}=e,T=rd(v-x,b+m+x,v+d-x,b+m+x,p,.8),E=T?.[T.length-1],_=[{x:v-x,y:b+x},{x:v-x,y:b+m+x},...T,{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:E.y-2*x},{x:v+d+x,y:E.y-2*x},{x:v+d+x,y:b-x},{x:v+x,y:b-x},{x:v+x,y:b},{x:v,y:b},{x:v,y:b+x}],R=[{x:v,y:b+x},{x:v+d-x,y:b+x},{x:v+d-x,y:E.y-x},{x:v+d,y:E.y-x},{x:v+d,y:b},{x:v,y:b}],k=ar.svg(i),L=sr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=Zr(_),F=k.path(O,L),$=Zr(R),q=k.path($,L),z=i.insert(()=>F,":first-child");return z.insert(()=>q),z.attr("class","basic label-container outer-path"),C&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",C),n&&e.look!=="handDrawn"&&z.selectAll("path").attr("style",n),z.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-p/2-(a.y-(a.top??0))})`),or(e,z),e.intersect=function(D){return Jt.polygon(e,_,D)},i}S(dJ,"multiWaveEdgedRectangle");async function fJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n,e.useHtmlLabels||gn(gr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=Math.max(o.width+(e.padding??0)*2,e?.width??0),h=Math.max(o.height+(e.padding??0)*2,e?.height??0),d=-u/2,f=-h/2,{cssStyles:p}=e,m=ar.svg(s),v=sr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=m.rectangle(d,f,u,h,v),x=s.insert(()=>b,":first-child");return x.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,x),e.intersect=function(C){return Jt.rect(e,C)},s}S(fJ,"note");var S5e=S((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function pJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=ar.svg(i),m=sr(e,{}),v=S5e(0,0,l),b=p.path(v,m);d=i.insert(()=>b,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&d.attr("style",f)}else d=zu(i,l,l,h),d.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&d.attr("style",n),or(e,d),e.calcIntersect=function(p,m){const v=p.width,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],x=Jt.polygon(p,b,m);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}S(pJ,"question");async function gJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width??l.width)+(e.look==="neo"?a*2:a),d=(e?.height??l.height)+(e.look==="neo"?s*2:s),f=-h/2,p=-d/2,m=p/2,v=[{x:f+m,y:p},{x:f,y:0},{x:f+m,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=Zr(v),E=x.path(T,C),_=o.insert(()=>E,":first-child");return _.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-m/2},0)`),u.attr("transform",`translate(${-m/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,v,R)},o}S(gJ,"rect_left_inv_arrow");async function mJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,h=await Ph(o,u,e.labelStyle,!0,!0);let d={width:0,height:0};if(gn(Pe())){const L=h.children[0],O=kt(h);d=L.getBoundingClientRect(),O.attr("width",d.width),O.attr("height",d.height)}oe.info("Text 2",l);const f=l||[],p=h.getBBox(),m=await Ph(o,Array.isArray(f)?f.join("
    "):f,e.labelStyle,!0,!0),v=m.children[0],b=kt(m);d=v.getBoundingClientRect(),b.attr("width",d.width),b.attr("height",d.height);const x=(e.padding||0)/2;kt(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+x+5)+")"),kt(h).attr("transform","translate( "+(d.width(oe.debug("Rough node insert CXC",F),$),":first-child"),R=a.insert(()=>(oe.debug("Rough node insert CXC",F),F),":first-child")}else R=s.insert("rect",":first-child"),k=s.insert("line"),R.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),k.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+p.height+x).attr("y2",-d.height/2-x+p.height+x);return or(e,R),e.intersect=function(L){return Jt.rect(e,L)},a}S(mJ,"rectWithTitle");async function yJ(t,e,{config:{themeVariables:r}}){const n=r?.radius??5,i={rx:n,ry:n,labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return ex(t,e,i)}S(yJ,"roundedRect");var Jd=8;async function vJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width??o.width)+i*2+(e.look==="neo"?Jd:Jd*2),h=(e?.height??o.height)+a*2,d=u-Jd,f=h,p=Jd-u/2,m=-h/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const C=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-Jd,y:m+f},{x:p-Jd,y:m},{x:p,y:m},{x:p,y:m+f}],T=b.polygon(C.map(_=>[_.x,_.y]),x),E=s.insert(()=>T,":first-child");return E.attr("class","basic label-container outer-path").attr("style",la(v)),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),v&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),l.attr("transform",`translate(${Jd/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,E),e.intersect=function(_){return Jt.rect(e,_)},s}S(vJ,"shadedProcess");async function bJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=(e?.width?e?.width:l.width)+a*2,d=((e?.height?e?.height:l.height)+s*2)*1.5,f=h,p=d/1.5,m=-f/2,v=-p/2,{cssStyles:b}=e,x=ar.svg(o),C=sr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const T=[{x:m,y:v},{x:m,y:v+p},{x:m+f,y:v+p},{x:m+f,y:v-p/2}],E=Zr(T),_=x.path(E,C),R=o.insert(()=>_,":first-child");return R.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",b),n&&e.look!=="handDrawn"&&R.selectChildren("path").attr("style",n),R.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),or(e,R),e.intersect=function(k){return Jt.polygon(e,T,k)},o}S(bJ,"slopedRect");async function xJ(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return ex(t,e,a)}S(xJ,"squareRect");async function TJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=l.height+(e.look==="neo"?s*2:s),h=l.width+u/4+(e.look==="neo"?a*2:a),d=u/2,{cssStyles:f}=e,p=ar.svg(o),m=sr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-h/2+d,y:-u/2},{x:h/2-d,y:-u/2},...rb(-h/2+d,0,d,50,90,270),{x:h/2-d,y:u/2},...rb(h/2-d,0,d,50,270,450)],b=Zr(v),x=p.path(b,m),C=o.insert(()=>x,":first-child");return C.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",n),or(e,C),e.intersect=function(T){return Jt.polygon(e,v,T)},o}S(TJ,"stadium");async function wJ(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return ex(t,e,r)}S(wJ,"state");function CJ(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const h=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=ar.svg(h),f=sr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=d.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),m=o??l,v=(e.width??0)*5/14,b=d.circle(0,0,v,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),x=h.insert(()=>p,":first-child");if(x.insert(()=>b),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),i&&x.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const C=t.node()?.ownerSVGElement?.id??"",T=C?`${C}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return or(e,x),e.intersect=function(C){return Jt.circle(e,(e.width??0)/2,C)},h}S(CJ,"stateEnd");function SJ(t,e,{config:{themeVariables:r}}){const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const l=ar.svg(a).circle(0,0,e.width,B4e(n));s=a.insert(()=>l),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const o=t.node()?.ownerSVGElement?.id??"",l=o?`${o}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${l})`)}return or(e,s),e.intersect=function(o){return Jt.circle(e,(e.width??7)/2,o)},a}S(SJ,"stateStart");var Dp=8;async function EJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e?.padding??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width??l.width)+2*Dp+a,h=(e?.height??l.height)+s,d=u-2*Dp,f=h,p=-u/2,m=-h/2,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const b=ar.svg(o),x=sr(e,{}),C=b.rectangle(p,m,d+16,f,x),T=b.line(p+Dp,m,p+Dp,m+f,x),E=b.line(p+Dp+d,m,p+Dp+d,m+f,x);o.insert(()=>T,":first-child"),o.insert(()=>E,":first-child");const _=o.insert(()=>C,":first-child"),{cssStyles:R}=e;_.attr("class","basic label-container").attr("style",la(R)),or(e,_)}else{const b=zu(o,d,f,v);n&&b.attr("style",n),or(e,b)}return e.intersect=function(b){return Jt.polygon(e,v,b)},o}S(EJ,"subroutine");var Y6=.2;async function kJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-Y6*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height?e?.height:l.height)+s*2,h=Y6*u,d=Y6*u,p=(e?.width?e?.width:l.width)+a*2+h-h,m=u,v=-p/2,b=-m/2,{cssStyles:x}=e,C=ar.svg(o),T=sr(e,{}),E=[{x:v-h/2,y:b},{x:v+p+h/2,y:b},{x:v+p+h/2,y:b+m},{x:v-h/2,y:b+m}],_=[{x:v+p-h/2,y:b+m},{x:v+p+h/2,y:b+m},{x:v+p+h/2,y:b+m-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const R=Zr(E),k=C.path(R,T),L=Zr(_),O=C.path(L,{...T,fillStyle:"solid"}),F=o.insert(()=>O,":first-child");return F.insert(()=>k,":first-child"),F.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",x),n&&e.look!=="handDrawn"&&F.selectAll("path").attr("style",n),or(e,F),e.intersect=function($){return Jt.polygon(e,E,$)},o}S(kJ,"taggedRect");async function _J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await xr(t,e,vr(e)),o=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=l/8,h=.2*o,d=.2*l,f=l+u,{cssStyles:p}=e,m=ar.svg(i),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-o/2-o/2*.1,y:f/2},...rd(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,C=-f/2-d*.4,T=[{x:x+o-h,y:(C+l)*1.3},{x:x+o,y:C+l-d},{x:x+o,y:(C+l)*.9},...rd(x+o,(C+l)*1.25,x+o-h,(C+l)*1.3,-l*.02,.5)],E=Zr(b),_=m.path(E,v),R=Zr(T),k=m.path(R,{...v,fillStyle:"solid"}),L=i.insert(()=>k,":first-child");return L.insert(()=>_,":first-child"),L.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,b,O)},i}S(_J,"taggedWaveEdgedRectangle");async function AJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await xr(t,e,vr(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),o=Math.max(a.height+(e.padding??0),e?.height||0),l=-s/2,u=-o/2,h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),or(e,h),e.intersect=function(d){return Jt.rect(e,d)},i}S(AJ,"text");var E5e=S((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} - l${-r},0`,"createCylinderPathD"),M5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),O5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Lz=5,Rz=10;async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=N5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",la(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(RJ,"tiltedCylinder");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=qu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(DJ,"trapezoid");async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(NJ,"trapezoidalPentagon");var Dz=10,Nz=10;async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(MJ,"triangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...nd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],A=Zr(_),k=T.path(A,E),R=l.insert(()=>k,":first-child");return R.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,R),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(OJ,"waveEdgedRectangle");async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...nd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...nd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(IJ,"waveRectangle");var gi=10;async function BJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-gi,10),e.height=Math.max((e?.height??0)-a*2-gi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+gi,h=(e?.height?e?.height:o.height)+a*2+gi,d=u-gi,f=h-gi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-gi,y:m-gi},{x:p-gi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-gi}],T=`M${p-gi},${m-gi} L${p+d},${m-gi} L${p+d},${m+f} L${p-gi},${m+f} L${p-gi},${m-gi} + l${-r},0`,"createCylinderPathD"),k5e=S((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),_5e=S((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Az=5,Lz=10;async function LJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const v=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),m=s.insert(()=>C,":first-child"),m.attr("class","basic label-container"),p&&m.attr("style",p)}else{const v=E5e(0,0,f,u,d,h);m=s.insert("path",":first-child").attr("d",v).attr("class","basic label-container").attr("style",la(p)).attr("style",n),m.attr("class","basic label-container outer-path"),p&&m.selectAll("path").attr("style",p),n&&m.selectAll("path").attr("style",n)}return m.attr("label-offset-x",d),m.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-d-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),or(e,m),e.intersect=function(v){const b=Jt.rect(e,v),x=b.y-(e.y??0);if(h!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(b.x-(e.x??0))>(e.width??0)/2-d)){let C=d*d*(1-x*x/(h*h));C!=0&&(C=Math.sqrt(Math.abs(C))),C=d-C,v.x-(e.x??0)>0&&(C=-C),b.x+=C}return b},s}S(LJ,"tiltedCylinder");async function RJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.height??l.height)+a,h=(e?.width??l.width)+s,d=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const m=ar.svg(o),v=sr(e,{}),b=Zr(d),x=m.path(b,v);f=o.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&f.attr("style",p)}else f=zu(o,h,u,d);return n&&f.attr("style",n),e.width=h,e.height=u,or(e,f),e.intersect=function(m){return Jt.polygon(e,d,m)},o}S(RJ,"trapezoid");async function DJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightC,":first-child");return T.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},u}S(DJ,"trapezoidalPentagon");var Rz=10,Dz=10;async function NJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthC,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=h,e.height=d,or(e,T),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(E){return oe.info("Triangle intersect",e,p,E),Jt.polygon(e,p,E)},s}S(NJ,"triangle");async function MJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await xr(t,e,vr(e)),d=(e?.width?e?.width:u.width)+(a??0)*2,f=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,m=f+(o?p:-p),{cssStyles:v}=e,x=14-d,C=x>0?x/2:0,T=ar.svg(l),E=sr(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");const _=[{x:-d/2-C,y:m/2},...rd(-d/2-C,m/2,d/2+C,m/2,p,.8),{x:d/2+C,y:-m/2},{x:-d/2-C,y:-m/2}],R=Zr(_),k=T.path(R,E),L=l.insert(()=>k,":first-child");return L.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-d/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),or(e,L),e.intersect=function(O){return Jt.polygon(e,_,O)},l}S(MJ,"waveEdgedRectangle");async function OJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);const E=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-E*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:l.width)+a*2,h=(e?.height?e?.height:l.height)+s,d=h/8,f=h+d*2,{cssStyles:p}=e,m=ar.svg(o),v=sr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const b=[{x:-u/2,y:f/2},...rd(-u/2,f/2,u/2,f/2,d,1),{x:u/2,y:-f/2},...rd(u/2,-f/2,-u/2,-f/2,d,-1)],x=Zr(b),C=m.path(x,v),T=o.insert(()=>C,":first-child");return T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),or(e,T),e.intersect=function(E){return Jt.polygon(e,b,E)},o}S(OJ,"waveRectangle");var gi=10;async function IJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-i*2-gi,10),e.height=Math.max((e?.height??0)-a*2-gi,10));const{shapeSvg:s,bbox:o,label:l}=await xr(t,e,vr(e)),u=(e?.width?e?.width:o.width)+i*2+gi,h=(e?.height?e?.height:o.height)+a*2+gi,d=u-gi,f=h-gi,p=-d/2,m=-f/2,{cssStyles:v}=e,b=ar.svg(s),x=sr(e,{}),C=[{x:p-gi,y:m-gi},{x:p-gi,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-gi}],T=`M${p-gi},${m-gi} L${p+d},${m-gi} L${p+d},${m+f} L${p-gi},${m+f} L${p-gi},${m-gi} M${p-gi},${m} L${p+d},${m} - M${p},${m-gi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${gi/2}, ${gi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+gi/2-(o.x-(o.left??0))}, ${-(o.height/2)+gi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(A){return Jt.polygon(e,C,A)},s}S(BJ,"windowPane");var Mz=new Set(["redux-color","redux-dark-color"]),I5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function vN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await vN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};us(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+A+k+R);_+=ee/$,A+=ee/$,k>0&&(k+=ee/$),R>0&&(R+=ee/$)}const z=_+A+k+R,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+A:te.attr("class").includes("attribute-comment")&&(ie+=_+A+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Mz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const j=1e-4;let Z=eg(V,x.height+U,B+V,x.height+U,j),X=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>X).attr("class","divider"),Z=eg(_+V,x.height+U,_+V,M+U,j),X=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>X).attr("class","divider"),O){const ee=_+A+V;Z=eg(ee,x.height+U,ee,M+U,j),X=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>X).attr("class","divider")}if(F){const ee=_+A+k+V;Z=eg(ee,x.height+U,ee,M+U,j),X=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>X).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=eg(V,Q,B+V,Q,j),X=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>X).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&I5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(vN,"erBox");async function Jp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Mh(e)&&(e=Mh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await vs(o,e,{width:us(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Pu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Jp,"addText");function eg(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(eg,"lineToPolygon");async function PJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await r2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await r2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await r2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await r2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(PJ,"textHelper");async function r2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Pu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Ri(o)&&(s=!0);const l=await vs(i,wD(Du(o)),{width:us(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(r2,"addText");async function FJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Pu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await PJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let A=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(A=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+A,b),R=u.insert(()=>k,":first-child");R.attr("class","basic label-container outer-path");const O=R.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const j=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);j&&(V=parseFloat(j[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,j,Z){window.getComputedStyle(Z[j]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),R.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,R),e.intersect=function(D){return Jt.rect(e,D)},u}S(FJ,"classBox");async function $J(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Pl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Pl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Pl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Pl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Pl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Pl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Pl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Pl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Pl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),A=sr(e,{});e.look!=="handDrawn"&&(A.roughness=0,A.fillStyle="solid");const k=_.rectangle(T,E,x,C,A),R=p.insert(()=>k,":first-child");if(R.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,A)}else F=_.line(T,O,T+x,O,A);p.insert(()=>F).attr("class","divider")}return or(e,R),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S($J,"requirementBox");async function Pl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await vs(i,wD(Du(e)),{width:us(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Pl,"addText");var B5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function zJ(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await Y6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await Y6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await Y6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,A=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let R;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(bd(A,k,T,_,O||0),z):q.rectangle(A,k,T,_,z);R=o.insert(()=>D,":first-child"),R.attr("class","basic label-container").attr("style",$||null)}else{R=o.insert("rect",":first-child"),R.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",A).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=A+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",B5e(q))}}return or(e,R),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S(zJ,"kanbanItem");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 + M${p},${m-gi} L${p},${m+f}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const E=b.path(T,x),_=s.insert(()=>E,":first-child");return _.attr("transform",`translate(${gi/2}, ${gi/2})`),_.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",v),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+gi/2-(o.x-(o.left??0))}, ${-(o.height/2)+gi/2-(o.y-(o.top??0))})`),or(e,_),e.intersect=function(R){return Jt.polygon(e,C,R)},s}S(IJ,"windowPane");var Nz=new Set(["redux-color","redux-dark-color"]),A5e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function yN(t,e){const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=gr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:ee}=gr(),{background:Q}=ee,he={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Q}`]};await yN(t,he)}const u=gr();e.useHtmlLabels=u.htmlLabels;let h=u.er?.diagramPadding??10,d=u.er?.entityPadding??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:m}=tr(e);if(r.attributes.length===0&&e.label){const ee={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};us(e.label,u)+ee.labelPaddingX*20){const ee=x.width+h*2-(_+R+k+L);_+=ee/$,R+=ee/$,k>0&&(k+=ee/$),L>0&&(L+=ee/$)}const z=_+R+k+L,D=ar.svg(b),I=sr(e,{});e.look!=="handDrawn"&&(I.roughness=0,I.fillStyle="solid");let N=0;E.length>0&&(N=E.reduce((ee,Q)=>ee+(Q?.rowHeight??0),0));const B=Math.max(q.width+h*2,e?.width||0,z),M=Math.max((N??0)+x.height,e?.height||0),V=-B/2,U=-M/2;if(b.selectAll("g:not(:first-child)").each((ee,Q,he)=>{const te=kt(he[Q]),ae=te.attr("transform");let ie=0,ne=0;if(ae){const pe=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ae);pe&&(ie=parseFloat(pe[1]),ne=parseFloat(pe[2]),te.attr("class").includes("attribute-name")?ie+=_:te.attr("class").includes("attribute-keys")?ie+=_+R:te.attr("class").includes("attribute-comment")&&(ie+=_+R+k))}te.attr("transform",`translate(${V+h/2+ie}, ${ne+U+x.height+d/2})`)}),b.select(".name").attr("transform","translate("+-x.width/2+", "+(U+d/2)+")"),n!=null&&Nz.has(n)){const ee=r.colorIndex??0;b.attr("data-color-id",`color-${ee%l.length}`)}const P=D.rectangle(V,U,B,M,I),H=b.insert(()=>P,":first-child").attr("class","outer-path").attr("style",f.join(""));T.push(0);for(const[ee,Q]of E.entries()){const te=(ee+1)%2===0&&Q.yOffset!==0,ae=D.rectangle(V,x.height+U+Q?.yOffset,B,Q?.rowHeight,{...I,fill:te?a:s,stroke:o});b.insert(()=>ae,"g.label").attr("style",f.join("")).attr("class",`row-rect-${te?"even":"odd"}`)}const X=1e-4;let Z=Jp(V,x.height+U,B+V,x.height+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I);if(b.insert(()=>j).attr("class","divider"),Z=Jp(_+V,x.height+U,_+V,M+U,X),j=D.polygon(Z.map(ee=>[ee.x,ee.y]),I),b.insert(()=>j).attr("class","divider"),O){const ee=_+R+V;Z=Jp(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}if(F){const ee=_+R+k+V;Z=Jp(ee,x.height+U,ee,M+U,X),j=D.polygon(Z.map(Q=>[Q.x,Q.y]),I),b.insert(()=>j).attr("class","divider")}for(const ee of T){const Q=x.height+U+ee;Z=Jp(V,Q,B+V,Q,X),j=D.polygon(Z.map(he=>[he.x,he.y]),I),b.insert(()=>j).attr("class","divider")}if(or(e,H),m&&e.look!=="handDrawn")if(n!=null&&A5e.has(n))b.selectAll("path").attr("style",m);else{const Q=m.split(";")?.filter(he=>he.includes("stroke"))?.map(he=>`${he}`).join("; ");b.selectAll("path").attr("style",Q??""),b.selectAll(".row-rect-even path").attr("style",m)}return e.intersect=function(ee){return Jt.rect(e,ee)},b}S(yN,"erBox");async function Qp(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Dh(e)&&(e=Dh(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await vs(o,e,{width:us(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(Bu(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=kt(l);u=h.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}return u}S(Qp,"addText");function Jp(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}S(Jp,"lineToPolygon");async function BJ(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",vr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,d=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const C=e.annotations[0];await t2(o,{text:`«${C}»`},0),d=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await t2(l,e,0,["font-weight: bolder"]);const m=l.node().getBBox();f=m.height,u=s.insert("g").attr("class","members-group text");let v=0;for(const C of e.members){const T=await t2(u,C,v,[C.parseClassifier()]);v+=T+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let b=0;for(const C of e.methods){const T=await t2(h,C,b,[C.parseClassifier()]);b+=T+a}let x=s.node().getBBox();if(o!==null){const C=o.node().getBBox();o.attr("transform",`translate(${-C.width/2})`)}return l.attr("transform",`translate(${-m.width/2}, ${d})`),x=s.node().getBBox(),u.attr("transform",`translate(0, ${d+f+i*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(p?p+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}S(BJ,"textHelper");async function t2(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=gr();let s="useHtmlLabels"in e?e.useHtmlLabels:Bu(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Ri(o)&&(s=!0);const l=await vs(i,TD(Ru(o)),{width:us(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const d=l.children[0],f=kt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const p=d.getElementsByTagName("img");if(p){const m=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(v=>new Promise(b=>{function x(){if(v.style.display="flex",v.style.flexDirection="column",m){const C=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(C,10)*5+"px";v.style.minWidth=E,v.style.maxWidth=E}else v.style.width="100%";b(v)}S(x,"setupImage"),setTimeout(()=>{v.complete&&x()}),v.addEventListener("error",x),v.addEventListener("load",x)})))}u=d.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&kt(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}S(t2,"addText");async function PJ(t,e){const r=Pe(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??Bu(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await BJ(t,e,r,o,s),{labelStyles:d,nodeStyles:f}=tr(e);e.labelStyle=d,e.cssStyles=l.styles||"";const p=l.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const m=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,v=ar.svg(u),b=sr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const x=Math.max(e.width??0,h.width);let C=Math.max(e.height??0,h.height);const T=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?C+=s:l.members.length>0&&l.methods.length===0&&(C+=s*2);const E=-x/2,_=-C/2;let R=m?a*2:l.members.length===0&&l.methods.length===0?-a:0;T&&(R=a*2);const k=v.rectangle(E-a,_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0),x+2*a,C+2*a+R,b),L=u.insert(()=>k,":first-child");L.attr("class","basic label-container outer-path");const O=L.node().getBBox(),F=u.select(".annotation-group").node().getBBox().height-(m?a/2:0)||0,$=u.select(".label-group").node().getBBox().height-(m?a/2:0)||0,q=u.select(".members-group").node().getBBox().height-(m?a/2:0)||0,z=(F+$+_+a-(_-a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((D,I,N)=>{const B=kt(N[I]),M=B.attr("transform");let V=0;if(M){const X=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(M);X&&(V=parseFloat(X[2]))}let U=V+_+a-(m?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const H=Math.max(q,s/2);T?U=Math.max(z,F+$+H+_+s*2+a)+s*2:U=F+$+H+_+s*4+a}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?U=V-s:U=V),o||(U-=4);let P=E;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(P=-B.node()?.getBBox().width/2||0,u.selectAll("text").each(function(H,X,Z){window.getComputedStyle(Z[X]).textAnchor==="middle"&&(P=0)})),B.attr("transform",`translate(${P}, ${U})`)}),l.members.length>0||l.methods.length>0||m){const D=F+$+_+a,I=v.line(O.x,D,O.x+O.width,D+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(m||l.members.length>0||l.methods.length>0){const D=F+$+q+_+s*2+a,I=v.line(O.x,T?Math.max(z,D):D,O.x+O.width,(T?Math.max(z,D):D)+.001,b);u.insert(()=>I).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),L.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const D=RegExp(/color\s*:\s*([^;]*)/),I=D.exec(p);if(I){const N=I[0].replace("color","fill");u.selectAll("tspan").attr("style",N)}else if(d){const N=D.exec(d);if(N){const B=N[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return or(e,L),e.intersect=function(D){return Jt.rect(e,D)},u}S(PJ,"classBox");async function FJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=vr(e),{themeVariables:h}=Pe(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let m;l?m=await Bl(p,`<<${i.type}>>`,0,e.labelStyle):m=await Bl(p,"<<Element>>",0,e.labelStyle);let v=m;const b=await Bl(p,i.name,v,e.labelStyle+"; font-weight: bold;");if(v+=b+o,l){const O=await Bl(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,v,e.labelStyle);v+=O;const F=await Bl(p,`${i.text?`Text: ${i.text}`:""}`,v,e.labelStyle);v+=F;const $=await Bl(p,`${i.risk?`Risk: ${i.risk}`:""}`,v,e.labelStyle);v+=$,await Bl(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,v,e.labelStyle)}else{const O=await Bl(p,`${a.type?`Type: ${a.type}`:""}`,v,e.labelStyle);v+=O,await Bl(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,v,e.labelStyle)}const x=(p.node()?.getBBox().width??200)+s,C=(p.node()?.getBBox().height??200)+s,T=-x/2,E=-C/2,_=ar.svg(p),R=sr(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");const k=_.rectangle(T,E,x,C,R),L=p.insert(()=>k,":first-child");if(L.attr("class","basic label-container outer-path").attr("style",n),d?.length){const O=e.colorIndex??0;p.attr("data-color-id",`color-${O%d.length}`)}if(p.selectAll(".label").each((O,F,$)=>{const q=kt($[F]),z=q.attr("transform");let D=0,I=0;if(z){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(z);V&&(D=parseFloat(V[1]),I=parseFloat(V[2]))}const N=I-C/2;let B=T+s/2;(F===0||F===1)&&(B=D),q.attr("transform",`translate(${B}, ${N+s})`)}),v>m+b+o){const O=E+m+b+o;let F;if(e.look==="neo"){const z=[[T,O],[T+x,O],[T+x,O+.001],[T,O+.001]];F=_.polygon(z,R)}else F=_.line(T,O,T+x,O,R);p.insert(()=>F).attr("class","divider")}return or(e,L),e.intersect=function(O){return Jt.rect(e,O)},n&&e.look!=="handDrawn"&&(f||d?.length)&&p.selectAll("path").attr("style",n),p}S(FJ,"requirementBox");async function Bl(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Pe(),s=a.htmlLabels??!0,o=await vs(i,TD(Ru(e)),{width:us(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=kt(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}S(Bl,"addText");var L5e=S(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function $J(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=tr(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await xr(t,e,vr(e)),h=e.padding||10;let d="",f;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let m,v;f?{label:m,bbox:v}=await W6(f,"ticket"in e&&e.ticket||"",p):{label:m,bbox:v}=await W6(o,"ticket"in e&&e.ticket||"",p);const{label:b,bbox:x}=await W6(o,"assigned"in e&&e.assigned||"",p);e.width=s;const C=10,T=e?.width||0,E=Math.max(v.height,x.height)/2,_=Math.max(l.height+C*2,e?.height||0)+E,R=-T/2,k=-_/2;u.attr("transform","translate("+(h-T/2)+", "+(-E-l.height/2)+")"),m.attr("transform","translate("+(h-T/2)+", "+(-E+l.height/2)+")"),b.attr("transform","translate("+(h+T/2-x.width-2*a)+", "+(-E+l.height/2)+")");let L;const{rx:O,ry:F}=e,{cssStyles:$}=e;if(e.look==="handDrawn"){const q=ar.svg(o),z=sr(e,{}),D=O||F?q.path(vd(R,k,T,_,O||0),z):q.rectangle(R,k,T,_,z);L=o.insert(()=>D,":first-child"),L.attr("class","basic label-container").attr("style",$||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",O??5).attr("ry",F??5).attr("x",R).attr("y",k).attr("width",T).attr("height",_);const q="priority"in e&&e.priority;if(q){const z=o.append("line"),D=R+2,I=k+Math.floor((O??0)/2),N=k+_-Math.floor((O??0)/2);z.attr("x1",D).attr("y1",I).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",L5e(q))}}return or(e,L),e.height=_,e.intersect=function(q){return Jt.rect(e,q)},o}S($J,"kanbanItem");async function zJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:d}=e,f=a.width+20,p=a.height+20,m=Math.max(l,f),v=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let b;const x=`M0 0 a${h},${h} 1 0,0 ${m*.25},${-1*v*.1} a${h},${h} 1 0,0 ${m*.25},0 a${h},${h} 1 0,0 ${m*.25},0 @@ -259,7 +259,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error a${h},${h} 1 0,0 ${-1*m*.1},${-1*v*.33} a${h*.8},${h*.8} 1 0,0 0,${-1*v*.34} a${h},${h} 1 0,0 ${m*.1},${-1*v*.33} - H0 V0 Z`;if(e.look==="handDrawn"){const C=ar.svg(i),T=sr(e,{}),E=C.path(x,T);b=i.insert(()=>E,":first-child"),b.attr("class","basic label-container").attr("style",la(d))}else b=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return b.attr("transform",`translate(${-m/2}, ${-v/2})`),or(e,b),e.calcIntersect=function(C,T){return Jt.rect(C,T)},e.intersect=function(C){return oe.info("Bang intersect",e,C),Jt.rect(e,C)},i}S(qJ,"bang");async function VJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,d=.25*l,f=.35*l,p=.2*l,{cssStyles:m}=e;let v;const b=`M0 0 + H0 V0 Z`;if(e.look==="handDrawn"){const C=ar.svg(i),T=sr(e,{}),E=C.path(x,T);b=i.insert(()=>E,":first-child"),b.attr("class","basic label-container").attr("style",la(d))}else b=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return b.attr("transform",`translate(${-m/2}, ${-v/2})`),or(e,b),e.calcIntersect=function(C,T){return Jt.rect(C,T)},e.intersect=function(C){return oe.info("Bang intersect",e,C),Jt.rect(e,C)},i}S(zJ,"bang");async function qJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,d=.25*l,f=.35*l,p=.2*l,{cssStyles:m}=e;let v;const b=`M0 0 a${h},${h} 0 0,1 ${l*.25},${-1*l*.1} a${f},${f} 1 0,1 ${l*.4},${-1*l*.1} a${d},${d} 1 0,1 ${l*.35},${l*.2} @@ -273,7 +273,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error a${h},${h} 1 0,1 ${-1*l*.1},${-1*u*.35} a${p},${p} 1 0,1 ${l*.1},${-1*u*.65} - H0 V0 Z`;if(e.look==="handDrawn"){const x=ar.svg(i),C=sr(e,{}),T=x.path(b,C);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",la(m))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",b);return o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),v.attr("transform",`translate(${-l/2}, ${-u/2})`),or(e,v),e.calcIntersect=function(x,C){return Jt.rect(x,C)},e.intersect=function(x){return oe.info("Cloud intersect",e,x),Jt.rect(e,x)},i}S(VJ,"cloud");async function GJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+8*s,u=a.height+2*s,h=5,d=e.look==="neo"?` + H0 V0 Z`;if(e.look==="handDrawn"){const x=ar.svg(i),C=sr(e,{}),T=x.path(b,C);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",la(m))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",b);return o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),v.attr("transform",`translate(${-l/2}, ${-u/2})`),or(e,v),e.calcIntersect=function(x,C){return Jt.rect(x,C)},e.intersect=function(x){return oe.info("Cloud intersect",e,x),Jt.rect(e,x)},i}S(qJ,"cloud");async function VJ(t,e){const{labelStyles:r,nodeStyles:n}=tr(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await xr(t,e,vr(e)),l=a.width+8*s,u=a.height+2*s,h=5,d=e.look==="neo"?` M${-l/2} ${u/2-h} v${-u+2*h} q0,-${h} ${h},-${h} @@ -293,25 +293,25 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error h${-(l-2*h)} q${-h},0 ${-h},${-h} Z - `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(GJ,"defaultMindmapNode");async function UJ(t,e){const r={padding:e.padding??0};return yN(t,e,r)}S(UJ,"mindmapCircle");var P5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:TJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:vJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:wJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:kJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:HQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:yN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:qJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:VJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:QQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:oJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:DJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:aJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:YQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:LJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:PQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:bJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:KQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:JQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:qQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:VQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:GQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:cJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:OJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:ZQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:uJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:UQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:WQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:MJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:BJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:jQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:NJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:XQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:xJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:dJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:BQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:zQ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:AJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:_J},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:IJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:mJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:hJ}],F5e=S(()=>{const e=[...Object.entries({state:CJ,choice:FQ,note:pJ,rectWithTitle:yJ,labelRect:sJ,iconSquare:nJ,iconCircle:tJ,icon:eJ,iconRounded:rJ,imageSquare:iJ,anchor:OQ,kanbanItem:zJ,mindmapCircle:UJ,defaultMindmapNode:GJ,classBox:FJ,erBox:vN,requirementBox:$J}),...P5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),HJ=F5e();function WJ(t){return t in HJ}S(WJ,"isValidShape");var UC=new Map;async function HC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?HJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",la(e.look)),e.tooltip&&i.attr("title",e.tooltip),UC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(HC,"insertNode");var $5e=S((t,e)=>{UC.set(e.id,t)},"setNodeElem"),z5e=S(()=>{UC.clear()},"clear"),$8=S(t=>{const e=UC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),q5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Oz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Oz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),V5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},G5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Oz=S((t,e,r,n,i,a,s=!1,o)=>{const l=V5e[r],u=l&&G5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),U5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),ew=new Map,Sa=new Map,H5e=S(()=>{ew.clear(),Sa.clear()},"clear"),gv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),YJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await vs(t,e.label,{style:gv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Wl(d,n)),ew.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startLeft=p,n2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.startLabelRight,gv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startRight=p,n2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelLeft,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endLeft=p,n2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await $h(m,e.endLabelRight,gv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Wl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endRight=p,n2(f,e.endLabelRight)}return u},"insertEdgeLabel");function n2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(n2,"setTerminalWidth");var jJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=ew.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Sa.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Sa.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Sa.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Sa.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),W5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),Y5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: + `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),or(e,f),e.calcIntersect=function(p,m){return Jt.rect(p,m)},e.intersect=function(p){return Jt.rect(e,p)},i}S(VJ,"defaultMindmapNode");async function GJ(t,e){const r={padding:e.padding??0};return mN(t,e,r)}S(GJ,"mindmapCircle");var R5e=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:xJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:yJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:TJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:EJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:UQ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:mN},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:zJ},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:qJ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:pJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:ZQ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:oJ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:sJ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:RJ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:iJ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:WQ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:AJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:BQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:vJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:SJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:CJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:jQ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:QQ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:zQ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:qQ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:VQ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:lJ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:MJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:KQ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:LJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:cJ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:GQ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:HQ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:NJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:IJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:YQ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:DJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:XQ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:bJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:dJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:hJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:IQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:$Q},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:_J},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:kJ},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:OJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:gJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:uJ}],D5e=S(()=>{const e=[...Object.entries({state:wJ,choice:PQ,note:fJ,rectWithTitle:mJ,labelRect:aJ,iconSquare:rJ,iconCircle:eJ,icon:JQ,iconRounded:tJ,imageSquare:nJ,anchor:MQ,kanbanItem:$J,mindmapCircle:GJ,defaultMindmapNode:VJ,classBox:PJ,erBox:yN,requirementBox:FJ}),...R5e.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),UJ=D5e();function HJ(t){return t in UJ}S(HJ,"isValidShape");var GC=new Map;async function UC(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?UJ[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",la(e.look)),e.tooltip&&i.attr("title",e.tooltip),GC.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}S(UC,"insertNode");var N5e=S((t,e)=>{GC.set(e.id,t)},"setNodeElem"),M5e=S(()=>{GC.clear()},"clear"),F8=S(t=>{const e=GC.get(t.id);oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),O5e=S((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&Mz(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&Mz(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),I5e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},B5e=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Mz=S((t,e,r,n,i,a,s=!1,o)=>{const l=I5e[r],u=l&&B5e.includes(l.type);if(!l){oe.warn(`Unknown arrow type: ${r}`);return}const h=l.type,p=`${i}_${a}-${h}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),v=`${p}_${m}`;if(!document.getElementById(v)){const b=document.getElementById(p);if(b){const x=b.cloneNode(!0);x.id=v,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",o),l.fill&&T.setAttribute("fill",o)}),b.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${n}#${v})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),P5e=S(t=>typeof t=="string"?t:Pe()?.flowchart?.curve,"resolveEdgeCurveType"),J5=new Map,Sa=new Map,F5e=S(()=>{J5.clear(),Sa.clear()},"clear"),pv=S(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),WJ=S(async(t,e)=>{const r=Pe();let n=gn(r);const{labelStyles:i}=tr(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await vs(t,e.label,{style:pv(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),oe.info("abc82",e,e.labelType);let h=u.getBBox(),d=h;if(n){const p=u.children[0],m=kt(u);h=p.getBoundingClientRect(),d=h,m.attr("width",h.width),m.attr("height",h.height)}else{const p=kt(u).select("text").node();p&&typeof p.getBBox=="function"&&(d=p.getBBox())}s.attr("transform",Hl(d,n)),J5.set(e.id,a),e.width=h.width,e.height=h.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await Ph(m,e.startLabelLeft,pv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Hl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startLeft=p,r2(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await Ph(m,e.startLabelRight,pv(e.labelStyle)||"",!1,!1);f=v,m.node().appendChild(v);let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Hl(b,n)),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).startRight=p,r2(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await Ph(m,e.endLabelLeft,pv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Hl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endLeft=p,r2(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),m=p.insert("g").attr("class","inner"),v=await Ph(m,e.endLabelRight,pv(e.labelStyle)||"",!1,!1);f=v;let b=v.getBBox();if(n){const x=v.children[0],C=kt(v);b=x.getBoundingClientRect(),C.attr("width",b.width),C.attr("height",b.height)}m.attr("transform",Hl(b,n)),p.node().appendChild(v),Sa.get(e.id)||Sa.set(e.id,{}),Sa.get(e.id).endRight=p,r2(f,e.endLabelRight)}return u},"insertEdgeLabel");function r2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(r2,"setTerminalWidth");var YJ=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,J5.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Zb(n);if(t.label){const a=J5.get(t.id);let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Sa.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Sa.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Sa.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Sa.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),$5e=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),z5e=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!W5e(e,a)&&!i){const s=Y5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function XJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(XJ,"extractCornerPoints");var Bz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),j5e=S(function(t){const{cornerPointPositions:e}=XJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),X5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),KJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)nN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Iz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Iz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=U5e(e.curve);b!=="rounded"&&(v=j5e(v));let x=A2;switch(b){case"linear":x=A2;break;case"basis":x=j2;break;case"cardinal":x=bX;break;case"bumpX":x=pX;break;case"bumpY":x=gX;break;case"catmullRom":x=TX;break;case"monotoneX":x=_X;break;case"monotoneY":x=AX;break;case"natural":x=RX;break;case"step":x=DX;break;case"stepAfter":x=MX;break;case"stepBefore":x=NX;break;case"rounded":x=A2;break;default:x=j2}const{x:C,y:T}=gZ(e),E=Y2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let A,k=b==="rounded"?ZJ(QJ(v,e),5):E(v);const R=Array.isArray(e.style)?e.style:[e.style];let O=R.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",A=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",R?R.reduce((U,P)=>U+";"+P,""):"");let V=A.attr("d");A.attr("d",V),t.node().appendChild(A.node())}else{const B=p.join(";"),M=R?R.reduce((Z,X)=>Z+X+";",""):"",V=(B?B+";"+M+";":M)+";"+(R?R.reduce((Z,X)=>Z+";"+X,""):"");A=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=A.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=V$[e.arrowTypeStart]||0,j=V$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const X=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?X5e(P,H,j):`0 ${H} ${P-H-j} ${j}`}; stroke-dashoffset: 0;`;A.attr("style",X+A.attr("style"))}}A.attr("data-edge",!0),A.attr("data-et","edge"),A.attr("data-id",e.id),A.attr("data-points",m),A.attr("data-look",la(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";q5e(A,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,A.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function ZJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&$a[e.arrowTypeStart]){const i=$a[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=z8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&$a[e.arrowTypeEnd]){const i=$a[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=z8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(QJ,"applyMarkerOffsetsToPoints");var K5e=S((t,e,r,n)=>{e.forEach(i=>{bwe[i](t,r,n)})},"insertMarkers"),Z5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),Q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),J5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),ewe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),twe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),rwe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),nwe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),iwe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),awe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),swe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),owe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),lwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),cwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),uwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),hwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),dwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),fwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),pwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),gwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(oe.info("abc88 checking point",a,e),!$5e(e,a)&&!i){const s=z5e(e,n,a);oe.debug("abc88 inside",a,n,s),oe.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?oe.warn("abc88 no intersect",s,r):r.push(s),i=!0}else oe.warn("abc88 outside",a,n),n=a,i||r.push(a)}),oe.debug("returning points",r),r},"cutPathAtIntersect");function XJ(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}S(XJ,"extractCornerPoints");var Iz=S(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),q5e=S(function(t){const{cornerPointPositions:e}=XJ(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){oe.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+d:o.x+p-d,y:h<0?o.y-d:o.y+d}:f={x:u<0?o.x-d:o.x+d,y:h<0?o.y-p+d:o.y+p-d}}else oe.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),V5e=S((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),jJ=S(function(t,e,r,n,i,a,s,o=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=Pe();let u=e.points,h=!1;const d=i;var f=a;const p=[];for(const B in e.cssCompiledStyles)rN(B)||p.push(e.cssCompiledStyles[B]);oe.debug("UIO intersect check",e.points,f.x,d.x),f.intersect&&d.intersect&&!o&&(u=u.slice(1,e.points.length-1),u.unshift(d.intersect(u[0])),oe.debug("Last point UIO",e.start,"-->",e.end,u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));e.toCluster&&(oe.info("to cluster abc88",r.get(e.toCluster)),u=Oz(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(oe.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=Oz(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let v=u.filter(B=>!Number.isNaN(B.y));const b=P5e(e.curve);b!=="rounded"&&(v=q5e(v));let x=_2;switch(b){case"linear":x=_2;break;case"basis":x=Y2;break;case"cardinal":x=vj;break;case"bumpX":x=fj;break;case"bumpY":x=pj;break;case"catmullRom":x=xj;break;case"monotoneX":x=kj;break;case"monotoneY":x=_j;break;case"natural":x=Lj;break;case"step":x=Rj;break;case"stepAfter":x=Nj;break;case"stepBefore":x=Dj;break;case"rounded":x=_2;break;default:x=Y2}const{x:C,y:T}=pZ(e),E=W2().x(C).y(T).curve(x);let _;switch(e.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(e.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let R,k=b==="rounded"?KJ(ZJ(v,e),5):E(v);const L=Array.isArray(e.style)?e.style:[e.style];let O=L.find(B=>B?.startsWith("stroke:")),F="";e.animate&&(F="edge-animation-fast"),e.animation&&(F="edge-animation-"+e.animation);let $=!1;if(e.look==="handDrawn"){const B=ar.svg(t);Object.assign([],v);const M=B.path(k,{roughness:.3,seed:l});_+=" transition",R=kt(M).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",L?L.reduce((U,P)=>U+";"+P,""):"");let V=R.attr("d");R.attr("d",V),t.node().appendChild(R.node())}else{const B=p.join(";"),M=L?L.reduce((Z,j)=>Z+j+";",""):"",V=(B?B+";"+M+";":M)+";"+(L?L.reduce((Z,j)=>Z+";"+j,""):"");R=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+_+(e.classes?" "+e.classes:"")+(F?" "+F:"")).attr("style",V),O=V.match(/stroke:([^;]+)/)?.[1],$=e.animate===!0||!!e.animation||B.includes("animation");const U=R.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=q$[e.arrowTypeStart]||0,X=q$[e.arrowTypeEnd]||0;if(e.look==="neo"&&!$){const j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?V5e(P,H,X):`0 ${H} ${P-H-X} ${X}`}; stroke-dashoffset: 0;`;R.attr("style",j+R.attr("style"))}}R.attr("data-edge",!0),R.attr("data-et","edge"),R.attr("data-id",e.id),R.attr("data-points",m),R.attr("data-look",la(e.look)),e.showPoints&&v.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let q="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,q=q.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),oe.info("arrowTypeStart",e.arrowTypeStart),oe.info("arrowTypeEnd",e.arrowTypeEnd);const z=!$&&e?.look==="neo";O5e(R,e,q,s,n,z,O);const D=Math.floor(u.length/2),I=u[D];Lr.isLabelCoordinateInPath(I,R.attr("d"))||(h=!0);let N={};return h&&(N.updatedPath=u),N.originalPath=e.points,N},"insertEdge");function KJ(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Fa[e.arrowTypeStart]){const i=Fa[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=$8(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&Fa[e.arrowTypeEnd]){const i=Fa[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=$8(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}S(ZJ,"applyMarkerOffsetsToPoints");var G5e=S((t,e,r,n)=>{e.forEach(i=>{dwe[i](t,r,n)})},"insertMarkers"),U5e=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),H5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),W5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Y5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),X5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),j5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),K5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),Z5e=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),Q5e=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),J5e=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),ewe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),twe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),rwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),nwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),iwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),awe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),swe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),owe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),lwe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`)},"requirement_arrow"),mwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L0,20`)},"requirement_arrow"),cwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),ywe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),vwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),bwe={extension:Z5e,composition:Q5e,aggregation:J5e,dependency:ewe,lollipop:twe,point:rwe,circle:nwe,cross:iwe,barb:awe,barbNeo:swe,only_one:owe,zero_or_one:lwe,one_or_more:cwe,zero_or_more:uwe,only_one_neo:hwe,zero_or_one_neo:dwe,one_or_more_neo:fwe,zero_or_more_neo:pwe,requirement_arrow:gwe,requirement_contains:ywe,requirement_arrow_neo:mwe,requirement_contains_neo:vwe},JJ=K5e,xwe={common:$t,getConfig:gr,insertCluster:mN,insertEdge:KJ,insertEdgeLabel:YJ,insertMarkers:JJ,insertNode:HC,interpolateToCurve:KD,labelHelper:xr,log:oe,positionEdgeLabel:jJ},ib={},eee=S(t=>{for(const e of t)ib[e.name]=e},"registerLayoutLoaders"),Twe=S(()=>{eee([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>l9e),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>XBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");Twe();var Vm=S(async(t,e)=>{if(!(t.layoutAlgorithm in ib))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=ib[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,xwe,{algorithm:r.algorithm})},"render"),rx=S((t="",{fallback:e="dagre"}={})=>{if(t in ib)return t;if(e in ib)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),tee="comm",ree="rule",nee="decl",wwe="@import",Cwe="@namespace",Swe="@keyframes",Ewe="@layer",iee=Math.abs,bN=String.fromCharCode;function aee(t){return t.trim()}function g3(t,e,r){return t.replace(e,r)}function kwe(t,e,r){return t.indexOf(e,r)}function Mg(t,e){return t.charCodeAt(e)|0}function pm(t,e,r){return t.slice(e,r)}function ql(t){return t.length}function _we(t){return t.length}function rT(t,e){return e.push(t),t}var WC=1,gm=1,see=0,Ho=0,$i=0,Gm="";function xN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:WC,column:gm,length:s,return:"",siblings:o}}function Awe(){return $i}function Lwe(){return $i=Ho>0?Mg(Gm,--Ho):0,gm--,$i===10&&(gm=1,WC--),$i}function ml(){return $i=Ho2||ab($i)>3?"":" "}function Mwe(t,e){for(;--e&&ml()&&!($i<48||$i>102||$i>57&&$i<65||$i>70&&$i<97););return YC(t,m3()+(e<6&&zh()==32&&ml()==32))}function q8(t){for(;ml();)switch($i){case t:return Ho;case 34:case 39:t!==34&&t!==39&&q8($i);break;case 40:t===41&&q8(t);break;case 92:ml();break}return Ho}function Owe(t,e){for(;ml()&&t+$i!==57;)if(t+$i===84&&zh()===47)break;return"/*"+YC(e,Ho-1)+"*"+bN(t===47?t:ml())}function Iwe(t){for(;!ab(zh());)ml();return YC(t,Ho)}function Bwe(t){return Dwe(y3("",null,null,null,[""],t=Rwe(t),0,[0],t))}function y3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,A=n,k=T;b;)switch(m=C,C=ml()){case 40:if(m!=108&&Mg(k,d-1)==58){kwe(k+=g3(X6(C),"&","&\f"),"&\f",iee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=X6(C);break;case 9:case 10:case 13:case 32:k+=Nwe(m);break;case 92:k+=Mwe(m3()-1,7);continue;case 47:switch(zh()){case 42:case 47:rT(Pwe(Owe(ml(),m3()),e,r,l),l),(ab(m||1)==5||ab(zh()||1)==5)&&ql(k)&&pm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=ql(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=g3(k,/\f/g,"")),p>0&&(ql(k)-d||v===0&&m===47)&&rT(p>32?Fz(k+";",n,r,d-1,l):Fz(g3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(rT(A=Pz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)y3(k,e,A,A,E,a,d,o,_);else{switch(f){case 99:if(Mg(k,3)===110)break;case 108:if(Mg(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?y3(t,A,A,n&&rT(Pz(t,A,A,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):y3(k,A,A,A,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+ql(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&Lwe()==125)continue}switch(k+=bN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(ql(k)-1)*x,x=1;break;case 64:zh()===45&&(k+=X6(ml())),f=zh(),h=d=ql(T=k+=Iwe(m3())),C++;break;case 45:m===45&&ql(k)==2&&(v=0)}}return a}function Pz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=_we(p),v=0,b=0,x=0;v0?p[C]+" "+T:g3(T,/&\f/g,p[C])))&&(l[x++]=E);return xN(t,e,r,i===0?ree:o,l,u,h,d)}function Pwe(t,e,r,n){return xN(t,e,r,tee,bN(Awe()),pm(t,2,-2),0,n)}function Fz(t,e,r,n,i){return xN(t,e,r,nee,pm(t,0,n),pm(t,n+1,-1),n,i)}function V8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Jwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UPe);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),eCe={id:lee,detector:Qwe,loader:Jwe},tCe=eCe,cee="flowchart",rCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),nCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),iCe={id:cee,detector:rCe,loader:nCe},aCe=iCe,uee="flowchart-v2",sCe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),oCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),lCe={id:uee,detector:sCe,loader:oCe},cCe=lCe,hee="er",uCe=S(t=>/^\s*erDiagram/.test(t),"detector"),hCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>uFe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),dCe={id:hee,detector:uCe,loader:hCe},fCe=dCe,dee="gitGraph",pCe=S(t=>/^\s*gitGraph/.test(t),"detector"),gCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yWe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),mCe={id:dee,detector:pCe,loader:gCe},yCe=mCe,fee="gantt",vCe=S(t=>/^\s*gantt/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>EYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),xCe={id:fee,detector:vCe,loader:bCe},TCe=xCe,pee="info",wCe=S(t=>/^\s*info/.test(t),"detector"),CCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>MYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),SCe={id:pee,detector:wCe,loader:CCe},gee="pie",ECe=S(t=>/^\s*pie/.test(t),"detector"),kCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),_Ce={id:gee,detector:ECe,loader:kCe},mee="quadrantChart",ACe=S(t=>/^\s*quadrantChart/.test(t),"detector"),LCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>aje);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),RCe={id:mee,detector:ACe,loader:LCe},DCe=RCe,yee="xychart",NCe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),MCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xje);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),OCe={id:yee,detector:NCe,loader:MCe},ICe=OCe,vee="requirement",BCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),PCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Aje);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),FCe={id:vee,detector:BCe,loader:PCe},$Ce=FCe,bee="sequence",zCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),qCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>CXe);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),VCe={id:bee,detector:zCe,loader:qCe},GCe=VCe,xee="class",UCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),HCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>LXe);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),WCe={id:xee,detector:UCe,loader:HCe},YCe=WCe,Tee="classDiagram",jCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),XCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DXe);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),KCe={id:Tee,detector:jCe,loader:XCe},ZCe=KCe,wee="state",QCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),JCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>xKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),eSe={id:wee,detector:QCe,loader:JCe},tSe=eSe,Cee="stateDiagram",rSe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),nSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>wKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),iSe={id:Cee,detector:rSe,loader:nSe},aSe=iSe,See="journey",sSe=S(t=>/^\s*journey/.test(t),"detector"),oSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>UKe);return{diagram:e}},void 0);return{id:See,diagram:t}},"loader"),lSe={id:See,detector:sSe,loader:oSe},cSe=lSe,uSe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error -`);const n=Vs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Ui(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Eee={draw:uSe},hSe=Eee,dSe={db:{},renderer:Eee,parser:{parse:S(()=>{},"parse")}},fSe=dSe,kee="flowchart-elk",pSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),gSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NM);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),mSe={id:kee,detector:pSe,loader:gSe},ySe=mSe,_ee="timeline",vSe=S(t=>/^\s*timeline/.test(t),"detector"),bSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>bZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),xSe={id:_ee,detector:vSe,loader:bSe},TSe=xSe,Aee="mindmap",wSe=S(t=>/^\s*mindmap/.test(t),"detector"),CSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>IZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),SSe={id:Aee,detector:wSe,loader:CSe},ESe=SSe,Lee="kanban",kSe=S(t=>/^\s*kanban/.test(t),"detector"),_Se=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>tQe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),ASe={id:Lee,detector:kSe,loader:_Se},LSe=ASe,Ree="sankey",RSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>$Qe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),NSe={id:Ree,detector:RSe,loader:DSe},MSe=NSe,Dee="packet",OSe=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),ISe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>KQe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),BSe={id:Dee,detector:OSe,loader:ISe},Nee="radar",PSe=S(t=>/^\s*radar-beta/.test(t),"detector"),FSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>yJe);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),$Se={id:Nee,detector:PSe,loader:FSe},Mee="block",zSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),qSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Yet);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),VSe={id:Mee,detector:zSe,loader:qSe},GSe=VSe,Oee="treeView",USe=S(t=>/^\s*treeView-beta/.test(t),"detector"),HSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dtt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),WSe={id:Oee,detector:USe,loader:HSe},YSe=WSe,Iee="architecture",jSe=S(t=>/^\s*architecture/.test(t),"detector"),XSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>ztt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),KSe={id:Iee,detector:jSe,loader:XSe},ZSe=KSe,Bee="ishikawa",QSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),JSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nrt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),eEe={id:Bee,detector:QSe,loader:JSe},Pee="venn",tEe=S(t=>/^\s*venn-beta/.test(t),"detector"),rEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Vrt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),nEe={id:Pee,detector:tEe,loader:rEe},iEe=nEe,Fee="treemap",aEe=S(t=>/^\s*treemap/.test(t),"detector"),sEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Jrt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),oEe={id:Fee,detector:aEe,loader:sEe},$ee="wardley-beta",lEe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),cEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>unt);return{diagram:e}},void 0);return{id:$ee,diagram:t}},"loader"),uEe={id:$ee,detector:lEe,loader:cEe},hEe=uEe,Uz=!1,jC=S(()=>{Uz||(Uz=!0,g5("error",fSe,t=>t.toLowerCase().trim()==="error"),g5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),GA(ySe,ESe,ZSe),GA(tCe,LSe,ZCe,YCe,fCe,TCe,SCe,_Ce,$Ce,GCe,cCe,aCe,TSe,yCe,aSe,tSe,cSe,DCe,MSe,BSe,ICe,GSe,YSe,$Se,eEe,oEe,iEe,hEe))},"addDiagrams"),dEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Jf).map(async([r,{detector:n,loader:i}])=>{if(i)try{jA(r)}catch{try{const{diagram:a,id:s}=await i();g5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Jf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),fEe="graphics-document document";function zee(t,e){t.attr("role",fEe),e!==""&&t.attr("aria-roledescription",e)}S(zee,"setA11yDiagramInfo");function qee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(qee,"addSVGa11yTitleDescription");var Zf,W8=(Zf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=mD(e,n);e=VTe(e)+` -`;try{jA(i)}catch{const u=z0e(i);if(!u)throw new rj(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();g5(h,d)}const{db:a,parser:s,renderer:o,init:l}=jA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Zf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Zf,"Diagram"),Zf),Hz=[],pEe=S(()=>{Hz.forEach(t=>{t()}),Hz=[]},"attachFunctions"),gEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Vee(t){const e=t.match(tj);if(!e)return{text:t,metadata:{}};let r=LC(e[1],{schema:AC})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(Vee,"extractFrontMatter");var mEe=S(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),yEe=S(t=>{const{text:e,metadata:r}=Vee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),vEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:NTe(t),directive:e}},"processDirectives");function TN(t){const e=mEe(t),r=yEe(e),n=vEe(r.text),i=ea(r.config,n.directive);return t=gEe(n.text),{code:t,title:r.title,config:i}}S(TN,"preprocessDiagram");function Gee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Gee,"toBase64");var bEe=5e4,xEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",TEe="sandbox",wEe="loose",CEe="http://www.w3.org/2000/svg",SEe="http://www.w3.org/1999/xlink",EEe="http://www.w3.org/1999/xhtml",kEe="100%",_Ee="100%",AEe="border:0;margin:0;",LEe="margin:0",REe="allow-top-navigation-by-user-activation allow-popups",DEe='The "iframe" tag is not supported by your browser.',NEe=["foreignobject"],MEe=["dominant-baseline"];function wN(t){const e=TN(t);return f5(),fpe(e.config??{}),e}S(wN,"processAndSetConfigs");async function Uee(t,e){jC();try{const{code:r,config:n}=wN(t);return{diagramType:(await Wee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Uee,"parse");var Wz=S((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),OEe=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),uwe=S((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),hwe=S((t,e,r)=>{const n=gr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),dwe={extension:U5e,composition:H5e,aggregation:W5e,dependency:Y5e,lollipop:X5e,point:j5e,circle:K5e,cross:Z5e,barb:Q5e,barbNeo:J5e,only_one:ewe,zero_or_one:twe,one_or_more:rwe,zero_or_more:nwe,only_one_neo:iwe,zero_or_one_neo:awe,one_or_more_neo:swe,zero_or_more_neo:owe,requirement_arrow:lwe,requirement_contains:uwe,requirement_arrow_neo:cwe,requirement_contains_neo:hwe},QJ=G5e,fwe={common:$t,getConfig:gr,insertCluster:gN,insertEdge:jJ,insertEdgeLabel:WJ,insertMarkers:QJ,insertNode:UC,interpolateToCurve:jD,labelHelper:xr,log:oe,positionEdgeLabel:YJ},nb={},JJ=S(t=>{for(const e of t)nb[e.name]=e},"registerLayoutLoaders"),pwe=S(()=>{JJ([{name:"dagre",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>t9e),void 0),"loader")},{name:"cose-bilkent",loader:S(async()=>await Nr(()=>Promise.resolve().then(()=>VBe),void 0),"loader")}])},"registerDefaultLayoutLoaders");pwe();var qm=S(async(t,e)=>{if(!(t.layoutAlgorithm in nb))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const d=h.domId||h.id;h.domId=`${t.diagramId}-${d}`}const r=nb[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=t.config,{useGradient:s,gradientStart:o,gradientStop:l}=a,u=e.attr("id");if(e.append("defs").append("filter").attr("id",`${u}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${u}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,fwe,{algorithm:r.algorithm})},"render"),tx=S((t="",{fallback:e="dagre"}={})=>{if(t in nb)return t;if(e in nb)return oe.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),eee="comm",tee="rule",ree="decl",gwe="@import",mwe="@namespace",ywe="@keyframes",vwe="@layer",nee=Math.abs,vN=String.fromCharCode;function iee(t){return t.trim()}function p3(t,e,r){return t.replace(e,r)}function bwe(t,e,r){return t.indexOf(e,r)}function Ng(t,e){return t.charCodeAt(e)|0}function fm(t,e,r){return t.slice(e,r)}function zl(t){return t.length}function xwe(t){return t.length}function t4(t,e){return e.push(t),t}var HC=1,pm=1,aee=0,Ho=0,$i=0,Vm="";function bN(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:HC,column:pm,length:s,return:"",siblings:o}}function Twe(){return $i}function wwe(){return $i=Ho>0?Ng(Vm,--Ho):0,pm--,$i===10&&(pm=1,HC--),$i}function gl(){return $i=Ho2||ib($i)>3?"":" "}function kwe(t,e){for(;--e&&gl()&&!($i<48||$i>102||$i>57&&$i<65||$i>70&&$i<97););return WC(t,g3()+(e<6&&Fh()==32&&gl()==32))}function z8(t){for(;gl();)switch($i){case t:return Ho;case 34:case 39:t!==34&&t!==39&&z8($i);break;case 40:t===41&&z8(t);break;case 92:gl();break}return Ho}function _we(t,e){for(;gl()&&t+$i!==57;)if(t+$i===84&&Fh()===47)break;return"/*"+WC(e,Ho-1)+"*"+vN(t===47?t:gl())}function Awe(t){for(;!ib(Fh());)gl();return WC(t,Ho)}function Lwe(t){return Swe(m3("",null,null,null,[""],t=Cwe(t),0,[0],t))}function m3(t,e,r,n,i,a,s,o,l){for(var u=0,h=0,d=s,f=0,p=0,m=0,v=1,b=1,x=1,C=0,T="",E=i,_=a,R=n,k=T;b;)switch(m=C,C=gl()){case 40:if(m!=108&&Ng(k,d-1)==58){bwe(k+=p3(X6(C),"&","&\f"),"&\f",nee(u?o[u-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:k+=X6(C);break;case 9:case 10:case 13:case 32:k+=Ewe(m);break;case 92:k+=kwe(g3()-1,7);continue;case 47:switch(Fh()){case 42:case 47:t4(Rwe(_we(gl(),g3()),e,r,l),l),(ib(m||1)==5||ib(Fh()||1)==5)&&zl(k)&&fm(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:o[u++]=zl(k)*x;case 125*v:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+h:x==-1&&(k=p3(k,/\f/g,"")),p>0&&(zl(k)-d||v===0&&m===47)&&t4(p>32?Pz(k+";",n,r,d-1,l):Pz(p3(k," ","")+";",n,r,d-2,l),l);break;case 59:k+=";";default:if(t4(R=Bz(k,e,r,u,h,i,o,T,E=[],_=[],d,a),a),C===123)if(h===0)m3(k,e,R,R,E,a,d,o,_);else{switch(f){case 99:if(Ng(k,3)===110)break;case 108:if(Ng(k,2)===97)break;default:h=0;case 100:case 109:case 115:}h?m3(t,R,R,n&&t4(Bz(t,R,R,0,0,i,o,T,i,E=[],d,_),_),i,_,d,o,n?E:_):m3(k,R,R,R,[""],_,0,o,_)}}u=h=p=0,v=x=1,T=k="",d=s;break;case 58:d=1+zl(k),p=m;default:if(v<1){if(C==123)--v;else if(C==125&&v++==0&&wwe()==125)continue}switch(k+=vN(C),C*v){case 38:x=h>0?1:(k+="\f",-1);break;case 44:o[u++]=(zl(k)-1)*x,x=1;break;case 64:Fh()===45&&(k+=X6(gl())),f=Fh(),h=d=zl(T=k+=Awe(g3())),C++;break;case 45:m===45&&zl(k)==2&&(v=0)}}return a}function Bz(t,e,r,n,i,a,s,o,l,u,h,d){for(var f=i-1,p=i===0?a:[""],m=xwe(p),v=0,b=0,x=0;v0?p[C]+" "+T:p3(T,/&\f/g,p[C])))&&(l[x++]=E);return bN(t,e,r,i===0?tee:o,l,u,h,d)}function Rwe(t,e,r,n){return bN(t,e,r,eee,vN(Twe()),fm(t,2,-2),0,n)}function Pz(t,e,r,n,i){return bN(t,e,r,ree,fm(t,0,n),fm(t,n+1,-1),n,i)}function q8(t,e){for(var r="",n=0;n/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Wwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>PPe);return{diagram:e}},void 0);return{id:oee,diagram:t}},"loader"),Ywe={id:oee,detector:Hwe,loader:Wwe},Xwe=Ywe,lee="flowchart",jwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Kwe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DM);return{diagram:e}},void 0);return{id:lee,diagram:t}},"loader"),Zwe={id:lee,detector:jwe,loader:Kwe},Qwe=Zwe,cee="flowchart-v2",Jwe=S((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),eCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DM);return{diagram:e}},void 0);return{id:cee,diagram:t}},"loader"),tCe={id:cee,detector:Jwe,loader:eCe},rCe=tCe,uee="er",nCe=S(t=>/^\s*erDiagram/.test(t),"detector"),iCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nFe);return{diagram:e}},void 0);return{id:uee,diagram:t}},"loader"),aCe={id:uee,detector:nCe,loader:iCe},sCe=aCe,hee="gitGraph",oCe=S(t=>/^\s*gitGraph/.test(t),"detector"),lCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>uWe);return{diagram:e}},void 0);return{id:hee,diagram:t}},"loader"),cCe={id:hee,detector:oCe,loader:lCe},uCe=cCe,dee="gantt",hCe=S(t=>/^\s*gantt/.test(t),"detector"),dCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>vYe);return{diagram:e}},void 0);return{id:dee,diagram:t}},"loader"),fCe={id:dee,detector:hCe,loader:dCe},pCe=fCe,fee="info",gCe=S(t=>/^\s*info/.test(t),"detector"),mCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>kYe);return{diagram:e}},void 0);return{id:fee,diagram:t}},"loader"),yCe={id:fee,detector:gCe,loader:mCe},pee="pie",vCe=S(t=>/^\s*pie/.test(t),"detector"),bCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>GYe);return{diagram:e}},void 0);return{id:pee,diagram:t}},"loader"),xCe={id:pee,detector:vCe,loader:bCe},gee="quadrantChart",TCe=S(t=>/^\s*quadrantChart/.test(t),"detector"),wCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>QYe);return{diagram:e}},void 0);return{id:gee,diagram:t}},"loader"),CCe={id:gee,detector:TCe,loader:wCe},SCe=CCe,mee="xychart",ECe=S(t=>/^\s*xychart(-beta)?/.test(t),"detector"),kCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>fXe);return{diagram:e}},void 0);return{id:mee,diagram:t}},"loader"),_Ce={id:mee,detector:ECe,loader:kCe},ACe=_Ce,yee="requirement",LCe=S(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),RCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>TXe);return{diagram:e}},void 0);return{id:yee,diagram:t}},"loader"),DCe={id:yee,detector:LCe,loader:RCe},NCe=DCe,vee="sequence",MCe=S(t=>/^\s*sequenceDiagram/.test(t),"detector"),OCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>mje);return{diagram:e}},void 0);return{id:vee,diagram:t}},"loader"),ICe={id:vee,detector:MCe,loader:OCe},BCe=ICe,bee="class",PCe=S((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),FCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>wje);return{diagram:e}},void 0);return{id:bee,diagram:t}},"loader"),$Ce={id:bee,detector:PCe,loader:FCe},zCe=$Ce,xee="classDiagram",qCe=S((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),VCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Sje);return{diagram:e}},void 0);return{id:xee,diagram:t}},"loader"),GCe={id:xee,detector:qCe,loader:VCe},UCe=GCe,Tee="state",HCe=S((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),WCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>fKe);return{diagram:e}},void 0);return{id:Tee,diagram:t}},"loader"),YCe={id:Tee,detector:HCe,loader:WCe},XCe=YCe,wee="stateDiagram",jCe=S((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),KCe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>gKe);return{diagram:e}},void 0);return{id:wee,diagram:t}},"loader"),ZCe={id:wee,detector:jCe,loader:KCe},QCe=ZCe,Cee="journey",JCe=S(t=>/^\s*journey/.test(t),"detector"),eSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>PKe);return{diagram:e}},void 0);return{id:Cee,diagram:t}},"loader"),tSe={id:Cee,detector:JCe,loader:eSe},rSe=tSe,nSe=S((t,e,r)=>{oe.debug(`rendering svg for syntax error +`);const n=Vs(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Ui(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),See={draw:nSe},iSe=See,aSe={db:{},renderer:See,parser:{parse:S(()=>{},"parse")}},sSe=aSe,Eee="flowchart-elk",oSe=S((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),lSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>DM);return{diagram:e}},void 0);return{id:Eee,diagram:t}},"loader"),cSe={id:Eee,detector:oSe,loader:lSe},uSe=cSe,kee="timeline",hSe=S(t=>/^\s*timeline/.test(t),"detector"),dSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>dZe);return{diagram:e}},void 0);return{id:kee,diagram:t}},"loader"),fSe={id:kee,detector:hSe,loader:dSe},pSe=fSe,_ee="mindmap",gSe=S(t=>/^\s*mindmap/.test(t),"detector"),mSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>AZe);return{diagram:e}},void 0);return{id:_ee,diagram:t}},"loader"),ySe={id:_ee,detector:gSe,loader:mSe},vSe=ySe,Aee="kanban",bSe=S(t=>/^\s*kanban/.test(t),"detector"),xSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>XZe);return{diagram:e}},void 0);return{id:Aee,diagram:t}},"loader"),TSe={id:Aee,detector:bSe,loader:xSe},wSe=TSe,Lee="sankey",CSe=S(t=>/^\s*sankey(-beta)?/.test(t),"detector"),SSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>NQe);return{diagram:e}},void 0);return{id:Lee,diagram:t}},"loader"),ESe={id:Lee,detector:CSe,loader:SSe},kSe=ESe,Ree="packet",_Se=S(t=>/^\s*packet(-beta)?/.test(t),"detector"),ASe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>GQe);return{diagram:e}},void 0);return{id:Ree,diagram:t}},"loader"),LSe={id:Ree,detector:_Se,loader:ASe},Dee="radar",RSe=S(t=>/^\s*radar-beta/.test(t),"detector"),DSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>uJe);return{diagram:e}},void 0);return{id:Dee,diagram:t}},"loader"),NSe={id:Dee,detector:RSe,loader:DSe},Nee="block",MSe=S(t=>/^\s*block(-beta)?/.test(t),"detector"),OSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>zet);return{diagram:e}},void 0);return{id:Nee,diagram:t}},"loader"),ISe={id:Nee,detector:MSe,loader:OSe},BSe=ISe,Mee="treeView",PSe=S(t=>/^\s*treeView-beta/.test(t),"detector"),FSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>att);return{diagram:e}},void 0);return{id:Mee,diagram:t}},"loader"),$Se={id:Mee,detector:PSe,loader:FSe},zSe=$Se,Oee="architecture",qSe=S(t=>/^\s*architecture/.test(t),"detector"),VSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Mtt);return{diagram:e}},void 0);return{id:Oee,diagram:t}},"loader"),GSe={id:Oee,detector:qSe,loader:VSe},USe=GSe,Iee="ishikawa",HSe=S(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),WSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Ktt);return{diagram:e}},void 0);return{id:Iee,diagram:t}},"loader"),YSe={id:Iee,detector:HSe,loader:WSe},Bee="venn",XSe=S(t=>/^\s*venn-beta/.test(t),"detector"),jSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Irt);return{diagram:e}},void 0);return{id:Bee,diagram:t}},"loader"),KSe={id:Bee,detector:XSe,loader:jSe},ZSe=KSe,Pee="treemap",QSe=S(t=>/^\s*treemap/.test(t),"detector"),JSe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Wrt);return{diagram:e}},void 0);return{id:Pee,diagram:t}},"loader"),eEe={id:Pee,detector:QSe,loader:JSe},Fee="wardley-beta",tEe=S(t=>/^\s*wardley-beta/i.test(t),"detector"),rEe=S(async()=>{const{diagram:t}=await Nr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>nnt);return{diagram:e}},void 0);return{id:Fee,diagram:t}},"loader"),nEe={id:Fee,detector:tEe,loader:rEe},iEe=nEe,Gz=!1,YC=S(()=>{Gz||(Gz=!0,p5("error",sSe,t=>t.toLowerCase().trim()==="error"),p5("---",{db:{clear:S(()=>{},"clear")},styles:{},renderer:{draw:S(()=>{},"draw")},parser:{parse:S(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:S(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),VA(uSe,vSe,USe),VA(Xwe,wSe,UCe,zCe,sCe,pCe,yCe,xCe,NCe,BCe,rCe,Qwe,pSe,uCe,QCe,XCe,rSe,SCe,kSe,LSe,ACe,BSe,zSe,NSe,YSe,eEe,ZSe,iEe))},"addDiagrams"),aEe=S(async()=>{oe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Qf).map(async([r,{detector:n,loader:i}])=>{if(i)try{YA(r)}catch{try{const{diagram:a,id:s}=await i();p5(s,a,n)}catch(a){throw oe.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Qf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){oe.error(`Failed to load ${e.length} external diagrams`);for(const r of e)oe.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),sEe="graphics-document document";function $ee(t,e){t.attr("role",sEe),e!==""&&t.attr("aria-roledescription",e)}S($ee,"setA11yDiagramInfo");function zee(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}S(zee,"addSVGa11yTitleDescription");var Kf,H8=(Kf=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){const n=gr(),i=gD(e,n);e=I4e(e)+` +`;try{YA(i)}catch{const u=M0e(i);if(!u)throw new tX(`Diagram ${i} not found.`);const{id:h,diagram:d}=await u();p5(h,d)}const{db:a,parser:s,renderer:o,init:l}=YA(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(e),new Kf(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},S(Kf,"Diagram"),Kf),Uz=[],oEe=S(()=>{Uz.forEach(t=>{t()}),Uz=[]},"attachFunctions"),lEe=S(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function qee(t){const e=t.match(eX);if(!e)return{text:t,metadata:{}};let r=AC(e[1],{schema:_C})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}S(qee,"extractFrontMatter");var cEe=S(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),uEe=S(t=>{const{text:e,metadata:r}=qee(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),hEe=S(t=>{const e=Lr.detectInit(t)??{},r=Lr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:E4e(t),directive:e}},"processDirectives");function xN(t){const e=cEe(t),r=uEe(e),n=hEe(r.text),i=ea(r.config,n.directive);return t=lEe(n.text),{code:t,title:r.title,config:i}}S(xN,"preprocessDiagram");function Vee(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}S(Vee,"toBase64");var dEe=5e4,fEe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",pEe="sandbox",gEe="loose",mEe="http://www.w3.org/2000/svg",yEe="http://www.w3.org/1999/xlink",vEe="http://www.w3.org/1999/xhtml",bEe="100%",xEe="100%",TEe="border:0;margin:0;",wEe="margin:0",CEe="allow-top-navigation-by-user-activation allow-popups",SEe='The "iframe" tag is not supported by your browser.',EEe=["foreignobject"],kEe=["dominant-baseline"];function TN(t){const e=xN(t);return d5(),spe(e.config??{}),e}S(TN,"processAndSetConfigs");async function Gee(t,e){YC();try{const{code:r,config:n}=TN(t);return{diagramType:(await Hee(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}S(Gee,"parse");var Hz=S((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),_Ee=S((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{sb(o.styles)||s.forEach(l=>{r+=Wz(o.id,l,o.styles)}),sb(o.textStyles)||(r+=Wz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),IEe=S((t,e,r,n)=>{const i=OEe(t,r),a=Dpe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return V8(Bwe(`${n}{${a}}`),Fwe)},"createUserStyles"),BEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Du(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),PEe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":_Ee,n=Gee(`${t}`);return``},"putIntoIFrame"),Yz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",CEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Y8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(Y8,"sandboxedIframe");var FEe=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),$Ee=S(async function(t,e,r){jC();const n=wN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??bEe)&&(e=xEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===TEe,p=i.securityLevel===wEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=Y8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Yz(d,t,l,`font-family: ${m}`,SEe)}else{if(FEe(document,t,l,s),f){const q=Y8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Yz(d,t,l)}let v,b;try{v=await W8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await W8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),A=IEe(i,C,_,a),k=document.createElement("style");k.innerHTML=A,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():hSe.draw(e,t,"11.14.0"),q}const R=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Yee(C,R,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",EEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=BEe($,f,Pu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=PEe($,q)}else p||($=Qh.sanitize($,{ADD_TAGS:NEe,ADD_ATTR:MEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(pEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Hee(t={}){const e=_i({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),hpe(e),e?.theme&&e.theme in xu?e.themeVariables=xu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?upe(e):sj();fD(r.logLevel),jC()}S(Hee,"initialize");var Wee=S((t,e={})=>{const{code:r}=TN(t);return W8.fromText(r,e)},"getDiagramFromText");function Yee(t,e,r,n){zee(e,t),qee(e,r,n,e.attr("id"))}S(Yee,"addA11yInfo");var c0=Object.freeze({render:$Ee,parse:Uee,getDiagramFromText:Wee,initialize:Hee,getConfig:gr,setConfig:oj,getSiteConfig:sj,updateSiteConfig:dpe,reset:S(()=>{f5()},"reset"),globalReset:S(()=>{f5(tm)},"globalReset"),defaultConfig:tm});fD(gr().logLevel);f5(gr());var zEe=S((t,e,r)=>{oe.warn(t),tN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),jee=S(async function(t={querySelector:".mermaid"}){try{await qEe(t)}catch(e){if(tN(e)&&oe.error(e.str),Nu.parseError&&Nu.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),qEe=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=c0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),c0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=rQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Qee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){zEe(d,o,Nu.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),Xee=S(function(t){c0.initialize(t)},"initialize"),VEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&Xee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await jee(n)},"init"),GEe=S(async(t,{lazyLoad:e=!0}={})=>{jC(),GA(...t),e===!1&&await dEe()},"registerExternalDiagrams"),Kee=S(function(){if(Nu.startOnLoad){const{startOnLoad:t}=c0.getConfig();t&&Nu.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Kee,!1);var UEe=S(function(t){Nu.parseError=t},"setParseErrorHandler"),tw=[],K6=!1,Zee=S(async()=>{if(!K6){for(K6=!0;tw.length>0;){const t=tw.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}K6=!1}},"executeQueue"),HEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{c0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Nu.parseError?.(o),s(o),n(o)})}),"performCall");tw.push(i),Zee().catch(n)}),"parse"),Qee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{c0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Nu.parseError?.(l),o(l),i(l)})}),"performCall");tw.push(a),Zee().catch(i)}),"render"),WEe=S(()=>Object.keys(Jf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Nu={startOnLoad:!0,mermaidAPI:c0,parse:HEe,render:Qee,init:VEe,run:jee,registerExternalDiagrams:GEe,registerLayoutLoaders:eee,initialize:Xee,parseError:void 0,contentLoaded:Kee,setParseErrorHandler:UEe,detectType:mD,registerIconPacks:aQ,getRegisteredDiagramsMetadata:WEe},jz=Nu;function nT(t){dl.postMessage(t)}const YEe="_mermaid_container_lewih_1",jEe="_diagram_container_lewih_17",XEe="_diagram_lewih_17",Z6={mermaid_container:YEe,diagram_container:jEe,diagram:XEe};function KEe(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=jt.useRef(null),r=jt.useRef(0),[n,i]=jt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return jt.useEffect(()=>{jz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),jt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const s=gn(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(o=>{ab(o.styles)||s.forEach(l=>{r+=Hz(o.id,l,o.styles)}),ab(o.textStyles)||(r+=Hz(o.id,"tspan",(o?.textStyles||[]).map(l=>l.replace("color","fill"))))})}return r},"createCssStyles"),AEe=S((t,e,r,n)=>{const i=_Ee(t,r),a=Spe(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return q8(Lwe(`${n}{${a}}`),Dwe)},"createUserStyles"),LEe=S((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Ru(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),REe=S((t="",e)=>{const r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":xEe,n=Vee(`${t}`);return``},"putIntoIFrame"),Wz=S((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",mEe);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function W8(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}S(W8,"sandboxedIframe");var DEe=S((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),NEe=S(async function(t,e,r){YC();const n=TN(e);e=n.code;const i=gr();oe.debug(i),e.length>(i?.maxTextSize??dEe)&&(e=fEe);const a="#"+t,s="i"+t,o="#"+s,l="d"+t,u="#"+l,h=S(()=>{const z=kt(f?o:u).node();z&&"remove"in z&&z.remove()},"removeTempElements");let d=kt("body");const f=i.securityLevel===pEe,p=i.securityLevel===gEe,m=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const q=W8(kt(r),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt(r);Wz(d,t,l,`font-family: ${m}`,yEe)}else{if(DEe(document,t,l,s),f){const q=W8(kt("body"),s);d=kt(q.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=kt("body");Wz(d,t,l)}let v,b;try{v=await H8.fromText(e,{title:n.title})}catch(q){if(i.suppressErrorRendering)throw h(),q;v=await H8.fromText("error"),b=q}const x=d.select(u).node(),C=v.type,T=x.firstChild,E=T.firstChild,_=v.renderer.getClasses?.(e,v),R=AEe(i,C,_,a),k=document.createElement("style");k.innerHTML=R,T.insertBefore(k,E);try{await v.renderer.draw(e,t,"11.14.0",v)}catch(q){throw i.suppressErrorRendering?h():iSe.draw(e,t,"11.14.0"),q}const L=d.select(`${u} svg`),O=v.db.getAccTitle?.(),F=v.db.getAccDescription?.();Wee(C,L,O,F),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",vEe);let $=d.select(u).node().innerHTML;if(oe.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),$=LEe($,f,Bu(i.arrowMarkerAbsolute)),f){const q=d.select(u+" svg").node();$=REe($,q)}else p||($=Zh.sanitize($,{ADD_TAGS:EEe,ADD_ATTR:kEe,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(oEe(),b)throw b;return h(),{diagramType:C,svg:$,bindFunctions:v.db.bindFunctions}},"render");function Uee(t={}){const e=_i({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),ipe(e),e?.theme&&e.theme in bu?e.themeVariables=bu[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=bu.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?npe(e):aX();dD(r.logLevel),YC()}S(Uee,"initialize");var Hee=S((t,e={})=>{const{code:r}=xN(t);return H8.fromText(r,e)},"getDiagramFromText");function Wee(t,e,r,n){$ee(e,t),zee(e,r,n,e.attr("id"))}S(Wee,"addA11yInfo");var l0=Object.freeze({render:NEe,parse:Gee,getDiagramFromText:Hee,initialize:Uee,getConfig:gr,setConfig:sX,getSiteConfig:aX,updateSiteConfig:ape,reset:S(()=>{d5()},"reset"),globalReset:S(()=>{d5(em)},"globalReset"),defaultConfig:em});dD(gr().logLevel);d5(gr());var MEe=S((t,e,r)=>{oe.warn(t),eN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Yee=S(async function(t={querySelector:".mermaid"}){try{await OEe(t)}catch(e){if(eN(e)&&oe.error(e.str),Du.parseError&&Du.parseError(e),!t.suppressErrors)throw oe.error("Use the suppressErrors option to suppress these errors"),e}},"run"),OEe=S(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=l0.getConfig();oe.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");oe.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(oe.debug("Start On Load: "+n?.startOnLoad),l0.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new Lr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(oe.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=tQ(Lr.entityDecode(s)).trim().replace(//gi,"
    ");const h=Lr.detectInit(s);h&&oe.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Zee(u,s,l);l.innerHTML=d,t&&await t(u),f&&f(l)}catch(d){MEe(d,o,Du.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),Xee=S(function(t){l0.initialize(t)},"initialize"),IEe=S(async function(t,e,r){oe.warn("mermaid.init is deprecated. Please use run instead."),t&&Xee(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Yee(n)},"init"),BEe=S(async(t,{lazyLoad:e=!0}={})=>{YC(),VA(...t),e===!1&&await aEe()},"registerExternalDiagrams"),jee=S(function(){if(Du.startOnLoad){const{startOnLoad:t}=l0.getConfig();t&&Du.run().catch(e=>oe.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",jee,!1);var PEe=S(function(t){Du.parseError=t},"setParseErrorHandler"),ew=[],j6=!1,Kee=S(async()=>{if(!j6){for(j6=!0;ew.length>0;){const t=ew.shift();if(t)try{await t()}catch(e){oe.error("Error executing queue",e)}}j6=!1}},"executeQueue"),FEe=S(async(t,e)=>new Promise((r,n)=>{const i=S(()=>new Promise((a,s)=>{l0.parse(t,e).then(o=>{a(o),r(o)},o=>{oe.error("Error parsing",o),Du.parseError?.(o),s(o),n(o)})}),"performCall");ew.push(i),Kee().catch(n)}),"parse"),Zee=S((t,e,r)=>new Promise((n,i)=>{const a=S(()=>new Promise((s,o)=>{l0.render(t,e,r).then(l=>{s(l),n(l)},l=>{oe.error("Error parsing",l),Du.parseError?.(l),o(l),i(l)})}),"performCall");ew.push(a),Kee().catch(i)}),"render"),$Ee=S(()=>Object.keys(Qf).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Du={startOnLoad:!0,mermaidAPI:l0,parse:FEe,render:Zee,init:IEe,run:Yee,registerExternalDiagrams:BEe,registerLayoutLoaders:JJ,initialize:Xee,parseError:void 0,contentLoaded:jee,setParseErrorHandler:PEe,detectType:gD,registerIconPacks:iQ,getRegisteredDiagramsMetadata:$Ee},Yz=Du;function r4(t){Hh.postMessage(t)}const zEe="_mermaid_container_lewih_1",qEe="_diagram_container_lewih_17",VEe="_diagram_lewih_17",K6={mermaid_container:zEe,diagram_container:qEe,diagram:VEe};function GEe(){const{flowsheetRunnerResult:t}=Zt.useContext(Ua),e=Zt.useRef(null),r=Zt.useRef(0),[n,i]=Zt.useState(0),a=t?.actions?.diagnostics,s=!!t&&a?.valid===!1;return Zt.useEffect(()=>{Yz.initialize({startOnLoad:!1,theme:"dark"}),i(o=>o+1)},[]),Zt.useEffect(()=>{if(!e.current)return;if(!t){e.current.innerHTML=`

    No Diagram Available Yet

    Click Run in the IDAES Tree View to execute the flowsheet and generate a diagram.

    @@ -323,7 +323,7 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` ${f.length>0?`Last completed steps: ${f.join(" → ")}.`:""}

    Check the error log for details.

    -
    `,nT({reload_mermaid:"done"});return}if(!t.actions.mermaid_diagram||!t.actions.mermaid_diagram.diagram){e.current.innerHTML=` + `,r4({reload_mermaid:"done"});return}if(!t.actions.mermaid_diagram||!t.actions.mermaid_diagram.diagram){e.current.innerHTML=`

    Mermaid Diagram Missing @@ -335,18 +335,18 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` Reason: The idaes-connectivity Python package is likely not installed in your IDAES environment. Please run pip install idaes-connectivity or equivalent in your terminal and run the flowsheet again.

    -
    `,nT({reload_mermaid:"done"});return}const o=t.actions.mermaid_diagram.diagram;let l=[];typeof o=="string"?l=o.split(` + `,r4({reload_mermaid:"done"});return}const o=t.actions.mermaid_diagram.diagram;let l=[];typeof o=="string"?l=o.split(` `):Array.isArray(o)?l=o:console.error("Unknown mermaid diagram format",o);const u=l.filter(f=>f.trim()!=="");if(u.length<=1){console.log("mermaid diagram has no actual content (no nodes/edges)"),e.current.innerHTML=`

    No diagram data available for this flowsheet.
    Extension returned Mermaid content is: ${u.join(", ")} -

    `,nT({reload_mermaid:"done"});return}const h=u.join(` +

    `,r4({reload_mermaid:"done"});return}const h=u.join(` `);console.log(`mermaid diagram text: -${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p}=await jz.render(f,h);e.current&&(e.current.innerHTML=p)}catch(f){console.error("mermaid render error:",f),e.current&&(e.current.innerHTML=` +${h}`),(async()=>{try{r.current+=1;const f=`mermaid-diagram-${r.current}`,{svg:p}=await Yz.render(f,h);e.current&&(e.current.innerHTML=p)}catch(f){console.error("mermaid render error:",f),e.current&&(e.current.innerHTML=`

    Mermaid render error: ${f}

    -
    ${h}
    `)}})(),nT({reload_mermaid:"done"})},[t,n]),Ae.jsxs("div",{className:`${Z6.mermaid_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"Diagram:"}),Ae.jsx("div",{className:`${Z6.diagram_container}`,children:Ae.jsx("div",{ref:e,className:`${Z6.diagram}`})})]})}const ZEe="_ipopt_container_87gan_1",QEe="_solver_output_87gan_11",JEe="_tabs_87gan_35",eke="_tab_87gan_35",tke="_tab_active_87gan_58",rke="_tab_content_87gan_64",nke="_run_error_87gan_73",ike="_run_error_title_87gan_82",ake="_run_error_body_87gan_87",ske="_run_error_hint_87gan_92",Ba={ipopt_container:ZEe,solver_output:QEe,tabs:JEe,tab:eke,tab_active:tke,tab_content:rke,run_error:nke,run_error_title:ike,run_error_body:ake,run_error_hint:ske};function Xz(t){if(!t)return"No solver output available for this step.";const e=t.split(` +
    ${h}
    `)}})(),r4({reload_mermaid:"done"})},[t,n]),De.jsxs("div",{className:`${K6.mermaid_container}`,children:[De.jsx("h2",{className:"page-title",children:"Diagram:"}),De.jsx("div",{className:`${K6.diagram_container}`,children:De.jsx("div",{ref:e,className:`${K6.diagram}`})})]})}const UEe="_ipopt_container_87gan_1",HEe="_solver_output_87gan_11",WEe="_tabs_87gan_35",YEe="_tab_87gan_35",XEe="_tab_active_87gan_58",jEe="_tab_content_87gan_64",KEe="_run_error_87gan_73",ZEe="_run_error_title_87gan_82",QEe="_run_error_body_87gan_87",JEe="_run_error_hint_87gan_92",Ia={ipopt_container:UEe,solver_output:HEe,tabs:WEe,tab:YEe,tab_active:XEe,tab_content:jEe,run_error:KEe,run_error_title:ZEe,run_error_body:QEe,run_error_hint:JEe};function Xz(t){if(!t)return"No solver output available for this step.";const e=t.split(` `);let r=0;for(let n=0;n0&&` Last completed steps: ${s.join(" → ")}.`]}),Ae.jsx("p",{className:Ba.run_error_hint,children:"Check the error log for details."})]})]})}return a?Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT"}),Ae.jsxs("div",{className:Ba.tabs,children:[Ae.jsx("span",{className:`${Ba.tab} ${e==="initial"?Ba.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),Ae.jsx("span",{className:`${Ba.tab} ${e==="optimization"?Ba.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),Ae.jsxs("div",{className:Ba.tab_content,children:[e==="initial"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_initial)}),e==="optimization"&&Ae.jsx("pre",{className:`${Ba.solver_output}`,children:Xz(a.solve_optimization)})]})]}):Ae.jsxs("div",{className:`${Ba.ipopt_container}`,children:[Ae.jsx("h2",{className:"page-title",children:"IPOPT:"}),Ae.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const lke="_container_kuhn9_2",cke="_empty_msg_kuhn9_15",uke="_tabs_kuhn9_21",hke="_tab_kuhn9_21",dke="_tab_active_kuhn9_43",fke="_tab_content_kuhn9_49",pke="_group_kuhn9_54",gke="_group_header_kuhn9_58",mke="_group_title_kuhn9_65",yke="_badge_warning_kuhn9_70",vke="_badge_caution_kuhn9_84",bke="_toggle_btns_kuhn9_99",xke="_toggle_btn_kuhn9_99",Tke="_toggle_sep_kuhn9_115",wke="_group_body_kuhn9_121",Cke="_summary_item_kuhn9_127",Ske="_summary_line_kuhn9_131",Eke="_clickable_kuhn9_140",kke="_arrow_kuhn9_149",_ke="_summary_count_kuhn9_156",Ake="_summary_text_kuhn9_163",Lke="_detail_list_kuhn9_168",Rke="_run_error_kuhn9_189",Dke="_run_error_title_kuhn9_198",Nke="_run_error_body_kuhn9_203",Mke="_run_error_hint_kuhn9_208",Xr={container:lke,empty_msg:cke,tabs:uke,tab:hke,tab_active:dke,tab_content:fke,group:pke,group_header:gke,group_title:mke,badge_warning:yke,badge_caution:vke,toggle_btns:bke,toggle_btn:xke,toggle_sep:Tke,group_body:wke,summary_item:Cke,summary_line:Ske,clickable:Eke,arrow:kke,summary_count:_ke,summary_text:Ake,detail_list:Lke,run_error:Rke,run_error_title:Dke,run_error_body:Nke,run_error_hint:Mke};function j8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const Oke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ike({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return Ae.jsxs("div",{className:Xr.summary_item,children:[Ae.jsxs("div",{className:`${Xr.summary_line} ${n?Xr.clickable:""}`,onClick:n?r:void 0,children:[n&&Ae.jsx("span",{className:Xr.arrow,children:e?"▼":"▶"}),Ae.jsx("span",{className:Xr.summary_count,children:t.count}),Ae.jsxs("span",{className:Xr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&Ae.jsx("ul",{className:Xr.detail_list,children:t.names.map((i,a)=>Ae.jsx("li",{children:i},a))})]})}function rw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=jt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return Ae.jsxs("div",{className:Xr.group,children:[Ae.jsxs("div",{className:Xr.group_header,children:[Ae.jsx("span",{className:Xr.group_title,children:t}),Ae.jsx("span",{className:e,children:r.length}),r.length>0&&Ae.jsxs("span",{className:Xr.toggle_btns,children:[Ae.jsx("span",{className:Xr.toggle_btn,onClick:o,children:"Expand All"}),Ae.jsx("span",{className:Xr.toggle_sep,children:"|"}),Ae.jsx("span",{className:Xr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),Ae.jsxs("div",{className:Xr.group_body,children:[r.length===0&&Ae.jsx("div",{className:Xr.summary_line,children:Ae.jsx("span",{className:Xr.summary_text,children:n})}),r.map((u,h)=>Ae.jsx(Ike,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Bke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:n,emptyMessage:"No structural warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function Kz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:j8(i.bounds),names:i.names};Oke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Pke({diagnostics:t}){const e=Kz(t.variables.components,"Variables"),r=Kz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:j8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return Ae.jsxs("div",{children:[Ae.jsx(rw,{title:"Warnings",badgeClass:Xr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),Ae.jsx(rw,{title:"Cautions",badgeClass:Xr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Fke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,[r,n]=jt.useState("structure");if(!e)return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsx("p",{className:Xr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.run_error,children:[Ae.jsx("p",{className:Xr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),Ae.jsxs("p",{className:Xr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),Ae.jsx("p",{className:Xr.run_error_hint,children:"Check the error log for details."})]})]})}return Ae.jsxs("div",{className:Xr.container,children:[Ae.jsx("h2",{className:"page-title",children:"Diagnostic:"}),Ae.jsxs("div",{className:Xr.tabs,children:[Ae.jsx("span",{className:`${Xr.tab} ${r==="structure"?Xr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),Ae.jsx("span",{className:`${Xr.tab} ${r==="numerical"?Xr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),Ae.jsxs("div",{className:Xr.tab_content,children:[r==="structure"&&Ae.jsx(Bke,{data:e.structural_issues}),r==="numerical"&&Ae.jsx(Pke,{diagnostics:e})]})]})}function Q6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=jt.useState(n??!1);return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),Ae.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&Ae.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&Ae.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Zz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=jt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return Ae.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?Ae.jsx("span",{style:{fontFamily:"monospace"},children:m}):Ae.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),Ae.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>ob(m).toLowerCase().includes(n.toLowerCase())):l;return Ae.jsxs("div",{style:{paddingLeft:"12px"},children:[Ae.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[Ae.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),Ae.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&Ae.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&Ae.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",$ke(p)]})]}),i&&p.length>0&&Ae.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>Ae.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:ob(m)},v))})]})}function Jee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function J6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function ob(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?J6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${J6(t[5])}`:"",s=t[6]!==null?`ub:${J6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function $ke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?ob(t[0]):`${ob(t[0])}, ... (${t.length} values)`}const ete=new Set(["thermo_params","reaction_params"]);function X8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(ob(i).toLowerCase().includes(r))return!0;return!1}function CN(t,e){for(const[r,n]of Object.entries(t))if(!ete.has(r)){if(Jee(n)){if(X8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||CN(n,e)))return!0}return!1}function tte({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!ete.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Jee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>X8(u,h,e)),o=o.filter(([u,h])=>X8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||CN(h,e))),Ae.jsxs(Ae.Fragment,{children:[s.length>0&&Ae.jsx(Q6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&Ae.jsx(Q6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>Ae.jsx(Zz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?Ae.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return Ae.jsx(Q6,{label:u,childCount:d,defaultOpen:r,extra:b,children:Ae.jsx(tte,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function zke({data:t,dofSteps:e}){const[r,n]=jt.useState(""),[i,a]=jt.useState(!1),[s,o]=jt.useState(0),l=jt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=jt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return Ae.jsxs("div",{children:[Ae.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[Ae.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),Ae.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),Ae.jsx("div",{children:Ae.jsx(tte,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&Ae.jsx(qke,{data:t,searchTerm:l})]})}function qke({data:t,searchTerm:e}){return jt.useMemo(()=>CN(t,e),[t,e])?null:Ae.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Vke="_run_error_nknwf_18",Gke="_run_error_title_nknwf_27",Uke="_run_error_body_nknwf_32",Hke="_run_error_hint_nknwf_37",iT={run_error:Vke,run_error_title:Gke,run_error_body:Uke,run_error_hint:Hke};function Wke(){const{flowsheetRunnerResult:t}=jt.useContext(Da),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return Ae.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return Ae.jsxs("div",{className:iT.run_error,children:[Ae.jsx("p",{className:iT.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),Ae.jsxs("p",{className:iT.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),Ae.jsx("p",{className:iT.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return Ae.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return Ae.jsxs("section",{children:[Ae.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),Ae.jsx(zke,{data:r,dofSteps:i})]})}const Yke="_tabs_1froz_2",jke="_tab_1froz_2",Xke="_tab_active_1froz_24",Kke="_logs_main_container_1froz_30",Zke="_tab_content_1froz_39",Qke="_content_section_1froz_47",Jke="_logs_container_1froz_54",e6e="_logs_header_1froz_67",t6e="_logs_title_1froz_76",r6e="_clear_logs_button_1froz_82",n6e="_log_item_1froz_96",i6e="_no_logs_1froz_104",Pi={tabs:Yke,tab:jke,tab_active:Xke,logs_main_container:Kke,tab_content:Zke,content_section:Qke,logs_container:Jke,logs_header:e6e,logs_title:t6e,clear_logs_button:r6e,log_item:n6e,no_logs:i6e};function a6e(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=jt.useContext(Da),r=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),Ae.jsx("div",{className:Pi.logs_container,children:t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>Ae.jsx("div",{className:Pi.log_item,children:n},i))})]})}function s6e(){const{terminalLogs:t,setTerminalLogs:e}=jt.useContext(Da),r=jt.useRef(null);jt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return Ae.jsxs("div",{className:Pi.content_section,children:[Ae.jsxs("div",{className:Pi.logs_header,children:[Ae.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),Ae.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),Ae.jsxs("div",{className:Pi.logs_container,children:[t.length===0?Ae.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>Ae.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),Ae.jsx("div",{ref:r})]})]})}function o6e(){const{activeLogTab:t,setActiveLogTab:e}=jt.useContext(Da);return jt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),Ae.jsxs("div",{className:Pi.logs_main_container,children:[Ae.jsxs("div",{className:Pi.tabs,children:[Ae.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),Ae.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),Ae.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&Ae.jsx(a6e,{}),t==="terminal"&&Ae.jsx(s6e,{})]})]})}const l6e="_main_display_container_xlfzb_1",c6e="_nav_xlfzb_11",u6e="_nav_item_xlfzb_25",h6e="_nav_item_active_xlfzb_44",d6e="_blue_dot_xlfzb_49",to={main_display_container:l6e,nav:c6e,nav_item:u6e,nav_item_active:h6e,blue_dot:d6e};function f6e(){const[t,e]=jt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=jt.useContext(Da),[i,a]=jt.useState(!1),s=jt.useRef(r.length),{flowsheetRunnerResult:o}=jt.useContext(Da),l=o?.actions?.degrees_of_freedom?.model;jt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),jt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=Ae.jsx(Ae.Fragment,{});switch(t){case"diagram":u=Ae.jsx(KEe,{});break;case"variable":u=Ae.jsx(Wke,{});break;case"ipopt":u=Ae.jsx(oke,{});break;case"diagnostics":u=Ae.jsx(Fke,{});break;case"logs":u=Ae.jsx(o6e,{});break;default:u=Ae.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return Ae.jsxs("div",{className:`${to.main_display_container}`,children:[Ae.jsxs("ul",{className:`${to.nav}`,children:[Ae.jsx("li",{className:`${to.nav_item} ${t==="diagram"?to.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="variable"?to.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&Ae.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),Ae.jsx("li",{className:`${to.nav_item} ${t==="diagnostics"?to.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),Ae.jsx("li",{className:`${to.nav_item} ${t==="ipopt"?to.nav_item_active:""}`,onClick:()=>h("ipopt"),children:"IPOPT"}),Ae.jsxs("li",{className:`${to.nav_item} ${t==="logs"?to.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&Ae.jsx("span",{className:`${to.blue_dot}`})]})]}),Ae.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function p6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionConfig:a,setExtensionErrorLogs:s,setTerminalLogs:o,setIsLoading:l,setInitError:u,setPackageWarnings:h,setOpenPythonFiles:d,setIdaesHistoryList:f,setMermaidDiagram:p,setOsPlatform:m,setPythonEnvInfo:v}=jt.useContext(Da),[b,x]=jt.useState(""),[C,T]=jt.useState(!1);function E(_){let A;switch(console.log(`Now loading page: ${_}`),_){case"editor":A=Ae.jsx(a0e,{});break;case"webView":console.log("loading web view page"),A=Ae.jsx(f6e,{});break;case"treeView":console.log("loading tree page"),A=Ae.jsx(i0e,{});break;case"error":console.log(`Encounter an error: ${_}`);break;default:console.log("Unknown message type:",_);break}return A}return jt.useEffect(()=>{if(!n)return;const _=n.actions?.diagnostics;if(_?.valid!==!1)return;const A=n.last_run??[],k=`[${new Date().toLocaleTimeString()}]`;s(R=>[...R,`${k} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${A.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:_,last_run:A})}`,`${k} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:A})}`,`${k} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:A})}`,`${k} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:A})}`])},[n]),jt.useEffect(()=>{window.addEventListener("message",_=>{const A=_.data;switch(A.type){case"init":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content),r(A.fileName),t(A.idaesRunInfo),x(A.loadApp),l(!1),A.osPlatform&&m(A.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(A)}`),e(A.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",A),A.isLoading!==void 0&&(console.log("Calling setIsLoading with:",A.isLoading),l(A.isLoading)),r(A.activate_tab_name),A.idaesRunInfo!==void 0&&t(A.idaesRunInfo),A.initError?u(A.initError):(A.initError===null||A.isLoading)&&u(null),A.isLoading?h(null):A.packageWarnings!==void 0&&h(A.packageWarnings),A.open_python_files!==void 0&&d(A.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",A),v({current:A.current??null,envs:A.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),A.open_python_files!==void 0&&d(A.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(A)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(A.data);break;case"readExtensionConfig":console.log(`VSCode post message to initialize extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"updateExtensionConfig":console.log(`VSCode post message to update extension config data: ${JSON.stringify(A)}`),a(A.content);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(A)}`),s(k=>{const R=`[${new Date().toLocaleTimeString()}] ${A.message||JSON.stringify(A)}`;return[...k,R]});break;case"terminal_log":o(k=>[...k,A.data]);break;case"start_new_run":i(null),p(""),s([]);break;case"clear_terminal_logs":o([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),T(!1),setTimeout(()=>T(!0),10);break;case"history_update":console.log(`Received history list length: ${A.data?.length}`),f(A.data);break;default:console.log("Unknown message type:",JSON.stringify(A));break}}),dl.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),Ae.jsx("div",{className:C?"flash-highlight":"",onAnimationEnd:()=>T(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:E(b)})}qde.createRoot(document.getElementById("root")).render(Ae.jsx(jt.StrictMode,{children:Ae.jsx(Vde,{children:Ae.jsx(p6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(g6e,"-$1").toLowerCase(),m6e={"&":"&",">":">","<":"<",'"':""","'":"'"},y6e=/[&><"']/g,Ua=t=>String(t).replace(y6e,e=>m6e[e]),v3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?v3(t.body[0]):t:t.type==="font"?v3(t.body):t,v6e=new Set(["mathord","textord","atom"]),Vu=t=>v6e.has(v3(t).type),b6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},nw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function x6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class EN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(nw)){var n=nw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:x6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=b6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class _h{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Ul[T6e[this.id]]}sub(){return Ul[w6e[this.id]]}fracNum(){return Ul[C6e[this.id]]}fracDen(){return Ul[S6e[this.id]]}cramp(){return Ul[E6e[this.id]]}text(){return Ul[k6e[this.id]]}isTight(){return this.size>=2}}var kN=0,iw=1,Ig=2,wu=3,lb=4,zo=5,mm=6,cs=7,Ul=[new _h(kN,0,!1),new _h(iw,0,!0),new _h(Ig,1,!1),new _h(wu,1,!0),new _h(lb,2,!1),new _h(zo,2,!0),new _h(mm,3,!1),new _h(cs,3,!0)],T6e=[lb,zo,lb,zo,mm,cs,mm,cs],w6e=[zo,zo,zo,zo,cs,cs,cs,cs],C6e=[Ig,wu,lb,zo,mm,cs,mm,cs],S6e=[wu,wu,zo,zo,cs,cs,cs,cs],E6e=[iw,iw,wu,wu,zo,zo,cs,cs],k6e=[kN,iw,Ig,wu,Ig,wu,Ig,wu],Rr={DISPLAY:Ul[kN],TEXT:Ul[Ig],SCRIPT:Ul[lb],SCRIPTSCRIPT:Ul[mm]},K8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function _6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var b3=[];K8.forEach(t=>t.blocks.forEach(e=>b3.push(...e)));function rte(t){for(var e=0;e=b3[e]&&t<=b3[e+1])return!0;return!1}var Xi=t=>t+" "+t,Mp=80,A6e=function(e,r){return"M95,"+(622+e+r)+` +`).trimStart();return t}function eke(){const{flowsheetRunnerResult:t}=Zt.useContext(Ua),[e,r]=Zt.useState("initial"),n=t?.actions?.diagnostics,i=!!t&&n?.valid===!1,a=t?.actions?.solver_output?.output||t?.actions?.capture_solver_output?.solver_logs;if(!t)return De.jsxs("div",{className:`${Ia.ipopt_container}`,children:[De.jsx("h2",{className:"page-title",children:"IPOPT:"}),De.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]});if(i){const s=t.last_run??[];return De.jsxs("div",{className:Ia.ipopt_container,children:[De.jsx("h2",{className:"page-title",children:"IPOPT:"}),De.jsxs("div",{className:Ia.run_error,children:[De.jsx("p",{className:Ia.run_error_title,children:"fi-run has issues: Solver Output Unavailable"}),De.jsxs("p",{className:Ia.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",s.length>0&&` Last completed steps: ${s.join(" → ")}.`]}),De.jsx("p",{className:Ia.run_error_hint,children:"Check the error log for details."})]})]})}return a?De.jsxs("div",{className:`${Ia.ipopt_container}`,children:[De.jsx("h2",{className:"page-title",children:"IPOPT"}),De.jsxs("div",{className:Ia.tabs,children:[De.jsx("span",{className:`${Ia.tab} ${e==="initial"?Ia.tab_active:""}`,onClick:()=>r("initial"),children:"Initial Solver Output"}),De.jsx("span",{className:`${Ia.tab} ${e==="optimization"?Ia.tab_active:""}`,onClick:()=>r("optimization"),children:"Optimization Solver Output"})]}),De.jsxs("div",{className:Ia.tab_content,children:[e==="initial"&&De.jsx("pre",{className:`${Ia.solver_output}`,children:Xz(a.solve_initial)}),e==="optimization"&&De.jsx("pre",{className:`${Ia.solver_output}`,children:Xz(a.solve_optimization)})]})]}):De.jsxs("div",{className:`${Ia.ipopt_container}`,children:[De.jsx("h2",{className:"page-title",children:"IPOPT:"}),De.jsx("p",{children:"Please select a flowsheet, and run it with IDAES Extension first."})]})}const tke="_container_kuhn9_2",rke="_empty_msg_kuhn9_15",nke="_tabs_kuhn9_21",ike="_tab_kuhn9_21",ake="_tab_active_kuhn9_43",ske="_tab_content_kuhn9_49",oke="_group_kuhn9_54",lke="_group_header_kuhn9_58",cke="_group_title_kuhn9_65",uke="_badge_warning_kuhn9_70",hke="_badge_caution_kuhn9_84",dke="_toggle_btns_kuhn9_99",fke="_toggle_btn_kuhn9_99",pke="_toggle_sep_kuhn9_115",gke="_group_body_kuhn9_121",mke="_summary_item_kuhn9_127",yke="_summary_line_kuhn9_131",vke="_clickable_kuhn9_140",bke="_arrow_kuhn9_149",xke="_summary_count_kuhn9_156",Tke="_summary_text_kuhn9_163",wke="_detail_list_kuhn9_168",Cke="_run_error_kuhn9_189",Ske="_run_error_title_kuhn9_198",Eke="_run_error_body_kuhn9_203",kke="_run_error_hint_kuhn9_208",jr={container:tke,empty_msg:rke,tabs:nke,tab:ike,tab_active:ake,tab_content:ske,group:oke,group_header:lke,group_title:cke,badge_warning:uke,badge_caution:hke,toggle_btns:dke,toggle_btn:fke,toggle_sep:pke,group_body:gke,summary_item:mke,summary_line:yke,clickable:vke,arrow:bke,summary_count:xke,summary_text:Tke,detail_list:wke,run_error:Cke,run_error_title:Ske,run_error_body:Eke,run_error_hint:kke};function Y8(t){const e=Object.entries(t);if(e.length===0)return"";const r=t.small??t.zero,n=t.large;return r!==void 0&&n!==void 0?`(<${r.toExponential(1)} or >${n.toExponential(1)})`:t.tol!==void 0?`(tol=${t.tol.toExponential(1)})`:`(${e.map(([i,a])=>`${i}=${a.toExponential(1)}`).join(", ")})`}const _ke=new Set(["have residuals greater than specified tolerance","have values that fall at or outside their bounds","have a value of none","do not appear in any activated constraints","do not have any free variables"]);function Ake({item:t,expanded:e,onToggle:r}){const n=t.names.length>0;return De.jsxs("div",{className:jr.summary_item,children:[De.jsxs("div",{className:`${jr.summary_line} ${n?jr.clickable:""}`,onClick:n?r:void 0,children:[n&&De.jsx("span",{className:jr.arrow,children:e?"▼":"▶"}),De.jsx("span",{className:jr.summary_count,children:t.count}),De.jsxs("span",{className:jr.summary_text,children:[t.label," ",t.boundsStr]})]}),e&&n&&De.jsx("ul",{className:jr.detail_list,children:t.names.map((i,a)=>De.jsx("li",{children:i},a))})]})}function tw({title:t,badgeClass:e,items:r,emptyMessage:n}){const[i,a]=Zt.useState(new Set),s=u=>{a(h=>{const d=new Set(h);return d.has(u)?d.delete(u):d.add(u),d})},o=()=>{a(new Set(r.map((u,h)=>h)))},l=()=>{a(new Set)};return De.jsxs("div",{className:jr.group,children:[De.jsxs("div",{className:jr.group_header,children:[De.jsx("span",{className:jr.group_title,children:t}),De.jsx("span",{className:e,children:r.length}),r.length>0&&De.jsxs("span",{className:jr.toggle_btns,children:[De.jsx("span",{className:jr.toggle_btn,onClick:o,children:"Expand All"}),De.jsx("span",{className:jr.toggle_sep,children:"|"}),De.jsx("span",{className:jr.toggle_btn,onClick:l,children:"Collapse All"})]})]}),De.jsxs("div",{className:jr.group_body,children:[r.length===0&&De.jsx("div",{className:jr.summary_line,children:De.jsx("span",{className:jr.summary_text,children:n})}),r.map((u,h)=>De.jsx(Ake,{item:u,expanded:i.has(h),onToggle:()=>s(h)},h))]})]})}function Lke({data:t}){const{warnings:e,cautions:r}=t,n=[];if(e.dof!==0&&n.push({count:e.dof,label:"Degrees of Freedom",boundsStr:"",names:[]}),e.inconsistent_units&&n.push({count:1,label:"Inconsistent units detected",boundsStr:"",names:[]}),e.underconstrained_set){const a=e.underconstrained_set;n.push({count:a.variables.length,label:`Underconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}if(e.overconstrained_set){const a=e.overconstrained_set;n.push({count:a.variables.length,label:`Overconstrained variables (${a.constraints.length} constraints)`,boundsStr:"",names:a.variables})}e.evaluation_errors&&e.evaluation_errors.length>0&&n.push({count:e.evaluation_errors.length,label:"evaluation errors",boundsStr:"",names:e.evaluation_errors});const i=[];return r.zero_vars&&r.zero_vars.length>0&&i.push({count:r.zero_vars.length,label:"variable(s) fixed to zero",boundsStr:"",names:r.zero_vars}),r.unused_vars_free&&r.unused_vars_free.length>0&&i.push({count:r.unused_vars_free.length,label:"unused free variable(s)",boundsStr:"",names:r.unused_vars_free}),r.unused_vars_fixed&&r.unused_vars_fixed.length>0&&i.push({count:r.unused_vars_fixed.length,label:"unused fixed variable(s)",boundsStr:"",names:r.unused_vars_fixed}),De.jsxs("div",{children:[De.jsx(tw,{title:"Warnings",badgeClass:jr.badge_warning,items:n,emptyMessage:"No structural warnings."}),De.jsx(tw,{title:"Cautions",badgeClass:jr.badge_caution,items:i,emptyMessage:"No structural cautions."})]})}function jz(t,e){const r=[],n=[];for(const i of t){if(i.empty)continue;const a={count:i.names.length,label:`${e} ${i.tag}`,boundsStr:Y8(i.bounds),names:i.names};_ke.has(i.tag)?r.push(a):n.push(a)}return{warnings:r,cautions:n}}function Rke({diagnostics:t}){const e=jz(t.variables.components,"Variables"),r=jz(t.constraints.components,"Constraints"),n=t.numerical_issues.warnings;if(n.constraints_with_large_residuals&&!n.constraints_with_large_residuals.empty){const s=n.constraints_with_large_residuals;r.warnings.some(o=>o.label.includes("residuals"))||r.warnings.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:Y8(s.bounds),names:s.names})}if(n.constraints_with_extreme_jacobians&&!n.constraints_with_extreme_jacobians.empty){const s=n.constraints_with_extreme_jacobians;r.cautions.some(o=>o.label.includes("Jacobian"))||r.cautions.push({count:s.names.length,label:`Constraints ${s.tag}`,boundsStr:Y8(s.bounds),names:s.names})}if(n.variables_parallel){const s=n.variables_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);e.cautions.push({count:s.length,label:"nearly parallel variable pairs",boundsStr:"",names:o})}}if(n.constraints_parallel){const s=n.constraints_parallel.components.filter(o=>!o.empty);if(s.length>0){const o=s.map(l=>`${l.names[0]} ‖ ${l.names[1]}`);r.cautions.push({count:s.length,label:"nearly parallel constraint pairs",boundsStr:"",names:o})}}const i=[...e.warnings,...r.warnings],a=[...e.cautions,...r.cautions];return De.jsxs("div",{children:[De.jsx(tw,{title:"Warnings",badgeClass:jr.badge_warning,items:i,emptyMessage:"No numerical warnings."}),De.jsx(tw,{title:"Cautions",badgeClass:jr.badge_caution,items:a,emptyMessage:"No numerical cautions."})]})}function Dke(){const{flowsheetRunnerResult:t}=Zt.useContext(Ua),e=t?.actions?.diagnostics,[r,n]=Zt.useState("structure");if(!e)return De.jsxs("div",{className:jr.container,children:[De.jsx("h2",{children:"Diagnostic:"}),De.jsx("p",{className:jr.empty_msg,children:"Please select a flowsheet and run it with IDAES Extension first."})]});if(!e.valid){const i=t?.last_run??[];return De.jsxs("div",{className:jr.container,children:[De.jsx("h2",{children:"Diagnostic:"}),De.jsxs("div",{className:jr.run_error,children:[De.jsx("p",{className:jr.run_error_title,children:"fi-run has issues: Diagnostics Unavailable"}),De.jsxs("p",{className:jr.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",i.length>0&&` Last completed steps: ${i.join(" → ")}.`]}),De.jsx("p",{className:jr.run_error_hint,children:"Check the error log for details."})]})]})}return De.jsxs("div",{className:jr.container,children:[De.jsx("h2",{className:"page-title",children:"Diagnostic:"}),De.jsxs("div",{className:jr.tabs,children:[De.jsx("span",{className:`${jr.tab} ${r==="structure"?jr.tab_active:""}`,onClick:()=>n("structure"),children:"Structure Issue"}),De.jsx("span",{className:`${jr.tab} ${r==="numerical"?jr.tab_active:""}`,onClick:()=>n("numerical"),children:"Numerical Issue"})]}),De.jsxs("div",{className:jr.tab_content,children:[r==="structure"&&De.jsx(Lke,{data:e.structural_issues}),r==="numerical"&&De.jsx(Rke,{diagnostics:e})]})]})}function Z6({label:t,childCount:e,labelColor:r,defaultOpen:n,extra:i,children:a}){const[s,o]=Zt.useState(n??!1);return De.jsxs("div",{style:{paddingLeft:"12px"},children:[De.jsxs("div",{onClick:()=>o(!s),style:{cursor:"pointer",padding:"3px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px"},children:[De.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:s?"▼":"▶"}),De.jsx("strong",{style:{fontFamily:"monospace",fontSize:"13px",color:r},children:t}),e!==void 0&&De.jsxs("span",{style:{color:"#888",fontSize:"11px"},children:["(",e,")"]}),i]}),s&&De.jsx("div",{style:{borderLeft:"1px solid #333",marginLeft:"5px"},children:a})]})}function Kz({name:t,varData:e,defaultOpen:r,highlight:n}){const[i,a]=Zt.useState(r??!1),[s,o,l]=e,u=s==="P"?"Param":"Var",h=s==="P"?"#5b9bd5":"#70ad47",d=m=>{if(!n)return De.jsx("span",{style:{fontFamily:"monospace"},children:m});const v=m.toLowerCase().indexOf(n.toLowerCase());return v===-1?De.jsx("span",{style:{fontFamily:"monospace"},children:m}):De.jsxs("span",{style:{fontFamily:"monospace"},children:[m.slice(0,v),De.jsx("mark",{style:{background:"#e6a817",color:"#000",borderRadius:"2px",padding:"0 1px"},children:m.slice(v,v+n.length)}),m.slice(v+n.length)]})},f=n?t.toLowerCase().includes(n.toLowerCase()):!1,p=n&&!f?l.filter(m=>sb(m).toLowerCase().includes(n.toLowerCase())):l;return De.jsxs("div",{style:{paddingLeft:"12px"},children:[De.jsxs("div",{onClick:()=>a(!i),style:{cursor:"pointer",padding:"2px 0",userSelect:"none",display:"flex",alignItems:"center",gap:"6px",fontSize:"12px"},children:[De.jsx("span",{style:{fontSize:"10px",width:"12px",display:"inline-block"},children:p.length>1?i?"▼":"▶":" "}),d(t),De.jsxs("span",{style:{color:h,fontWeight:"bold",fontSize:"11px"},children:["[",u,"]"]}),o&&De.jsx("span",{style:{color:"#888",fontSize:"11px"},children:"indexed"}),!i&&De.jsxs("span",{style:{color:"#aaa",fontSize:"11px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"400px"},children:["= ",Nke(p)]})]}),i&&p.length>0&&De.jsx("div",{style:{paddingLeft:"30px",fontSize:"12px",color:"#ccc"},children:p.map((m,v)=>De.jsx("div",{style:{padding:"1px 0",fontFamily:"monospace"},children:sb(m)},v))})]})}function Qee(t){return Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="boolean"&&Array.isArray(t[2])}function Q6(t){return typeof t=="number"&&!Number.isInteger(t)?Math.abs(t)<1e-4&&t!==0?Number(t.toExponential(4)):Number(t.toFixed(4)):t}function sb(t){if(Array.isArray(t)){const e=Array.isArray(t[0])?t[0].join("."):String(t[0]??""),r=t.length>1?Q6(t[1]):"";if(t.length>=7){const n=t[2]?`[${t[2]}]`:"",i=t[3]?"fixed":"",a=t[5]!==null?`lb:${Q6(t[5])}`:"",s=t[6]!==null?`ub:${Q6(t[6])}`:"",o=[a,s].filter(Boolean).join(" ");return`${e||"value"}: ${r} ${n} ${i} ${o}`.replace(/\s+/g," ").trim()}return e?`${e}: ${r}`:String(r)}return String(t)}function Nke(t){return!Array.isArray(t)||t.length===0?"-":t.length===1?sb(t[0]):`${sb(t[0])}, ... (${t.length} values)`}const Jee=new Set(["thermo_params","reaction_params"]);function X8(t,e,r){if(t.toLowerCase().includes(r))return!0;const[,,n]=e;for(const i of n)if(sb(i).toLowerCase().includes(r))return!0;return!1}function wN(t,e){for(const[r,n]of Object.entries(t))if(!Jee.has(r)){if(Qee(n)){if(X8(r,n,e))return!0}else if(typeof n=="object"&&n!==null&&!Array.isArray(n)&&(r.toLowerCase().includes(e)||wN(n,e)))return!0}return!1}function ete({data:t,searchTerm:e,defaultOpen:r,dofInfo:n,pathPrefix:i}){const a=Object.entries(t).filter(([u])=>!Jee.has(u));let s=[],o=[],l=[];for(const[u,h]of a)Qee(h)?h[0]==="P"?o.push([u,h]):s.push([u,h]):typeof h=="object"&&h!==null&&!Array.isArray(h)&&l.push([u,h]);return e&&(s=s.filter(([u,h])=>X8(u,h,e)),o=o.filter(([u,h])=>X8(u,h,e)),l=l.filter(([u,h])=>u.toLowerCase().includes(e)||wN(h,e))),De.jsxs(De.Fragment,{children:[s.length>0&&De.jsx(Z6,{label:"Var",childCount:s.length,labelColor:"#70ad47",defaultOpen:r,children:s.map(([u,h])=>De.jsx(Kz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),o.length>0&&De.jsx(Z6,{label:"Param",childCount:o.length,labelColor:"#5b9bd5",defaultOpen:r,children:o.map(([u,h])=>De.jsx(Kz,{name:u,varData:h,defaultOpen:r,highlight:e},u))}),l.map(([u,h])=>{const d=Object.keys(h).length,p=e&&u.toLowerCase().includes(e)?"":e,m=i?`${i}.${u}`:u;let v;if(n){const x=n.steps[n.lastStepName];x&&(v=x[m])}const b=v!==void 0&&m==="fs"?De.jsxs("span",{style:{fontSize:"11px",color:"#888",marginLeft:"2px"},children:[", DoF(",v,")"]}):void 0;return De.jsx(Z6,{label:u,childCount:d,defaultOpen:r,extra:b,children:De.jsx(ete,{data:h,searchTerm:p,defaultOpen:r,dofInfo:n,pathPrefix:m})},u)})]})}function Mke({data:t,dofSteps:e}){const[r,n]=Zt.useState(""),[i,a]=Zt.useState(!1),[s,o]=Zt.useState(0),l=Zt.useMemo(()=>r.trim().toLowerCase(),[r]),u=()=>{a(p=>!p),o(p=>p+1)},h=Zt.useMemo(()=>{if(!e)return;const p=Object.keys(e);if(p.length!==0)return{steps:e,lastStepName:p[p.length-1]}},[e]),d=l?!0:i,f=l?`search-${l}`:`toggle-${s}`;return De.jsxs("div",{children:[De.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"12px",padding:"8px 0"},children:[De.jsx("input",{type:"text",placeholder:"Search variables...",value:r,onChange:p=>n(p.target.value),style:{flex:1,padding:"6px 10px",fontSize:"13px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",background:"var(--vscode-input-background, #1e1e1e)",color:"var(--vscode-input-foreground, #ccc)",outline:"none",fontFamily:"var(--vscode-font-family, sans-serif)"}}),De.jsx("span",{onClick:u,style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:"12px",border:"1px solid var(--vscode-panel-border, #555)",borderRadius:"4px",color:"var(--vscode-foreground, #ccc)",whiteSpace:"nowrap"},children:i&&!l?"Collapse All ▲":"Expand All ▼"})]}),De.jsx("div",{children:De.jsx(ete,{data:t,searchTerm:l,defaultOpen:d,dofInfo:h,pathPrefix:""})},f),l&&De.jsx(Oke,{data:t,searchTerm:l})]})}function Oke({data:t,searchTerm:e}){return Zt.useMemo(()=>wN(t,e),[t,e])?null:De.jsxs("p",{style:{color:"#888",fontStyle:"italic",paddingLeft:"12px",fontSize:"13px"},children:['No variables or parameters matching "',e,'"']})}const Ike="_run_error_nknwf_18",Bke="_run_error_title_nknwf_27",Pke="_run_error_body_nknwf_32",Fke="_run_error_hint_nknwf_37",n4={run_error:Ike,run_error_title:Bke,run_error_body:Pke,run_error_hint:Fke};function $ke(){const{flowsheetRunnerResult:t}=Zt.useContext(Ua),e=t?.actions?.diagnostics,r=t?.actions?.model_variables?.variables,n=!!t&&e?.valid===!1;if(!t)return De.jsx("p",{children:"No flowsheet variable data available"});if(n){const a=t.last_run??[];return De.jsxs("div",{className:n4.run_error,children:[De.jsx("p",{className:n4.run_error_title,children:"fi-run has issues: Variable Data Unavailable"}),De.jsxs("p",{className:n4.run_error_body,children:["The flowsheet run may have failed or did not reach the solve step.",a.length>0&&` Last completed steps: ${a.join(" → ")}.`]}),De.jsx("p",{className:n4.run_error_hint,children:"Check the error log for details."})]})}if(!r||Object.keys(r).length===0)return De.jsx("p",{children:"No flowsheet variable data available"});const i=t.actions?.degrees_of_freedom?.steps;return De.jsxs("section",{children:[De.jsx("h2",{className:"page-title",children:"Flowsheet Parameters & Variables:"}),De.jsx(Mke,{data:r,dofSteps:i})]})}const zke="_tabs_1froz_2",qke="_tab_1froz_2",Vke="_tab_active_1froz_24",Gke="_logs_main_container_1froz_30",Uke="_tab_content_1froz_39",Hke="_content_section_1froz_47",Wke="_logs_container_1froz_54",Yke="_logs_header_1froz_67",Xke="_logs_title_1froz_76",jke="_clear_logs_button_1froz_82",Kke="_log_item_1froz_96",Zke="_no_logs_1froz_104",Pi={tabs:zke,tab:qke,tab_active:Vke,logs_main_container:Gke,tab_content:Uke,content_section:Hke,logs_container:Wke,logs_header:Yke,logs_title:Xke,clear_logs_button:jke,log_item:Kke,no_logs:Zke};function Qke(){const{extensionErrorLogs:t,setExtensionErrorLogs:e}=Zt.useContext(Ua),r=()=>{e([])};return De.jsxs("div",{className:Pi.content_section,children:[De.jsxs("div",{className:Pi.logs_header,children:[De.jsx("h2",{className:Pi.logs_title,children:"Extension Logs & Errors"}),De.jsx("button",{className:Pi.clear_logs_button,onClick:r,title:"Clear all logs",children:"Clear Logs"})]}),De.jsx("div",{className:Pi.logs_container,children:t.length===0?De.jsx("span",{className:Pi.no_logs,children:"No errors logged."}):t.map((n,i)=>De.jsx("div",{className:Pi.log_item,children:n},i))})]})}function Jke(){const{terminalLogs:t,setTerminalLogs:e}=Zt.useContext(Ua),r=Zt.useRef(null);Zt.useEffect(()=>{r.current?.scrollIntoView({behavior:"smooth"})},[t.length]);const n=()=>{e([])};return De.jsxs("div",{className:Pi.content_section,children:[De.jsxs("div",{className:Pi.logs_header,children:[De.jsx("h2",{className:Pi.logs_title,children:"Terminal Output"}),De.jsx("button",{className:Pi.clear_logs_button,onClick:n,title:"Clear terminal logs",children:"Clear Logs"})]}),De.jsxs("div",{className:Pi.logs_container,children:[t.length===0?De.jsx("span",{className:Pi.no_logs,children:"No terminal output."}):t.map((i,a)=>De.jsx("div",{style:{whiteSpace:"pre-wrap",fontFamily:"var(--vscode-editor-font-family, monospace)",marginBottom:"2px",wordBreak:"break-all"},children:i},a)),De.jsx("div",{ref:r})]})]})}function e6e(){const{activeLogTab:t,setActiveLogTab:e}=Zt.useContext(Ua);return Zt.useEffect(()=>{const r=n=>{const i=n.data;i.type==="switch_sub_tab"&&i.sub_tab_name&&(i.sub_tab_name==="error"||i.sub_tab_name==="terminal")&&e(i.sub_tab_name)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[]),De.jsxs("div",{className:Pi.logs_main_container,children:[De.jsxs("div",{className:Pi.tabs,children:[De.jsx("span",{className:`${Pi.tab} ${t==="error"?Pi.tab_active:""}`,onClick:()=>e("error"),children:"Error Log"}),De.jsx("span",{className:`${Pi.tab} ${t==="terminal"?Pi.tab_active:""}`,onClick:()=>e("terminal"),children:"Terminal Logs"})]}),De.jsxs("div",{className:Pi.tab_content,children:[t==="error"&&De.jsx(Qke,{}),t==="terminal"&&De.jsx(Jke,{})]})]})}const t6e="_main_display_container_xlfzb_1",r6e="_nav_xlfzb_11",n6e="_nav_item_xlfzb_25",i6e="_nav_item_active_xlfzb_44",a6e="_blue_dot_xlfzb_49",to={main_display_container:t6e,nav:r6e,nav_item:n6e,nav_item_active:i6e,blue_dot:a6e};function s6e(){const[t,e]=Zt.useState("diagram"),{extensionErrorLogs:r,setActiveLogTab:n}=Zt.useContext(Ua),[i,a]=Zt.useState(!1),s=Zt.useRef(r.length),{flowsheetRunnerResult:o}=Zt.useContext(Ua),l=o?.actions?.degrees_of_freedom?.model;Zt.useEffect(()=>{const d=f=>{const p=f.data;p.type==="switch_sub_tab"&&p.tab_name&&(e(p.tab_name),(p.sub_tab_name==="error"||p.sub_tab_name==="terminal")&&n(p.sub_tab_name))};return window.addEventListener("message",d),()=>window.removeEventListener("message",d)},[]),Zt.useEffect(()=>{r.length>s.current&&setTimeout(()=>{a(!1),setTimeout(()=>a(!0),50)},0),s.current=r.length},[r.length]);let u=De.jsx(De.Fragment,{});switch(t){case"diagram":u=De.jsx(GEe,{});break;case"variable":u=De.jsx($ke,{});break;case"ipopt":u=De.jsx(eke,{});break;case"diagnostics":u=De.jsx(Dke,{});break;case"logs":u=De.jsx(e6e,{});break;default:u=De.jsxs("div",{children:["Unknown tab: ",t]})}function h(d){e(d)}return De.jsxs("div",{className:`${to.main_display_container}`,children:[De.jsxs("ul",{className:`${to.nav}`,children:[De.jsx("li",{className:`${to.nav_item} ${t==="diagram"?to.nav_item_active:""}`,onClick:()=>h("diagram"),children:"DIAGRAM"}),De.jsxs("li",{className:`${to.nav_item} ${t==="variable"?to.nav_item_active:""}`,onClick:()=>h("variable"),children:["FLOWSHEET VARIABLES ",l!==void 0&&De.jsxs("span",{style:{textTransform:"none",fontStyle:"italic",marginLeft:"4px"},children:["DoF(",l,")"]})]}),De.jsx("li",{className:`${to.nav_item} ${t==="diagnostics"?to.nav_item_active:""}`,onClick:()=>h("diagnostics"),children:"DIAGNOSTICS"}),De.jsx("li",{className:`${to.nav_item} ${t==="ipopt"?to.nav_item_active:""}`,onClick:()=>h("ipopt"),children:"IPOPT"}),De.jsxs("li",{className:`${to.nav_item} ${t==="logs"?to.nav_item_active:""} ${i?"flash-red-highlight":""}`,onClick:()=>{h("logs"),a(!1)},children:["LOGS ",i&&De.jsx("span",{className:`${to.blue_dot}`})]})]}),De.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:u})]})}function o6e(){const{setidaesRunInfo:t,setEditorContent:e,setActivateFileName:r,flowsheetRunnerResult:n,setFlowsheetRunnerResult:i,setExtensionErrorLogs:a,setTerminalLogs:s,setIsLoading:o,setInitError:l,setPackageWarnings:u,setOpenPythonFiles:h,setIdaesHistoryList:d,setMermaidDiagram:f,setOsPlatform:p,setPythonEnvInfo:m}=Zt.useContext(Ua),[v,b]=Zt.useState(""),[x,C]=Zt.useState(!1);function T(E){let _;switch(console.log(`Now loading page: ${E}`),E){case"editor":_=De.jsx(Qfe,{});break;case"webView":console.log("loading web view page"),_=De.jsx(s6e,{});break;case"treeView":console.log("loading tree page"),_=De.jsx(Zfe,{});break;case"error":console.log(`Encounter an error: ${E}`);break;default:console.log("Unknown message type:",E);break}return _}return Zt.useEffect(()=>{if(!n)return;const E=n.actions?.diagnostics;if(E?.valid!==!1)return;const _=n.last_run??[],R=`[${new Date().toLocaleTimeString()}]`;a(k=>[...k,`${R} fi-run has issues: diagnostics unavailable (valid=false). Last completed steps: [${_.join(", ")}]. Raw data: ${JSON.stringify({diagnostics:E,last_run:_})}`,`${R} fi-run has issues: model variables unavailable. Raw data: ${JSON.stringify({model_variables:n.actions?.model_variables,last_run:_})}`,`${R} fi-run has issues: solver output may be incomplete. Raw data: ${JSON.stringify({solver_output:n.actions?.solver_output,last_run:_})}`,`${R} fi-run has issues: mermaid diagram unavailable. Raw data: ${JSON.stringify({mermaid_diagram:n.actions?.mermaid_diagram,last_run:_})}`])},[n]),Zt.useEffect(()=>{window.addEventListener("message",E=>{const _=E.data;switch(_.type){case"init":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content),r(_.fileName),t(_.idaesRunInfo),b(_.loadApp),o(!1),_.osPlatform&&p(_.osPlatform);break;case"update":console.log(`VSCode post message: ${JSON.stringify(_)}`),e(_.content);break;case"switch_tab":console.log("Received switch_tab event with payload:",_),_.isLoading!==void 0&&(console.log("Calling setIsLoading with:",_.isLoading),o(_.isLoading)),r(_.activate_tab_name),_.idaesRunInfo!==void 0&&t(_.idaesRunInfo),_.initError?l(_.initError):(_.initError===null||_.isLoading)&&l(null),_.isLoading?u(null):_.packageWarnings!==void 0&&u(_.packageWarnings),_.open_python_files!==void 0&&h(_.open_python_files);break;case"python_env_update":console.log("Received python_env_update:",_),m({current:_.current??null,envs:_.envs??[]});break;case"update_open_files":console.log("Received update_open_files event"),_.open_python_files!==void 0&&h(_.open_python_files);break;case"flowsheet_detail":console.log(`VSCode post message: ${JSON.stringify(_)}`);break;case"flowsheet_runner_result":console.log("receited flowsheet runner result, and update state"),i(_.data);break;case"error":console.log(`VSCode post error message: ${JSON.stringify(_)}`),a(R=>{const k=`[${new Date().toLocaleTimeString()}] ${_.message||JSON.stringify(_)}`;return[...R,k]});break;case"terminal_log":s(R=>[...R,_.data]);break;case"start_new_run":i(null),f(""),a([]);break;case"clear_terminal_logs":s([]);break;case"highlight_view":console.log("Highlighting view per VSCode instruction"),C(!1),setTimeout(()=>C(!0),10);break;case"history_update":console.log(`Received history list length: ${_.data?.length}`),d(_.data);break;default:console.log("Unknown message type:",JSON.stringify(_));break}}),Hh.postMessage({frontendInstruction:"ready",fromPanel:"treeView"})},[]),De.jsx("div",{className:x?"flash-highlight":"",onAnimationEnd:()=>C(!1),style:{height:"100vh",width:"100vw",boxSizing:"border-box",backgroundColor:"var(--vscode-editor-background)",color:"var(--vscode-editor-foreground)"},children:T(v)})}zde.createRoot(document.getElementById("root")).render(De.jsx(Zt.StrictMode,{children:De.jsx(qde,{children:De.jsx(o6e,{})})}));class qt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(l6e,"-$1").toLowerCase(),c6e={"&":"&",">":">","<":"<",'"':""","'":"'"},u6e=/[&><"']/g,Ga=t=>String(t).replace(u6e,e=>c6e[e]),y3=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?y3(t.body[0]):t:t.type==="font"?y3(t.body):t,h6e=new Set(["mathord","textord","atom"]),qu=t=>h6e.has(y3(t).type),d6e=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},rw={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function f6e(t){if("default"in t)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class SN{constructor(e){e===void 0&&(e={}),e=e||{};for(var r of Object.keys(rw)){var n=rw[r],i=e[r];this[r]=i!==void 0?n.processor?n.processor(i):i:f6e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new qt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=d6e(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class Eh{constructor(e,r,n){this.id=e,this.size=r,this.cramped=n}sup(){return Gl[p6e[this.id]]}sub(){return Gl[g6e[this.id]]}fracNum(){return Gl[m6e[this.id]]}fracDen(){return Gl[y6e[this.id]]}cramp(){return Gl[v6e[this.id]]}text(){return Gl[b6e[this.id]]}isTight(){return this.size>=2}}var EN=0,nw=1,Og=2,Tu=3,ob=4,zo=5,gm=6,cs=7,Gl=[new Eh(EN,0,!1),new Eh(nw,0,!0),new Eh(Og,1,!1),new Eh(Tu,1,!0),new Eh(ob,2,!1),new Eh(zo,2,!0),new Eh(gm,3,!1),new Eh(cs,3,!0)],p6e=[ob,zo,ob,zo,gm,cs,gm,cs],g6e=[zo,zo,zo,zo,cs,cs,cs,cs],m6e=[Og,Tu,ob,zo,gm,cs,gm,cs],y6e=[Tu,Tu,zo,zo,cs,cs,cs,cs],v6e=[nw,nw,Tu,Tu,zo,zo,cs,cs],b6e=[EN,nw,Og,Tu,Og,Tu,Og,Tu],Rr={DISPLAY:Gl[EN],TEXT:Gl[Og],SCRIPT:Gl[ob],SCRIPTSCRIPT:Gl[gm]},j8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function x6e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var v3=[];j8.forEach(t=>t.blocks.forEach(e=>v3.push(...e)));function tte(t){for(var e=0;e=v3[e]&&t<=v3[e+1])return!0;return!1}var ji=t=>t+" "+t,Np=80,T6e=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -357,7 +357,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},L6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},w6e=function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -367,7 +367,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},R6e=function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},C6e=function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -376,7 +376,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},D6e=function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},S6e=function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -386,18 +386,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},N6e=function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},E6e=function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},M6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},O6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},k6e=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},_6e=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},I6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=A6e(r,Mp);break;case"sqrtSize1":i=L6e(r,Mp);break;case"sqrtSize2":i=R6e(r,Mp);break;case"sqrtSize3":i=D6e(r,Mp);break;case"sqrtSize4":i=N6e(r,Mp);break;case"sqrtTall":i=O6e(r,Mp,n)}return i},B6e=function(e,r){switch(e){case"⎜":return Xi("M291 0 H417 V"+r+" H291z");case"∣":return Xi("M145 0 H188 V"+r+" H145z");case"∥":return Xi("M145 0 H188 V"+r+" H145z")+Xi("M367 0 H410 V"+r+" H367z");case"⎟":return Xi("M457 0 H583 V"+r+" H457z");case"⎢":return Xi("M319 0 H403 V"+r+" H319z");case"⎥":return Xi("M263 0 H347 V"+r+" H263z");case"⎪":return Xi("M384 0 H504 V"+r+" H384z");case"⏐":return Xi("M312 0 H355 V"+r+" H312z");case"‖":return Xi("M257 0 H300 V"+r+" H257z")+Xi("M478 0 H521 V"+r+" H478z");default:return""}},Qz={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},A6e=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=T6e(r,Np);break;case"sqrtSize1":i=w6e(r,Np);break;case"sqrtSize2":i=C6e(r,Np);break;case"sqrtSize3":i=S6e(r,Np);break;case"sqrtSize4":i=E6e(r,Np);break;case"sqrtTall":i=_6e(r,Np,n)}return i},L6e=function(e,r){switch(e){case"⎜":return ji("M291 0 H417 V"+r+" H291z");case"∣":return ji("M145 0 H188 V"+r+" H145z");case"∥":return ji("M145 0 H188 V"+r+" H145z")+ji("M367 0 H410 V"+r+" H367z");case"⎟":return ji("M457 0 H583 V"+r+" H457z");case"⎢":return ji("M319 0 H403 V"+r+" H319z");case"⎥":return ji("M263 0 H347 V"+r+" H263z");case"⎪":return ji("M384 0 H504 V"+r+" H384z");case"⏐":return ji("M312 0 H355 V"+r+" H312z");case"‖":return ji("M257 0 H300 V"+r+" H257z")+ji("M478 0 H521 V"+r+" H478z");default:return""}},Zz={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 @@ -443,10 +443,10 @@ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 - 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Xi("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:Xi("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:Xi("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:Xi("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:ji("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:ji("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:ji("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:ji("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 - 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Xi("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:ji("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334 c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 @@ -495,7 +495,7 @@ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 - 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Xi("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:Xi("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:Xi("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:ji("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:ji("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:ji("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 @@ -568,7 +568,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},P6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},R6e=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -596,38 +596,38 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Um{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var Z8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},F6e={ex:!0,em:!0,mu:!0},nte=function(e){return typeof e!="string"&&(e=e.unit),e in Z8||e in F6e||e==="ex"},ni=function(e,r){var n;if(e.unit in Z8)n=Z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},id=function(e){return e.filter(r=>r).join(" ")},ite=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ate=function(e){var r=document.createElement(e);r.className=id(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ste=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ua(id(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ua(n)+'"');for(var a of Object.keys(this.attributes)){if($6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ua(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Hm{constructor(e,r,n,i){ite.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"span")}toMarkup(){return ste.call(this,"span")}}let XC=class{constructor(e,r,n,i){ite.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ate.call(this,"a")}toMarkup(){return ste.call(this,"a")}};class z6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ua(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=id(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=SN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ua(n)+'"');var a=Ua(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Mu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Q8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var U6e=t=>t instanceof Hm||t instanceof XC||t instanceof Um,jl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aT={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Jz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ote(t,e){jl[t]=e}function _N(t,e,r){if(!jl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=jl[e][n];if(!i&&t[0]in Jz&&(n=Jz[t[0]].charCodeAt(0),i=jl[e][n]),!i&&r==="text"&&rte(n)&&(i=jl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var e_={};function H6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!e_[e]){var r=e_[e]={cssEmPerMu:aT.quad[e]/18};for(var n in aT)aT.hasOwnProperty(n)&&(r[n]=aT[n][e])}return e_[e]}var W6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Y6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},jn={math:{},text:{}};function K(t,e,r,n,i,a){jn[t][i]={font:e,group:r,replace:n},a&&n&&(jn[t][n]=jn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Qn="accent-token",er="bin",bs="close",Wm="inner",mr="mathord",Hi="op-token",mo="open",nx="punct",Fe="rel",Gu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,nx,".","\\ldotp");K(J,ce,nx,"⋅","\\cdotp");K(J,ce,nx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Gu," ","\\ ");K(J,ce,Gu," ","\\space");K(J,ce,Gu," ","\\nobreakspace");K(Ot,ce,Gu," ","\\ ");K(Ot,ce,Gu," "," ");K(Ot,ce,Gu," ","\\space");K(Ot,ce,Gu," ","\\nobreakspace");K(J,ce,Gu,null,"\\nobreak");K(J,ce,Gu,null,"\\allowbreak");K(J,ce,nx,",",",");K(J,ce,nx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Hi,"∐","\\coprod");K(J,ce,Hi,"⋁","\\bigvee");K(J,ce,Hi,"⋀","\\bigwedge");K(J,ce,Hi,"⨄","\\biguplus");K(J,ce,Hi,"⋂","\\bigcap");K(J,ce,Hi,"⋃","\\bigcup");K(J,ce,Hi,"∫","\\int");K(J,ce,Hi,"∫","\\intop");K(J,ce,Hi,"∬","\\iint");K(J,ce,Hi,"∭","\\iiint");K(J,ce,Hi,"∏","\\prod");K(J,ce,Hi,"∑","\\sum");K(J,ce,Hi,"⨂","\\bigotimes");K(J,ce,Hi,"⨁","\\bigoplus");K(J,ce,Hi,"⨀","\\bigodot");K(J,ce,Hi,"∮","\\oint");K(J,ce,Hi,"∯","\\oiint");K(J,ce,Hi,"∰","\\oiiint");K(J,ce,Hi,"⨆","\\bigsqcup");K(J,ce,Hi,"∫","\\smallint");K(Ot,ce,Wm,"…","\\textellipsis");K(J,ce,Wm,"…","\\mathellipsis");K(Ot,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"…","\\ldots",!0);K(J,ce,Wm,"⋯","\\@cdots",!0);K(J,ce,Wm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Qn,"ˊ","\\acute");K(J,ce,Qn,"ˋ","\\grave");K(J,ce,Qn,"¨","\\ddot");K(J,ce,Qn,"~","\\tilde");K(J,ce,Qn,"ˉ","\\bar");K(J,ce,Qn,"˘","\\breve");K(J,ce,Qn,"ˇ","\\check");K(J,ce,Qn,"^","\\hat");K(J,ce,Qn,"⃗","\\vec");K(J,ce,Qn,"˙","\\dot");K(J,ce,Qn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Qn,"ˊ","\\'");K(Ot,ce,Qn,"ˋ","\\`");K(Ot,ce,Qn,"ˆ","\\^");K(Ot,ce,Qn,"˜","\\~");K(Ot,ce,Qn,"ˉ","\\=");K(Ot,ce,Qn,"˘","\\u");K(Ot,ce,Qn,"˙","\\.");K(Ot,ce,Qn,"¸","\\c");K(Ot,ce,Qn,"˚","\\r");K(Ot,ce,Qn,"ˇ","\\v");K(Ot,ce,Qn,"¨",'\\"');K(Ot,ce,Qn,"˝","\\H");K(Ot,ce,Qn,"◯","\\textcircled");var lte={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var eq='0123456789/@."';for(var t_=0;t_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[lT[s][2],lT[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[iq[o][2],iq[o][a]]}else{if(i===120485||i===120486)return[lT[0][2],lT[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=X6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=eL[l].fontName,f=[l]):(d=cT(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(KC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(lte.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(id(t.classes)!==id(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},cte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Hm(e,r,n,i);return LN(a),a},sd=(t,e,r,n)=>new Hm(t,e,r,n),ym=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},Z6e=function(e,r,n,i){var a=new XC(e,r,n,i);return LN(a),a},Uu=function(e){var r=new Um(e);return LN(r),r},vm=function(e,r){return e instanceof Um?Pt([],[e],r):e},Q6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ni(t,e);return r.style.marginRight=Gt(n),r},cT=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},eL={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},hte={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dte=function(e,r){var[n,i,a]=hte[e],s=new ad(n),o=new Mu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=sd(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ri={number:3,unit:"mu"},rf={number:4,unit:"mu"},Vc={number:5,unit:"mu"},J6e={mord:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mop:{mord:ri,mop:ri,mrel:Vc,minner:ri},mbin:{mord:rf,mop:rf,mopen:rf,minner:rf},mrel:{mord:Vc,mop:Vc,mopen:Vc,minner:Vc},mopen:{},mclose:{mop:ri,mbin:rf,mrel:Vc,minner:ri},mpunct:{mord:ri,mop:ri,mrel:Vc,mopen:ri,mclose:ri,mpunct:ri,minner:ri},minner:{mord:ri,mop:ri,mbin:rf,mrel:Vc,mopen:ri,mpunct:ri,minner:ri}},e_e={mord:{mop:ri},mop:{mord:ri,mop:ri},mbin:{},mrel:{},mopen:{},mclose:{mop:ri},mpunct:{},minner:{mop:ri}},fte={},sw={},ow={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&r_e.has(x)?v.classes[0]="mord":x==="mbin"&&t_e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),tL(a,(m,v)=>{var b,x,C=nL(v),T=nL(m),E=C&&T?m.hasClass("mtight")?(b=e_e[C])==null?void 0:b[T]:(x=J6e[C])==null?void 0:x[T]:null;if(E)return ute(E,u)},{node:d},f,p),a},tL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},pte=function(e){return e instanceof Um||e instanceof XC||e instanceof Hm&&e.hasClass("enclosing")?e:null},rL=function(e,r){var n=pte(e);if(n){var i=n.children;if(i.length){if(r==="right")return rL(i[i.length-1],"right");if(r==="left")return rL(i[0],"left")}}return e},nL=function(e,r){if(!e)return null;r&&(e=rL(e,r));var n=e.classes[0];return i_e[n]||null},cb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function uT(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function iL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ta(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(uT(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(uT(s,e));var u;r?(u=uT(ta(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function gte(t){return new Um(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=id(this.classes));for(var n=0;n0&&(e+=' class ="'+Ua(id(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class qi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ua(this.toText())}toText(){return this.text}}class mte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var a_e=new Set(["\\imath","\\jmath"]),s_e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return jn[r][e]&&jn[r][e].replace&&e.charCodeAt(0)!==55349&&!(lte.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=jn[r][e].replace),new qi(e)},RN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},DN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(a_e.has(a))return null;if(jn[i][a]){var s=jn[i][a].replace;s&&(a=s)}var o=eL[n].fontName;return _N(a,o,i)?eL[n].variant:null};function a_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof qi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof qi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Dn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||a_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof qi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof qi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},od=function(e,r,n){return RN(yo(e,r,n))},Dn=function(e,r){if(!e)return new Vt("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function aq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&s_e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new qi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var o_e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],oq=function(e,r){return r.size<2?e:o_e[e-1][r.size-1]};class au{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||au.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=sq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new au(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:oq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:sq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=oq(au.BASESIZE,e);return this.size===r&&this.textSize===au.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==au.BASESIZE?["sizing","reset-size"+this.size,"size"+au.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=H6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}au.BASESIZE=6;var yte=function(e){return new au({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},vte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},l_e=function(e,r,n){var i=yte(n),a;if(n.output==="mathml")return aq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=iL(e,i);a=Pt(["katex"],[s])}else{var o=aq(e,r,i,n.displayMode,!1),l=iL(e,i);a=Pt(["katex"],[o,l])}return vte(a,n)},c_e=function(e,r,n){var i=yte(n),a=iL(e,i),s=Pt(["katex"],[a]);return vte(s,n)},u_e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},QC=function(e){var r=new Vt("mo",[new qi(u_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},h_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},d_e=new Set(["widehat","widecheck","widetilde","utilde"]),JC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(d_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new ad(f),b=new Mu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:sd([],[b],r),minWidth:0,height:p}}else{var x=[],C=h_e[l],[T,E,_]=C,A=_/1e3,k=T.length,R,O;if(k===1){var F=C[3];R=["hide-tail"],O=[F]}else if(k===2)R=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)R=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},f_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Q8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Mu(u,{width:"100%",height:Gt(o)});s=sd([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function eS(t){var e=tS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function tS(t){return t&&(t.type==="atom"||Y6e.hasOwnProperty(t.type))?t:null}var bte=t=>{if(t instanceof go)return t;if(U6e(t)&&t.children.length===1)return bte(t.children[0])},NN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=G6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&Vu(r),o=0;if(s){var l,u;o=(l=(u=bte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=JC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=dte("vec",e),m=hte.vec[1]):(p=ZC({mode:n.mode,text:n.label},e,"textord"),p=V6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},xte=(t,e)=>{var r=t.isStretchy?QC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Dn(t.base,e),r]);return n.setAttribute("accent","true"),n},p_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=lw(e[0]),n=!p_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:NN,mathmlBuilder:xte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=JC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=QC(t.label),n=new Vt("munder",[Dn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var hT=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=vm(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=vm(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=JC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=QC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=hT(Dn(t.body,e));if(t.below){var a=hT(Dn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=hT(Dn(t.below,e));n=new Vt("munder",[r,s])}else n=hT(),n=new Vt("mover",[r,n]);return n}});function Tte(t,e){var r=ta(t.body,e,!0);return Pt([t.mclass],r,e)}function wte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:zi(i),isCharacterBox:Vu(i)}},htmlBuilder:Tte,mathmlBuilder:wte});var rS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:rS(e[0]),body:zi(e[1]),isCharacterBox:Vu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=rS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:zi(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:Vu(l)}},htmlBuilder:Tte,mathmlBuilder:wte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:rS(e[0]),body:zi(e[0])}},htmlBuilder(t,e){var r=ta(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var g_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},lq=()=>({type:"styling",body:[],mode:"math",style:"display"}),cq=t=>t.type==="textord"&&t.text==="@",m_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function y_e(t,e,r){var n=g_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function v_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=y_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=lq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=vm(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Dn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=vm(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Dn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var Cte=(t,e)=>{var r=ta(t.body,e.withColor(t.color),!1);return Uu(r)},Ste=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:zi(i)}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Cte,mathmlBuilder:Ste});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ni(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ni(t.size,e)))),r}});var aL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ete=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},b_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kte=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(aL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=aL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===aL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken());e.gullet.consumeSpaces();var i=b_e(e);return kte(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ete(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return kte(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var i2=function(e,r,n){var i=jn.math[e]&&jn.math[e].replace,a=_N(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},MN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},_te=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},x_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=MN(o,r,i,s);return _te(l,i,r),l},T_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},Ate=function(e,r,n,i,a,s){var o=T_e(e,r,a,i),l=MN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&_te(l,i,Rr.TEXT),l},s_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},o_=function(e,r,n){var i=jl["Size4-Regular"][e.charCodeAt(0)]?jl["Size4-Regular"][e.charCodeAt(0)][4]:jl["Size1-Regular"][e.charCodeAt(0)][4],a=new ad("inner",B6e(e,Math.round(1e3*r))),s=new Mu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=sd([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},sL=.008,dT={type:"kern",size:-1*sL},w_e=new Set(["|","\\lvert","\\rvert","\\vert"]),C_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Lte=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):w_e.has(e)?(u="∣",d="vert",f=333):C_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=i2(o,p,a),v=m.height+m.depth,b=i2(u,p,a),x=b.height+b.depth,C=i2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var A=i2(l,p,a);E=A.height+A.depth,_=2}var k=v+T+E,R=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+R*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=P6e(d,Math.round(z*1e3)),N=new ad(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Mu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=sd([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(s_(h,p,a)),q.push(dT),l===null){var P=O-v-T+2*sL;q.push(o_(u,P,i))}else{var H=(O-v-T-E)/2+2*sL;q.push(o_(u,H,i)),q.push(dT),q.push(s_(l,p,a)),q.push(dT),q.push(o_(u,H,i))}q.push(dT),q.push(s_(o,p,a))}var j=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return MN(Pt(["delimsizing","mult"],[Z],j),Rr.TEXT,i,s)},l_=80,c_=.08,u_=function(e,r,n,i,a){var s=I6e(e,i,n),o=new ad(e,s),l=new Mu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return sd(["hide-tail"],[l],a)},S_e=function(e,r){var n=r.havingBaseSizing(),i=Ote("\\surd",e*n.sizeMultiplier,Mte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+l_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+c_)/a,u=(1+s)/a,o=u_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+l_)*D2[i.size],u=(D2[i.size]+s)/a,l=(D2[i.size]+s+c_)/a,o=u_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+c_,u=e+s,h=Math.floor(1e3*e+s)+l_,o=u_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Rte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),E_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Dte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),D2=[0,1.2,1.8,2.4,3],Nte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Rte.has(e)||Dte.has(e))return Ate(e,r,!1,n,i,a);if(E_e.has(e))return Lte(e,D2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},k_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],__e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Mte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],A_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Ote=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},oL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Dte.has(e)?o=k_e:Rte.has(e)?o=Mte:o=__e;var l=Ote(e,r,o,i);return l.type==="small"?x_e(e,l.style,n,i,a,s):l.type==="large"?Ate(e,l.size,n,i,a,s):Lte(e,r,n,i,a,s)},h_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return oL(e,d,!0,i,a,s)},uq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},L_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function nS(t,e){var r=tS(t);if(r&&L_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=nS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:uq[t.funcName].size,mclass:uq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Nte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(D2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function hq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:nS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{hq(t);for(var r=ta(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{hq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return RN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=nS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=cb(e,[]);else{r=Nte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var iS=(t,e)=>{var r=vm(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=Vu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ni({number:.6,unit:"pt"},e),u=ni({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=M6e(f),m=new Mu([new ad("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=sd(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=f_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},aS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Dn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:iS,mathmlBuilder:aS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ite={};function hc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},R_e=new Set(["gather","gather*"]);function ON(t){if(!t.includes("ed"))return!t.includes("*")}function xd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(dq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var A={type:"ordgroup",mode:t.mode,body:_};r&&(A={type:"styling",mode:t.mode,style:r,body:[A]}),m.push(A);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&A.type==="styling"&&A.body.length===1&&A.body[0].type==="ordgroup"&&A.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=j)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=ym("hline",r,h),ot=ym("hdashline",r,h),De=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?De.push({type:"elem",elem:ot,shift:it}):De.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:De})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),je=Pt(["tag"],[Ye],r);return Uu([We,je])},D_e={c:"center ",l:"left ",r:"right "},fc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};hc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=eS(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return xd(t.parser,a,IN(t.envName))},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=xd(t.parser,n,IN(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=xd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=tS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=eS(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=xd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=xd(t.parser,e,IN(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){R_e.has(t.envName)&&sS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ON(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Pte,htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){sS(t);var e={autoTag:ON(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return xd(t.parser,e,"display")},htmlBuilder:dc,mathmlBuilder:fc});hc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return sS(t),v_e(t.parser)},htmlBuilder:dc,mathmlBuilder:fc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var fq=Ite;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},$te=(t,e)=>{var r=t.font,n=e.withFont(r);return Dn(t.body,n)},pq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in pq&&(a=pq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Fte,mathmlBuilder:$te});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:rS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:Vu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Fte,mathmlBuilder:$te});var N_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Dn(t.numer,e),Dn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ni(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new qi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new qi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return RN(i)}return r},zte=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),zte({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:N_e,mathmlBuilder:M_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var gq=["display","text","script","scriptscript"],mq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?mq(a.text):null,o=lw(e[1]),l=o.type==="atom"&&o.family==="close"?mq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=gq[Number(m.text)]}}else p=Ir(p,"textord"),f=gq[Number(p.text)];return zte({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var qte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=JC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},O_e=(t,e)=>{var r=QC(t.label);return new Vt(t.isOver?"mover":"munder",[Dn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:qte,mathmlBuilder:O_e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:zi(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ta(t.body,e,!1);return Z6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=od(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ta(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>od(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:zi(e[0]),mathml:zi(e[1])}},htmlBuilder:(t,e)=>{var r=ta(t.html,e,!1);return Uu(r)},mathmlBuilder:(t,e)=>od(t.mathml,e)});var d_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!nte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ni(t.height,e),n=0;t.totalheight.number>0&&(n=ni(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ni(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new z6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ni(t.height,e),i=0;if(t.totalheight.number>0&&(i=ni(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ni(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return ute(t.dimension,e)},mathmlBuilder(t,e){var r=ni(t.dimension,e);return new mte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Dn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var yq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:zi(e[0]),text:zi(e[1]),script:zi(e[2]),scriptscript:zi(e[3])}},htmlBuilder:(t,e)=>{var r=yq(t,e),n=ta(r,e,!1);return Uu(n)},mathmlBuilder:(t,e)=>{var r=yq(t,e);return od(r,e)}});var Vte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&Vu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Gte=new Set(["\\smallint"]),Ym=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Gte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=dte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ta(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Gte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new qi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=gte([r,n])}return r},I_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=I_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:zi(n)}},htmlBuilder:Ym,mathmlBuilder:ix});var B_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ym,mathmlBuilder:ix});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=B_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Ym,mathmlBuilder:ix});var Ute=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ta(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new qi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):gte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:zi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ute,mathmlBuilder:P_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");P0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Uu(ta(t.body,e,!1)):Pt(["mord"],ta(t.body,e,!0),e)},mathmlBuilder(t,e){return od(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=ym("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Dn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:zi(n)}},htmlBuilder:(t,e)=>{var r=ta(t.body,e.withPhantom(),!1);return Uu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo(zi(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ni(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ni(t.width,e),i=ni(t.height,e),a=t.shift?ni(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ni(t.width,e),n=ni(t.height,e),i=t.shift?ni(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Hte(t,e,r){for(var n=ta(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Hte(t.body,r,e)};Qt({type:"sizing",names:vq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:vq.indexOf(n)+1,body:a}},htmlBuilder:F_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Dn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=vm(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Dn(r,e),Dn(n,e)]):new Vt("msqrt",[Dn(r,e)])}});var bq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r).withFont("");return Hte(t.body,n,e)},mathmlBuilder(t,e){var r=bq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var $_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Ym:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Ute:null}else{if(n.type==="accent")return Vu(n.base)?NN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?qte:null}else return null}else return null};P0({type:"supsub",htmlBuilder(t,e){var r=$_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&Vu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,A=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var R=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:R})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=nL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Dn(t.base,e)];t.sub&&a.push(Dn(t.sub,e)),t.sup&&a.push(Dn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});P0({type:"atom",htmlBuilder(t,e){return AN(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=DN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Wte={mi:"italic",mn:"normal",mtext:"normal"};P0({type:"mathord",htmlBuilder(t,e){return ZC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=DN(t,e)||"italic";return n!==Wte[r.type]&&r.setAttribute("mathvariant",n),r}});P0({type:"textord",htmlBuilder(t,e){return ZC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=DN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Wte[i.type]&&i.setAttribute("mathvariant",n),i}});var f_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},p_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};P0({type:"spacing",htmlBuilder(t,e){if(p_.hasOwnProperty(t.text)){var r=p_[t.text].className||"";if(t.mode==="text"){var n=ZC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[AN(t.text,t.mode,e)],e)}else{if(f_.hasOwnProperty(t.text))return Pt(["mspace",f_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(p_.hasOwnProperty(t.text))r=new Vt("mtext",[new qi(" ")]);else{if(f_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var xq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};P0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[xq(),new Vt("mtd",[od(t.body,e)]),xq(),new Vt("mtd",[od(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var Tq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},wq={"\\textbf":"textbf","\\textmd":"textmd"},z_e={"\\textit":"textit","\\textup":"textup"},Cq=(t,e)=>{var r=t.font;if(r){if(Tq[r])return e.withTextFontFamily(Tq[r]);if(wq[r])return e.withTextFontWeight(wq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(z_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:zi(i),font:n}},htmlBuilder(t,e){var r=Cq(t,e),n=ta(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=Cq(t,e);return od(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=ym("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Dn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Sq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),qh=fte,Yte=`[ \r - ]`,q_e="\\\\[a-zA-Z@]+",V_e="\\\\[^\uD800-\uDFFF]",G_e="("+q_e+")"+Yte+"*",U_e=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class Gm{constructor(e){this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText();return this.children.map(e).join("")}}var K8={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},D6e={ex:!0,em:!0,mu:!0},rte=function(e){return typeof e!="string"&&(e=e.unit),e in K8||e in D6e||e==="ex"},ni=function(e,r){var n;if(e.unit in K8)n=K8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new qt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Gt=function(e){return+e.toFixed(4)+"em"},nd=function(e){return e.filter(r=>r).join(" ")},nte=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ite=function(e){var r=document.createElement(e);r.className=nd(this.classes);for(var n of Object.keys(this.style))r.style[n]=this.style[n];for(var i of Object.keys(this.attributes))r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,ate=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Ga(nd(this.classes))+'"');var n="";for(var i of Object.keys(this.style))n+=CN(i)+":"+this.style[i]+";";n&&(r+=' style="'+Ga(n)+'"');for(var a of Object.keys(this.attributes)){if(N6e.test(a))throw new qt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+Ga(this.attributes[a])+'"'}r+=">";for(var s=0;s",r};class Um{constructor(e,r,n,i){nte.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ite.call(this,"span")}toMarkup(){return ate.call(this,"span")}}let XC=class{constructor(e,r,n,i){nte.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ite.call(this,"a")}toMarkup(){return ate.call(this,"a")}};class M6e{constructor(e,r,n){this.alt=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r of Object.keys(this.style))e.style[r]=this.style[r];return e}toMarkup(){var e=''+Ga(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Gt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=nd(this.classes));for(var n of Object.keys(this.style))r=r||document.createElement("span"),r.style[n]=this.style[n];return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+Gt(this.italic)+";");for(var i of Object.keys(this.style))n+=CN(i)+":"+this.style[i]+";";n&&(e=!0,r+=' style="'+Ga(n)+'"');var a=Ga(this.text);return e?(r+=">",r+=a,r+="",r):a}}class Nu{constructor(e,r){this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}}class Z8{constructor(e){this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e=" but got "+String(t)+".")}var P6e=t=>t instanceof Um||t instanceof XC||t instanceof Gm,Yl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},i4={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Qz={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ste(t,e){Yl[t]=e}function kN(t,e,r){if(!Yl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Yl[e][n];if(!i&&t[0]in Qz&&(n=Qz[t[0]].charCodeAt(0),i=Yl[e][n]),!i&&r==="text"&&tte(n)&&(i=Yl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var J6={};function F6e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!J6[e]){var r=J6[e]={cssEmPerMu:i4.quad[e]/18};for(var n in i4)i4.hasOwnProperty(n)&&(r[n]=i4[n][e])}return J6[e]}var $6e={bin:1,close:1,inner:1,open:1,punct:1,rel:1},z6e={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Xn={math:{},text:{}};function K(t,e,r,n,i,a){Xn[t][i]={font:e,group:r,replace:n},a&&n&&(Xn[t][n]=Xn[t][i])}var J="math",Ot="text",ce="main",Be="ams",Qn="accent-token",er="bin",bs="close",Hm="inner",mr="mathord",Hi="op-token",mo="open",rx="punct",Fe="rel",Vu="spacing",Ke="textord";K(J,ce,Fe,"≡","\\equiv",!0);K(J,ce,Fe,"≺","\\prec",!0);K(J,ce,Fe,"≻","\\succ",!0);K(J,ce,Fe,"∼","\\sim",!0);K(J,ce,Fe,"⊥","\\perp");K(J,ce,Fe,"⪯","\\preceq",!0);K(J,ce,Fe,"⪰","\\succeq",!0);K(J,ce,Fe,"≃","\\simeq",!0);K(J,ce,Fe,"∣","\\mid",!0);K(J,ce,Fe,"≪","\\ll",!0);K(J,ce,Fe,"≫","\\gg",!0);K(J,ce,Fe,"≍","\\asymp",!0);K(J,ce,Fe,"∥","\\parallel");K(J,ce,Fe,"⋈","\\bowtie",!0);K(J,ce,Fe,"⌣","\\smile",!0);K(J,ce,Fe,"⊑","\\sqsubseteq",!0);K(J,ce,Fe,"⊒","\\sqsupseteq",!0);K(J,ce,Fe,"≐","\\doteq",!0);K(J,ce,Fe,"⌢","\\frown",!0);K(J,ce,Fe,"∋","\\ni",!0);K(J,ce,Fe,"∝","\\propto",!0);K(J,ce,Fe,"⊢","\\vdash",!0);K(J,ce,Fe,"⊣","\\dashv",!0);K(J,ce,Fe,"∋","\\owns");K(J,ce,rx,".","\\ldotp");K(J,ce,rx,"⋅","\\cdotp");K(J,ce,rx,"⋅","·");K(Ot,ce,Ke,"⋅","·");K(J,ce,Ke,"#","\\#");K(Ot,ce,Ke,"#","\\#");K(J,ce,Ke,"&","\\&");K(Ot,ce,Ke,"&","\\&");K(J,ce,Ke,"ℵ","\\aleph",!0);K(J,ce,Ke,"∀","\\forall",!0);K(J,ce,Ke,"ℏ","\\hbar",!0);K(J,ce,Ke,"∃","\\exists",!0);K(J,ce,Ke,"∇","\\nabla",!0);K(J,ce,Ke,"♭","\\flat",!0);K(J,ce,Ke,"ℓ","\\ell",!0);K(J,ce,Ke,"♮","\\natural",!0);K(J,ce,Ke,"♣","\\clubsuit",!0);K(J,ce,Ke,"℘","\\wp",!0);K(J,ce,Ke,"♯","\\sharp",!0);K(J,ce,Ke,"♢","\\diamondsuit",!0);K(J,ce,Ke,"ℜ","\\Re",!0);K(J,ce,Ke,"♡","\\heartsuit",!0);K(J,ce,Ke,"ℑ","\\Im",!0);K(J,ce,Ke,"♠","\\spadesuit",!0);K(J,ce,Ke,"§","\\S",!0);K(Ot,ce,Ke,"§","\\S");K(J,ce,Ke,"¶","\\P",!0);K(Ot,ce,Ke,"¶","\\P");K(J,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\dag");K(Ot,ce,Ke,"†","\\textdagger");K(J,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\ddag");K(Ot,ce,Ke,"‡","\\textdaggerdbl");K(J,ce,bs,"⎱","\\rmoustache",!0);K(J,ce,mo,"⎰","\\lmoustache",!0);K(J,ce,bs,"⟯","\\rgroup",!0);K(J,ce,mo,"⟮","\\lgroup",!0);K(J,ce,er,"∓","\\mp",!0);K(J,ce,er,"⊖","\\ominus",!0);K(J,ce,er,"⊎","\\uplus",!0);K(J,ce,er,"⊓","\\sqcap",!0);K(J,ce,er,"∗","\\ast");K(J,ce,er,"⊔","\\sqcup",!0);K(J,ce,er,"◯","\\bigcirc",!0);K(J,ce,er,"∙","\\bullet",!0);K(J,ce,er,"‡","\\ddagger");K(J,ce,er,"≀","\\wr",!0);K(J,ce,er,"⨿","\\amalg");K(J,ce,er,"&","\\And");K(J,ce,Fe,"⟵","\\longleftarrow",!0);K(J,ce,Fe,"⇐","\\Leftarrow",!0);K(J,ce,Fe,"⟸","\\Longleftarrow",!0);K(J,ce,Fe,"⟶","\\longrightarrow",!0);K(J,ce,Fe,"⇒","\\Rightarrow",!0);K(J,ce,Fe,"⟹","\\Longrightarrow",!0);K(J,ce,Fe,"↔","\\leftrightarrow",!0);K(J,ce,Fe,"⟷","\\longleftrightarrow",!0);K(J,ce,Fe,"⇔","\\Leftrightarrow",!0);K(J,ce,Fe,"⟺","\\Longleftrightarrow",!0);K(J,ce,Fe,"↦","\\mapsto",!0);K(J,ce,Fe,"⟼","\\longmapsto",!0);K(J,ce,Fe,"↗","\\nearrow",!0);K(J,ce,Fe,"↩","\\hookleftarrow",!0);K(J,ce,Fe,"↪","\\hookrightarrow",!0);K(J,ce,Fe,"↘","\\searrow",!0);K(J,ce,Fe,"↼","\\leftharpoonup",!0);K(J,ce,Fe,"⇀","\\rightharpoonup",!0);K(J,ce,Fe,"↙","\\swarrow",!0);K(J,ce,Fe,"↽","\\leftharpoondown",!0);K(J,ce,Fe,"⇁","\\rightharpoondown",!0);K(J,ce,Fe,"↖","\\nwarrow",!0);K(J,ce,Fe,"⇌","\\rightleftharpoons",!0);K(J,Be,Fe,"≮","\\nless",!0);K(J,Be,Fe,"","\\@nleqslant");K(J,Be,Fe,"","\\@nleqq");K(J,Be,Fe,"⪇","\\lneq",!0);K(J,Be,Fe,"≨","\\lneqq",!0);K(J,Be,Fe,"","\\@lvertneqq");K(J,Be,Fe,"⋦","\\lnsim",!0);K(J,Be,Fe,"⪉","\\lnapprox",!0);K(J,Be,Fe,"⊀","\\nprec",!0);K(J,Be,Fe,"⋠","\\npreceq",!0);K(J,Be,Fe,"⋨","\\precnsim",!0);K(J,Be,Fe,"⪹","\\precnapprox",!0);K(J,Be,Fe,"≁","\\nsim",!0);K(J,Be,Fe,"","\\@nshortmid");K(J,Be,Fe,"∤","\\nmid",!0);K(J,Be,Fe,"⊬","\\nvdash",!0);K(J,Be,Fe,"⊭","\\nvDash",!0);K(J,Be,Fe,"⋪","\\ntriangleleft");K(J,Be,Fe,"⋬","\\ntrianglelefteq",!0);K(J,Be,Fe,"⊊","\\subsetneq",!0);K(J,Be,Fe,"","\\@varsubsetneq");K(J,Be,Fe,"⫋","\\subsetneqq",!0);K(J,Be,Fe,"","\\@varsubsetneqq");K(J,Be,Fe,"≯","\\ngtr",!0);K(J,Be,Fe,"","\\@ngeqslant");K(J,Be,Fe,"","\\@ngeqq");K(J,Be,Fe,"⪈","\\gneq",!0);K(J,Be,Fe,"≩","\\gneqq",!0);K(J,Be,Fe,"","\\@gvertneqq");K(J,Be,Fe,"⋧","\\gnsim",!0);K(J,Be,Fe,"⪊","\\gnapprox",!0);K(J,Be,Fe,"⊁","\\nsucc",!0);K(J,Be,Fe,"⋡","\\nsucceq",!0);K(J,Be,Fe,"⋩","\\succnsim",!0);K(J,Be,Fe,"⪺","\\succnapprox",!0);K(J,Be,Fe,"≆","\\ncong",!0);K(J,Be,Fe,"","\\@nshortparallel");K(J,Be,Fe,"∦","\\nparallel",!0);K(J,Be,Fe,"⊯","\\nVDash",!0);K(J,Be,Fe,"⋫","\\ntriangleright");K(J,Be,Fe,"⋭","\\ntrianglerighteq",!0);K(J,Be,Fe,"","\\@nsupseteqq");K(J,Be,Fe,"⊋","\\supsetneq",!0);K(J,Be,Fe,"","\\@varsupsetneq");K(J,Be,Fe,"⫌","\\supsetneqq",!0);K(J,Be,Fe,"","\\@varsupsetneqq");K(J,Be,Fe,"⊮","\\nVdash",!0);K(J,Be,Fe,"⪵","\\precneqq",!0);K(J,Be,Fe,"⪶","\\succneqq",!0);K(J,Be,Fe,"","\\@nsubseteqq");K(J,Be,er,"⊴","\\unlhd");K(J,Be,er,"⊵","\\unrhd");K(J,Be,Fe,"↚","\\nleftarrow",!0);K(J,Be,Fe,"↛","\\nrightarrow",!0);K(J,Be,Fe,"⇍","\\nLeftarrow",!0);K(J,Be,Fe,"⇏","\\nRightarrow",!0);K(J,Be,Fe,"↮","\\nleftrightarrow",!0);K(J,Be,Fe,"⇎","\\nLeftrightarrow",!0);K(J,Be,Fe,"△","\\vartriangle");K(J,Be,Ke,"ℏ","\\hslash");K(J,Be,Ke,"▽","\\triangledown");K(J,Be,Ke,"◊","\\lozenge");K(J,Be,Ke,"Ⓢ","\\circledS");K(J,Be,Ke,"®","\\circledR");K(Ot,Be,Ke,"®","\\circledR");K(J,Be,Ke,"∡","\\measuredangle",!0);K(J,Be,Ke,"∄","\\nexists");K(J,Be,Ke,"℧","\\mho");K(J,Be,Ke,"Ⅎ","\\Finv",!0);K(J,Be,Ke,"⅁","\\Game",!0);K(J,Be,Ke,"‵","\\backprime");K(J,Be,Ke,"▲","\\blacktriangle");K(J,Be,Ke,"▼","\\blacktriangledown");K(J,Be,Ke,"■","\\blacksquare");K(J,Be,Ke,"⧫","\\blacklozenge");K(J,Be,Ke,"★","\\bigstar");K(J,Be,Ke,"∢","\\sphericalangle",!0);K(J,Be,Ke,"∁","\\complement",!0);K(J,Be,Ke,"ð","\\eth",!0);K(Ot,ce,Ke,"ð","ð");K(J,Be,Ke,"╱","\\diagup");K(J,Be,Ke,"╲","\\diagdown");K(J,Be,Ke,"□","\\square");K(J,Be,Ke,"□","\\Box");K(J,Be,Ke,"◊","\\Diamond");K(J,Be,Ke,"¥","\\yen",!0);K(Ot,Be,Ke,"¥","\\yen",!0);K(J,Be,Ke,"✓","\\checkmark",!0);K(Ot,Be,Ke,"✓","\\checkmark");K(J,Be,Ke,"ℶ","\\beth",!0);K(J,Be,Ke,"ℸ","\\daleth",!0);K(J,Be,Ke,"ℷ","\\gimel",!0);K(J,Be,Ke,"ϝ","\\digamma",!0);K(J,Be,Ke,"ϰ","\\varkappa");K(J,Be,mo,"┌","\\@ulcorner",!0);K(J,Be,bs,"┐","\\@urcorner",!0);K(J,Be,mo,"└","\\@llcorner",!0);K(J,Be,bs,"┘","\\@lrcorner",!0);K(J,Be,Fe,"≦","\\leqq",!0);K(J,Be,Fe,"⩽","\\leqslant",!0);K(J,Be,Fe,"⪕","\\eqslantless",!0);K(J,Be,Fe,"≲","\\lesssim",!0);K(J,Be,Fe,"⪅","\\lessapprox",!0);K(J,Be,Fe,"≊","\\approxeq",!0);K(J,Be,er,"⋖","\\lessdot");K(J,Be,Fe,"⋘","\\lll",!0);K(J,Be,Fe,"≶","\\lessgtr",!0);K(J,Be,Fe,"⋚","\\lesseqgtr",!0);K(J,Be,Fe,"⪋","\\lesseqqgtr",!0);K(J,Be,Fe,"≑","\\doteqdot");K(J,Be,Fe,"≓","\\risingdotseq",!0);K(J,Be,Fe,"≒","\\fallingdotseq",!0);K(J,Be,Fe,"∽","\\backsim",!0);K(J,Be,Fe,"⋍","\\backsimeq",!0);K(J,Be,Fe,"⫅","\\subseteqq",!0);K(J,Be,Fe,"⋐","\\Subset",!0);K(J,Be,Fe,"⊏","\\sqsubset",!0);K(J,Be,Fe,"≼","\\preccurlyeq",!0);K(J,Be,Fe,"⋞","\\curlyeqprec",!0);K(J,Be,Fe,"≾","\\precsim",!0);K(J,Be,Fe,"⪷","\\precapprox",!0);K(J,Be,Fe,"⊲","\\vartriangleleft");K(J,Be,Fe,"⊴","\\trianglelefteq");K(J,Be,Fe,"⊨","\\vDash",!0);K(J,Be,Fe,"⊪","\\Vvdash",!0);K(J,Be,Fe,"⌣","\\smallsmile");K(J,Be,Fe,"⌢","\\smallfrown");K(J,Be,Fe,"≏","\\bumpeq",!0);K(J,Be,Fe,"≎","\\Bumpeq",!0);K(J,Be,Fe,"≧","\\geqq",!0);K(J,Be,Fe,"⩾","\\geqslant",!0);K(J,Be,Fe,"⪖","\\eqslantgtr",!0);K(J,Be,Fe,"≳","\\gtrsim",!0);K(J,Be,Fe,"⪆","\\gtrapprox",!0);K(J,Be,er,"⋗","\\gtrdot");K(J,Be,Fe,"⋙","\\ggg",!0);K(J,Be,Fe,"≷","\\gtrless",!0);K(J,Be,Fe,"⋛","\\gtreqless",!0);K(J,Be,Fe,"⪌","\\gtreqqless",!0);K(J,Be,Fe,"≖","\\eqcirc",!0);K(J,Be,Fe,"≗","\\circeq",!0);K(J,Be,Fe,"≜","\\triangleq",!0);K(J,Be,Fe,"∼","\\thicksim");K(J,Be,Fe,"≈","\\thickapprox");K(J,Be,Fe,"⫆","\\supseteqq",!0);K(J,Be,Fe,"⋑","\\Supset",!0);K(J,Be,Fe,"⊐","\\sqsupset",!0);K(J,Be,Fe,"≽","\\succcurlyeq",!0);K(J,Be,Fe,"⋟","\\curlyeqsucc",!0);K(J,Be,Fe,"≿","\\succsim",!0);K(J,Be,Fe,"⪸","\\succapprox",!0);K(J,Be,Fe,"⊳","\\vartriangleright");K(J,Be,Fe,"⊵","\\trianglerighteq");K(J,Be,Fe,"⊩","\\Vdash",!0);K(J,Be,Fe,"∣","\\shortmid");K(J,Be,Fe,"∥","\\shortparallel");K(J,Be,Fe,"≬","\\between",!0);K(J,Be,Fe,"⋔","\\pitchfork",!0);K(J,Be,Fe,"∝","\\varpropto");K(J,Be,Fe,"◀","\\blacktriangleleft");K(J,Be,Fe,"∴","\\therefore",!0);K(J,Be,Fe,"∍","\\backepsilon");K(J,Be,Fe,"▶","\\blacktriangleright");K(J,Be,Fe,"∵","\\because",!0);K(J,Be,Fe,"⋘","\\llless");K(J,Be,Fe,"⋙","\\gggtr");K(J,Be,er,"⊲","\\lhd");K(J,Be,er,"⊳","\\rhd");K(J,Be,Fe,"≂","\\eqsim",!0);K(J,ce,Fe,"⋈","\\Join");K(J,Be,Fe,"≑","\\Doteq",!0);K(J,Be,er,"∔","\\dotplus",!0);K(J,Be,er,"∖","\\smallsetminus");K(J,Be,er,"⋒","\\Cap",!0);K(J,Be,er,"⋓","\\Cup",!0);K(J,Be,er,"⩞","\\doublebarwedge",!0);K(J,Be,er,"⊟","\\boxminus",!0);K(J,Be,er,"⊞","\\boxplus",!0);K(J,Be,er,"⋇","\\divideontimes",!0);K(J,Be,er,"⋉","\\ltimes",!0);K(J,Be,er,"⋊","\\rtimes",!0);K(J,Be,er,"⋋","\\leftthreetimes",!0);K(J,Be,er,"⋌","\\rightthreetimes",!0);K(J,Be,er,"⋏","\\curlywedge",!0);K(J,Be,er,"⋎","\\curlyvee",!0);K(J,Be,er,"⊝","\\circleddash",!0);K(J,Be,er,"⊛","\\circledast",!0);K(J,Be,er,"⋅","\\centerdot");K(J,Be,er,"⊺","\\intercal",!0);K(J,Be,er,"⋒","\\doublecap");K(J,Be,er,"⋓","\\doublecup");K(J,Be,er,"⊠","\\boxtimes",!0);K(J,Be,Fe,"⇢","\\dashrightarrow",!0);K(J,Be,Fe,"⇠","\\dashleftarrow",!0);K(J,Be,Fe,"⇇","\\leftleftarrows",!0);K(J,Be,Fe,"⇆","\\leftrightarrows",!0);K(J,Be,Fe,"⇚","\\Lleftarrow",!0);K(J,Be,Fe,"↞","\\twoheadleftarrow",!0);K(J,Be,Fe,"↢","\\leftarrowtail",!0);K(J,Be,Fe,"↫","\\looparrowleft",!0);K(J,Be,Fe,"⇋","\\leftrightharpoons",!0);K(J,Be,Fe,"↶","\\curvearrowleft",!0);K(J,Be,Fe,"↺","\\circlearrowleft",!0);K(J,Be,Fe,"↰","\\Lsh",!0);K(J,Be,Fe,"⇈","\\upuparrows",!0);K(J,Be,Fe,"↿","\\upharpoonleft",!0);K(J,Be,Fe,"⇃","\\downharpoonleft",!0);K(J,ce,Fe,"⊶","\\origof",!0);K(J,ce,Fe,"⊷","\\imageof",!0);K(J,Be,Fe,"⊸","\\multimap",!0);K(J,Be,Fe,"↭","\\leftrightsquigarrow",!0);K(J,Be,Fe,"⇉","\\rightrightarrows",!0);K(J,Be,Fe,"⇄","\\rightleftarrows",!0);K(J,Be,Fe,"↠","\\twoheadrightarrow",!0);K(J,Be,Fe,"↣","\\rightarrowtail",!0);K(J,Be,Fe,"↬","\\looparrowright",!0);K(J,Be,Fe,"↷","\\curvearrowright",!0);K(J,Be,Fe,"↻","\\circlearrowright",!0);K(J,Be,Fe,"↱","\\Rsh",!0);K(J,Be,Fe,"⇊","\\downdownarrows",!0);K(J,Be,Fe,"↾","\\upharpoonright",!0);K(J,Be,Fe,"⇂","\\downharpoonright",!0);K(J,Be,Fe,"⇝","\\rightsquigarrow",!0);K(J,Be,Fe,"⇝","\\leadsto");K(J,Be,Fe,"⇛","\\Rrightarrow",!0);K(J,Be,Fe,"↾","\\restriction");K(J,ce,Ke,"‘","`");K(J,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\$");K(Ot,ce,Ke,"$","\\textdollar");K(J,ce,Ke,"%","\\%");K(Ot,ce,Ke,"%","\\%");K(J,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\_");K(Ot,ce,Ke,"_","\\textunderscore");K(J,ce,Ke,"∠","\\angle",!0);K(J,ce,Ke,"∞","\\infty",!0);K(J,ce,Ke,"′","\\prime");K(J,ce,Ke,"△","\\triangle");K(J,ce,Ke,"Γ","\\Gamma",!0);K(J,ce,Ke,"Δ","\\Delta",!0);K(J,ce,Ke,"Θ","\\Theta",!0);K(J,ce,Ke,"Λ","\\Lambda",!0);K(J,ce,Ke,"Ξ","\\Xi",!0);K(J,ce,Ke,"Π","\\Pi",!0);K(J,ce,Ke,"Σ","\\Sigma",!0);K(J,ce,Ke,"Υ","\\Upsilon",!0);K(J,ce,Ke,"Φ","\\Phi",!0);K(J,ce,Ke,"Ψ","\\Psi",!0);K(J,ce,Ke,"Ω","\\Omega",!0);K(J,ce,Ke,"A","Α");K(J,ce,Ke,"B","Β");K(J,ce,Ke,"E","Ε");K(J,ce,Ke,"Z","Ζ");K(J,ce,Ke,"H","Η");K(J,ce,Ke,"I","Ι");K(J,ce,Ke,"K","Κ");K(J,ce,Ke,"M","Μ");K(J,ce,Ke,"N","Ν");K(J,ce,Ke,"O","Ο");K(J,ce,Ke,"P","Ρ");K(J,ce,Ke,"T","Τ");K(J,ce,Ke,"X","Χ");K(J,ce,Ke,"¬","\\neg",!0);K(J,ce,Ke,"¬","\\lnot");K(J,ce,Ke,"⊤","\\top");K(J,ce,Ke,"⊥","\\bot");K(J,ce,Ke,"∅","\\emptyset");K(J,Be,Ke,"∅","\\varnothing");K(J,ce,mr,"α","\\alpha",!0);K(J,ce,mr,"β","\\beta",!0);K(J,ce,mr,"γ","\\gamma",!0);K(J,ce,mr,"δ","\\delta",!0);K(J,ce,mr,"ϵ","\\epsilon",!0);K(J,ce,mr,"ζ","\\zeta",!0);K(J,ce,mr,"η","\\eta",!0);K(J,ce,mr,"θ","\\theta",!0);K(J,ce,mr,"ι","\\iota",!0);K(J,ce,mr,"κ","\\kappa",!0);K(J,ce,mr,"λ","\\lambda",!0);K(J,ce,mr,"μ","\\mu",!0);K(J,ce,mr,"ν","\\nu",!0);K(J,ce,mr,"ξ","\\xi",!0);K(J,ce,mr,"ο","\\omicron",!0);K(J,ce,mr,"π","\\pi",!0);K(J,ce,mr,"ρ","\\rho",!0);K(J,ce,mr,"σ","\\sigma",!0);K(J,ce,mr,"τ","\\tau",!0);K(J,ce,mr,"υ","\\upsilon",!0);K(J,ce,mr,"ϕ","\\phi",!0);K(J,ce,mr,"χ","\\chi",!0);K(J,ce,mr,"ψ","\\psi",!0);K(J,ce,mr,"ω","\\omega",!0);K(J,ce,mr,"ε","\\varepsilon",!0);K(J,ce,mr,"ϑ","\\vartheta",!0);K(J,ce,mr,"ϖ","\\varpi",!0);K(J,ce,mr,"ϱ","\\varrho",!0);K(J,ce,mr,"ς","\\varsigma",!0);K(J,ce,mr,"φ","\\varphi",!0);K(J,ce,er,"∗","*",!0);K(J,ce,er,"+","+");K(J,ce,er,"−","-",!0);K(J,ce,er,"⋅","\\cdot",!0);K(J,ce,er,"∘","\\circ",!0);K(J,ce,er,"÷","\\div",!0);K(J,ce,er,"±","\\pm",!0);K(J,ce,er,"×","\\times",!0);K(J,ce,er,"∩","\\cap",!0);K(J,ce,er,"∪","\\cup",!0);K(J,ce,er,"∖","\\setminus",!0);K(J,ce,er,"∧","\\land");K(J,ce,er,"∨","\\lor");K(J,ce,er,"∧","\\wedge",!0);K(J,ce,er,"∨","\\vee",!0);K(J,ce,Ke,"√","\\surd");K(J,ce,mo,"⟨","\\langle",!0);K(J,ce,mo,"∣","\\lvert");K(J,ce,mo,"∥","\\lVert");K(J,ce,bs,"?","?");K(J,ce,bs,"!","!");K(J,ce,bs,"⟩","\\rangle",!0);K(J,ce,bs,"∣","\\rvert");K(J,ce,bs,"∥","\\rVert");K(J,ce,Fe,"=","=");K(J,ce,Fe,":",":");K(J,ce,Fe,"≈","\\approx",!0);K(J,ce,Fe,"≅","\\cong",!0);K(J,ce,Fe,"≥","\\ge");K(J,ce,Fe,"≥","\\geq",!0);K(J,ce,Fe,"←","\\gets");K(J,ce,Fe,">","\\gt",!0);K(J,ce,Fe,"∈","\\in",!0);K(J,ce,Fe,"","\\@not");K(J,ce,Fe,"⊂","\\subset",!0);K(J,ce,Fe,"⊃","\\supset",!0);K(J,ce,Fe,"⊆","\\subseteq",!0);K(J,ce,Fe,"⊇","\\supseteq",!0);K(J,Be,Fe,"⊈","\\nsubseteq",!0);K(J,Be,Fe,"⊉","\\nsupseteq",!0);K(J,ce,Fe,"⊨","\\models");K(J,ce,Fe,"←","\\leftarrow",!0);K(J,ce,Fe,"≤","\\le");K(J,ce,Fe,"≤","\\leq",!0);K(J,ce,Fe,"<","\\lt",!0);K(J,ce,Fe,"→","\\rightarrow",!0);K(J,ce,Fe,"→","\\to");K(J,Be,Fe,"≱","\\ngeq",!0);K(J,Be,Fe,"≰","\\nleq",!0);K(J,ce,Vu," ","\\ ");K(J,ce,Vu," ","\\space");K(J,ce,Vu," ","\\nobreakspace");K(Ot,ce,Vu," ","\\ ");K(Ot,ce,Vu," "," ");K(Ot,ce,Vu," ","\\space");K(Ot,ce,Vu," ","\\nobreakspace");K(J,ce,Vu,null,"\\nobreak");K(J,ce,Vu,null,"\\allowbreak");K(J,ce,rx,",",",");K(J,ce,rx,";",";");K(J,Be,er,"⊼","\\barwedge",!0);K(J,Be,er,"⊻","\\veebar",!0);K(J,ce,er,"⊙","\\odot",!0);K(J,ce,er,"⊕","\\oplus",!0);K(J,ce,er,"⊗","\\otimes",!0);K(J,ce,Ke,"∂","\\partial",!0);K(J,ce,er,"⊘","\\oslash",!0);K(J,Be,er,"⊚","\\circledcirc",!0);K(J,Be,er,"⊡","\\boxdot",!0);K(J,ce,er,"△","\\bigtriangleup");K(J,ce,er,"▽","\\bigtriangledown");K(J,ce,er,"†","\\dagger");K(J,ce,er,"⋄","\\diamond");K(J,ce,er,"⋆","\\star");K(J,ce,er,"◃","\\triangleleft");K(J,ce,er,"▹","\\triangleright");K(J,ce,mo,"{","\\{");K(Ot,ce,Ke,"{","\\{");K(Ot,ce,Ke,"{","\\textbraceleft");K(J,ce,bs,"}","\\}");K(Ot,ce,Ke,"}","\\}");K(Ot,ce,Ke,"}","\\textbraceright");K(J,ce,mo,"{","\\lbrace");K(J,ce,bs,"}","\\rbrace");K(J,ce,mo,"[","\\lbrack",!0);K(Ot,ce,Ke,"[","\\lbrack",!0);K(J,ce,bs,"]","\\rbrack",!0);K(Ot,ce,Ke,"]","\\rbrack",!0);K(J,ce,mo,"(","\\lparen",!0);K(J,ce,bs,")","\\rparen",!0);K(Ot,ce,Ke,"<","\\textless",!0);K(Ot,ce,Ke,">","\\textgreater",!0);K(J,ce,mo,"⌊","\\lfloor",!0);K(J,ce,bs,"⌋","\\rfloor",!0);K(J,ce,mo,"⌈","\\lceil",!0);K(J,ce,bs,"⌉","\\rceil",!0);K(J,ce,Ke,"\\","\\backslash");K(J,ce,Ke,"∣","|");K(J,ce,Ke,"∣","\\vert");K(Ot,ce,Ke,"|","\\textbar",!0);K(J,ce,Ke,"∥","\\|");K(J,ce,Ke,"∥","\\Vert");K(Ot,ce,Ke,"∥","\\textbardbl");K(Ot,ce,Ke,"~","\\textasciitilde");K(Ot,ce,Ke,"\\","\\textbackslash");K(Ot,ce,Ke,"^","\\textasciicircum");K(J,ce,Fe,"↑","\\uparrow",!0);K(J,ce,Fe,"⇑","\\Uparrow",!0);K(J,ce,Fe,"↓","\\downarrow",!0);K(J,ce,Fe,"⇓","\\Downarrow",!0);K(J,ce,Fe,"↕","\\updownarrow",!0);K(J,ce,Fe,"⇕","\\Updownarrow",!0);K(J,ce,Hi,"∐","\\coprod");K(J,ce,Hi,"⋁","\\bigvee");K(J,ce,Hi,"⋀","\\bigwedge");K(J,ce,Hi,"⨄","\\biguplus");K(J,ce,Hi,"⋂","\\bigcap");K(J,ce,Hi,"⋃","\\bigcup");K(J,ce,Hi,"∫","\\int");K(J,ce,Hi,"∫","\\intop");K(J,ce,Hi,"∬","\\iint");K(J,ce,Hi,"∭","\\iiint");K(J,ce,Hi,"∏","\\prod");K(J,ce,Hi,"∑","\\sum");K(J,ce,Hi,"⨂","\\bigotimes");K(J,ce,Hi,"⨁","\\bigoplus");K(J,ce,Hi,"⨀","\\bigodot");K(J,ce,Hi,"∮","\\oint");K(J,ce,Hi,"∯","\\oiint");K(J,ce,Hi,"∰","\\oiiint");K(J,ce,Hi,"⨆","\\bigsqcup");K(J,ce,Hi,"∫","\\smallint");K(Ot,ce,Hm,"…","\\textellipsis");K(J,ce,Hm,"…","\\mathellipsis");K(Ot,ce,Hm,"…","\\ldots",!0);K(J,ce,Hm,"…","\\ldots",!0);K(J,ce,Hm,"⋯","\\@cdots",!0);K(J,ce,Hm,"⋱","\\ddots",!0);K(J,ce,Ke,"⋮","\\varvdots");K(Ot,ce,Ke,"⋮","\\varvdots");K(J,ce,Qn,"ˊ","\\acute");K(J,ce,Qn,"ˋ","\\grave");K(J,ce,Qn,"¨","\\ddot");K(J,ce,Qn,"~","\\tilde");K(J,ce,Qn,"ˉ","\\bar");K(J,ce,Qn,"˘","\\breve");K(J,ce,Qn,"ˇ","\\check");K(J,ce,Qn,"^","\\hat");K(J,ce,Qn,"⃗","\\vec");K(J,ce,Qn,"˙","\\dot");K(J,ce,Qn,"˚","\\mathring");K(J,ce,mr,"","\\@imath");K(J,ce,mr,"","\\@jmath");K(J,ce,Ke,"ı","ı");K(J,ce,Ke,"ȷ","ȷ");K(Ot,ce,Ke,"ı","\\i",!0);K(Ot,ce,Ke,"ȷ","\\j",!0);K(Ot,ce,Ke,"ß","\\ss",!0);K(Ot,ce,Ke,"æ","\\ae",!0);K(Ot,ce,Ke,"œ","\\oe",!0);K(Ot,ce,Ke,"ø","\\o",!0);K(Ot,ce,Ke,"Æ","\\AE",!0);K(Ot,ce,Ke,"Œ","\\OE",!0);K(Ot,ce,Ke,"Ø","\\O",!0);K(Ot,ce,Qn,"ˊ","\\'");K(Ot,ce,Qn,"ˋ","\\`");K(Ot,ce,Qn,"ˆ","\\^");K(Ot,ce,Qn,"˜","\\~");K(Ot,ce,Qn,"ˉ","\\=");K(Ot,ce,Qn,"˘","\\u");K(Ot,ce,Qn,"˙","\\.");K(Ot,ce,Qn,"¸","\\c");K(Ot,ce,Qn,"˚","\\r");K(Ot,ce,Qn,"ˇ","\\v");K(Ot,ce,Qn,"¨",'\\"');K(Ot,ce,Qn,"˝","\\H");K(Ot,ce,Qn,"◯","\\textcircled");var ote={"--":!0,"---":!0,"``":!0,"''":!0};K(Ot,ce,Ke,"–","--",!0);K(Ot,ce,Ke,"–","\\textendash");K(Ot,ce,Ke,"—","---",!0);K(Ot,ce,Ke,"—","\\textemdash");K(Ot,ce,Ke,"‘","`",!0);K(Ot,ce,Ke,"‘","\\textquoteleft");K(Ot,ce,Ke,"’","'",!0);K(Ot,ce,Ke,"’","\\textquoteright");K(Ot,ce,Ke,"“","``",!0);K(Ot,ce,Ke,"“","\\textquotedblleft");K(Ot,ce,Ke,"”","''",!0);K(Ot,ce,Ke,"”","\\textquotedblright");K(J,ce,Ke,"°","\\degree",!0);K(Ot,ce,Ke,"°","\\degree");K(Ot,ce,Ke,"°","\\textdegree",!0);K(J,ce,Ke,"£","\\pounds");K(J,ce,Ke,"£","\\mathsterling",!0);K(Ot,ce,Ke,"£","\\pounds");K(Ot,ce,Ke,"£","\\textsterling",!0);K(J,Be,Ke,"✠","\\maltese");K(Ot,Be,Ke,"✠","\\maltese");var Jz='0123456789/@."';for(var e_=0;e_{var r=t.charCodeAt(0),n=t.charCodeAt(1),i=(r-55296)*1024+(n-56320)+65536,a=e==="math"?0:1;if(119808<=i&&i<120484){var s=Math.floor((i-119808)/26);return[o4[s][2],o4[s][a]]}else if(120782<=i&&i<=120831){var o=Math.floor((i-120782)/10);return[nq[o][2],nq[o][a]]}else{if(i===120485||i===120486)return[o4[0][2],o4[0][a]];if(1204860)return is(a,u,i,r,s.concat(h));if(l){var d,f;if(l==="boldsymbol"){var p=V6e(a,i,r,s,n);d=p.fontName,f=[p.fontClass]}else o?(d=J8[l].fontName,f=[l]):(d=l4(l,r.fontWeight,r.fontShape),f=[l,r.fontWeight,r.fontShape]);if(jC(a,d,i).metrics)return is(a,d,i,r,s.concat(f));if(ote.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var m=[],v=0;v{if(nd(t.classes)!==nd(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},lte=t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Pt=function(e,r,n,i){var a=new Um(e,r,n,i);return AN(a),a},ad=(t,e,r,n)=>new Um(t,e,r,n),mm=function(e,r,n){var i=Pt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Gt(i.height),i.maxFontSize=1,i},U6e=function(e,r,n,i){var a=new XC(e,r,n,i);return AN(a),a},Gu=function(e){var r=new Gm(e);return AN(r),r},ym=function(e,r){return e instanceof Gm?Pt([],[e],r):e},H6e=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Pt(["mspace"],[],e),n=ni(t,e);return r.style.marginRight=Gt(n),r},l4=function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},J8={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ute={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},hte=function(e,r){var[n,i,a]=ute[e],s=new id(n),o=new Nu([s],{width:Gt(i),height:Gt(a),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=ad(["overlay"],[o],r);return l.height=a,l.style.height=Gt(a),l.style.width=Gt(i),l},ri={number:3,unit:"mu"},tf={number:4,unit:"mu"},qc={number:5,unit:"mu"},W6e={mord:{mop:ri,mbin:tf,mrel:qc,minner:ri},mop:{mord:ri,mop:ri,mrel:qc,minner:ri},mbin:{mord:tf,mop:tf,mopen:tf,minner:tf},mrel:{mord:qc,mop:qc,mopen:qc,minner:qc},mopen:{},mclose:{mop:ri,mbin:tf,mrel:qc,minner:ri},mpunct:{mord:ri,mop:ri,mrel:qc,mopen:ri,mclose:ri,mpunct:ri,minner:ri},minner:{mord:ri,mop:ri,mbin:tf,mrel:qc,mopen:ri,mpunct:ri,minner:ri}},Y6e={mord:{mop:ri},mop:{mord:ri,mop:ri},mbin:{},mrel:{},mopen:{},mclose:{mop:ri},mpunct:{},minner:{mop:ri}},dte={},aw={},sw={};function Qt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l{var b=v.classes[0],x=m.classes[0];b==="mbin"&&j6e.has(x)?v.classes[0]="mord":x==="mbin"&&X6e.has(b)&&(m.classes[0]="mord")},{node:d},f,p),eL(a,(m,v)=>{var b,x,C=rL(v),T=rL(m),E=C&&T?m.hasClass("mtight")?(b=Y6e[C])==null?void 0:b[T]:(x=W6e[C])==null?void 0:x[T]:null;if(E)return cte(E,u)},{node:d},f,p),a},eL=function(e,r,n,i,a){i&&e.push(i);for(var s=0;sf=>{e.splice(d+1,0,f),s++})(s)}i&&e.pop()},fte=function(e){return e instanceof Gm||e instanceof XC||e instanceof Um&&e.hasClass("enclosing")?e:null},tL=function(e,r){var n=fte(e);if(n){var i=n.children;if(i.length){if(r==="right")return tL(i[i.length-1],"right");if(r==="left")return tL(i[0],"left")}}return e},rL=function(e,r){if(!e)return null;r&&(e=tL(e,r));var n=e.classes[0];return Z6e[n]||null},lb=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Pt(r.concat(n))},fn=function(e,r,n){if(!e)return Pt();if(aw[e.type]){var i=aw[e.type](e,r);if(n&&r.size!==n.size){i=Pt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new qt("Got group of unknown type: '"+e.type+"'")};function c4(t,e){var r=Pt(["base"],t,e),n=Pt(["strut"]);return n.style.height=Gt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Gt(-r.depth)),r.children.unshift(n),r}function nL(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=ta(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o0&&(a.push(c4(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(c4(s,e));var u;r?(u=c4(ta(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var h=Pt(["katex-html"],a);if(h.setAttribute("aria-hidden","true"),u){var d=u.children[0];d.style.height=Gt(h.height+h.depth),h.depth&&(d.style.verticalAlign=Gt(-h.depth))}return h}function pte(t){return new Gm(t)}class Vt{constructor(e,r,n){this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=nd(this.classes));for(var n=0;n0&&(e+=' class ="'+Ga(nd(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}}class qi{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ga(this.toText())}toText(){return this.text}}class gte{constructor(e){this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Gt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var Q6e=new Set(["\\imath","\\jmath"]),J6e=new Set(["mrow","mtable"]),Wo=function(e,r,n){return Xn[r][e]&&Xn[r][e].replace&&e.charCodeAt(0)!==55349&&!(ote.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Xn[r][e].replace),new qi(e)},LN=function(e){return e.length===1?e[0]:new Vt("mrow",e)},RN=function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(Q6e.has(a))return null;if(Xn[i][a]){var s=Xn[i][a].replace;s&&(a=s)}var o=J8[n].fontName;return kN(a,o,i)?J8[n].variant:null};function i_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof qi&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof qi&&r.text===","}else return!1}var yo=function(e,r,n){if(e.length===1){var i=Dn(e[0],r);return n&&i instanceof Vt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o=1&&(s.type==="mn"||i_(s))){var u=l.children[0];u instanceof Vt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var h=s.children[0];if(h instanceof qi&&h.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var d=l.children[0];d instanceof qi&&d.text.length>0&&(d.text=d.text.slice(0,1)+"̸"+d.text.slice(1),a.pop())}}}a.push(l),s=l}return a},sd=function(e,r,n){return LN(yo(e,r,n))},Dn=function(e,r){if(!e)return new Vt("mrow");if(sw[e.type]){var n=sw[e.type](e,r);return n}else throw new qt("Got group of unknown type: '"+e.type+"'")};function iq(t,e,r,n,i){var a=yo(t,r),s;a.length===1&&a[0]instanceof Vt&&J6e.has(a[0].type)?s=a[0]:s=new Vt("mrow",a);var o=new Vt("annotation",[new qi(e)]);o.setAttribute("encoding","application/x-tex");var l=new Vt("semantics",[s,o]),u=new Vt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Pt([h],[u])}var e_e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],aq=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],sq=function(e,r){return r.size<2?e:e_e[e-1][r.size-1]};class iu{constructor(e){this.style=e.style,this.color=e.color,this.size=e.size||iu.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=aq[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(r,e),new iu(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:sq(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:aq[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=sq(iu.BASESIZE,e);return this.size===r&&this.textSize===iu.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==iu.BASESIZE?["sizing","reset-size"+this.size,"size"+iu.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=F6e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}iu.BASESIZE=6;var mte=function(e){return new iu({style:e.displayMode?Rr.DISPLAY:Rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},yte=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Pt(n,[e])}return e},t_e=function(e,r,n){var i=mte(n),a;if(n.output==="mathml")return iq(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=nL(e,i);a=Pt(["katex"],[s])}else{var o=iq(e,r,i,n.displayMode,!1),l=nL(e,i);a=Pt(["katex"],[o,l])}return yte(a,n)},r_e=function(e,r,n){var i=mte(n),a=nL(e,i),s=Pt(["katex"],[a]);return yte(s,n)},n_e={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},ZC=function(e){var r=new Vt("mo",[new qi(n_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},i_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},a_e=new Set(["widehat","widecheck","widetilde","utilde"]),QC=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(a_e.has(l)){var u=e,h=u.base.type==="ordgroup"?u.base.body.length:1,d,f,p;if(h>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,p=.42,f=l+"4"):(d=312,o=2340,p=.34,f="tilde4");else{var m=[1,1,2,2,3,3][h];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][m],d=[0,239,300,360,420][m],p=[0,.24,.3,.3,.36,.42][m],f=l+m):(o=[0,600,1033,2339,2340][m],d=[0,260,286,306,312][m],p=[0,.26,.286,.3,.306,.34][m],f="tilde"+m)}var v=new id(f),b=new Nu([v],{width:"100%",height:Gt(p),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:ad([],[b],r),minWidth:0,height:p}}else{var x=[],C=i_e[l],[T,E,_]=C,R=_/1e3,k=T.length,L,O;if(k===1){var F=C[3];L=["hide-tail"],O=[F]}else if(k===2)L=["halfarrow-left","halfarrow-right"],O=["xMinYMin","xMaxYMin"];else if(k===3)L=["brace-left","brace-center","brace-right"],O=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+k+" children.");for(var $=0;$0&&(i.style.minWidth=Gt(a)),i},s_e=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Pt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Z8({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Z8({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new Nu(u,{width:"100%",height:Gt(o)});s=ad([],[h],a)}return s.height=o,s.style.height=Gt(o),s};function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function JC(t){var e=eS(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function eS(t){return t&&(t.type==="atom"||z6e.hasOwnProperty(t.type))?t:null}var vte=t=>{if(t instanceof go)return t;if(P6e(t)&&t.children.length===1)return vte(t.children[0])},DN=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=B6e(fn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=fn(r,e.havingCrampedStyle()),s=n.isShifty&&qu(r),o=0;if(s){var l,u;o=(l=(u=vte(a))==null?void 0:u.skew)!=null?l:0}var h=n.label==="\\c",d=h?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=QC(n,e),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Gt(2*o)+")",marginLeft:Gt(2*o)}:void 0}]});else{var p,m;n.label==="\\vec"?(p=hte("vec",e),m=ute.vec[1]):(p=KC({mode:n.mode,text:n.label},e,"textord"),p=I6e(p),p.italic=0,m=p.width,h&&(d+=p.depth)),f=Pt(["accent-body"],[p]);var v=n.label==="\\textcircled";v&&(f.classes.push("accent-full"),d=a.height);var b=o;v||(b-=m/2),f.style.left=Gt(b),n.label==="\\textcircled"&&(f.style.top=".2em"),f=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:f}]})}var x=Pt(["mord","accent"],[f],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},bte=(t,e)=>{var r=t.isStretchy?ZC(t.label):new Vt("mo",[Wo(t.label,t.mode)]),n=new Vt("mover",[Dn(t.base,e),r]);return n.setAttribute("accent","true"),n},o_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var r=ow(e[0]),n=!o_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:DN,mathmlBuilder:bte});Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:DN,mathmlBuilder:bte});Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=fn(t.base,e),n=QC(t,e),i=t.label==="\\utilde"?.12:0,a=dn({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Pt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=ZC(t.label),n=new Vt("munder",[Dn(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var u4=t=>{var e=new Vt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=ym(fn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=ym(fn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=QC(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var h;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l},{type:"elem",elem:s,shift:d}]})}else h=dn({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Pt(["mrel","x-arrow"],[h],e)},mathmlBuilder(t,e){var r=ZC(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=u4(Dn(t.body,e));if(t.below){var a=u4(Dn(t.below,e));n=new Vt("munderover",[r,a,i])}else n=new Vt("mover",[r,i])}else if(t.below){var s=u4(Dn(t.below,e));n=new Vt("munder",[r,s])}else n=u4(),n=new Vt("mover",[r,n]);return n}});function xte(t,e){var r=ta(t.body,e,!0);return Pt([t.mclass],r,e)}function Tte(t,e){var r,n=yo(t.body,e);return t.mclass==="minner"?r=new Vt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Vt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Vt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:zi(i),isCharacterBox:qu(i)}},htmlBuilder:xte,mathmlBuilder:Tte});var tS=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:tS(e[0]),body:zi(e[1]),isCharacterBox:qu(e[1])}}});Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=tS(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:zi(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:qu(l)}},htmlBuilder:xte,mathmlBuilder:Tte});Qt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:tS(e[0]),body:zi(e[0])}},htmlBuilder(t,e){var r=ta(t.body,e,!0),n=Pt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=yo(t.body,e),n=new Vt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var l_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},oq=()=>({type:"styling",body:[],mode:"math",style:"display"}),lq=t=>t.type==="textord"&&t.text==="@",c_e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function u_e(t,e,r){var n=l_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function h_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new qt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;aAV".includes(u))for(var d=0;d<2;d++){for(var f=!0,p=l+1;pAV=|." after @',s[l]);var m=u_e(u,h,t),v={type:"styling",body:[m],mode:"math",style:"display"};n.push(v),o=oq()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}Qt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=ym(fn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Gt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Vt("mrow",[Dn(t.label,e)]);return r=new Vt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Vt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Qt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=ym(fn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Vt("mrow",[Dn(t.fragment,e)])}});Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new qt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var wte=(t,e)=>{var r=ta(t.body,e.withColor(t.color),!1);return Gu(r)},Cte=(t,e)=>{var r=yo(t.body,e.withColor(t.color)),n=new Vt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:zi(i)}},htmlBuilder:wte,mathmlBuilder:Cte});Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:wte,mathmlBuilder:Cte});Qt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=Pt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Gt(ni(t.size,e)))),r},mathmlBuilder(t,e){var r=new Vt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Gt(ni(t.size,e)))),r}});var iL={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Ste=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new qt("Expected a control sequence",t);return e},d_e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},Ete=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};Qt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(iL[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=iL[n.text]),Ir(e.parseFunction(),"internal");throw new qt("Invalid token after macro prefix",n)}});Qt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new qt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new qt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new qt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new qt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===iL[r]),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ste(e.gullet.popToken());e.gullet.consumeSpaces();var i=d_e(e);return Ete(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Ste(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return Ete(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var n2=function(e,r,n){var i=Xn.math[e]&&Xn.math[e].replace,a=kN(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},NN=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Pt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},kte=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Gt(a),e.height-=a,e.depth+=a},f_e=function(e,r,n,i,a,s){var o=is(e,"Main-Regular",a,i),l=NN(o,r,i,s);return kte(l,i,r),l},p_e=function(e,r,n,i){return is(e,"Size"+r+"-Regular",n,i)},_te=function(e,r,n,i,a,s){var o=p_e(e,r,a,i),l=NN(Pt(["delimsizing","size"+r],[o],i),Rr.TEXT,i,s);return n&&kte(l,i,Rr.TEXT),l},a_=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Pt(["delimsizinginner",i],[Pt([],[is(e,r,n)])]);return{type:"elem",elem:a}},s_=function(e,r,n){var i=Yl["Size4-Regular"][e.charCodeAt(0)]?Yl["Size4-Regular"][e.charCodeAt(0)][4]:Yl["Size1-Regular"][e.charCodeAt(0)][4],a=new id("inner",L6e(e,Math.round(1e3*r))),s=new Nu([a],{width:Gt(i),height:Gt(r),style:"width:"+Gt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=ad([],[s],n);return o.height=r,o.style.height=Gt(r),o.style.width=Gt(i),{type:"elem",elem:o}},aL=.008,h4={type:"kern",size:-1*aL},g_e=new Set(["|","\\lvert","\\rvert","\\vert"]),m_e=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Ate=function(e,r,n,i,a,s){var o,l,u,h,d="",f=0;o=u=h=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=h="⏐":e==="\\Uparrow"?u=h="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",h="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",h="\\Downarrow"):g_e.has(e)?(u="∣",d="vert",f=333):m_e.has(e)?(u="∥",d="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",h="⎣",p="Size4-Regular",d="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",h="⎦",p="Size4-Regular",d="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",h="⎣",p="Size4-Regular",d="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=h="⎢",p="Size4-Regular",d="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",h="⎦",p="Size4-Regular",d="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=h="⎥",p="Size4-Regular",d="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",h="⎝",p="Size4-Regular",d="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",h="⎠",p="Size4-Regular",d="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",h="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",h="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",h="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",h="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",h="⎩",u="⎪",p="Size4-Regular");var m=n2(o,p,a),v=m.height+m.depth,b=n2(u,p,a),x=b.height+b.depth,C=n2(h,p,a),T=C.height+C.depth,E=0,_=1;if(l!==null){var R=n2(l,p,a);E=R.height+R.depth,_=2}var k=v+T+E,L=Math.max(0,Math.ceil((r-k)/(_*x))),O=k+L*_*x,F=i.fontMetrics().axisHeight;n&&(F*=i.sizeMultiplier);var $=O/2-F,q=[];if(d.length>0){var z=O-v-T,D=Math.round(O*1e3),I=R6e(d,Math.round(z*1e3)),N=new id(d,I),B=Gt(f/1e3),M=Gt(D/1e3),V=new Nu([N],{width:B,height:M,viewBox:"0 0 "+f+" "+D}),U=ad([],[V],i);U.height=D/1e3,U.style.width=B,U.style.height=M,q.push({type:"elem",elem:U})}else{if(q.push(a_(h,p,a)),q.push(h4),l===null){var P=O-v-T+2*aL;q.push(s_(u,P,i))}else{var H=(O-v-T-E)/2+2*aL;q.push(s_(u,H,i)),q.push(h4),q.push(a_(l,p,a)),q.push(h4),q.push(s_(u,H,i))}q.push(h4),q.push(a_(o,p,a))}var X=i.havingBaseStyle(Rr.TEXT),Z=dn({positionType:"bottom",positionData:$,children:q});return NN(Pt(["delimsizing","mult"],[Z],X),Rr.TEXT,i,s)},o_=80,l_=.08,c_=function(e,r,n,i,a){var s=A6e(e,i,n),o=new id(e,s),l=new Nu([o],{width:"400em",height:Gt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return ad(["hide-tail"],[l],a)},y_e=function(e,r){var n=r.havingBaseSizing(),i=Mte("\\surd",e*n.sizeMultiplier,Nte,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l=0,u=0,h=0,d;return i.type==="small"?(h=1e3+1e3*s+o_,e<1?a=1:e<1.4&&(a=.7),l=(1+s+l_)/a,u=(1+s)/a,o=c_("sqrtMain",l,h,s,r),o.style.minWidth="0.853em",d=.833/a):i.type==="large"?(h=(1e3+o_)*R2[i.size],u=(R2[i.size]+s)/a,l=(R2[i.size]+s+l_)/a,o=c_("sqrtSize"+i.size,l,h,s,r),o.style.minWidth="1.02em",d=1/a):(l=e+s+l_,u=e+s,h=Math.floor(1e3*e+s)+o_,o=c_("sqrtTall",l,h,s,r),o.style.minWidth="0.742em",d=1.056),o.height=u,o.style.height=Gt(l),{span:o,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},Lte=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),v_e=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Rte=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),R2=[0,1.2,1.8,2.4,3],Dte=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Lte.has(e)||Rte.has(e))return _te(e,r,!1,n,i,a);if(v_e.has(e))return Ate(e,R2[r],!1,n,i,a);throw new qt("Illegal delimiter: '"+e+"'")},b_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],x_e=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"stack"}],Nte=[{type:"small",style:Rr.SCRIPTSCRIPT},{type:"small",style:Rr.SCRIPT},{type:"small",style:Rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],T_e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},Mte=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return o}return n[n.length-1]},sL=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;Rte.has(e)?o=b_e:Lte.has(e)?o=Nte:o=x_e;var l=Mte(e,r,o,i);return l.type==="small"?f_e(e,l.style,n,i,a,s):l.type==="large"?_te(e,l.size,n,i,a,s):Ate(e,r,n,i,a,s)},u_=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,h=Math.max(r-o,n+o),d=Math.max(h/500*l,2*h-u);return sL(e,d,!0,i,a,s)},cq={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},w_e=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function rS(t,e){var r=eS(t);if(r&&w_e.has(r.text))return r;throw r?new qt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new qt("Invalid delimiter type '"+t.type+"'",t)}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var r=rS(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:cq[t.funcName].size,mclass:cq[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Pt([t.mclass]):Dte(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wo(t.delim,t.mode));var r=new Vt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Gt(R2[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function uq(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new qt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:rS(e[0],t).text,color:r}}});Qt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=rS(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{uq(t);for(var r=ta(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{uq(t);var r=yo(t.body,e);if(t.left!=="."){var n=new Vt("mo",[Wo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Vt("mo",[Wo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return LN(r)}});Qt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=rS(e[0],t);if(!t.parser.leftrightDepth)throw new qt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;if(t.delim===".")r=lb(e,[]);else{r=Dte(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wo("|","text"):Wo(t.delim,t.mode),n=new Vt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var nS=(t,e)=>{var r=ym(fn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,o=qu(t.body);if(n==="sout")a=Pt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=ni({number:.6,unit:"pt"},e),u=ni({number:.35,unit:"ex"},e),h=e.havingBaseSizing();i=i/h.sizeMultiplier;var d=r.height+r.depth+l+u;r.style.paddingLeft=Gt(d/2+l);var f=Math.floor(1e3*d*i),p=k6e(f),m=new Nu([new id("phase",p)],{width:"400em",height:Gt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=ad(["hide-tail"],[m],e),a.style.height=Gt(d),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var v=0,b=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),b=v):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),v=4*x,b=Math.max(0,.25-r.depth)):(v=o?.2:0,b=v),a=s_e(r,n,v,b,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Gt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Gt(x),a.style.borderRightWidth=Gt(x)),s=r.depth+b,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var C;if(t.backgroundColor)C=dn({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var T=/cancel|phase/.test(n)?["svg-align"]:[];C=dn({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]})}return/cancel/.test(n)&&(C.height=r.height,C.depth=r.depth),/cancel/.test(n)&&!o?Pt(["mord","cancel-lap"],[C],e):Pt(["mord"],[C],e)},iS=(t,e)=>{var r=0,n=new Vt(t.label.includes("colorbox")?"mpadded":"menclose",[Dn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Gt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:nS,mathmlBuilder:iS});Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:nS,mathmlBuilder:iS});Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:nS,mathmlBuilder:iS});Qt({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:nS,mathmlBuilder:iS});Qt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var Ote={};function uc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l{var e=t.parser.settings;if(!e.displayMode)throw new qt("{"+t.envName+"} can be used only in display mode.")},C_e=new Set(["gather","gather*"]);function MN(t){if(!t.includes("ed"))return!t.includes("*")}function bd(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:h,maxNumCols:d,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new qt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var m=[],v=[m],b=[],x=[],C=l!=null?[]:void 0;function T(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function E(){C&&(t.gullet.macros.get("\\df@tag")?(C.push(t.subparse([new uo("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):C.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(T(),x.push(hq(t));;){var _=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var R={type:"ordgroup",mode:t.mode,body:_};r&&(R={type:"styling",mode:t.mode,style:r,body:[R]}),m.push(R);var k=t.fetch().text;if(k==="&"){if(d&&m.length===d){if(u||o)throw new qt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(k==="\\end"){E(),m.length===1&&R.type==="styling"&&R.body.length===1&&R.body[0].type==="ordgroup"&&R.body[0].body.length===0&&(v.length>1||!h)&&v.pop(),x.length0&&(T+=.25),u.push({pos:T,isDashed:at[xe]})}for(E(s[0]),n=0;n0&&($+=C,k<$&&(k=$),$=0)),e.addJot&&nat))for(n=0;n=o)){var te=void 0;if(i>0||e.hskipBeforeAndAfter){var ae,ie;te=(ae=(ie=X)==null?void 0:ie.pregap)!=null?ae:f,te!==0&&(I=Pt(["arraycolsep"],[]),I.style.width=Gt(te),D.push(I))}var ne=[];for(n=0;n0){for(var Te=mm("hline",r,h),ot=mm("hdashline",r,h),Re=[{type:"elem",elem:We,shift:0}];u.length>0;){var Ge=u.pop(),it=Ge.pos-q;Ge.isDashed?Re.push({type:"elem",elem:ot,shift:it}):Re.push({type:"elem",elem:Te,shift:it})}We=dn({positionType:"individualShift",children:Re})}if(B.length===0)return Pt(["mord"],[We],r);var Ye=dn({positionType:"individualShift",children:B}),Xe=Pt(["tag"],[Ye],r);return Gu([We,Xe])},S_e={c:"center ",l:"left ",r:"right "},dc=function(e,r){for(var n=[],i=new Vt("mtd",[],["mtr-glue"]),a=new Vt("mtd",[],["mml-eqn-num"]),s=0;s0){var m=e.cols,v="",b=!1,x=0,C=m.length;m[0].type==="separator"&&(f+="top ",x=1),m[m.length-1].type==="separator"&&(f+="bottom ",C-=1);for(var T=x;T0?"left ":"",f+=O[O.length-1].length>0?"right ":"";for(var F=1;F0&&p&&(b=1),n[m]={type:"align",align:v,pregap:b,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};uc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=eS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var o=JC(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new qt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return bd(t.parser,a,ON(t.envName))},htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new qt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=bd(t.parser,n,ON(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=bd(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=eS(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(o){var l=JC(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new qt("Unknown column alignment: "+u,o)});if(i.length>1)throw new qt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=bd(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new qt("{subarray} can contain only one column");return s},htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=bd(t.parser,e,ON(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Bte,htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){C_e.has(t.envName)&&aS(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:MN(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return bd(t.parser,e,"display")},htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Bte,htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){aS(t);var e={autoTag:MN(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return bd(t.parser,e,"display")},htmlBuilder:hc,mathmlBuilder:dc});uc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return aS(t),h_e(t.parser)},htmlBuilder:hc,mathmlBuilder:dc});ye("\\nonumber","\\gdef\\@eqnsw{0}");ye("\\notag","\\nonumber");Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new qt(t.funcName+" valid only within array environment")}});var dq=Ote;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new qt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return fn(t.body,n)},Fte=(t,e)=>{var r=t.font,n=e.withFont(r);return Dn(t.body,n)},fq={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=ow(e[0]),a=n;return a in fq&&(a=fq[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:Pte,mathmlBuilder:Fte});Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:tS(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:qu(n)}}});Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),o="math"+n.slice(1);return{type:"font",mode:a,font:o,body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:Pte,mathmlBuilder:Fte});var E_e=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=fn(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?m=3*f:m=7*f,v=e.fontMetrics().denom1):(d>0?(p=e.fontMetrics().num2,m=f):(p=e.fontMetrics().num3,m=3*f),v=e.fontMetrics().denom2);var b;if(h){var C=e.fontMetrics().axisHeight;p-s.depth-(C+.5*d){var r=new Vt("mfrac",[Dn(t.numer,e),Dn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ni(t.barSize,e);r.setAttribute("linethickness",Gt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new Vt("mo",[new qi(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new Vt("mo",[new qi(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return LN(i)}return r},$te=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",h=null;return u||n.startsWith("\\d")?h="display":n.startsWith("\\t")&&(h="text"),$te({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},h)},htmlBuilder:E_e,mathmlBuilder:k_e});Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var pq=["display","text","script","scriptscript"],gq=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=ow(e[0]),s=a.type==="atom"&&a.family==="open"?gq(a.text):null,o=ow(e[1]),l=o.type==="atom"&&o.family==="close"?gq(o.text):null,u=Ir(e[2],"size"),h,d=null;u.isBlank?h=!0:(d=u.value,h=d.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var m=Ir(p.body[0],"textord");f=pq[Number(m.text)]}}else p=Ir(p,"textord"),f=pq[Number(p.text)];return $te({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:d,leftDelim:s,rightDelim:l},f)}});Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Ir(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var zte=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?fn(t.sup,e.havingStyle(r.sup()),e):fn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=fn(i.base,e.havingBaseStyle(Rr.DISPLAY)),s=QC(i,e),o;if(i.isOver?(o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]}),o.children[0].children[0].children[1].classes.push("svg-align")):(o=dn({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]}),o.children[0].children[0].children[0].classes.push("svg-align")),n){var l=Pt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=dn({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=dn({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Pt(["minner",i.isOver?"mover":"munder"],[o],e)},__e=(t,e)=>{var r=ZC(t.label);return new Vt(t.isOver?"mover":"munder",[Dn(t.base,e),r])};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:zte,mathmlBuilder:__e});Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:zi(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=ta(t.body,e,!1);return U6e(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=sd(t.body,e);return r instanceof Vt||(r=new Vt("mrow",[r])),r.setAttribute("href",t.href),r}});Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),h=0;h{var r=ta(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Pt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>sd(t.body,e)});Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:zi(e[0]),mathml:zi(e[1])}},htmlBuilder:(t,e)=>{var r=ta(t.html,e,!1);return Gu(r)},mathmlBuilder:(t,e)=>sd(t.mathml,e)});var h_=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new qt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!rte(n))throw new qt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=Ir(r[0],"raw").string,u=l.split(","),h=0;h{var r=ni(t.height,e),n=0;t.totalheight.number>0&&(n=ni(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ni(t.width,e));var a={height:Gt(r+n)};i>0&&(a.width=Gt(i)),n>0&&(a.verticalAlign=Gt(-n));var s=new M6e(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new Vt("mglyph",[]);r.setAttribute("alt",t.alt);var n=ni(t.height,e),i=0;if(t.totalheight.number>0&&(i=ni(t.totalheight,e)-n,r.setAttribute("valign",Gt(-i))),r.setAttribute("height",Gt(n+i)),t.width.number>0){var a=ni(t.width,e);r.setAttribute("width",Gt(a))}return r.setAttribute("src",t.src),r}});Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return cte(t.dimension,e)},mathmlBuilder(t,e){var r=ni(t.dimension,e);return new gte(r)}});Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Pt([],[fn(t.body,e)]),r=Pt(["inner"],[r],e)):r=Pt(["inner"],[fn(t.body,e)]);var n=Pt(["fix"],[]),i=Pt([t.alignment],[r,n],e),a=Pt(["strut"]);return a.style.height=Gt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Gt(-i.depth)),i.children.unshift(a),i=Pt(["thinbox"],[i],e),Pt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new Vt("mpadded",[Dn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new qt("Mismatched "+t.funcName)}});var mq=(t,e)=>{switch(e.style.size){case Rr.DISPLAY.size:return t.display;case Rr.TEXT.size:return t.text;case Rr.SCRIPT.size:return t.script;case Rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:zi(e[0]),text:zi(e[1]),script:zi(e[2]),scriptscript:zi(e[3])}},htmlBuilder:(t,e)=>{var r=mq(t,e),n=ta(r,e,!1);return Gu(n)},mathmlBuilder:(t,e)=>{var r=mq(t,e);return sd(r,e)}});var qte=(t,e,r,n,i,a,s)=>{t=Pt([],[t]);var o=r&&qu(r),l,u;if(e){var h=fn(e,n.havingStyle(i.sup()),n);u={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(r){var d=fn(r,n.havingStyle(i.sub()),n);l={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=dn({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var m=t.height-s;f=dn({positionType:"top",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Gt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var v=t.depth+s;f=dn({positionType:"bottom",positionData:v,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Gt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var b=[f];if(l&&a!==0&&!o){var x=Pt(["mspace"],[],n);x.style.marginRight=Gt(a),b.unshift(x)}return Pt(["mop","op-limits"],b,n)},Vte=new Set(["\\smallint"]),Wm=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,o=!1;s.size===Rr.DISPLAY.size&&a.symbol&&!Vte.has(a.name)&&(o=!0);var l;if(a.symbol){var u=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=is(a.name,u,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),h.length>0){var d=l.italic,f=hte(h+"Size"+(o?"2":"1"),e);l=dn({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=d}}else if(a.body){var p=ta(a.body,e,!0);p.length===1&&p[0]instanceof go?(l=p[0],l.classes[0]="mop"):l=Pt(["mop"],p,e)}else{for(var m=[],v=1;v{var r;if(t.symbol)r=new Vt("mo",[Wo(t.name,t.mode)]),Vte.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Vt("mo",yo(t.body,e));else{r=new Vt("mi",[new qi(t.name.slice(1))]);var n=new Vt("mo",[Wo("⁡","text")]);t.parentIsSupSub?r=new Vt("mrow",[r,n]):r=pte([r,n])}return r},A_e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=A_e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Wm,mathmlBuilder:nx});Qt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:zi(n)}},htmlBuilder:Wm,mathmlBuilder:nx});var L_e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Wm,mathmlBuilder:nx});Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Wm,mathmlBuilder:nx});Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=L_e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:Wm,mathmlBuilder:nx});var Gte=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(d=>{var f="text"in d?d.text:void 0;return typeof f=="string"?{type:"textord",mode:d.mode,text:f}:d}),l=ta(o,e.withFont("mathrm"),!0),u=0;u{for(var r=yo(t.body,e.withFont("mathrm")),n=!0,i=0;ih.toText()).join("");r=[new qi(o)]}var l=new Vt("mi",r);l.setAttribute("mathvariant","normal");var u=new Vt("mo",[Wo("⁡","text")]);return t.parentIsSupSub?new Vt("mrow",[l,u]):pte([l,u])};Qt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:zi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Gte,mathmlBuilder:R_e});ye("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");B0({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Gu(ta(t.body,e,!1)):Pt(["mord"],ta(t.body,e,!0),e)},mathmlBuilder(t,e){return sd(t.body,e,!0)}});Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle()),n=mm("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Pt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("mover",[Dn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:zi(n)}},htmlBuilder:(t,e)=>{var r=ta(t.body,e.withPhantom(),!1);return Gu(r)},mathmlBuilder:(t,e)=>{var r=yo(t.body,e);return new Vt("mphantom",r)}});ye("\\hphantom","\\smash{\\phantom{#1}}");Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Pt(["inner"],[fn(t.body,e.withPhantom())]),n=Pt(["fix"],[]);return Pt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=yo(zi(t.body),e),n=new Vt("mphantom",r),i=new Vt("mpadded",[n]);return i.setAttribute("width","0px"),i}});Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=fn(t.body,e),n=ni(t.dy,e);return dn({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Qt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Pt(["mord","rule"],[],e),n=ni(t.width,e),i=ni(t.height,e),a=t.shift?ni(t.shift,e):0;return r.style.borderRightWidth=Gt(n),r.style.borderTopWidth=Gt(i),r.style.bottom=Gt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ni(t.width,e),n=ni(t.height,e),i=t.shift?ni(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Vt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Gt(r)),s.setAttribute("height",Gt(n));var o=new Vt("mpadded",[s]);return i>=0?o.setAttribute("height",Gt(i)):(o.setAttribute("height",Gt(i)),o.setAttribute("depth",Gt(-i))),o.setAttribute("voffset",Gt(i)),o}});function Ute(t,e,r){for(var n=ta(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a{var r=e.havingSize(t.size);return Ute(t.body,r,e)};Qt({type:"sizing",names:yq,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:yq.indexOf(n)+1,body:a}},htmlBuilder:D_e,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=yo(t.body,r),i=new Vt("mstyle",n);return i.setAttribute("mathsize",Gt(r.sizeMultiplier)),i}});Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=Pt([],[fn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Pt(["mord","smash"],[r],e);if(r.children)for(var n=0;n{var r=new Vt("mpadded",[Dn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=fn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=ym(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Gt(h);var p=dn({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var m=e.havingStyle(Rr.SCRIPTSCRIPT),v=fn(t.index,m,e),b=.6*(p.height-p.depth),x=dn({positionType:"shift",positionData:-b,children:[{type:"elem",elem:v}]}),C=Pt(["root"],[x]);return Pt(["mord","sqrt"],[C,p],e)}else return Pt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Vt("mroot",[Dn(r,e),Dn(n,e)]):new Vt("msqrt",[Dn(r,e)])}});var vq={display:Rr.DISPLAY,text:Rr.TEXT,script:Rr.SCRIPT,scriptscript:Rr.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=vq[t.style],n=e.havingStyle(r).withFont("");return Ute(t.body,n,e)},mathmlBuilder(t,e){var r=vq[t.style],n=e.havingStyle(r),i=yo(t.body,n),a=new Vt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var N_e=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Rr.DISPLAY.size||n.alwaysHandleSupSub);return i?Wm:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Rr.DISPLAY.size||n.limits);return a?Gte:null}else{if(n.type==="accent")return qu(n.base)?DN:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?zte:null}else return null}else return null};B0({type:"supsub",htmlBuilder(t,e){var r=N_e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=fn(n,e),o,l,u=e.fontMetrics(),h=0,d=0,f=n&&qu(n);if(i){var p=e.havingStyle(e.style.sup());o=fn(i,p,e),f||(h=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var m=e.havingStyle(e.style.sub());l=fn(a,m,e),f||(d=s.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}var v;e.style===Rr.DISPLAY?v=u.sup1:e.style.cramped?v=u.sup3:v=u.sup2;var b=e.sizeMultiplier,x=Gt(.5/u.ptPerEm/b),C=null;if(l){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof go||T)&&(C=Gt(-s.italic))}var E;if(o&&l){h=Math.max(h,v,o.depth+.25*u.xHeight),d=Math.max(d,u.sub2);var _=u.defaultRuleThickness,R=4*_;if(h-o.depth-(l.height-d)0&&(h+=k,d-=k)}var L=[{type:"elem",elem:l,shift:d,marginRight:x,marginLeft:C},{type:"elem",elem:o,shift:-h,marginRight:x}];E=dn({positionType:"individualShift",children:L})}else if(l){d=Math.max(d,u.sub1,l.height-.8*u.xHeight);var O=[{type:"elem",elem:l,marginLeft:C,marginRight:x}];E=dn({positionType:"shift",positionData:d,children:O})}else if(o)h=Math.max(h,v,o.depth+.25*u.xHeight),E=dn({positionType:"shift",positionData:-h,children:[{type:"elem",elem:o,marginRight:x}]});else throw new Error("supsub must have either sup or sub.");var F=rL(s,"right")||"mord";return Pt([F],[s,Pt(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Dn(t.base,e)];t.sub&&a.push(Dn(t.sub,e)),t.sup&&a.push(Dn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===Rr.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===Rr.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Rr.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===Rr.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===Rr.DISPLAY)?s="mover":s="msup"}return new Vt(s,a)}});B0({type:"atom",htmlBuilder(t,e){return _N(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Vt("mo",[Wo(t.text,t.mode)]);if(t.family==="bin"){var n=RN(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var Hte={mi:"italic",mn:"normal",mtext:"normal"};B0({type:"mathord",htmlBuilder(t,e){return KC(t,e,"mathord")},mathmlBuilder(t,e){var r=new Vt("mi",[Wo(t.text,t.mode,e)]),n=RN(t,e)||"italic";return n!==Hte[r.type]&&r.setAttribute("mathvariant",n),r}});B0({type:"textord",htmlBuilder(t,e){return KC(t,e,"textord")},mathmlBuilder(t,e){var r=Wo(t.text,t.mode,e),n=RN(t,e)||"normal",i;return t.mode==="text"?i=new Vt("mtext",[r]):/[0-9]/.test(t.text)?i=new Vt("mn",[r]):t.text==="\\prime"?i=new Vt("mo",[r]):i=new Vt("mi",[r]),n!==Hte[i.type]&&i.setAttribute("mathvariant",n),i}});var d_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},f_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};B0({type:"spacing",htmlBuilder(t,e){if(f_.hasOwnProperty(t.text)){var r=f_[t.text].className||"";if(t.mode==="text"){var n=KC(t,e,"textord");return n.classes.push(r),n}else return Pt(["mspace",r],[_N(t.text,t.mode,e)],e)}else{if(d_.hasOwnProperty(t.text))return Pt(["mspace",d_[t.text]],[],e);throw new qt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(f_.hasOwnProperty(t.text))r=new Vt("mtext",[new qi(" ")]);else{if(d_.hasOwnProperty(t.text))return new Vt("mspace");throw new qt('Unknown type of space "'+t.text+'"')}return r}});var bq=()=>{var t=new Vt("mtd",[]);return t.setAttribute("width","50%"),t};B0({type:"tag",mathmlBuilder(t,e){var r=new Vt("mtable",[new Vt("mtr",[bq(),new Vt("mtd",[sd(t.body,e)]),bq(),new Vt("mtd",[sd(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var xq={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Tq={"\\textbf":"textbf","\\textmd":"textmd"},M_e={"\\textit":"textit","\\textup":"textup"},wq=(t,e)=>{var r=t.font;if(r){if(xq[r])return e.withTextFontFamily(xq[r]);if(Tq[r])return e.withTextFontWeight(Tq[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(M_e[r])};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:zi(i),font:n}},htmlBuilder(t,e){var r=wq(t,e),n=ta(t.body,r,!0);return Pt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=wq(t,e);return sd(t.body,r)}});Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=mm("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=dn({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Pt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Vt("mo",[new qi("‾")]);r.setAttribute("stretchy","true");var n=new Vt("munder",[Dn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Qt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=fn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return dn({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new Vt("mpadded",[Dn(t.body,e)],["vcenter"]);return new Vt("mrow",[r])}});Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new qt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Cq(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),$h=dte,Wte=`[ \r + ]`,O_e="\\\\[a-zA-Z@]+",I_e="\\\\[^\uD800-\uDFFF]",B_e="("+O_e+")"+Wte+"*",P_e=`\\\\( |[ \r ]+ -?)[ \r ]*`,lL="[̀-ͯ]",H_e=new RegExp(lL+"+$"),W_e="("+Yte+"+)|"+(U_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(lL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(lL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+G_e)+("|"+V_e+")");let Eq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp(W_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Rs(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Rs(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Rs(this,r,this.tokenRegex.lastIndex))}};class Y_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var j_e=Bte;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var kq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=kq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=kq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>BN(t,!1,!0,!1));ye("\\renewcommand",t=>BN(t,!0,!1,!1));ye("\\providecommand",t=>BN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),qh[r],jn.math[r],jn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var _q={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},X_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in _q?e=_q[r]:(r.slice(0,4)==="\\not"||r in jn.math&&X_e.has(jn.math[r].group))&&(e="\\dotsb"),e});var PN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in PN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in PN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in PN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var jte=Gt(jl["Main-Regular"][84][1]-.7*jl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+jte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var Xte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",Xte(!1));ye("\\bra@set",Xte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var Kte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class K_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new Y_e(j_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Eq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Rs.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Eq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||qh.hasOwnProperty(e)||jn.math.hasOwnProperty(e)||jn.text.hasOwnProperty(e)||Kte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:qh.hasOwnProperty(e)&&!qh[e].primitive}}var Aq=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fT=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),g_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Lq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Zte=class Qte{constructor(e,r){this.mode="math",this.gullet=new K_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Qte.endOfExpression.has(i.text)||r&&i.text===r||e&&qh[i.text]&&qh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(rte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Rs.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return vd(t)?LZ(t):oee(t)}var m7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y7e=/^\w*$/;function zN(t,e){if(Vi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||u0(t)?!0:y7e.test(t)||!m7e.test(t)||e!=null&&t in Object(e)}var v7e=500;function b7e(t){var e=$m(t,function(n){return r.size===v7e&&r.clear(),n}),r=e.cache;return e}var x7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T7e=/\\(\\)?/g,w7e=b7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(x7e,function(r,n,i,a){e.push(i?a.replace(T7e,"$1"):n||r)}),e});function lre(t){return t==null?"":are(t)}function lS(t,e){return Vi(t)?t:zN(t,e)?[t]:w7e(lre(t))}function ax(t){if(typeof t=="string"||u0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function cS(t,e){e=lS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&XAe?new ub:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&rb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var I8e=Math.max;function B8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:u7e(r);return i<0&&(i=I8e(n+i,0)),ore(t,Hu(e),i)}var YN=O8e(B8e);function Sre(t,e){var r=-1,n=vd(t)?Array(t.length):[];return hS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=Vi(t)?Bg:Sre;return r(t,Hu(e))}function P8e(t,e){return uS(Tn(t,e))}function F8e(t,e){return t==null?t:WD(t,WN(e),O0)}function $8e(t,e){return t&&HN(t,WN(e))}function z8e(t,e){return t>e}var q8e=Object.prototype,V8e=q8e.hasOwnProperty;function G8e(t,e){return t!=null&&V8e.call(t,e)}function Ere(t,e){return t!=null&&Tre(t,e,G8e)}function U8e(t,e){return Bg(e,function(r){return t[r]})}function Cu(t){return t==null?[]:U8e(t,so(t))}function Li(t){return t===void 0}function kre(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function K8e(t,e,r){e.length?e=Bg(e,function(a){return Vi(a)?function(s){return cS(s,a.length===1?a[0]:a)}:a}):e=[I0];var n=-1;e=Bg(e,OC(Hu));var i=Sre(t,function(a,s,o){var l=Bg(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return Y8e(i,function(a,s){return X8e(a,s,r)})}function Z8e(t,e){return W8e(t,e,function(r,n){return wre(t,n)})}var uw=E7e(function(t,e){return t==null?{}:Z8e(t,e)}),Q8e=Math.ceil,J8e=Math.max;function eLe(t,e,r,n){for(var i=-1,a=J8e(Q8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function tLe(t){return function(e,r,n){return n&&typeof n!="number"&&rb(e,r,n)&&(r=n=void 0),e=x3(e),r===void 0?(r=e,e=0):r=x3(r),n=n===void 0?e1&&rb(t,e[0],e[1])?e=[]:r>2&&rb(e[0],e[1],e[2])&&(e=[e[0]]),K8e(t,uS(e),[])}),nLe=1/0,iLe=Og&&1/GN(new Og([,-0]))[1]==nLe?function(t){return new Og(t)}:h7e,aLe=200;function _re(t,e,r){var n=-1,i=g7e,a=t.length,s=!0,o=[],l=o;if(a>=aLe){var u=e?null:iLe(t);if(u)return GN(u);s=!1,i=yre,l=new ub}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=nf,this._children[e]={},this._children[nf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Li(r))r=nf;else{r+="";for(var n=r;!Li(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==nf)return r}}children(e){if(Li(e)&&(e=nf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===nf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return sLe(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return J2(e)||(e=Tg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Cu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return d0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Li(n)||(n=""+n);var o=a2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Li(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=dLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Hq(this._preds[r],e),Hq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?y_(this._isDirected,arguments[0]):a2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Wq(this._preds[r],e),Wq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Cu(n);return r?Xl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Gs.prototype._nodeCount=0;Gs.prototype._edgeCount=0;function Hq(t,e){t[e]?t[e]++:t[e]=1}function Wq(t,e){--t[e]||delete t[e]}function a2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Uq+a+Uq+(Li(n)?hLe:n)}function dLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function y_(t,e){return a2(t,e.v,e.w,e.name)}class fLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Yq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Yq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,pLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Yq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function pLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var gLe=Tg(1);function mLe(t,e){if(t.nodeCount()<=1)return[];var r=vLe(t,e||gLe),n=yLe(r.graph,r.buckets,r.zeroIdx);return F0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function yLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)v_(t,e,r,s);for(;s=i.dequeue();)v_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(v_(t,e,r,s,!0));break}}}return n}function v_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,uL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,uL(e,r,u)}),t.removeNode(n.v),a}function vLe(t,e){var r=new Gs,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=xm(i+n+3).map(function(){return new fLe}),s=n+1;return wt(r.nodes(),function(o){uL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function uL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function bLe(t){var e=t.graph().acyclicer==="greedy"?mLe(t,r(t)):xLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,KN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function xLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function TLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function jm(t,e,r,n){var i;do i=KN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function wLe(t){var e=new Gs().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Are(t){var e=new Gs({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function jq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function fS(t){var e=Tn(xm(Lre(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Li(i)||(e[i][n.order]=r)}),e}function CLe(t){var e=bm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Ere(n,"rank")&&(n.rank-=e)})}function SLe(t){var e=bm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Li(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function Xq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),jm(t,"border",i,e)}function Lre(t){return h0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Li(r))return r}))}function ELe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function kLe(t,e){return e()}function _Le(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=Xl(e.edges(),function(h){return l===Qq(t,t.node(h.v),o)&&l!==Qq(t,t.node(h.w),o)});return XN(u,function(h){return hb(e,h)})}function Fre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),JN(t),QN(t,e),VLe(t,e)}function VLe(t,e){var r=YN(t.nodes(),function(i){return!e.node(i).parent}),n=zLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function GLe(t,e,r){return t.hasEdge(e,r)}function Qq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function ULe(t){switch(t.graph().ranker){case"network-simplex":Jq(t);break;case"tight-tree":WLe(t);break;case"longest-path":HLe(t);break;default:Jq(t)}}var HLe=ZN;function WLe(t){ZN(t),Dre(t)}function Jq(t){$0(t)}function YLe(t){var e=jm(t,"root",{},"_root"),r=jLe(t),n=h0(Cu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=XLe(t)+1;wt(t.children(),function(s){$re(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function $re(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=Xq(t,"_bt"),u=Xq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){$re(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function jLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function XLe(t){return d0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function KLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function ZLe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function QLe(t,e,r){var n=JLe(t),i=new Gs({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Li(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function JLe(t){for(var e;t.hasNode(e=KN("_root")););return e}function eRe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function rRe(t){var e={},r=Xl(t.nodes(),function(o){return!t.children(o).length}),n=h0(Tn(r,function(o){return t.node(o).rank})),i=Tn(xm(n+1),function(){return[]});function a(o){if(!Ere(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=sx(r,function(o){return t.node(o).rank});return wt(s,a),i}function nRe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=d0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function iRe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Li(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Li(a)&&!Li(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Xl(r,function(i){return!i.indegree});return aRe(n)}function aRe(t){var e=[];function r(a){return function(s){s.merged||(Li(s.barycenter)||Li(a.barycenter)||s.barycenter>=a.barycenter)&&sRe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(Xl(e,function(a){return!a.merged}),function(a){return uw(a,["vs","i","barycenter","weight"])})}function sRe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function oRe(t,e){var r=ELe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=sx(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(lRe(!!e)),l=eV(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=eV(a,i,l)});var u={vs:F0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function eV(t,e,r){for(var n;e.length&&(n=cw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function lRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function zre(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=Xl(i,function(m){return m!==s&&m!==o}));var u=nRe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=zre(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&uRe(m,v)}});var h=iRe(u,r);cRe(h,l);var d=oRe(h,n);if(s&&(d.vs=F0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function cRe(t,e){wt(t,function(r){r.vs=F0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function uRe(t,e){Li(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function hRe(t){var e=Lre(t),r=tV(t,xm(1,e+1),"inEdges"),n=tV(t,xm(e-1,-1,-1),"outEdges"),i=rRe(t);rV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){dRe(o%2?r:n,o%4>=2),i=fS(t);var u=eRe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function gRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function mRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=cw(a);return wt(a,function(h,d){var f=vRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&qre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return d0(e,i),r}function vRe(t,e){if(t.node(e).dummy)return YN(t.predecessors(e),function(r){return t.node(r).dummy})}function qre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function xRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=sx(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>qRe(t));r(" runLayout",()=>DRe(n,r)),r(" updateInputGraph",()=>NRe(t,n))})}function DRe(t,e){e(" makeSpaceForEdgeLabels",()=>VRe(t)),e(" removeSelfEdges",()=>ZRe(t)),e(" acyclic",()=>bLe(t)),e(" nestingGraph.run",()=>YLe(t)),e(" rank",()=>ULe(Are(t))),e(" injectEdgeLabelProxies",()=>GRe(t)),e(" removeEmptyRanks",()=>SLe(t)),e(" nestingGraph.cleanup",()=>KLe(t)),e(" normalizeRanks",()=>CLe(t)),e(" assignRankMinMax",()=>URe(t)),e(" removeEdgeLabelProxies",()=>HRe(t)),e(" normalize.run",()=>NLe(t)),e(" parentDummyChains",()=>fRe(t)),e(" addBorderSegments",()=>_Le(t)),e(" order",()=>hRe(t)),e(" insertSelfEdges",()=>QRe(t)),e(" adjustCoordinateSystem",()=>ALe(t)),e(" position",()=>LRe(t)),e(" positionSelfEdges",()=>JRe(t)),e(" removeBorderNodes",()=>KRe(t)),e(" normalize.undo",()=>OLe(t)),e(" fixupEdgeLabelCoords",()=>jRe(t)),e(" undoCoordinateSystem",()=>LLe(t)),e(" translateGraph",()=>WRe(t)),e(" assignNodeIntersects",()=>YRe(t)),e(" reversePoints",()=>XRe(t)),e(" acyclic.undo",()=>TLe(t))}function NRe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var MRe=["nodesep","edgesep","ranksep","marginx","marginy"],ORe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},IRe=["acyclicer","ranker","rankdir","align"],BRe=["width","height"],PRe={width:0,height:0},FRe=["minlen","weight","width","height","labeloffset"],$Re={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},zRe=["labelpos"];function qRe(t){var e=new Gs({multigraph:!0,compound:!0}),r=w_(t.graph());return e.setGraph(G5({},ORe,T_(r,MRe),uw(r,IRe))),wt(t.nodes(),function(n){var i=w_(t.node(n));e.setNode(n,N8e(T_(i,BRe),PRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=w_(t.edge(n));e.setEdge(n,G5({},$Re,T_(i,FRe),uw(i,zRe)))}),e}function VRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function GRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};jm(t,"edge-proxy",a,"_ep")}})}function URe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=h0(e,n.maxRank))}),t.graph().maxRank=e}function HRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function WRe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function YRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(jq(n,a)),r.points.push(jq(i,s))})}function jRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function XRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function KRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(cw(r.borderLeft)),s=t.node(cw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function ZRe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function QRe(t){var e=fS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){jm(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function JRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function T_(t,e){return dS(uw(t,e),Number)}function w_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function Kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:e9e(t),edges:t9e(t)};return Li(t.graph())||(e.value=mre(t.graph())),e}function e9e(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Li(r)||(i.value=r),Li(n)||(i.parent=n),i})}function t9e(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Li(e.name)||(n.name=e.name),Li(r)||(n.value=r),n})}var Pr=new Map,Uf=new Map,Gre=new Map,r9e=S(()=>{Uf.clear(),Gre.clear(),Pr.clear()},"clear"),hw=S((t,e)=>{const r=Uf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),n9e=S((t,e)=>{const r=Uf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||hw(t.v,e)||hw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ure=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ure(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{n9e(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Hre=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Gre.set(i,t),n=[...n,...Hre(i,e)];return n},"extractDescendants"),i9e=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),db=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=db(a,e,r),o=i9e(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),nV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),a9e=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",db(r,t,r)),Uf.set(r,Hre(r,t)),Pr.set(r,{id:db(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Uf),i.forEach(a=>{const s=hw(a.v,r),o=hw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Uf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Uf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=nV(r.v),a=nV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",Kl(t)),Wre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Wre=S((t,e)=>{if(oe.warn("extractor - ",e,Kl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",Kl(t)),Ure(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",Kl(o)),oe.debug("Old graph after copy",Kl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Wre(a.graph,e+1)}},"extractor"),Yre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Yre(t,i);r=[...r,...a]}),r},"sorter"),s9e=S(t=>Yre(t,t.children()),"sortNodesByHierarchy"),jre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",Kl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX +?)[ \r ]*`,oL="[̀-ͯ]",F_e=new RegExp(oL+"+$"),$_e="("+Wte+"+)|"+(P_e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(oL+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(oL+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+B_e)+("|"+I_e+")");let Sq=class{constructor(e,r){this.input=e,this.settings=r,this.tokenRegex=new RegExp($_e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new uo("EOF",new Rs(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new qt("Unexpected character: '"+e[r]+"'",new uo(e[r],new Rs(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new uo(i,new Rs(this,r,this.tokenRegex.lastIndex))}};class z_e{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new qt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var q_e=Ite;ye("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ye("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ye("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ye("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ye("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ye("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ye("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Eq={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};ye("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new qt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=Eq[e.text],n==null||n>=r)throw new qt("Invalid base-"+r+" digit "+e.text);for(var i;(i=Eq[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new qt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new qt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new qt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new qt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};ye("\\newcommand",t=>IN(t,!1,!0,!1));ye("\\renewcommand",t=>IN(t,!0,!1,!1));ye("\\providecommand",t=>IN(t,!0,!0,!0));ye("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ye("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ye("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),$h[r],Xn.math[r],Xn.text[r]),""});ye("\\bgroup","{");ye("\\egroup","}");ye("~","\\nobreakspace");ye("\\lq","`");ye("\\rq","'");ye("\\aa","\\r a");ye("\\AA","\\r A");ye("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");ye("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ye("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");ye("ℬ","\\mathscr{B}");ye("ℰ","\\mathscr{E}");ye("ℱ","\\mathscr{F}");ye("ℋ","\\mathscr{H}");ye("ℐ","\\mathscr{I}");ye("ℒ","\\mathscr{L}");ye("ℳ","\\mathscr{M}");ye("ℛ","\\mathscr{R}");ye("ℭ","\\mathfrak{C}");ye("ℌ","\\mathfrak{H}");ye("ℨ","\\mathfrak{Z}");ye("\\Bbbk","\\Bbb{k}");ye("\\llap","\\mathllap{\\textrm{#1}}");ye("\\rlap","\\mathrlap{\\textrm{#1}}");ye("\\clap","\\mathclap{\\textrm{#1}}");ye("\\mathstrut","\\vphantom{(}");ye("\\underbar","\\underline{\\text{#1}}");ye("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');ye("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");ye("\\ne","\\neq");ye("≠","\\neq");ye("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");ye("∉","\\notin");ye("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");ye("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");ye("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");ye("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");ye("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");ye("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");ye("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");ye("⟂","\\perp");ye("‼","\\mathclose{!\\mkern-0.8mu!}");ye("∌","\\notni");ye("⌜","\\ulcorner");ye("⌝","\\urcorner");ye("⌞","\\llcorner");ye("⌟","\\lrcorner");ye("©","\\copyright");ye("®","\\textregistered");ye("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ye("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ye("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ye("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ye("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ye("⋮","\\vdots");ye("\\varGamma","\\mathit{\\Gamma}");ye("\\varDelta","\\mathit{\\Delta}");ye("\\varTheta","\\mathit{\\Theta}");ye("\\varLambda","\\mathit{\\Lambda}");ye("\\varXi","\\mathit{\\Xi}");ye("\\varPi","\\mathit{\\Pi}");ye("\\varSigma","\\mathit{\\Sigma}");ye("\\varUpsilon","\\mathit{\\Upsilon}");ye("\\varPhi","\\mathit{\\Phi}");ye("\\varPsi","\\mathit{\\Psi}");ye("\\varOmega","\\mathit{\\Omega}");ye("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ye("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ye("\\boxed","\\fbox{$\\displaystyle{#1}$}");ye("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ye("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ye("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ye("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ye("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var kq={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},V_e=new Set(["bin","rel"]);ye("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in kq?e=kq[r]:(r.slice(0,4)==="\\not"||r in Xn.math&&V_e.has(Xn.math[r].group))&&(e="\\dotsb"),e});var BN={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};ye("\\dotso",function(t){var e=t.future().text;return e in BN?"\\ldots\\,":"\\ldots"});ye("\\dotsc",function(t){var e=t.future().text;return e in BN&&e!==","?"\\ldots\\,":"\\ldots"});ye("\\cdots",function(t){var e=t.future().text;return e in BN?"\\@cdots\\,":"\\@cdots"});ye("\\dotsb","\\cdots");ye("\\dotsm","\\cdots");ye("\\dotsi","\\!\\cdots");ye("\\dotsx","\\ldots\\,");ye("\\DOTSI","\\relax");ye("\\DOTSB","\\relax");ye("\\DOTSX","\\relax");ye("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ye("\\,","\\tmspace+{3mu}{.1667em}");ye("\\thinspace","\\,");ye("\\>","\\mskip{4mu}");ye("\\:","\\tmspace+{4mu}{.2222em}");ye("\\medspace","\\:");ye("\\;","\\tmspace+{5mu}{.2777em}");ye("\\thickspace","\\;");ye("\\!","\\tmspace-{3mu}{.1667em}");ye("\\negthinspace","\\!");ye("\\negmedspace","\\tmspace-{4mu}{.2222em}");ye("\\negthickspace","\\tmspace-{5mu}{.277em}");ye("\\enspace","\\kern.5em ");ye("\\enskip","\\hskip.5em\\relax");ye("\\quad","\\hskip1em\\relax");ye("\\qquad","\\hskip2em\\relax");ye("\\tag","\\@ifstar\\tag@literal\\tag@paren");ye("\\tag@paren","\\tag@literal{({#1})}");ye("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new qt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ye("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ye("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ye("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ye("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ye("\\newline","\\\\\\relax");ye("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Yte=Gt(Yl["Main-Regular"][84][1]-.7*Yl["Main-Regular"][65][1]);ye("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Yte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ye("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Yte+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ye("\\hspace","\\@ifstar\\@hspacer\\@hspace");ye("\\@hspace","\\hskip #1\\relax");ye("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ye("\\ordinarycolon",":");ye("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ye("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ye("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ye("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ye("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ye("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ye("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ye("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ye("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ye("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ye("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ye("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ye("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ye("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ye("∷","\\dblcolon");ye("∹","\\eqcolon");ye("≔","\\coloneqq");ye("≕","\\eqqcolon");ye("⩴","\\Coloneqq");ye("\\ratio","\\vcentcolon");ye("\\coloncolon","\\dblcolon");ye("\\colonequals","\\coloneqq");ye("\\coloncolonequals","\\Coloneqq");ye("\\equalscolon","\\eqqcolon");ye("\\equalscoloncolon","\\Eqqcolon");ye("\\colonminus","\\coloneq");ye("\\coloncolonminus","\\Coloneq");ye("\\minuscolon","\\eqcolon");ye("\\minuscoloncolon","\\Eqcolon");ye("\\coloncolonapprox","\\Colonapprox");ye("\\coloncolonsim","\\Colonsim");ye("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ye("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ye("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");ye("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ye("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ye("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ye("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ye("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ye("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ye("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ye("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ye("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");ye("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");ye("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");ye("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");ye("\\nleqq","\\html@mathml{\\@nleqq}{≰}");ye("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");ye("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");ye("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");ye("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");ye("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");ye("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");ye("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");ye("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");ye("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");ye("\\imath","\\html@mathml{\\@imath}{ı}");ye("\\jmath","\\html@mathml{\\@jmath}{ȷ}");ye("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");ye("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");ye("⟦","\\llbracket");ye("⟧","\\rrbracket");ye("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");ye("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");ye("⦃","\\lBrace");ye("⦄","\\rBrace");ye("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");ye("⦵","\\minuso");ye("\\darr","\\downarrow");ye("\\dArr","\\Downarrow");ye("\\Darr","\\Downarrow");ye("\\lang","\\langle");ye("\\rang","\\rangle");ye("\\uarr","\\uparrow");ye("\\uArr","\\Uparrow");ye("\\Uarr","\\Uparrow");ye("\\N","\\mathbb{N}");ye("\\R","\\mathbb{R}");ye("\\Z","\\mathbb{Z}");ye("\\alef","\\aleph");ye("\\alefsym","\\aleph");ye("\\Alpha","\\mathrm{A}");ye("\\Beta","\\mathrm{B}");ye("\\bull","\\bullet");ye("\\Chi","\\mathrm{X}");ye("\\clubs","\\clubsuit");ye("\\cnums","\\mathbb{C}");ye("\\Complex","\\mathbb{C}");ye("\\Dagger","\\ddagger");ye("\\diamonds","\\diamondsuit");ye("\\empty","\\emptyset");ye("\\Epsilon","\\mathrm{E}");ye("\\Eta","\\mathrm{H}");ye("\\exist","\\exists");ye("\\harr","\\leftrightarrow");ye("\\hArr","\\Leftrightarrow");ye("\\Harr","\\Leftrightarrow");ye("\\hearts","\\heartsuit");ye("\\image","\\Im");ye("\\infin","\\infty");ye("\\Iota","\\mathrm{I}");ye("\\isin","\\in");ye("\\Kappa","\\mathrm{K}");ye("\\larr","\\leftarrow");ye("\\lArr","\\Leftarrow");ye("\\Larr","\\Leftarrow");ye("\\lrarr","\\leftrightarrow");ye("\\lrArr","\\Leftrightarrow");ye("\\Lrarr","\\Leftrightarrow");ye("\\Mu","\\mathrm{M}");ye("\\natnums","\\mathbb{N}");ye("\\Nu","\\mathrm{N}");ye("\\Omicron","\\mathrm{O}");ye("\\plusmn","\\pm");ye("\\rarr","\\rightarrow");ye("\\rArr","\\Rightarrow");ye("\\Rarr","\\Rightarrow");ye("\\real","\\Re");ye("\\reals","\\mathbb{R}");ye("\\Reals","\\mathbb{R}");ye("\\Rho","\\mathrm{P}");ye("\\sdot","\\cdot");ye("\\sect","\\S");ye("\\spades","\\spadesuit");ye("\\sub","\\subset");ye("\\sube","\\subseteq");ye("\\supe","\\supseteq");ye("\\Tau","\\mathrm{T}");ye("\\thetasym","\\vartheta");ye("\\weierp","\\wp");ye("\\Zeta","\\mathrm{Z}");ye("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ye("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ye("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ye("\\bra","\\mathinner{\\langle{#1}|}");ye("\\ket","\\mathinner{|{#1}\\rangle}");ye("\\braket","\\mathinner{\\langle{#1}\\rangle}");ye("\\Bra","\\left\\langle#1\\right|");ye("\\Ket","\\left|#1\\right\\rangle");var Xte=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=d=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=d;if(!d&&i.length){var m=f.future();m.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,h=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};ye("\\bra@ket",Xte(!1));ye("\\bra@set",Xte(!0));ye("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ye("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ye("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ye("\\angln","{\\angl n}");ye("\\blue","\\textcolor{##6495ed}{#1}");ye("\\orange","\\textcolor{##ffa500}{#1}");ye("\\pink","\\textcolor{##ff00af}{#1}");ye("\\red","\\textcolor{##df0030}{#1}");ye("\\green","\\textcolor{##28ae7b}{#1}");ye("\\gray","\\textcolor{gray}{#1}");ye("\\purple","\\textcolor{##9d38bd}{#1}");ye("\\blueA","\\textcolor{##ccfaff}{#1}");ye("\\blueB","\\textcolor{##80f6ff}{#1}");ye("\\blueC","\\textcolor{##63d9ea}{#1}");ye("\\blueD","\\textcolor{##11accd}{#1}");ye("\\blueE","\\textcolor{##0c7f99}{#1}");ye("\\tealA","\\textcolor{##94fff5}{#1}");ye("\\tealB","\\textcolor{##26edd5}{#1}");ye("\\tealC","\\textcolor{##01d1c1}{#1}");ye("\\tealD","\\textcolor{##01a995}{#1}");ye("\\tealE","\\textcolor{##208170}{#1}");ye("\\greenA","\\textcolor{##b6ffb0}{#1}");ye("\\greenB","\\textcolor{##8af281}{#1}");ye("\\greenC","\\textcolor{##74cf70}{#1}");ye("\\greenD","\\textcolor{##1fab54}{#1}");ye("\\greenE","\\textcolor{##0d923f}{#1}");ye("\\goldA","\\textcolor{##ffd0a9}{#1}");ye("\\goldB","\\textcolor{##ffbb71}{#1}");ye("\\goldC","\\textcolor{##ff9c39}{#1}");ye("\\goldD","\\textcolor{##e07d10}{#1}");ye("\\goldE","\\textcolor{##a75a05}{#1}");ye("\\redA","\\textcolor{##fca9a9}{#1}");ye("\\redB","\\textcolor{##ff8482}{#1}");ye("\\redC","\\textcolor{##f9685d}{#1}");ye("\\redD","\\textcolor{##e84d39}{#1}");ye("\\redE","\\textcolor{##bc2612}{#1}");ye("\\maroonA","\\textcolor{##ffbde0}{#1}");ye("\\maroonB","\\textcolor{##ff92c6}{#1}");ye("\\maroonC","\\textcolor{##ed5fa6}{#1}");ye("\\maroonD","\\textcolor{##ca337c}{#1}");ye("\\maroonE","\\textcolor{##9e034e}{#1}");ye("\\purpleA","\\textcolor{##ddd7ff}{#1}");ye("\\purpleB","\\textcolor{##c6b9fc}{#1}");ye("\\purpleC","\\textcolor{##aa87ff}{#1}");ye("\\purpleD","\\textcolor{##7854ab}{#1}");ye("\\purpleE","\\textcolor{##543b78}{#1}");ye("\\mintA","\\textcolor{##f5f9e8}{#1}");ye("\\mintB","\\textcolor{##edf2df}{#1}");ye("\\mintC","\\textcolor{##e0e5cc}{#1}");ye("\\grayA","\\textcolor{##f6f7f7}{#1}");ye("\\grayB","\\textcolor{##f0f1f2}{#1}");ye("\\grayC","\\textcolor{##e3e5e6}{#1}");ye("\\grayD","\\textcolor{##d6d8da}{#1}");ye("\\grayE","\\textcolor{##babec2}{#1}");ye("\\grayF","\\textcolor{##888d93}{#1}");ye("\\grayG","\\textcolor{##626569}{#1}");ye("\\grayH","\\textcolor{##3b3e40}{#1}");ye("\\grayI","\\textcolor{##21242c}{#1}");ye("\\kaBlue","\\textcolor{##314453}{#1}");ye("\\kaGreen","\\textcolor{##71B307}{#1}");var jte={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class G_e{constructor(e,r,n){this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new z_e(q_e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Sq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new uo("EOF",n.loc)),this.pushTokens(i),new uo("",Rs.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new qt("Extra }",a)}else if(a.text==="EOF")throw new qt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new qt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new qt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new qt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new qt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new qt("Not a valid argument number",l)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new uo(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new Sq(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var h={tokens:l,numArgs:a};return h}return i}isDefined(e){return this.macros.has(e)||$h.hasOwnProperty(e)||Xn.math.hasOwnProperty(e)||Xn.text.hasOwnProperty(e)||jte.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:$h.hasOwnProperty(e)&&!$h[e].primitive}}var _q=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,d4=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),p_={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Aq={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let Kte=class Zte{constructor(e,r){this.mode="math",this.gullet=new G_e(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new qt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new uo("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(Zte.endOfExpression.has(i.text)||r&&i.text===r||e&&$h[i.text]&&$h[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=128)this.settings.strict&&(tte(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Rs.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d-1}function so(t){return yd(t)?AZ(t):see(t)}var c7e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u7e=/^\w*$/;function $N(t,e){if(Vi(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||c0(t)?!0:u7e.test(t)||!c7e.test(t)||e!=null&&t in Object(e)}var h7e=500;function d7e(t){var e=Fm(t,function(n){return r.size===h7e&&r.clear(),n}),r=e.cache;return e}var f7e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,p7e=/\\(\\)?/g,g7e=d7e(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(f7e,function(r,n,i,a){e.push(i?a.replace(p7e,"$1"):n||r)}),e});function ore(t){return t==null?"":ire(t)}function oS(t,e){return Vi(t)?t:$N(t,e)?[t]:g7e(ore(t))}function ix(t){if(typeof t=="string"||c0(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function lS(t,e){e=oS(e,t);for(var r=0,n=e.length;t!=null&&ro))return!1;var u=a.get(t),h=a.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=r&VAe?new cb:void 0;for(a.set(t,e),a.set(e,t);++d2?e[2]:void 0;for(i&&tb(e[0],e[1],i)&&(n=1);++r-1?i[a?e[s]:s]:void 0}}var A8e=Math.max;function L8e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:n7e(r);return i<0&&(i=A8e(n+i,0)),sre(t,Uu(e),i)}var WN=_8e(L8e);function Cre(t,e){var r=-1,n=yd(t)?Array(t.length):[];return uS(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function Tn(t,e){var r=Vi(t)?Ig:Cre;return r(t,Uu(e))}function R8e(t,e){return cS(Tn(t,e))}function D8e(t,e){return t==null?t:HD(t,HN(e),M0)}function N8e(t,e){return t&&UN(t,HN(e))}function M8e(t,e){return t>e}var O8e=Object.prototype,I8e=O8e.hasOwnProperty;function B8e(t,e){return t!=null&&I8e.call(t,e)}function Sre(t,e){return t!=null&&xre(t,e,B8e)}function P8e(t,e){return Ig(e,function(r){return t[r]})}function wu(t){return t==null?[]:P8e(t,so(t))}function Li(t){return t===void 0}function Ere(t,e){return te||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function G8e(t,e,r){e.length?e=Ig(e,function(a){return Vi(a)?function(s){return lS(s,a.length===1?a[0]:a)}:a}):e=[O0];var n=-1;e=Ig(e,MC(Uu));var i=Cre(t,function(a,s,o){var l=Ig(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return z8e(i,function(a,s){return V8e(a,s,r)})}function U8e(t,e){return $8e(t,e,function(r,n){return Tre(t,n)})}var cw=v7e(function(t,e){return t==null?{}:U8e(t,e)}),H8e=Math.ceil,W8e=Math.max;function Y8e(t,e,r,n){for(var i=-1,a=W8e(H8e((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function X8e(t){return function(e,r,n){return n&&typeof n!="number"&&tb(e,r,n)&&(r=n=void 0),e=b3(e),r===void 0?(r=e,e=0):r=b3(r),n=n===void 0?e1&&tb(t,e[0],e[1])?e=[]:r>2&&tb(e[0],e[1],e[2])&&(e=[e[0]]),G8e(t,cS(e),[])}),K8e=1/0,Z8e=Mg&&1/VN(new Mg([,-0]))[1]==K8e?function(t){return new Mg(t)}:i7e,Q8e=200;function kre(t,e,r){var n=-1,i=l7e,a=t.length,s=!0,o=[],l=o;if(a>=Q8e){var u=e?null:Z8e(t);if(u)return VN(u);s=!1,i=mre,l=new cb}else l=e?[]:o;e:for(;++n1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=rf,this._children[e]={},this._children[rf][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],wt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),wt(so(this._in[e]),r),delete this._in[e],delete this._preds[e],wt(so(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Li(r))r=rf;else{r+="";for(var n=r;!Li(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==rf)return r}}children(e){if(Li(e)&&(e=rf),this._isCompound){var r=this._children[e];if(r)return so(r)}else{if(e===rf)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return so(r)}successors(e){var r=this._sucs[e];if(r)return so(r)}neighbors(e){var r=this.predecessors(e);if(r)return J8e(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;wt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),wt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&wt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Q2(e)||(e=xg(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return wu(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return h0(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Li(n)||(n=""+n);var o=i2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Li(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=aLe(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Uq(this._preds[r],e),Uq(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?m_(this._isDirected,arguments[0]):i2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?m_(this._isDirected,arguments[0]):i2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?m_(this._isDirected,arguments[0]):i2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Hq(this._preds[r],e),Hq(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=wu(n);return r?Xl(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=wu(n);return r?Xl(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}Gs.prototype._nodeCount=0;Gs.prototype._edgeCount=0;function Uq(t,e){t[e]?t[e]++:t[e]=1}function Hq(t,e){--t[e]||delete t[e]}function i2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Gq+a+Gq+(Li(n)?iLe:n)}function aLe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function m_(t,e){return i2(t,e.v,e.w,e.name)}class sLe{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Wq(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Wq(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,oLe)),n=n._prev;return"["+e.join(", ")+"]"}}function Wq(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function oLe(t,e){if(t!=="_next"&&t!=="_prev")return e}var lLe=xg(1);function cLe(t,e){if(t.nodeCount()<=1)return[];var r=hLe(t,e||lLe),n=uLe(r.graph,r.buckets,r.zeroIdx);return P0(Tn(n,function(i){return t.outEdges(i.v,i.w)}))}function uLe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)y_(t,e,r,s);for(;s=i.dequeue();)y_(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(y_(t,e,r,s,!0));break}}}return n}function y_(t,e,r,n,i){var a=i?[]:void 0;return wt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,cL(e,r,l)}),wt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,cL(e,r,u)}),t.removeNode(n.v),a}function hLe(t,e){var r=new Gs,n=0,i=0;wt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),wt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),h=l+u;r.setEdge(o.v,o.w,h),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=bm(i+n+3).map(function(){return new sLe}),s=n+1;return wt(r.nodes(),function(o){cL(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function cL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function dLe(t){var e=t.graph().acyclicer==="greedy"?cLe(t,r(t)):fLe(t);wt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,jN("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function fLe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,wt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return wt(t.nodes(),i),e}function pLe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Ym(t,e,r,n){var i;do i=jN(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function gLe(t){var e=new Gs().setGraph(t.graph());return wt(t.nodes(),function(r){e.setNode(r,t.node(r))}),wt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function _re(t){var e=new Gs({multigraph:t.isMultigraph()}).setGraph(t.graph());return wt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),wt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function Yq(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function dS(t){var e=Tn(bm(Are(t)+1),function(){return[]});return wt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Li(i)||(e[i][n.order]=r)}),e}function mLe(t){var e=vm(Tn(t.nodes(),function(r){return t.node(r).rank}));wt(t.nodes(),function(r){var n=t.node(r);Sre(n,"rank")&&(n.rank-=e)})}function yLe(t){var e=vm(Tn(t.nodes(),function(a){return t.node(a).rank})),r=[];wt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;wt(r,function(a,s){Li(a)&&s%i!==0?--n:n&&wt(a,function(o){t.node(o).rank+=n})})}function Xq(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Ym(t,"border",i,e)}function Are(t){return u0(Tn(t.nodes(),function(e){var r=t.node(e).rank;if(!Li(r))return r}))}function vLe(t,e){var r={lhs:[],rhs:[]};return wt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function bLe(t,e){return e()}function xLe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&wt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;as.lim&&(o=s,l=!0);var u=Xl(e.edges(),function(h){return l===Zq(t,t.node(h.v),o)&&l!==Zq(t,t.node(h.w),o)});return XN(u,function(h){return ub(e,h)})}function Pre(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),QN(t),ZN(t,e),ILe(t,e)}function ILe(t,e){var r=WN(t.nodes(),function(i){return!e.node(i).parent}),n=MLe(t,r);n=n.slice(1),wt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function BLe(t,e,r){return t.hasEdge(e,r)}function Zq(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function PLe(t){switch(t.graph().ranker){case"network-simplex":Qq(t);break;case"tight-tree":$Le(t);break;case"longest-path":FLe(t);break;default:Qq(t)}}var FLe=KN;function $Le(t){KN(t),Rre(t)}function Qq(t){F0(t)}function zLe(t){var e=Ym(t,"root",{},"_root"),r=qLe(t),n=u0(wu(r))-1,i=2*n+1;t.graph().nestingRoot=e,wt(t.edges(),function(s){t.edge(s).minlen*=i});var a=VLe(t)+1;wt(t.children(),function(s){Fre(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function Fre(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=Xq(t,"_bt"),u=Xq(t,"_bb"),h=t.node(s);t.setParent(l,s),h.borderTop=l,t.setParent(u,s),h.borderBottom=u,wt(o,function(d){Fre(t,e,r,n,i,a,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,v=f.borderTop?n:2*n,b=p!==m?1:i-a[s]+1;t.setEdge(l,p,{weight:v,minlen:b,nestingEdge:!0}),t.setEdge(m,u,{weight:v,minlen:b,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function qLe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&wt(a,function(s){r(s,i+1)}),e[n]=i}return wt(t.children(),function(n){r(n,1)}),e}function VLe(t){return h0(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function GLe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,wt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function ULe(t,e,r){var n={},i;wt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function HLe(t,e,r){var n=WLe(t),i=new Gs({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return wt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),wt(t[r](a),function(l){var u=l.v===a?l.w:l.v,h=i.edge(u,a),d=Li(h)?0:h.weight;i.setEdge(u,a,{weight:t.edge(l).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function WLe(t){for(var e;t.hasNode(e=jN("_root")););return e}function YLe(t,e){for(var r=0,n=1;n0;)h%2&&(d+=o[h+1]),h=h-1>>1,o[h]+=u.weight;l+=u.weight*d})),l}function jLe(t){var e={},r=Xl(t.nodes(),function(o){return!t.children(o).length}),n=u0(Tn(r,function(o){return t.node(o).rank})),i=Tn(bm(n+1),function(){return[]});function a(o){if(!Sre(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),wt(t.successors(o),a)}}var s=ax(r,function(o){return t.node(o).rank});return wt(s,a),i}function KLe(t,e){return Tn(e,function(r){var n=t.inEdges(r);if(n.length){var i=h0(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ZLe(t,e){var r={};wt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Li(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),wt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Li(a)&&!Li(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Xl(r,function(i){return!i.indegree});return QLe(n)}function QLe(t){var e=[];function r(a){return function(s){s.merged||(Li(s.barycenter)||Li(a.barycenter)||s.barycenter>=a.barycenter)&&JLe(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),wt(i.in.reverse(),r(i)),wt(i.out,n(i))}return Tn(Xl(e,function(a){return!a.merged}),function(a){return cw(a,["vs","i","barycenter","weight"])})}function JLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function eRe(t,e){var r=vLe(t,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),n=r.lhs,i=ax(r.rhs,function(h){return-h.i}),a=[],s=0,o=0,l=0;n.sort(tRe(!!e)),l=Jq(a,i,l),wt(n,function(h){l+=h.vs.length,a.push(h.vs),s+=h.barycenter*h.weight,o+=h.weight,l=Jq(a,i,l)});var u={vs:P0(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function Jq(t,e,r){for(var n;e.length&&(n=lw(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function tRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}function $re(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=Xl(i,function(m){return m!==s&&m!==o}));var u=KLe(t,i);wt(u,function(m){if(t.children(m.v).length){var v=$re(t,m.v,r,n);l[m.v]=v,Object.prototype.hasOwnProperty.call(v,"barycenter")&&nRe(m,v)}});var h=ZLe(u,r);rRe(h,l);var d=eRe(h,n);if(s&&(d.vs=P0([s,d.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function rRe(t,e){wt(t,function(r){r.vs=P0(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function nRe(t,e){Li(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function iRe(t){var e=Are(t),r=eV(t,bm(1,e+1),"inEdges"),n=eV(t,bm(e-1,-1,-1),"outEdges"),i=jLe(t);tV(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){aRe(o%2?r:n,o%4>=2),i=dS(t);var u=YLe(t,i);us||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function lRe(t){var e={},r=0;function n(i){var a=r;wt(t.children(i),n),e[i]={low:a,lim:r++}}return wt(t.children(),n),e}function cRe(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=lw(a);return wt(a,function(h,d){var f=hRe(t,h),p=f?t.node(f).order:l;(f||h===u)&&(wt(a.slice(o,d+1),function(m){wt(t.predecessors(m),function(v){var b=t.node(v),x=b.order;(xu)&&zre(r,f,h)})})}function i(a,s){var o=-1,l,u=0;return wt(s,function(h,d){if(t.node(h).dummy==="border"){var f=t.predecessors(h);f.length&&(l=t.node(f[0]).order,n(s,u,d,o,l),u=d,o=l)}n(s,u,s.length,l,a.length)}),s}return h0(e,i),r}function hRe(t,e){if(t.node(e).dummy)return WN(t.predecessors(e),function(r){return t.node(r).dummy})}function zre(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function dRe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function fRe(t,e,r,n){var i={},a={},s={};return wt(e,function(o){wt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),wt(e,function(o){var l=-1;wt(o,function(u){var h=n(u);if(h.length){h=ax(h,function(v){return s[v]});for(var d=(h.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=h[f];a[u]===u&&l{var n=r(" buildLayoutGraph",()=>ORe(t));r(" runLayout",()=>SRe(n,r)),r(" updateInputGraph",()=>ERe(t,n))})}function SRe(t,e){e(" makeSpaceForEdgeLabels",()=>IRe(t)),e(" removeSelfEdges",()=>URe(t)),e(" acyclic",()=>dLe(t)),e(" nestingGraph.run",()=>zLe(t)),e(" rank",()=>PLe(_re(t))),e(" injectEdgeLabelProxies",()=>BRe(t)),e(" removeEmptyRanks",()=>yLe(t)),e(" nestingGraph.cleanup",()=>GLe(t)),e(" normalizeRanks",()=>mLe(t)),e(" assignRankMinMax",()=>PRe(t)),e(" removeEdgeLabelProxies",()=>FRe(t)),e(" normalize.run",()=>ELe(t)),e(" parentDummyChains",()=>sRe(t)),e(" addBorderSegments",()=>xLe(t)),e(" order",()=>iRe(t)),e(" insertSelfEdges",()=>HRe(t)),e(" adjustCoordinateSystem",()=>TLe(t)),e(" position",()=>wRe(t)),e(" positionSelfEdges",()=>WRe(t)),e(" removeBorderNodes",()=>GRe(t)),e(" normalize.undo",()=>_Le(t)),e(" fixupEdgeLabelCoords",()=>qRe(t)),e(" undoCoordinateSystem",()=>wLe(t)),e(" translateGraph",()=>$Re(t)),e(" assignNodeIntersects",()=>zRe(t)),e(" reversePoints",()=>VRe(t)),e(" acyclic.undo",()=>pLe(t))}function ERe(t,e){wt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),wt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var kRe=["nodesep","edgesep","ranksep","marginx","marginy"],_Re={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},ARe=["acyclicer","ranker","rankdir","align"],LRe=["width","height"],RRe={width:0,height:0},DRe=["minlen","weight","width","height","labeloffset"],NRe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},MRe=["labelpos"];function ORe(t){var e=new Gs({multigraph:!0,compound:!0}),r=T_(t.graph());return e.setGraph(V5({},_Re,x_(r,kRe),cw(r,ARe))),wt(t.nodes(),function(n){var i=T_(t.node(n));e.setNode(n,E8e(x_(i,LRe),RRe)),e.setParent(n,t.parent(n))}),wt(t.edges(),function(n){var i=T_(t.edge(n));e.setEdge(n,V5({},NRe,x_(i,DRe),cw(i,MRe)))}),e}function IRe(t){var e=t.graph();e.ranksep/=2,wt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function BRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Ym(t,"edge-proxy",a,"_ep")}})}function PRe(t){var e=0;wt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=u0(e,n.maxRank))}),t.graph().maxRank=e}function FRe(t){wt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function $Re(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var h=u.x,d=u.y,f=u.width,p=u.height;e=Math.min(e,h-f/2),r=Math.max(r,h+f/2),n=Math.min(n,d-p/2),i=Math.max(i,d+p/2)}wt(t.nodes(),function(u){l(t.node(u))}),wt(t.edges(),function(u){var h=t.edge(u);Object.prototype.hasOwnProperty.call(h,"x")&&l(h)}),e-=s,n-=o,wt(t.nodes(),function(u){var h=t.node(u);h.x-=e,h.y-=n}),wt(t.edges(),function(u){var h=t.edge(u);wt(h.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=e),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=n)}),a.width=r-e+s,a.height=i-n+o}function zRe(t){wt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(Yq(n,a)),r.points.push(Yq(i,s))})}function qRe(t){wt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function VRe(t){wt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function GRe(t){wt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(lw(r.borderLeft)),s=t.node(lw(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),wt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function URe(t){wt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function HRe(t){var e=dS(t);wt(e,function(r){var n=0;wt(r,function(i,a){var s=t.node(i);s.order=a+n,wt(s.selfEdges,function(o){Ym(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function WRe(t){wt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function x_(t,e){return hS(cw(t,e),Number)}function T_(t){var e={};return wt(t,function(r,n){e[n.toLowerCase()]=r}),e}function jl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:YRe(t),edges:XRe(t)};return Li(t.graph())||(e.value=gre(t.graph())),e}function YRe(t){return Tn(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Li(r)||(i.value=r),Li(n)||(i.parent=n),i})}function XRe(t){return Tn(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Li(e.name)||(n.name=e.name),Li(r)||(n.value=r),n})}var Pr=new Map,Gf=new Map,Vre=new Map,jRe=S(()=>{Gf.clear(),Vre.clear(),Pr.clear()},"clear"),uw=S((t,e)=>{const r=Gf.get(e)||[];return oe.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),KRe=S((t,e)=>{const r=Gf.get(e)||[];return oe.info("Descendants of ",e," is ",r),oe.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||uw(t.v,e)||uw(t.w,e)||r.includes(t.w):(oe.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Gre=S((t,e,r,n)=>{oe.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),oe.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Gre(a,e,r,n);else{const s=e.node(a);oe.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(oe.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(oe.debug("Setting parent",a,t),r.setParent(a,t)):(oe.info("In copy ",t,"root",n,"data",e.node(t),n),oe.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);oe.debug("Copying Edges",o),o.forEach(l=>{oe.info("Edge",l);const u=e.edge(l.v,l.w,l.name);oe.info("Edge data",u,n);try{KRe(l,n)?(oe.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),oe.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):oe.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(h){oe.error(h)}})}oe.debug("Removing node",a),e.removeNode(a)})},"copy"),Ure=S((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Vre.set(i,t),n=[...n,...Ure(i,e)];return n},"extractDescendants"),ZRe=S((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),hb=S((t,e,r)=>{const n=e.children(t);if(oe.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=hb(a,e,r),o=ZRe(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),rV=S(t=>!Pr.has(t)||!Pr.get(t).externalConnections?t:Pr.has(t)?Pr.get(t).id:t,"getAnchorId"),QRe=S((t,e)=>{if(!t||e>10){oe.debug("Opting out, no graph ");return}else oe.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(oe.warn("Cluster identified",r," Replacement id in edges: ",hb(r,t,r)),Gf.set(r,Ure(r,t)),Pr.set(r,{id:hb(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(oe.debug("Cluster identified",r,Gf),i.forEach(a=>{const s=uw(a.v,r),o=uw(a.w,r);s^o&&(oe.warn("Edge: ",a," leaves cluster ",r),oe.warn("Descendants of XXX ",r,": ",Gf.get(r)),Pr.get(r).externalConnections=!0)})):oe.debug("Not a cluster ",r,Gf)});for(let r of Pr.keys()){const n=Pr.get(r).id,i=t.parent(n);i!==r&&Pr.has(i)&&!Pr.get(i).externalConnections&&(Pr.get(r).id=i)}t.edges().forEach(function(r){const n=t.edge(r);oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),oe.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(oe.warn("Fix XXX",Pr,"ids:",r.v,r.w,"Translating: ",Pr.get(r.v)," --- ",Pr.get(r.w)),Pr.get(r.v)||Pr.get(r.w)){if(oe.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=rV(r.v),a=rV(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){const s=t.parent(i);Pr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=t.parent(a);Pr.get(s).externalConnections=!0,n.toCluster=r.w}oe.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),oe.warn("Adjusted Graph",jl(t)),Hre(t,0),oe.trace(Pr)},"adjustClustersAndEdges"),Hre=S((t,e)=>{if(oe.warn("extractor - ",e,jl(t),t.children("D")),e>10){oe.error("Bailing out");return}let r=t.nodes(),n=!1;for(const i of r){const a=t.children(i);n=n||a.length>0}if(!n){oe.debug("Done, no node has children",t.nodes());return}oe.debug("Nodes = ",r,e);for(const i of r)if(oe.debug("Extracting node",i,Pr,Pr.has(i)&&!Pr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Pr.has(i))oe.debug("Not a cluster",i,e);else if(!Pr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){oe.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Pr.get(i)?.clusterData?.dir&&(s=Pr.get(i).clusterData.dir,oe.warn("Fixing dir",Pr.get(i).clusterData.dir,s));const o=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oe.warn("Old graph before copy",jl(t)),Gre(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Pr.get(i).clusterData,label:Pr.get(i).label,graph:o}),oe.warn("New graph after copy node: (",i,")",jl(o)),oe.debug("Old graph after copy",jl(t))}else oe.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Pr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),oe.debug(Pr);r=t.nodes(),oe.warn("New list of nodes",r);for(const i of r){const a=t.node(i);oe.warn(" Now next level",i,a),a?.clusterNode&&Hre(a.graph,e+1)}},"extractor"),Wre=S((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=Wre(t,i);r=[...r,...a]}),r},"sorter"),JRe=S(t=>Wre(t,t.children()),"sortNodesByHierarchy"),Yre=S(async(t,e,r,n,i,a)=>{oe.warn("Graph in recursive render:XAX",jl(e),i);const s=e.graph().rankdir;oe.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?oe.info("Recursive render XXX",e.nodes()):oe.info("No nodes found for",e),e.edges().length>0&&oe.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),h=o.insert("g").attr("class","edgeLabels"),d=o.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(v){const b=e.node(v);if(i!==void 0){const x=JSON.parse(JSON.stringify(i.clusterData));oe.trace(`Setting data for parent cluster XXX Node.id = `,v,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await jre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),$5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(db(b.id,e)),Pr.set(b.id,{id:db(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await HC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await YJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(Kl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),Vre(e),oe.info("Graph after layout:",JSON.stringify(Kl(e)));let p=0,{subGraphTitleTotalMargin:m}=Qb(a);return await Promise.all(s9e(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,$8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await mN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),$8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=KJ(u,b,Pr,r,x,C,n);jJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),o9e=S(async(t,e)=>{const r=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");JJ(n,t.markers,t.type,t.diagramId),z5e(),H5e(),b5e(),r9e(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function Xre(t,e,r){return(e=Kre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function d9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function f9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function p9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bi(t,e){return c9e(t)||f9e(t,e)||eM(t,e)||p9e()}function dw(t){return u9e(t)||d9e(t)||eM(t)||g9e()}function m9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Kre(t){var e=m9e(t,"string");return typeof e=="symbol"?e:e+""}function ra(t){"@babel/helpers - typeof";return ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ra(t)}function eM(t,e){if(t){if(typeof t=="string")return hL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hL(t,e):void 0}}var Ki=typeof window>"u"?null:window,iV=Ki?Ki.navigator:null;Ki&&Ki.document;var y9e=ra(""),Zre=ra({}),v9e=ra(function(){}),b9e=typeof HTMLElement>"u"?"undefined":ra(HTMLElement),ox=function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ra(e)==y9e},oi=function(e){return e!=null&&ra(e)===v9e},Rn=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ra(e)===Zre&&!Rn(e)&&e.constructor===Object},x9e=function(e){return e!=null&&ra(e)===Zre},Yt=function(e){return e!=null&&ra(e)===ra(1)&&!isNaN(e)},T9e=function(e){return Yt(e)&&Math.floor(e)===e},fw=function(e){if(b9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return lx(e)||Qre(e)},lx=function(e){return ox(e)==="collection"&&e._private.single},Qre=function(e){return ox(e)==="collection"&&!e._private.single},tM=function(e){return ox(e)==="core"},Jre=function(e){return ox(e)==="stylesheet"},w9e=function(e){return ox(e)==="event"},ld=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},C9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},S9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},E9e=function(e){return x9e(e)&&oi(e.then)},k9e=function(){return iV&&iV.userAgent.match(/msie|trident|edge/i)},Tm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},M9e=function(e,r){return-1*tne(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+L9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},B9e=function(e){var r,n=new RegExp("^"+_9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},P9e=function(e){return F9e[e.toLowerCase()]},rne=function(e){return(Rn(e)?e:null)||P9e(e)||O9e(e)||B9e(e)||I9e(e)},F9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},nne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function R(){var z=e();if(k(z))return O(z);m=setTimeout(R,A(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(R,l),E(v)}return m===void 0&&(m=setTimeout(R,l)),p}return q.cancel=F,q.flush=$,q}return B_=s,B_}var j9e=Y9e(),dx=cx(j9e),P_=Ki?Ki.performance:null,sne=P_&&P_.now?function(){return P_.now()}:function(){return Date.now()},X9e=(function(){if(Ki){if(Ki.requestAnimationFrame)return function(t){Ki.requestAnimationFrame(t)};if(Ki.mozRequestAnimationFrame)return function(t){Ki.mozRequestAnimationFrame(t)};if(Ki.webkitRequestAnimationFrame)return function(t){Ki.webkitRequestAnimationFrame(t)};if(Ki.msRequestAnimationFrame)return function(t){Ki.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(sne())},1e3/60)}})(),pw=function(e){return X9e(e)},Ou=sne,If=9261,one=65599,tg=5381,lne=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If,n=r,i;i=e.next(),!i.done;)n=n*one+i.value|0;return n},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:If;return r*one+e|0},pb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tg;return(r<<5)+r+e|0},K9e=function(e,r){return e*2097152+r},Lh=function(e){return e[0]*2097152+e[1]},mT=function(e,r){return[fb(e[0],r[0]),pb(e[1],r[1])]},xV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},sM=function(e){e.splice(0,e.length)},sDe=function(e,r){for(var n=0;n"u"?"undefined":ra(Set))!==lDe?Set:cDe,mS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tM(e)){Yn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Yn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new Xm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Rn(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var A;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)R.push(O);return R}).apply(this).reverse(),k=[],E=0,_=A.length;E<_;E++)T=A[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,A,k,R;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),R=x.slice(C),A=0,k=R.length;A$;0<=$?++R:--R)q.push(s(x,T));return q},v=function(x,C,T,E){var _,A,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,A=x[k],E(_,A)<0){x[T]=A,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,A,k,R;for(T==null&&(T=n),_=x.length,R=C,A=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=A,v(x,R,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(uDe)})(T3)),T3.exports}var F_,EV;function dDe(){return EV||(EV=1,F_=hDe()),F_}var fDe=dDe(),fx=cx(fDe),pDe=Na({root:null,weight:function(e){return 1},directed:!1}),gDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=pDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new fx(function(I,N){return b(I)-b(N)}),T=0;T0;){var A=C.pop(),k=b(A),R=A.id();if(f[R]=k,k!==1/0)for(var O=A.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},mDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var R=[],O=a,F=h,$=x[F];R.unshift(O),$!=null&&R.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(R),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+R;!a&&m[q]>$&&(m[q]=$,C[q]=R,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Le),Te=[],ot=We;;){if(ot==null)return r.spawn();var De=C(ot),Ge=De.edge,it=De.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},A=0;A=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=SDe(a,e,r),n--}return r},EDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/CDe);if(a<2){Yn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},DDe=function(e){return Math.PI*e/180},yT=function(e,r){return Math.atan2(r,e)-Math.PI/2},oM=Math.log2||function(t){return Math.log(t)/Math.log(2)},lM=function(e){return e>0?1:e<0?-1:0},p0=function(e,r){return Math.sqrt(Ef(e,r))},Ef=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},NDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},ODe=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},IDe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},BDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},gne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},C3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Bi(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},kV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},cM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},_V=function(e,r){return Gh(e,r.x,r.y)},mne=function(e,r){return Gh(e,r.x1,r.y1)&&Gh(e,r.x2,r.y2)},PDe=(z_=Math.hypot)!==null&&z_!==void 0?z_:function(t,e){return Math.sqrt(t*t+e*e)};function FDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(R,O){return{x:R.x+O.x,y:R.y+O.y}},n=function(R,O){return{x:R.x-O.x,y:R.y-O.y}},i=function(R,O){return{x:R.x*O,y:R.y*O}},a=function(R,O){return R.x*O.y-R.y*O.x},s=function(R){var O=PDe(R.x,R.y);return O===0?{x:0,y:0}:{x:R.x/O,y:R.y/O}},o=function(R){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?ud(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Uh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,A=i+d-u+o;if(m=Uh(e,r,n,i,T,E,_,A,!1),m.length>0)return m}if(f){var k=n-h+u-o,R=i+d+o,O=n+h-u+o,F=R;if(m=Uh(e,r,n,i,k,R,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Uh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=s2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=s2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=s2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,j=i+d-u;if(I=s2(e,r,n,i,H,j,u+o),I.length>0&&I[0]<=H&&I[1]>=j)return[I[0],I[1]]}return[]},zDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},qDe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},VDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},GDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},UDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];GDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Ms=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Iu=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=yw(h,-u);v=mw(b)}else v=h;return Ms(e,r,v)},WDe=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,A=C[1]*l[1]+r;return[T,E,_,A]}else return[T,E]},q_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Uh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,A=0-_,k=1+_;return A<=T&&T<=k&&A<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?q_(e,n,o)===o?[o,l]:q_(e,n,a)===a?[a,s]:q_(a,o,n)===n?[n,i]:[]:[]},jDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=yw(d,-l);p=mw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,R.nodes.indexOf(z)<0?R.push(z):R.updateItem(z),A[z]=0,_[z]=[]),k[z]==k[$]+N&&(A[z]=A[z]+A[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var j=_[P][H];V[j]=V[j]+A[j]/A[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},cNe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:dNe,o=i,l,u,h=0;h=2?mv(e,r,n,0,NV,fNe):mv(e,r,n,0,DV)},squaredEuclidean:function(e,r,n){return mv(e,r,n,0,NV)},manhattan:function(e,r,n){return mv(e,r,n,0,DV)},max:function(e,r,n){return mv(e,r,n,-1/0,pNe)}};wm["squared-euclidean"]=wm.squaredEuclidean;wm.squaredeuclidean=wm.squaredEuclidean;function vS(t,e,r,n,i,a){var s;return oi(t)?s=t:s=wm[t]||wm.euclidean,e===0&&oi(t)?s(i,a):s(e,r,n,i,a)}var gNe=Na({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hM=function(e){return gNe(e)},vw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return vS(e,i.length,o,l,u,h)},G_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},vNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},FV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=FV(e,r,n),i},$V=function(e){for(var r=this.cy(),n=this.nodes(),i=RNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=j,P+=j}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,X=0;X1||A>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(R){R.isEdge()&&d[T].push(R.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],A,k,R;d[E].length;)A=d[E].shift(),k=f[A][0],R=f[A][1],E!=R?(d[R]=d[R].filter(function(O){return O!=A}),E=R):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=A}),E=k),_.unshift(A),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},bT=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(A){return A.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},FNe={hopcroftTarjanBiconnected:bT,htbc:bT,htb:bT,hopcroftTarjanBiconnectedComponents:bT},xT=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},$Ne={tarjanStronglyConnected:xT,tsc:xT,tscc:xT,tarjanStronglyConnectedComponents:xT},Sne={};[gb,gDe,mDe,vDe,xDe,wDe,EDe,QDe,Fg,$g,pL,hNe,SNe,ANe,INe,PNe,FNe,$Ne].forEach(function(t){yr(Sne,t)});var Ene=0,kne=1,_ne=2,wl=function(e){if(!(this instanceof wl))return new wl(e);this.id="Thenable/1.0.7",this.state=Ene,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};wl.prototype={fulfill:function(e){return zV(this,kne,"fulfillValue",e)},reject:function(e){return zV(this,_ne,"rejectReason",e)},then:function(e,r){var n=this,i=new wl;return n.onFulfilled.push(VV(e,i,"fulfill")),n.onRejected.push(VV(r,i,"reject")),Ane(n),i.proxy}};var zV=function(e,r,n,i){return e.state===Ene&&(e.state=r,e[n]=i,Ane(e)),e},Ane=function(e){e.state===kne?qV(e,"onFulfilled",e.fulfillValue):e.state===_ne&&qV(e,"onRejected",e.rejectReason)},qV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return h7=e,h7}var d7,hG;function iMe(){if(hG)return d7;hG=1;var t=TS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return d7=e,d7}var f7,dG;function aMe(){if(dG)return f7;dG=1;var t=eMe(),e=tMe(),r=rMe(),n=nMe(),i=iMe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Rn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};S3.className=S3.classNames=S3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},vL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return M9e(t.selector,e.selector)}),BMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},VMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var A=a(h.left,d),k=a(h.subject,d),R=a(h.right,d);return A+(A.length>0?" ":"")+k+R}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Bne(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Bne)};function Pne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}Cm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,Pne)};function KMe(t,e,r){Pne(t,e,r),Bne(t,e,r)}Cm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return gM(this,t,e,KMe)};Cm.ancestors=Cm.parents;var vb,Fne;vb=Fne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};vb.attr=vb.data;vb.removeAttr=vb.removeData;var ZMe=Fne,CS={};function q7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Ip("indegree",function(t,e){return te}),minOutdegree:Ip("outdegree",function(t,e){return te})});yr(CS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};yl.modelPosition=yl.point=yl.position;yl.modelPositions=yl.points=yl.positions;yl.renderedPoint=yl.renderedPosition;yl.relativePoint=yl.relativePosition;var QMe=$ne,zg,Cd;zg=Cd={};Cd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};Cd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Cd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,A=p(h.height.val-d.h,x,C),k=A.biasDiff,R=A.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+R)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Oh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},yv=function(e,r,n){return Ns(e,r,n)},TT=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,w3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},V7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=yv(s,"labelWidth",n),d=yv(s,"labelHeight",n),f=yv(s,"labelX",n),p=yv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,A=2,k=d,R=h,O=R/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-R,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+R;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-A,N=m+Math.max(C,E)+_+A,B=v-Math.max(C,E)-_-A,M=v+Math.max(C,E)+_+A;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",j=x.pfValue!=null&&x.pfValue!==0;if(H||j){var Z=H?yv(a.rstyle,"labelAngle",n):x.pfValue,X=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Le){return He=He-Q,Le=Le-he,{x:He*X-Le*ee+Q,y:He*ee+Le*X+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},qG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;qne(e,r,n,s,"outside",s/2)}},qne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Oh(e,v)}else s!=null&&s>0&&C3(e,[s,s,s,s])}}},JMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;qne(e,r,n,i,a)}},eOe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var A=0,k=0;i&&r.includeUnderlays&&(A=e.pstyle("underlay-opacity").value,A!==0&&(k=e.pstyle("underlay-padding").value));var R=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&qG(s,e),i&&r.includeOutlines&&!a&&qG(s,e),i&&JMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||Vh(N,"segments")||Vh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(TT(s,e,"mid-source"),TT(s,e,"mid-target"),TT(s,e,"source"),TT(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};kV(ne,s),C3(ne,x),w3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-R,f-R,d+R,p+R));var me=o.overlayBounds=o.overlayBounds||{};kV(me,s),C3(me,x),w3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?IDe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&V7(s,e,null),u&&(r.includeSourceLabels&&V7(s,e,"source"),r.includeTargetLabels&&V7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(C3(s,x),w3(s,1)),s},Vne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:gOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};fd.removeAllListeners=function(){return this.removeListener("*")};fd.emit=fd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Rn(e)||(e=[e]),mOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===pOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&sDe(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ra(Symbol))!=e&&ra(Symbol.iterator)!=e;r&&(bw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Xre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:QG({attr:"source"}),targets:QG({attr:"target"})});function QG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Yn("A collection must have a reference to the core");return}var a=new mu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!lx(r[0])){s=!0;for(var o=[],l=new Xm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var A=!1;function k(){A=!0,(t!==e||r!==n)&&T()}var R=function($){return A||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};R.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return R.toString=function(){return O},R}var _Oe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Mn=function(e,r,n,i){var a=kOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},k3={linear:function(e,r,n){return e+(r-e)*n},ease:Mn(.25,.1,.25,1),"ease-in":Mn(.42,0,1,1),"ease-out":Mn(0,0,.58,1),"ease-in-out":Mn(.42,0,.58,1),"ease-in-sine":Mn(.47,0,.745,.715),"ease-out-sine":Mn(.39,.575,.565,1),"ease-in-out-sine":Mn(.445,.05,.55,.95),"ease-in-quad":Mn(.55,.085,.68,.53),"ease-out-quad":Mn(.25,.46,.45,.94),"ease-in-out-quad":Mn(.455,.03,.515,.955),"ease-in-cubic":Mn(.55,.055,.675,.19),"ease-out-cubic":Mn(.215,.61,.355,1),"ease-in-out-cubic":Mn(.645,.045,.355,1),"ease-in-quart":Mn(.895,.03,.685,.22),"ease-out-quart":Mn(.165,.84,.44,1),"ease-in-out-quart":Mn(.77,0,.175,1),"ease-in-quint":Mn(.755,.05,.855,.06),"ease-out-quint":Mn(.23,1,.32,1),"ease-in-out-quint":Mn(.86,0,.07,1),"ease-in-expo":Mn(.95,.05,.795,.035),"ease-out-expo":Mn(.19,1,.22,1),"ease-in-out-expo":Mn(1,0,0,1),"ease-in-circ":Mn(.6,.04,.98,.335),"ease-out-circ":Mn(.075,.82,.165,1),"ease-in-out-circ":Mn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return k3.linear;var i=_Oe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Mn};function tU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function rU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Bp(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=rU(t,i),o=rU(e,i);if(Yt(s)&&Yt(o))return tU(a,s,o,r,n);if(Rn(s)&&Rn(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=k3[p].apply(null,m)):s.easingImpl=k3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};bv(x.x,C.x)&&(T.x=Bp(x.x,C.x,b,v)),bv(x.y,C.y)&&(T.y=Bp(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,A=a.pan,k=_!=null&&n;k&&(bv(E.x,_.x)&&(A.x=Bp(E.x,_.x,b,v)),bv(E.y,_.y)&&(A.y=Bp(E.y,_.y,b,v)),t.emit("pan"));var R=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(bv(R,O)&&(a.zoom=mb(a.minZoom,Bp(R,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Bp(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function bv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function LOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function nU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(A){for(var k=A.length-1;k>=0;k--){var R=A[k];R()}A.splice(0,A.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||LOe(h,T,t),AOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var ROe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&pw(function(a){nU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){nU(s,e)},n.beforeRenderPriorities.animations):r()}},DOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&lx(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},ST=function(e){return dr(e)?new hd(e):e},Jne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new SS(DOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,ST(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,ST(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,ST(r),n),this},once:function(e,r,n){return this.emitter().one(e,ST(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Jne);var xL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};xL.jpeg=xL.jpg;var _3={layout:function(e){var r=this;if(e==null){Yn("Layout options must be specified to make a layout");return}if(e.name==null){Yn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Yn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};_3.createLayout=_3.makeLayout=_3.layout;var NOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};TL.invalidateDimensions=TL.resize;var A3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Rn(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};A3.elements=A3.filter=A3.$;var da={},M2="t",OOe="f";da.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var A=n.valueMin[0],k=n.valueMax[0],R=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(A+(k-A)*E),Math.round(R+(O-R)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};da.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};da.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};da.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};da.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var gx={};gx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new hd(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var A=0;A=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Rn(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],A=[],k="",R=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&R?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:A,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:DDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=yS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};m0.centre=m0.center;m0.autolockNodes=m0.autolock;m0.autoungrabifyNodes=m0.autoungrabify;var xb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};xb.attr=xb.data;xb.removeAttr=xb.removeData;var Tb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!fw(n)&&fw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Ki!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(E9e);if(b)return Km.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Rn(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,oi(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Rn(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*De;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var je=x[ot].length,at=Math.max(je===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:je)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:je)+1),N),xe={x:ne.x+(De+1-(je+1)/2)*at,y:ne.y+(ot+1-(X+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Yn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Le=function(We){return eDe($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Le),this};var $Oe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},$Oe,t)}tie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(A,k){var R=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(R),F=h*Math.sin(R),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var zOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function rie(t){this.options=yr({},zOe,t)}rie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var A=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,R=Math.min(s.w,s.h)/2-A,O=R/(x.length+k?1:0);A=Math.min(A,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(A*A/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=A}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(YOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),pw(h)}};h()}else{for(;u;)u=s(l),l++;sU(n,t),o()}return this};LS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};LS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var VOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(R);for(var h=0;hi.count?0:i.graph},nie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=Tw(e,o,l),b=Tw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},KOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},Tw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},ZOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},JOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},aie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},rIe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function sie(t){this.options=yr({},rIe,t)}sie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(j){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var X=Math.min(l,u);X==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var X=Math.max(l,u);X==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=HDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=UDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||R.source,V=V||R.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,R,O){return Ns(k,R,O)}function E(k,R){var O=k._private,F=f,$;R?$=R+"-":$="",k.boundingBox();var q=O.labelBounds[R||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",R),N=T(O.rscratch,"labelY",R),B=T(O.rscratch,"labelAngle",R),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,j=q.y2+F-V;if(B){var Z=Math.cos(B),X=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*X+I,y:me*X+pe*Z+N}},Q=ee(U,H),he=ee(U,j),te=ee(P,H),ae=ee(P,j),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Ms(t,e,ie))return b(k),!0}else if(Gh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var A=s[_];A.isNode()?x(A)||E(A):C(A)||E(A)||E(A,"source")||E(A,"target")}return o};z0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ns(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Le=Me.labelBounds.main;if(!Le)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,De=me.pstyle(He+"text-margin-y").pfValue,Ge=Le.x1-$e-ot,it=Le.x2+$e-ot,Ye=Le.y1-$e-De,je=Le.y2+$e-De;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,je),Ze(Ge,je)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:je},{x:Ge,y:je}]}function x(me,pe,Me,$e){function He(Le,Oe,We){return(We.y-Le.y)*(Oe.x-Le.x)>(Oe.y-Le.y)*(We.x-Le.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},lIe=function(e,r,n,i,a){if(e!==hU?dU(r,e,Fl):oIe(Oo,Fl),dU(r,n,Oo),cU=Fl.nx*Oo.ny-Fl.ny*Oo.nx,uU=Fl.nx*Oo.nx-Fl.ny*-Oo.ny,Gc=Math.asin(Math.max(-1,Math.min(1,cU))),Math.abs(Gc)<1e-6){wL=r.x,CL=r.y,kf=Fp=0;return}Bf=1,L3=!1,uU<0?Gc<0?Gc=Math.PI+Gc:(Gc=Math.PI-Gc,Bf=-1,L3=!0):Gc>0&&(Bf=-1,L3=!0),r.radius!==void 0?Fp=r.radius:Fp=i,af=Gc/2,ET=Math.min(Fl.len/2,Oo.len/2),a?(Nl=Math.abs(Math.cos(af)*Fp/Math.sin(af)),Nl>ET?(Nl=ET,kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))):kf=Fp):(Nl=Math.min(ET,Fp),kf=Math.abs(Nl*Math.sin(af)/Math.cos(af))),SL=r.x+Oo.nx*Nl,EL=r.y+Oo.ny*Nl,wL=SL-Oo.ny*kf*Bf,CL=EL+Oo.nx*kf*Bf,uie=r.x+Fl.nx*Nl,hie=r.y+Fl.ny*Nl,hU=r};function die(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(lIe(t,e,r,n,i),{cx:wL,cy:CL,radius:kf,startX:uie,startY:hie,stopX:SL,stopY:EL,startAngle:Fl.ang+Math.PI/2*Bf,endAngle:Oo.ang-Math.PI/2*Bf,counterClockwise:L3})}var wb=.01,cIe=Math.sqrt(2*wb),ja={};ja.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,A,k,R){var O=R-A,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Bi(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Bi(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};ja.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,R),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=lM(M),U=!1;!(I&&(E||A))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var j=_<0?B:0;P=j+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},X=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=X||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Le=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Le,We,Le]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,De=h.y2;r.segpts=[Te,ot,Te,De]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var je=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[je,at,je,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};ja.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,A=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=A<_,R=p0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=R<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-A),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-A)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-R)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};ja.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),j=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),X=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=cIe||(Ye=Math.sqrt(Math.max(it*it,wb)+Math.max(Ge*Ge,wb)));var je=z.vector={x:it,y:Ge},at=z.vectorNorm={x:je.x/Ye,y:je.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Le[0],Le[1],0,Z,X,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,j,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:X,tgtW:H,tgtH:j,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:De.x2,y1:De.y2,x2:De.x1,y2:De.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-je.x,y:-je.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Le=u,Oe=Ef(Le,wg(s)),We=Ef(Le,wg(He)),Te=Oe;if(We2){var ot=Ef(Le,{x:He[2],y:He[3]});ot0){var fe=h,we=Ef(fe,wg(s)),Ee=Ef(fe,wg(de)),Ie=we;if(Ee2){var Ue=Ef(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:A};break}}if(b)break}var R=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=mb(0,q,1),e=Pg(R.p0,R.p1,R.p2,q),f=hIe(R.p0,R.p1,R.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=mb(0,P,1),e=MDe(N,B,P),f=gie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};pc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};pc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=f0(n,t._private.labelDimsKey);if(Ns(r.rscratch,"prefixedLabelDimsKey",e)!==i){su(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ns(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;su(r.rstyle,"labelWidth",e,f),su(r.rscratch,"labelWidth",e,f),su(r.rstyle,"labelHeight",e,p),su(r.rscratch,"labelHeight",e,p),su(r.rscratch,"labelLineHeight",e,d)}};pc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(j,Z){return Z?(su(r.rscratch,j,e,Z),Z):Ns(r.rscratch,j,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` -`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),A="",k=0,R=Ps(_),O;try{for(R.s();!(O=R.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=A.length===0?q:A+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?A+=q+$:(A&&m.push(A),A=q+$)}}catch(H){R.e(H)}finally{R.f()}A.match(/^[\s\u200b]+$/)||m.push(A)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` -`)),s("labelWrapKey",l)}else if(o==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,B="",M="…",V=!1;if(this.calculateLabelDimensions(t,i).widthN)break;B+=i[U],U===i.length-1&&(V=!0)}return V||(B+=M),B}return i};pc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};pc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var p=0,m=0,v=e.split(` -`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=wg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=lM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,j,Z,X,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,j=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,X=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=j&&j<=me&&0<=X&&X<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,j,Z,X),Q=$e(H,j,Z,X),he=[(H+Z)/2,(j+X)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,De;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-De<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,De=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),De=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},je=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:yne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?ud(i,a):l;var u=2*l;if(Iu(e,r,this.points,s,o,i,a-u,[0,-1],n)||Iu(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Ms(e,r,f)||Hf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Hf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Wu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=dL(5,0),a=dL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*H7)break;var _=e.deq(n,b,v);if(_.length>0)for(var A=0;A<_.length;A++)m.push(_[A]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||aM;i.beforeRender(s,o(n))}}}},fIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gw;Td(this,t),this.idsByKey=new mu,this.keyForId=new mu,this.cachesByLvl=new mu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return wd(t,[{key:"getIdsFor",value:function(r){r==null&&Yn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new Xm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new mu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),mU=25,kT=50,R3=-4,kL=3,Tie=7.99,pIe=8,gIe=1024,mIe=1024,yIe=1024,vIe=.2,bIe=.8,xIe=10,TIe=.15,wIe=.1,CIe=.9,SIe=.9,EIe=100,kIe=1,Sg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_Ie=Na({getKey:null,doesEleInvalidateKey:gw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:une,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),l2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=_Ie(r);yr(n,i),n.lookup=new fIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ia=l2.prototype;ia.reasons=Sg;ia.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ia.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ia.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new fx(function(r,n){return n.reqs-r.reqs});return e};ia.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ia.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oM(o*r))),n=Tie||n>kL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=mU?m=mU:h<=kT?m=kT:m=Math.ceil(h/kT)*kT,h>yIe||d>mIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Sg.downscale);F()}else return a.queueElement(t,A.level-1),A;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=R3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+pIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};ia.invalidateElements=function(t){for(var e=0;e=vIe*t.width&&this.retireTexture(t)};ia.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>bIe&&t.fullnessChecks>=xIe?cd(r,t):t.fullnessChecks++};ia.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;cd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),cd(i,s),n.push(s),s}};ia.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};ia.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Sg.dequeue)}return i};ia.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ia.onDequeue=function(t){this.onDequeues.push(t)};ia.offDequeue=function(t){cd(this.onDequeues,t)};ia.setupDequeueing=xie.setupDequeueing({deqRedrawThreshold:EIe,deqCost:TIe,deqAvgCost:wIe,deqNoDrawCost:CIe,deqFastCost:SIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=LIe||r>Cw)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;O2<=N&&N<=Cw&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&cd(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FvU||z>vU)return null;var D=q*z;if(D>PIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/AIe,T=!o,E=0;E=C||!mne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Ma.getEleLevelForLayerLevel=function(t,e){return t};Ma.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,FIe),a.setImgSmoothing(s,!0))};Ma.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ma.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ma.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ou(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Ma.invalidateLayer=function(t){if(this.lastInvalidationTime=Ou(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];cd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},A=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},R=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();A(),T(),k(),_(),R(),r&&t.translate(l.x1,l.y1)}};var Sie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Yu.drawEdgeOverlay=Sie("overlay");Yu.drawEdgeUnderlay=Sie("underlay");Yu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function XIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function wU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ns(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ns(s,"labelX",r),u=Ns(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ns(s,"labelWidth",r),v=Ns(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var A=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,R=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(A>0||R>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=A>0,P=R>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var j=u-v-O,Z=m+2*O,X=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(A*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=R,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=R/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),wU(t,H,j,Z,X,z)):q?(t.beginPath(),XIe(t,H,j,Z,X)):(t.beginPath(),t.rect(H,j,Z,X)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=R/2;t.beginPath(),$?wU(t,H+ee,j+ee,Z-2*ee,X-2*ee,z):t.rect(H+ee,j+ee,Z-2*ee,X-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ns(s,"labelWrapCachedLines",r),te=Ns(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),A=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:X;s.colorStrokeStyle(t,j[0],j[1],j[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=cne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==A,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Le=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?bne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Sd.drawNodeOverlay=Eie("overlay");Sd.drawNodeUnderlay=Eie("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var A=2*Math.PI*E,k=_+A;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},KIe=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),A={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},R=e.prevViewport,O=R===void 0||k.zoom!==R.zoom||k.pan.x!==R.pan.x||k.pan.y!==R.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(A=o),E*=l,A.x*=l,A.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=A,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),j=f&&!H?"motionBlur":void 0;q(D,j),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],X=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,X,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},KIe)),n||r.emit("render")};var xv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!xv){var x=h.measureText(b);xv=x.actualBoundingBoxAscent}h.fillText(b,0,xv);var C=60;h.strokeRect(0,xv+10,250,20),h.fillRect(0,xv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function CU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function ZIe(t,e,r){var n=CU(t,t.VERTEX_SHADER,e),i=CU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function QIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function SM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function JIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function eBe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function tBe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function rBe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function nBe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function iBe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function kie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function _ie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function aBe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function sBe(t,e,r,n){var i=kie(t,e),a=Bi(i,2),s=a[0],o=a[1],l=_ie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Ml(t,e,r,n){var i=kie(t,r),a=Bi(i,3),s=a[0],o=a[1],l=a[2],u=_ie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,A=T.x,k=T.row,R=A,O=l*k;_.save(),_.translate(R,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,A=d-_,k=l;{var R=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,R,O,F,k),m[0]={x:R,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=A;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=A,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Ps(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Ps(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var A=n.collections.get(E.collection),k=E.getKey(v),R=Array.isArray(k)?k:[k];if(s)R.forEach(function(q){return A.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!rBe(R,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return A.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Ps(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Bi(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Ps(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Bi(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),gBe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return wd(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),mBe=` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(v)||(oe.trace("Setting parent",v,i.id),e.setParent(v,i.id,x))}if(oe.info("(Insert) Node XXX"+v+": "+JSON.stringify(e.node(v))),b?.clusterNode){oe.info("Cluster identified XBX",v,b.width,e.node(v));const{ranksep:x,nodesep:C}=e.graph();b.graph.setGraph({...b.graph.graph(),ranksep:x+25,nodesep:C});const T=await Yre(d,b.graph,r,n,e.node(v),a),E=T.elem;or(b,E),b.diff=T.diff||0,oe.info("New compound node after recursive render XAX",v,"width",b.width,"height",b.height),N5e(E,b)}else e.children(v).length>0?(oe.trace("Cluster - the non recursive path XBX",v,b.id,b,b.width,"Graph:",e),oe.trace(hb(b.id,e)),Pr.set(b.id,{id:hb(b.id,e),node:b})):(oe.trace("Node - the non recursive path XAX",v,d,e.node(v),s),await UC(d,e.node(v),{config:a,dir:s}))})),await S(async()=>{const v=e.edges().map(async function(b){const x=e.edge(b.v,b.w,b.name);oe.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),oe.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(e.edge(b))),oe.info("Fix",Pr,"ids:",b.v,b.w,"Translating: ",Pr.get(b.v),Pr.get(b.w)),await WJ(h,x)});await Promise.all(v)},"processEdges")(),oe.info("Graph before layout:",JSON.stringify(jl(e))),oe.info("############################################# XXX"),oe.info("### Layout ### XXX"),oe.info("############################################# XXX"),qre(e),oe.info("Graph after layout:",JSON.stringify(jl(e)));let p=0,{subGraphTitleTotalMargin:m}=Zb(a);return await Promise.all(JRe(e).map(async function(v){const b=e.node(v);if(oe.info("Position XBX => "+v+": ("+b.x,","+b.y,") width: ",b.width," height: ",b.height),b?.clusterNode)b.y+=m,oe.info("A tainted cluster node XBX1",v,b.id,b.width,b.height,b.x,b.y,e.parent(v)),Pr.get(b.id).node=b,F8(b);else if(e.children(v).length>0){oe.info("A pure cluster node XBX1",v,b.id,b.x,b.y,b.width,b.height,e.parent(v)),b.height+=m,e.node(b.parentId);const x=b?.padding/2||0,C=b?.labelBBox?.height||0,T=C-x||0;oe.debug("OffsetY",T,"labelHeight",C,"halfPadding",x),await gN(l,b),Pr.get(b.id).node=b}else{const x=e.node(b.parentId);b.y+=m/2,oe.info("A regular node XBX1 - using the padding",b.id,"parent",b.parentId,b.width,b.height,b.x,b.y,"offsetY",b.offsetY,"parent",x,x?.offsetY,b),F8(b)}})),e.edges().forEach(function(v){const b=e.edge(v);oe.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(b),b),b.points.forEach(E=>E.y+=m/2);const x=e.node(v.v);var C=e.node(v.w);const T=jJ(u,b,Pr,r,x,C,n);YJ(b,T)}),e.nodes().forEach(function(v){const b=e.node(v);oe.info(v,b.type,b.diff),b.isGroup&&(p=b.diff)}),oe.warn("Returning from recursive render XAX",o,p),{elem:o,diff:p}},"recursiveRender"),e9e=S(async(t,e)=>{const r=new Gs({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");QJ(n,t.markers,t.type,t.diagramId),M5e(),F5e(),d5e(),jRe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),oe.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){const s=a.start,o=s+"---"+s+"---1",l=s+"---"+s+"---2",u=r.node(s);r.setNode(o,{domId:o,id:o,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(o,u.parentId),r.setNode(l,{domId:l,id:l,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(l,u.parentId);const h=structuredClone(a),d=structuredClone(a),f=structuredClone(a);h.label="",h.arrowTypeEnd="none",h.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",f.label="",u.isGroup&&(h.fromCluster=s,f.toCluster=s),f.id=s+"-cyclic-special-2",f.arrowTypeStart="none",r.setEdge(s,o,h,s+"-cyclic-special-0"),r.setEdge(o,l,d,s+"-cyclic-special-1"),r.setEdge(l,s,f,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function Xre(t,e,r){return(e=jre(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a9e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function s9e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(h){u=!0,i=h}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function o9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function l9e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bi(t,e){return r9e(t)||s9e(t,e)||JN(t,e)||o9e()}function hw(t){return n9e(t)||a9e(t)||JN(t)||l9e()}function c9e(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function jre(t){var e=c9e(t,"string");return typeof e=="symbol"?e:e+""}function ra(t){"@babel/helpers - typeof";return ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ra(t)}function JN(t,e){if(t){if(typeof t=="string")return uL(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uL(t,e):void 0}}var Ki=typeof window>"u"?null:window,nV=Ki?Ki.navigator:null;Ki&&Ki.document;var u9e=ra(""),Kre=ra({}),h9e=ra(function(){}),d9e=typeof HTMLElement>"u"?"undefined":ra(HTMLElement),sx=function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},dr=function(e){return e!=null&&ra(e)==u9e},oi=function(e){return e!=null&&ra(e)===h9e},Rn=function(e){return!ho(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},tn=function(e){return e!=null&&ra(e)===Kre&&!Rn(e)&&e.constructor===Object},f9e=function(e){return e!=null&&ra(e)===Kre},Yt=function(e){return e!=null&&ra(e)===ra(1)&&!isNaN(e)},p9e=function(e){return Yt(e)&&Math.floor(e)===e},dw=function(e){if(d9e!=="undefined")return e!=null&&e instanceof HTMLElement},ho=function(e){return ox(e)||Zre(e)},ox=function(e){return sx(e)==="collection"&&e._private.single},Zre=function(e){return sx(e)==="collection"&&!e._private.single},eM=function(e){return sx(e)==="core"},Qre=function(e){return sx(e)==="stylesheet"},g9e=function(e){return sx(e)==="event"},od=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},m9e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},y9e=function(e){return tn(e)&&Yt(e.x1)&&Yt(e.x2)&&Yt(e.y1)&&Yt(e.y2)},v9e=function(e){return f9e(e)&&oi(e.then)},b9e=function(){return nV&&nV.userAgent.match(/msie|trident|edge/i)},xm=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},k9e=function(e,r){return-1*ene(e,r)},yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(b-=1),b<1/6?m+(v-m)*6*b:b<1/2?v:b<2/3?m+(v-m)*(2/3-b)*6:m}var d=new RegExp("^"+w9e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*h(p,f,n+1/3)),l=Math.round(255*h(p,f,n)),u=Math.round(255*h(p,f,n-1/3))}r=[o,l,u,s]}return r},L9e=function(e){var r,n=new RegExp("^"+x9e+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},R9e=function(e){return D9e[e.toLowerCase()]},tne=function(e){return(Rn(e)?e:null)||R9e(e)||_9e(e)||L9e(e)||A9e(e)},D9e={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},rne=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a=l||D<0||C&&I>=f}function L(){var z=e();if(k(z))return O(z);m=setTimeout(L,R(z))}function O(z){return m=void 0,T&&h?E(z):(h=d=void 0,p)}function F(){m!==void 0&&clearTimeout(m),b=0,h=v=d=m=void 0}function $(){return m===void 0?p:O(e())}function q(){var z=e(),D=k(z);if(h=arguments,d=this,v=z,D){if(m===void 0)return _(v);if(C)return clearTimeout(m),m=setTimeout(L,l),E(v)}return m===void 0&&(m=setTimeout(L,l)),p}return q.cancel=F,q.flush=$,q}return I_=s,I_}var q9e=z9e(),hx=lx(q9e),B_=Ki?Ki.performance:null,ane=B_&&B_.now?function(){return B_.now()}:function(){return Date.now()},V9e=(function(){if(Ki){if(Ki.requestAnimationFrame)return function(t){Ki.requestAnimationFrame(t)};if(Ki.mozRequestAnimationFrame)return function(t){Ki.mozRequestAnimationFrame(t)};if(Ki.webkitRequestAnimationFrame)return function(t){Ki.webkitRequestAnimationFrame(t)};if(Ki.msRequestAnimationFrame)return function(t){Ki.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(ane())},1e3/60)}})(),fw=function(e){return V9e(e)},Mu=ane,Of=9261,sne=65599,eg=5381,one=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Of,n=r,i;i=e.next(),!i.done;)n=n*sne+i.value|0;return n},db=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Of;return r*sne+e|0},fb=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:eg;return(r<<5)+r+e|0},G9e=function(e,r){return e*2097152+r},_h=function(e){return e[0]*2097152+e[1]},g4=function(e,r){return[db(e[0],r[0]),fb(e[1],r[1])]},bV=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i=0;i--)e[i]===r&&e.splice(i,1)},aM=function(e){e.splice(0,e.length)},J9e=function(e,r){for(var n=0;n"u"?"undefined":ra(Set))!==tDe?Set:rDe,gS=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!eM(e)){Yn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Yn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new Xm,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Rn(r.classes)?u=r.classes:dr(r.classes)&&(u=r.classes.split(/\s+/));for(var h=0,d=u.length;hC?1:0},h=function(x,C,T,E,_){var R;if(T==null&&(T=0),_==null&&(_=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TF;0<=F?O++:O--)L.push(O);return L}).apply(this).reverse(),k=[],E=0,_=R.length;E<_;E++)T=R[E],k.push(b(x,T,C));return k},m=function(x,C,T){var E;if(T==null&&(T=n),E=x.indexOf(C),E!==-1)return v(x,0,E,T),b(x,E,T)},f=function(x,C,T){var E,_,R,k,L;if(T==null&&(T=n),_=x.slice(0,C),!_.length)return _;for(a(_,T),L=x.slice(C),R=0,k=L.length;R$;0<=$?++L:--L)q.push(s(x,T));return q},v=function(x,C,T,E){var _,R,k;for(E==null&&(E=n),_=x[T];T>C;){if(k=T-1>>1,R=x[k],E(_,R)<0){x[T]=R,T=k;continue}break}return x[T]=_},b=function(x,C,T){var E,_,R,k,L;for(T==null&&(T=n),_=x.length,L=C,R=x[C],E=2*C+1;E<_;)k=E+1,k<_&&!(T(x[E],x[k])<0)&&(E=k),x[C]=x[E],C=E,E=2*C+1;return x[C]=R,v(x,L,C,T)},r=(function(){x.push=o,x.pop=s,x.replace=u,x.pushpop=l,x.heapify=a,x.updateItem=m,x.nlargest=f,x.nsmallest=p;function x(C){this.cmp=C??n,this.nodes=[]}return x.prototype.push=function(C){return o(this.nodes,C,this.cmp)},x.prototype.pop=function(){return s(this.nodes,this.cmp)},x.prototype.peek=function(){return this.nodes[0]},x.prototype.contains=function(C){return this.nodes.indexOf(C)!==-1},x.prototype.replace=function(C){return u(this.nodes,C,this.cmp)},x.prototype.pushpop=function(C){return l(this.nodes,C,this.cmp)},x.prototype.heapify=function(){return a(this.nodes,this.cmp)},x.prototype.updateItem=function(C){return m(this.nodes,C,this.cmp)},x.prototype.clear=function(){return this.nodes=[]},x.prototype.empty=function(){return this.nodes.length===0},x.prototype.size=function(){return this.nodes.length},x.prototype.clone=function(){var C;return C=new x,C.nodes=this.nodes.slice(0),C},x.prototype.toArray=function(){return this.nodes.slice(0)},x.prototype.insert=x.prototype.push,x.prototype.top=x.prototype.peek,x.prototype.front=x.prototype.peek,x.prototype.has=x.prototype.contains,x.prototype.copy=x.prototype.clone,x})(),(function(x,C){return t.exports=C()})(this,function(){return r})}).call(nDe)})(x3)),x3.exports}var P_,SV;function aDe(){return SV||(SV=1,P_=iDe()),P_}var sDe=aDe(),dx=lx(sDe),oDe=Da({root:null,weight:function(e){return 1},directed:!1}),lDe={dijkstra:function(e){if(!tn(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=oDe(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=dr(i)?this.filter(i)[0]:i[0],h={},d={},f={},p=this.byGroup(),m=p.nodes,v=p.edges;v.unmergeBy(function(I){return I.isLoop()});for(var b=function(N){return h[N.id()]},x=function(N,B){h[N.id()]=B,C.updateItem(N)},C=new dx(function(I,N){return b(I)-b(N)}),T=0;T0;){var R=C.pop(),k=b(R),L=R.id();if(f[L]=k,k!==1/0)for(var O=R.neighborhood().intersect(m),F=0;F0)for(M.unshift(B);d[U];){var P=d[U];M.unshift(P.edge),M.unshift(P.node),V=P.node,U=V.id()}return o.spawn(M)}}}},cDe={kruskal:function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(E){for(var _=0;_0;){if(_(),k++,E===h){for(var L=[],O=a,F=h,$=x[F];L.unshift(O),$!=null&&L.unshift($),O=b[F],O!=null;)F=O.id(),$=x[F];return{found:!0,distance:d[E],path:this.spawn(L),steps:k}}p[E]=!0;for(var q=T._private.edges,z=0;z$&&(m[F]=$,C[F]=O,T[F]=_),!a){var q=O*h+L;!a&&m[q]>$&&(m[q]=$,C[q]=L,T[q]=_)}}}for(var z=0;z1&&arguments[1]!==void 0?arguments[1]:s,We=T(Ae),Te=[],ot=We;;){if(ot==null)return r.spawn();var Re=C(ot),Ge=Re.edge,it=Re.pred;if(Te.unshift(ot[0]),ot.same(Oe)&&Te.length>0)break;Ge!=null&&Te.unshift(Ge),ot=it}return l.spawn(Te)},R=0;R=0;h--){var d=u[h],f=d[1],p=d[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(h,1)}for(var m=0;mi;){var a=Math.floor(Math.random()*r.length);r=yDe(a,e,r),n--}return r},vDe={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(M){return M.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/mDe);if(a<2){Yn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var h=e.length,d=Math.floor(h/2);return h%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},SDe=function(e){return Math.PI*e/180},m4=function(e,r){return Math.atan2(r,e)-Math.PI/2},sM=Math.log2||function(t){return Math.log(t)/Math.log(2)},oM=function(e){return e>0?1:e<0?-1:0},f0=function(e,r){return Math.sqrt(Sf(e,r))},Sf=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},EDe=function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},_De=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},ADe=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},LDe=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},pne=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},T3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},w3=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=Bi(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},EV=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},lM=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},qh=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},kV=function(e,r){return qh(e,r.x,r.y)},gne=function(e,r){return qh(e,r.x1,r.y1)&&qh(e,r.x2,r.y2)},RDe=($_=Math.hypot)!==null&&$_!==void 0?$_:function(t,e){return Math.sqrt(t*t+e*e)};function DDe(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(L,O){return{x:L.x+O.x,y:L.y+O.y}},n=function(L,O){return{x:L.x-O.x,y:L.y-O.y}},i=function(L,O){return{x:L.x*O,y:L.y*O}},a=function(L,O){return L.x*O.y-L.y*O.x},s=function(L){var O=RDe(L.x,L.y);return O===0?{x:0,y:0}:{x:L.x/O,y:L.y/O}},o=function(L){for(var O=0,F=0;F7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?cd(a,s):l,h=a/2,d=s/2;u=Math.min(u,h,d);var f=u!==h,p=u!==d,m;if(f){var v=n-h+u-o,b=i-d-o,x=n+h-u+o,C=b;if(m=Vh(e,r,n,i,v,b,x,C,!1),m.length>0)return m}if(p){var T=n+h+o,E=i-d+u-o,_=T,R=i+d-u+o;if(m=Vh(e,r,n,i,T,E,_,R,!1),m.length>0)return m}if(f){var k=n-h+u-o,L=i+d+o,O=n+h-u+o,F=L;if(m=Vh(e,r,n,i,k,L,O,F,!1),m.length>0)return m}if(p){var $=n-h-o,q=i-d+u-o,z=$,D=i+d-u+o;if(m=Vh(e,r,n,i,$,q,z,D,!1),m.length>0)return m}var I;{var N=n-h+u,B=i-d+u;if(I=a2(e,r,n,i,N,B,u+o),I.length>0&&I[0]<=N&&I[1]<=B)return[I[0],I[1]]}{var M=n+h-u,V=i-d+u;if(I=a2(e,r,n,i,M,V,u+o),I.length>0&&I[0]>=M&&I[1]<=V)return[I[0],I[1]]}{var U=n+h-u,P=i+d-u;if(I=a2(e,r,n,i,U,P,u+o),I.length>0&&I[0]>=U&&I[1]>=P)return[I[0],I[1]]}{var H=n-h+u,X=i+d-u;if(I=a2(e,r,n,i,H,X,u+o),I.length>0&&I[0]<=H&&I[1]>=X)return[I[0],I[1]]}return[]},MDe=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),h=Math.max(n,a),d=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=h+l&&d-l<=r&&r<=f+l},ODe=function(e,r,n,i,a,s,o,l,u){var h={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(eh.x2||rh.y2)},IDe=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},BDe=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,h,d,f,p,m;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+d+f,p+=(d+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){m=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*m,a[4]=a[2]=-(m+p);return}l=-l,h=l*l*l,h=Math.acos(u/Math.sqrt(h)),m=2*Math.sqrt(l),a[0]=-p+m*Math.cos(h/3),a[2]=-p+m*Math.cos((h+2*Math.PI)/3),a[4]=-p+m*Math.cos((h+4*Math.PI)/3)},PDe=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,h=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];BDe(u,h,d,f,p);for(var m=1e-7,v=[],b=0;b<6;b+=2)Math.abs(p[b+1])=0&&p[b]<=1&&v.push(p[b]);v.push(1),v.push(0);for(var x=-1,C,T,E,_=0;_=0?Eu?(e-a)*(e-a)+(r-s)*(r-s):h-f},Ms=function(e,r,n){for(var i,a,s,o,l,u=0,h=0;h=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},Ou=function(e,r,n,i,a,s,o,l,u){var h=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var f=Math.cos(-d),p=Math.sin(-d),m=0;m0){var b=mw(h,-u);v=gw(b)}else v=h;return Ms(e,r,v)},$De=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),h=0;h=0&&b<=1&&C.push(b),x>=0&&x<=1&&C.push(x),C.length===0)return[];var T=C[0]*l[0]+e,E=C[0]*l[1]+r;if(C.length>1){if(C[0]==C[1])return[T,E];var _=C[1]*l[0]+e,R=C[1]*l[1]+r;return[T,E,_,R]}else return[T,E]},z_=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Vh=function(e,r,n,i,a,s,o,l,u){var h=e-a,d=n-e,f=o-a,p=r-s,m=i-r,v=l-s,b=f*p-v*h,x=d*p-m*h,C=v*d-f*m;if(C!==0){var T=b/C,E=x/C,_=.001,R=0-_,k=1+_;return R<=T&&T<=k&&R<=E&&E<=k?[e+T*d,r+T*m]:u?[e+T*d,r+T*m]:[]}else return b===0||x===0?z_(e,n,o)===o?[o,l]:z_(e,n,a)===a?[a,s]:z_(a,o,n)===n?[n,i]:[]:[]},qDe=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,h=n;s.push({x:u+o*e[0],y:h+l*e[1]});for(var d=1;d0){var v=mw(d,-l);p=gw(v)}else p=d}else p=n;for(var b,x,C,T,E=0;E2){for(var m=[h[0],h[1]],v=Math.pow(m[0]-e,2)+Math.pow(m[1]-r,2),b=1;bh&&(h=E)},get:function(T){return u[T]}},f=0;f0?I=D.edgesTo(z)[0]:I=z.edgesTo(D)[0];var N=i(I);z=z.id(),k[z]>k[$]+N&&(k[z]=k[$]+N,L.nodes.indexOf(z)<0?L.push(z):L.updateItem(z),R[z]=0,_[z]=[]),k[z]==k[$]+N&&(R[z]=R[z]+R[$],_[z].push($))}else for(var B=0;B0;){for(var P=E.pop(),H=0;H<_[P].length;H++){var X=_[P][H];V[X]=V[X]+R[X]/R[P]*(1+V[P])}P!=o[b].id()&&d.set(P,d.get(P)+V[P])}},b=0;b0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},rNe=function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:aNe,o=i,l,u,h=0;h=2?gv(e,r,n,0,DV,sNe):gv(e,r,n,0,RV)},squaredEuclidean:function(e,r,n){return gv(e,r,n,0,DV)},manhattan:function(e,r,n){return gv(e,r,n,0,RV)},max:function(e,r,n){return gv(e,r,n,-1/0,oNe)}};Tm["squared-euclidean"]=Tm.squaredEuclidean;Tm.squaredeuclidean=Tm.squaredEuclidean;function yS(t,e,r,n,i,a){var s;return oi(t)?s=t:s=Tm[t]||Tm.euclidean,e===0&&oi(t)?s(i,a):s(e,r,n,i,a)}var lNe=Da({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),uM=function(e){return lNe(e)},yw=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(d){return n[d]}:function(d){return i[d](n)},l=function(f){return i[f](r)},u=n,h=r;return yS(e,i.length,o,l,u,h)},V_=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;un)return!1}return!0},hNe=function(e,r,n){for(var i=0;io&&(o=r[u][h],l=h);a[l].push(e[u])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var m=r[s],v=r[i[s]],b;a.mode==="dendrogram"?b={left:m,right:v,key:m.key}:b={value:m.value.concat(v.value),key:m.key},e[m.index]=b,e.splice(v.index,1),r[m.key]=b;for(var x=0;xn[v.key][C.key]&&(l=n[v.key][C.key])):a.linkage==="max"?(l=n[m.key][C.key],n[m.key][C.key]0&&i.push(a);return i},PV=function(e,r,n){for(var i=[],a=0;ao&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var h=0;hu&&(l=h,u=d)}n[a]=s[l]}return i=PV(e,r,n),i},FV=function(e){for(var r=this.cy(),n=this.nodes(),i=CNe(e),a={},s=0;s=$?(q=$,$=D,z=I):D>q&&(q=D);for(var N=0;N0?1:0;k[O%i.minIterations*o+H]=X,P+=X}if(P>0&&(O>=i.minIterations-1||O==i.maxIterations-1)){for(var Z=0,j=0;j1||R>1)&&(o=!0),d[T]=[],C.outgoers().forEach(function(L){L.isEdge()&&d[T].push(L.id())})}else f[T]=[void 0,C.target().id()]}):s.forEach(function(C){var T=C.id();if(C.isNode()){var E=C.degree(!0);E%2&&(l?u?o=!0:u=T:l=T),d[T]=[],C.connectedEdges().forEach(function(_){return d[T].push(_.id())})}else f[T]=[C.source().id(),C.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(h&&u!=h)return p;h=u}else{if(h&&u!=h&&l!=h)return p;h||(h=u)}else h||(h=s[0].id());var m=function(T){for(var E=T,_=[T],R,k,L;d[E].length;)R=d[E].shift(),k=f[R][0],L=f[R][1],E!=L?(d[L]=d[L].filter(function(O){return O!=R}),E=L):!a&&E!=k&&(d[k]=d[k].filter(function(O){return O!=R}),E=k),_.unshift(R),_.unshift(E);return _},v=[],b=[];for(b=m(h);b.length!=1;)d[b[0]].length==0?(v.unshift(s.getElementById(b.shift())),v.unshift(s.getElementById(b.shift()))):b=m(b.shift()).concat(b);v.unshift(s.getElementById(b.shift()));for(var x in d)if(d[x].length)return p;return p.found=!0,p.trail=this.spawn(v,!0),p}},v4=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var m=s.length-1,v=[],b=e.spawn();s[m].x!=f||s[m].y!=p;)v.push(s.pop().edge),m--;v.push(s.pop().edge),v.forEach(function(x){var C=x.connectedNodes().intersection(e);b.merge(x),C.forEach(function(T){var E=T.id(),_=T.connectedEdges().intersection(e);b.merge(T),r[E].cutVertex?b.merge(_.filter(function(R){return R.isLoop()})):b.merge(_)})}),a.push(b)},u=function(f,p,m){f===m&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var v=e.getElementById(p).connectedEdges().intersection(e);if(v.size()===0)a.push(e.spawn(e.getElementById(p)));else{var b,x,C,T;v.forEach(function(E){b=E.source().id(),x=E.target().id(),C=b===p?x:b,C!==m&&(T=E.id(),o[T]||(o[T]=!0,s.push({x:p,y:C,edge:E})),C in r?r[p].low=Math.min(r[p].low,r[C].id):(u(f,C,p),r[p].low=Math.min(r[p].low,r[C].low),r[p].id<=r[C].low&&(r[p].cutVertex=!0,l(p,C))))})}};e.forEach(function(d){if(d.isNode()){var f=d.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var h=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(h),components:a}},DNe={hopcroftTarjanBiconnected:v4,htbc:v4,htb:v4,hopcroftTarjanBiconnectedComponents:v4},b4=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var h=e.getElementById(u).connectedEdges().intersection(e);if(h.forEach(function(v){var b=v.target().id();b!==u&&(b in r||o(b),r[b].explored||(r[u].low=Math.min(r[u].low,r[b].low)))}),r[u].index===r[u].low){for(var d=e.spawn();;){var f=a.pop();if(d.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=d.edgesWith(d),m=d.merge(p);i.push(m),s=s.difference(m)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},NNe={tarjanStronglyConnected:b4,tsc:b4,tscc:b4,tarjanStronglyConnectedComponents:b4},Cne={};[pb,lDe,cDe,hDe,fDe,gDe,vDe,HDe,Pg,Fg,fL,iNe,yNe,TNe,ANe,RNe,DNe,NNe].forEach(function(t){yr(Cne,t)});var Sne=0,Ene=1,kne=2,Tl=function(e){if(!(this instanceof Tl))return new Tl(e);this.id="Thenable/1.0.7",this.state=Sne,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};Tl.prototype={fulfill:function(e){return $V(this,Ene,"fulfillValue",e)},reject:function(e){return $V(this,kne,"rejectReason",e)},then:function(e,r){var n=this,i=new Tl;return n.onFulfilled.push(qV(e,i,"fulfill")),n.onRejected.push(qV(r,i,"reject")),_ne(n),i.proxy}};var $V=function(e,r,n,i){return e.state===Sne&&(e.state=r,e[n]=i,_ne(e)),e},_ne=function(e){e.state===Ene?zV(e,"onFulfilled",e.fulfillValue):e.state===kne&&zV(e,"onRejected",e.rejectReason)},zV=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s-1}return u7=e,u7}var h7,uG;function ZNe(){if(uG)return h7;uG=1;var t=xS();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return h7=e,h7}var d7,hG;function QNe(){if(hG)return d7;hG=1;var t=YNe(),e=XNe(),r=jNe(),n=KNe(),i=ZNe();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o-1&&n%1==0&&n0&&this.spawn(i).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Rn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};C3.className=C3.classNames=C3.classes;var en={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};en.variable="(?:[\\w-.]|(?:\\\\"+en.metaChar+"))+";en.className="(?:[\\w-]|(?:\\\\"+en.metaChar+"))+";en.value=en.string+"|"+en.number;en.id=en.variable;(function(){var t,e,r;for(t=en.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(en.comparatorOp+="|\\!"+e)})();var En=function(){return{checks:[]}},nr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},yL=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return k9e(t.selector,e.selector)}),LMe=(function(){for(var t={},e,r=0;r0&&h.edgeCount>0)return vn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(h.edgeCount>1)return vn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;h.edgeCount===1&&vn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},IMe=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(h){return h??""},r=function(h){return dr(h)?'"'+h+'"':e(h)},n=function(h){return" "+h+" "},i=function(h,d){var f=h.type,p=h.value;switch(f){case nr.GROUP:{var m=e(p);return m.substring(0,m.length-1)}case nr.DATA_COMPARE:{var v=h.field,b=h.operator;return"["+v+n(e(b))+r(p)+"]"}case nr.DATA_BOOL:{var x=h.operator,C=h.field;return"["+e(x)+C+"]"}case nr.DATA_EXIST:{var T=h.field;return"["+T+"]"}case nr.META_COMPARE:{var E=h.operator,_=h.field;return"[["+_+n(e(E))+r(p)+"]]"}case nr.STATE:return p;case nr.ID:return"#"+p;case nr.CLASS:return"."+p;case nr.PARENT:case nr.CHILD:return a(h.parent,d)+n(">")+a(h.child,d);case nr.ANCESTOR:case nr.DESCENDANT:return a(h.ancestor,d)+" "+a(h.descendant,d);case nr.COMPOUND_SPLIT:{var R=a(h.left,d),k=a(h.subject,d),L=a(h.right,d);return R+(R.length>0?" ":"")+k+L}case nr.TRUE:return""}},a=function(h,d){return h.checks.reduce(function(f,p,m){return f+(d===h&&m===0?"$":"")+i(p,d)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),h=!0),(a||o||h)&&(l=!a&&!s?"":""+e,u=""+n),h&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e0;){var h=i.shift();e(h),a.add(h.id()),o&&n(i,a,h)}return t}function Ine(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;return pM(this,t,e,Ine)};function Bne(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}wm.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return pM(this,t,e,Bne)};function GMe(t,e,r){Bne(t,e,r),Ine(t,e,r)}wm.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return pM(this,t,e,GMe)};wm.ancestors=wm.parents;var yb,Pne;yb=Pne={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:mn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:mn.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};yb.attr=yb.data;yb.removeAttr=yb.removeData;var UMe=Pne,wS={};function z7(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;se}),minIndegree:Op("indegree",function(t,e){return te}),minOutdegree:Op("outdegree",function(t,e){return te})});yr(wS,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i0,f=d;d&&(h=h[0]);var p=f?h.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var m=n.position(),v=o?n.parent():null,b=v&&v.length>0,x=b;b&&(v=v[0]);var C=x?v.position():{x:0,y:0};return a={x:m.x-C.x,y:m.y-C.y},e===void 0?a:a[e]}else if(!s)return;return this}};ml.modelPosition=ml.point=ml.position;ml.modelPositions=ml.points=ml.positions;ml.renderedPoint=ml.renderedPosition;ml.relativePoint=ml.relativePosition;var HMe=Fne,$g,wd;$g=wd={};wd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};wd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};wd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",h={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=f.x-d.w/2,d.x2=f.x+d.w/2,d.y1=f.y-d.h/2,d.y2=f.y+d.h/2);function p(O,F,$){var q=0,z=0,D=F+$;return O>0&&D>0&&(q=F/D*O,z=$/D*O),{biasDiff:q,biasComplementDiff:z}}function m(O,F,$,q){if($.units==="%")switch(q){case"width":return O>0?$.pfValue*O:0;case"height":return F>0?$.pfValue*F:0;case"average":return O>0&&F>0?$.pfValue*(O+F)/2:0;case"min":return O>0&&F>0?O>F?$.pfValue*F:$.pfValue*O:0;case"max":return O>0&&F>0?O>F?$.pfValue*O:$.pfValue*F:0;default:return 0}else return $.units==="px"?$.pfValue:0}var v=h.width.left.value;h.width.left.units==="px"&&h.width.val>0&&(v=v*100/h.width.val);var b=h.width.right.value;h.width.right.units==="px"&&h.width.val>0&&(b=b*100/h.width.val);var x=h.height.top.value;h.height.top.units==="px"&&h.height.val>0&&(x=x*100/h.height.val);var C=h.height.bottom.value;h.height.bottom.units==="px"&&h.height.val>0&&(C=C*100/h.height.val);var T=p(h.width.val-d.w,v,b),E=T.biasDiff,_=T.biasComplementDiff,R=p(h.height.val-d.h,x,C),k=R.biasDiff,L=R.biasComplementDiff;o.autoPadding=m(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(d.w,h.width.val),f.x=(-E+d.x1+d.x2+_)/2,o.autoHeight=Math.max(d.h,h.height.val),f.y=(-k+d.y1+d.y2+L)/2}for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Nh=function(e,r){return r==null?e:il(e,r.x1,r.y1,r.x2,r.y2)},mv=function(e,r,n){return Ns(e,r,n)},x4=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var h=i.arrowBounds=i.arrowBounds||{},d=h[n]=h[n]||{};d.x1=l-s,d.y1=u-s,d.x2=l+s,d.y2=u+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,T3(d,1),il(e,d.x1,d.y1,d.x2,d.y2)}}},q7=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),h=mv(s,"labelWidth",n),d=mv(s,"labelHeight",n),f=mv(s,"labelX",n),p=mv(s,"labelY",n),m=r.pstyle(i+"text-margin-x").pfValue,v=r.pstyle(i+"text-margin-y").pfValue,b=r.isEdge(),x=r.pstyle(i+"text-rotation"),C=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,_=r.pstyle("text-background-padding").pfValue,R=2,k=d,L=h,O=L/2,F=k/2,$,q,z,D;if(b)$=f-O,q=f+O,z=p-F,D=p+F;else{switch(l.value){case"left":$=f-L,q=f;break;case"center":$=f-O,q=f+O;break;case"right":$=f,q=f+L;break}switch(u.value){case"top":z=p-k,D=p;break;case"center":z=p-F,D=p+F;break;case"bottom":z=p,D=p+k;break}}var I=m-Math.max(C,E)-_-R,N=m+Math.max(C,E)+_+R,B=v-Math.max(C,E)-_-R,M=v+Math.max(C,E)+_+R;$+=I,q+=N,z+=B,D+=M;var V=n||"main",U=a.labelBounds,P=U[V]=U[V]||{};P.x1=$,P.y1=z,P.x2=q,P.y2=D,P.w=q-$,P.h=D-z,P.leftPad=I,P.rightPad=N,P.topPad=B,P.botPad=M;var H=b&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(H||X){var Z=H?mv(a.rstyle,"labelAngle",n):x.pfValue,j=Math.cos(Z),ee=Math.sin(Z),Q=($+q)/2,he=(z+D)/2;if(!b){switch(l.value){case"left":Q=q;break;case"right":Q=$;break}switch(u.value){case"top":he=D;break;case"bottom":he=z;break}}var te=function(He,Ae){return He=He-Q,Ae=Ae-he,{x:He*j-Ae*ee+Q,y:He*ee+Ae*j+he}},ae=te($,z),ie=te($,D),ne=te(q,z),me=te(q,D);$=Math.min(ae.x,ie.x,ne.x,me.x),q=Math.max(ae.x,ie.x,ne.x,me.x),z=Math.min(ae.y,ie.y,ne.y,me.y),D=Math.max(ae.y,ie.y,ne.y,me.y)}var pe=V+"Rot",Me=U[pe]=U[pe]||{};Me.x1=$,Me.y1=z,Me.x2=q,Me.y2=D,Me.w=q-$,Me.h=D-z,il(e,$,z,q,D),il(a.labelBounds.all,$,z,q,D)}return e}},zG=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;zne(e,r,n,s,"outside",s/2)}},zne=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var h=r.position(),d=h.x,f=h.y,p=r.width(),m=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var v=u.miterBounds(d,f,p,m,i);Nh(e,v)}else s!=null&&s>0&&w3(e,[s,s,s,s])}}},WMe=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;zne(e,r,n,i,a)}},YMe=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=ps(),o=e._private,l=e.isNode(),u=e.isEdge(),h,d,f,p,m,v,b=o.rstyle,x=l&&i?e.pstyle("bounds-expansion").pfValue:[0],C=function($e){return $e.pstyle("display").value!=="none"},T=!i||C(e)&&(!u||C(e.source())&&C(e.target()));if(T){var E=0,_=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(_=e.pstyle("overlay-padding").value));var R=0,k=0;i&&r.includeUnderlays&&(R=e.pstyle("underlay-opacity").value,R!==0&&(k=e.pstyle("underlay-padding").value));var L=Math.max(_,k),O=0,F=0;if(i&&(O=e.pstyle("width").pfValue,F=O/2),l&&r.includeNodes){var $=e.position();m=$.x,v=$.y;var q=e.outerWidth(),z=q/2,D=e.outerHeight(),I=D/2;h=m-z,d=m+z,f=v-I,p=v+I,il(s,h,f,d,p),i&&zG(s,e),i&&r.includeOutlines&&!a&&zG(s,e),i&&WMe(s,e)}else if(u&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(h=Math.min(b.srcX,b.midX,b.tgtX),d=Math.max(b.srcX,b.midX,b.tgtX),f=Math.min(b.srcY,b.midY,b.tgtY),p=Math.max(b.srcY,b.midY,b.tgtY),h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p),N==="haystack"){var B=b.haystackPts;if(B&&B.length===2){if(h=B[0].x,f=B[0].y,d=B[1].x,p=B[1].y,h>d){var M=h;h=d,d=M}if(f>p){var V=f;f=p,p=V}il(s,h-F,f-F,d+F,p+F)}}else if(N==="bezier"||N==="unbundled-bezier"||zh(N,"segments")||zh(N,"taxi")){var U;switch(N){case"bezier":case"unbundled-bezier":U=b.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=b.linePts;break}if(U!=null)for(var P=0;Pd){var Q=h;h=d,d=Q}if(f>p){var he=f;f=p,p=he}h-=F,d+=F,f-=F,p+=F,il(s,h,f,d,p)}if(i&&r.includeEdges&&u&&(x4(s,e,"mid-source"),x4(s,e,"mid-target"),x4(s,e,"source"),x4(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var ae=e.pstyle("ghost-offset-x").pfValue,ie=e.pstyle("ghost-offset-y").pfValue;il(s,s.x1+ae,s.y1+ie,s.x2+ae,s.y2+ie)}}var ne=o.bodyBounds=o.bodyBounds||{};EV(ne,s),w3(ne,x),T3(ne,1),i&&(h=s.x1,d=s.x2,f=s.y1,p=s.y2,il(s,h-L,f-L,d+L,p+L));var me=o.overlayBounds=o.overlayBounds||{};EV(me,s),w3(me,x),T3(me,1);var pe=o.labelBounds=o.labelBounds||{};pe.all!=null?ADe(pe.all):pe.all=ps(),i&&r.includeLabels&&(r.includeMainLabels&&q7(s,e,null),u&&(r.includeSourceLabels&&q7(s,e,"source"),r.includeTargetLabels&&q7(s,e,"target")))}return s.x1=Fo(s.x1),s.y1=Fo(s.y1),s.x2=Fo(s.x2),s.y2=Fo(s.y2),s.w=Fo(s.x2-s.x1),s.h=Fo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(w3(s,x),T3(s,1)),s},qne=function(e){var r=0,n=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:lOe,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};dd.removeAllListeners=function(){return this.removeListener("*")};dd.emit=dd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Rn(e)||(e=[e]),cOe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var h=n[l];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===oOe)&&a.eventMatches(a.context,h,s)){var d=[s];e!=null&&J9e(d,e),a.beforeEmit(a.context,h,s),h.conf&&h.conf.one&&(a.listeners=a.listeners.filter(function(m){return m!==h}));var f=a.callbackContext(a.context,h,s),p=h.callback.apply(f,d);a.afterEmit(a.context,h,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&dr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;an&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ra(Symbol))!=e&&ra(Symbol.iterator)!=e;r&&(vw[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Xre({next:function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(tn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(dr(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});Ha.neighbourhood=Ha.neighborhood;Ha.closedNeighbourhood=Ha.closedNeighborhood;Ha.openNeighbourhood=Ha.openNeighborhood;yr(Ha,{source:qo(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:qo(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:ZG({attr:"source"}),targets:ZG({attr:"target"})});function ZG(t){return function(r){for(var n=[],i=0;i0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});Ha.componentsOf=Ha.components;var La=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Yn("A collection must have a reference to the core");return}var a=new gu,s=!1;if(!r)r=[];else if(r.length>0&&tn(r[0])&&!ox(r[0])){s=!0;for(var o=[],l=new Xm,u=0,h=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l0){for(var V=o.length===r.length?r:new La(n,o),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var I=D._private.edges,N=0;N0&&(t?$.emitAndNotify("remove"):e&&$.emit("remove"));for(var q=0;q0?q=D:$=D;while(Math.abs(z)>s&&++I=a?C(F,I):N===0?I:E(F,$,$+u)}var R=!1;function k(){R=!0,(t!==e||r!==n)&&T()}var L=function($){return R||k(),t===e&&r===n?$:$===0?0:$===1?1:b(_($),e,n)};L.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var O="generateBezier("+[t,e,r,n]+")";return L.toString=function(){return O},L}var xOe=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),h=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+h*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1/1e4,d=16/1e3,f,p,m;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*d):p=d;m=r(m||o,p),l.push(1+m.x),u+=16,Math.abs(m.x)>h&&Math.abs(m.v)>h;);return f?function(v){return l[v*(l.length-1)|0]}:u}})(),Mn=function(e,r,n,i){var a=bOe(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},E3={linear:function(e,r,n){return e+(r-e)*n},ease:Mn(.25,.1,.25,1),"ease-in":Mn(.42,0,1,1),"ease-out":Mn(0,0,.58,1),"ease-in-out":Mn(.42,0,.58,1),"ease-in-sine":Mn(.47,0,.745,.715),"ease-out-sine":Mn(.39,.575,.565,1),"ease-in-out-sine":Mn(.445,.05,.55,.95),"ease-in-quad":Mn(.55,.085,.68,.53),"ease-out-quad":Mn(.25,.46,.45,.94),"ease-in-out-quad":Mn(.455,.03,.515,.955),"ease-in-cubic":Mn(.55,.055,.675,.19),"ease-out-cubic":Mn(.215,.61,.355,1),"ease-in-out-cubic":Mn(.645,.045,.355,1),"ease-in-quart":Mn(.895,.03,.685,.22),"ease-out-quart":Mn(.165,.84,.44,1),"ease-in-out-quart":Mn(.77,0,.175,1),"ease-in-quint":Mn(.755,.05,.855,.06),"ease-out-quint":Mn(.23,1,.32,1),"ease-in-out-quint":Mn(.86,0,.07,1),"ease-in-expo":Mn(.95,.05,.795,.035),"ease-out-expo":Mn(.19,1,.22,1),"ease-in-out-expo":Mn(1,0,0,1),"ease-in-circ":Mn(.6,.04,.98,.335),"ease-out-circ":Mn(.075,.82,.165,1),"ease-in-out-circ":Mn(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return E3.linear;var i=xOe(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Mn};function eU(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function tU(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Ip(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=tU(t,i),o=tU(e,i);if(Yt(s)&&Yt(o))return eU(a,s,o,r,n);if(Rn(s)&&Rn(o)){for(var l=[],u=0;u0?(p==="spring"&&m.push(s.duration),s.easingImpl=E3[p].apply(null,m)):s.easingImpl=E3[p]}var v=s.easingImpl,b;if(s.duration===0?b=1:b=(r-l)/s.duration,s.applying&&(b=s.progress),b<0?b=0:b>1&&(b=1),s.delay==null){var x=s.startPosition,C=s.position;if(C&&i&&!t.locked()){var T={};vv(x.x,C.x)&&(T.x=Ip(x.x,C.x,b,v)),vv(x.y,C.y)&&(T.y=Ip(x.y,C.y,b,v)),t.position(T)}var E=s.startPan,_=s.pan,R=a.pan,k=_!=null&&n;k&&(vv(E.x,_.x)&&(R.x=Ip(E.x,_.x,b,v)),vv(E.y,_.y)&&(R.y=Ip(E.y,_.y,b,v)),t.emit("pan"));var L=s.startZoom,O=s.zoom,F=O!=null&&n;F&&(vv(L,O)&&(a.zoom=gb(a.minZoom,Ip(L,O,b,v),a.maxZoom)),t.emit("zoom")),(k||F)&&t.emit("viewport");var $=s.style;if($&&$.length>0&&i){for(var q=0;q<$.length;q++){var z=$[q],D=z.name,I=z,N=s.startStyle[D],B=h.properties[N.name],M=Ip(N,I,b,v,B);h.overrideBypass(t,D,M)}t.emit("style")}}return s.progress=b,b}function vv(t,e){return t==null||e==null?!1:Yt(t)&&Yt(e)?!0:!!(t&&e)}function wOe(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function rU(t,e){var r=e._private.aniEles,n=[];function i(h,d){var f=h._private,p=f.animation.current,m=f.animation.queue,v=!1;if(p.length===0){var b=m.shift();b&&p.push(b)}for(var x=function(R){for(var k=R.length-1;k>=0;k--){var L=R[k];L()}R.splice(0,R.length)},C=p.length-1;C>=0;C--){var T=p[C],E=T._private;if(E.stopped){p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||wOe(h,T,t),TOe(h,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(p.splice(C,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),v=!0)}return!d&&p.length===0&&m.length===0&&n.push(h),v}for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var COe={animate:mn.animate(),animation:mn.animation(),animated:mn.animated(),clearQueue:mn.clearQueue(),delay:mn.delay(),delayAnimation:mn.delayAnimation(),stop:mn.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&fw(function(a){rU(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){rU(s,e)},n.beforeRenderPriorities.animations):r()}},SOe={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&ox(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},C4=function(e){return dr(e)?new ud(e):e},Qne={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new CS(SOe,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,C4(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,C4(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,C4(r),n),this},once:function(e,r,n){return this.emitter().one(e,C4(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};mn.eventAliasesOn(Qne);var bL={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};bL.jpeg=bL.jpg;var k3={layout:function(e){var r=this;if(e==null){Yn("Layout options must be specified to make a layout");return}if(e.name==null){Yn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Yn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;dr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(yr({},e,{cy:r,eles:a}));return s}};k3.createLayout=k3.makeLayout=k3.layout;var EOe={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};xL.invalidateDimensions=xL.resize;var _3={collection:function(e,r){return dr(e)?this.$(e):ho(e)?e.collection():Rn(e)?(r||(r={}),new La(this,e,r.unique,r.removed)):new La(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};_3.elements=_3.filter=_3.$;var da={},N2="t",_Oe="f";da.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(f||d&&p){var m=void 0;f&&p||f?m=u.properties:p&&(m=u.mappedProperties);for(var v=0;v1&&(E=1),o.color){var R=n.valueMin[0],k=n.valueMax[0],L=n.valueMin[1],O=n.valueMax[1],F=n.valueMin[2],$=n.valueMax[2],q=n.valueMin[3]==null?1:n.valueMin[3],z=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(R+(k-R)*E),Math.round(L+(O-L)*E),Math.round(F+($-F)*E),Math.round(q+(z-q)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(o.number){var I=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,I,n.bypass,f)}else return!1;if(!a)return v(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),B=d.data,M=0;M0&&a>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};da.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};da.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};da.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};da.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};da.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var px={};px.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;oi.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var h=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){vn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=h[0];var d=h[1];if(d!=="core"){var f=new ud(d);if(f.invalid){vn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),o();continue}}var p=h[2],m=!1;a=p;for(var v=[];;){var b=a.match(/^\s*$/);if(b)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){vn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),m=!0;break}s=x[0];var C=x[1],T=x[2],E=e.properties[C];if(!E){vn("Skipping property: Invalid property name in: "+s),l();continue}var _=r.parse(C,T);if(!_){vn("Skipping property: Invalid property definition in: "+s),l();continue}v.push({name:C,val:T}),l()}if(m){o();break}r.selector(d);for(var R=0;R=7&&e[0]==="d"&&(h=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:h,strValue:""+e,mapped:f,field:h[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var m=this.parse(t,d[4]);if(!m||m.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(m.pfValue===v.pfValue||m.strValue===v.strValue)return vn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+m.strValue+"`"),this.parse(t,m.strValue);if(u.color){var b=m.value,x=v.value,C=b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&(b[3]===x[3]||(b[3]==null||b[3]===1)&&(x[3]==null||x[3]===1));if(C)return!1}return{name:t,value:d,strValue:""+e,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:m.value,valueMax:v.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var T;if(l?T=e.split(/\s+/):Rn(e)?T=e:T=[e],u.evenMultiple&&T.length%2!==0)return null;for(var E=[],_=[],R=[],k="",L=!1,O=0;O0?" ":"")+F.strValue}return u.validate&&!u.validate(E,_)?null:u.singleEnum&&L?E.length===1&&dr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:R,strValue:k,bypass:r,units:_}}var $=function(){for(var te=0;teu.max||u.strictMax&&e===u.max))return null;var N={name:t,value:e,strValue:""+e+(q||""),units:q,bypass:r};return u.unitless||q!=="px"&&q!=="em"?N.pfValue=e:N.pfValue=q==="px"||!q?e:this.getEmSizeInPixels()*e,(q==="ms"||q==="s")&&(N.pfValue=q==="ms"?e:1e3*e),(q==="deg"||q==="rad")&&(N.pfValue=q==="rad"?e:SDe(e)),q==="%"&&(N.pfValue=e/100),N}else if(u.propList){var B=[],M=""+e;if(M!=="none"){for(var V=M.split(/\s*,\s*|\s+/),U=0;U0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Yt(e)?s=e:tn(e)&&(s=e.level,e.position!=null?a=mS(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Yt(u.x)&&(r.pan.x=u.x,o=!1),Yt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(dr(e)){var n=e;e=this.mutableElements().filter(n)}else ho(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};g0.centre=g0.center;g0.autolockNodes=g0.autolock;g0.autoungrabifyNodes=g0.autoungrabify;var bb={data:mn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:mn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:mn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:mn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};bb.attr=bb.data;bb.removeAttr=bb.removeData;var xb=function(e){var r=this;e=yr({},e);var n=e.container;n&&!dw(n)&&dw(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Ki!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=yr({name:s?"grid":"null"},o.layout),o.renderer=yr({name:s?"canvas":"null"},o.renderer);var l=function(m,v,b){return v!==void 0?v:b!==void 0?b:m},u=this._private={container:n,ready:!1,options:o,elements:new La(this),listeners:[],aniEles:new La(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Yt(o.zoom)?o.zoom:1,pan:{x:tn(o.pan)&&Yt(o.pan.x)?o.pan.x:0,y:tn(o.pan)&&Yt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var h=function(m,v){var b=m.some(v9e);if(b)return jm.all(m).then(v);v(m)};u.styleEnabled&&r.setStyle([]);var d=yr({},o,o.renderer);r.initRenderer(d);var f=function(m,v,b){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),m!=null&&(tn(m)||Rn(m))&&r.add(m),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",v),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",b),r.emit("done")});var C=yr({},r._private.options.layout);C.eles=r.elements(),r.layout(C).run()};h([o.style,o.elements],function(p){var m=p[0],v=p[1];u.styleEnabled&&r.style().append(m),f(v,function(){r.startAnimationLoop(),u.ready=!0,oi(o.ready)&&r.on("ready",o.ready);for(var b=0;b0,o=!!t.boundingBox,l=ps(o?t.boundingBox:structuredClone(e.extent())),u;if(ho(t.roots))u=t.roots;else if(Rn(t.roots)){for(var h=[],d=0;d0;){var D=z(),I=O(D,$);if(I)D.outgoers().filter(function(Oe){return Oe.isNode()&&r.has(Oe)}).forEach(q);else if(I===null){vn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Ge/2:0),Ye=2*Math.PI/x[ot].length*Re;return ot===0&&x[0].length===1&&(it=1),{x:ne.x+it*Math.cos(Ye),y:ne.y+it*Math.sin(Ye)}}else{var Xe=x[ot].length,at=Math.max(Xe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)-1):(l.w-t.padding*2-me.w)/((t.grid?Me:Xe)+1),N),xe={x:ne.x+(Re+1-(Xe+1)/2)*at,y:ne.y+(ot+1-(j+1)/2)*pe};return xe}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&Yn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var Ae=function(We){return Y9e($e(We),l,He[t.direction])};return r.nodes().layoutPositions(this,t,Ae),this};var NOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function eie(t){this.options=yr({},NOe,t)}eie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),h,d=0,f=0;f1&&e.avoidOverlap){d*=1.75;var x=Math.cos(u)-Math.cos(0),C=Math.sin(u)-Math.sin(0),T=Math.sqrt(d*d/(x*x+C*C));h=Math.max(T,h)}var E=function(R,k){var L=e.startAngle+k*u*(i?1:-1),O=h*Math.cos(L),F=h*Math.sin(L),$={x:o.x+O,y:o.y+F};return $};return n.nodes().layoutPositions(this,e,E),this};var MOe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tie(t){this.options=yr({},MOe,t)}tie.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,h=0;h0){var _=Math.abs(C[0].value-E.value);_>=b&&(C=[],x.push(C))}C.push(E)}var R=u+e.minNodeSpacing;if(!e.avoidOverlap){var k=x.length>0&&x[0].length>1,L=Math.min(s.w,s.h)/2-R,O=L/(x.length+k?1:0);R=Math.min(R,O)}for(var F=0,$=0;$1&&e.avoidOverlap){var I=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),B=Math.sqrt(R*R/(I*I+N*N));F=Math.max(B,F)}q.r=F,F+=R}if(e.equidistant){for(var M=0,V=0,U=0;U=t.numIter||(zOe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),fw(h)}};h()}else{for(;u;)u=s(l),l++;aU(n,t),o()}return this};AS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};AS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var IOe=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=ps(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},h=0;h0){o.graphSet.push(L);for(var h=0;hi.count?0:i.graph},rie=function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*h,f=Math.sqrt(o*o+l*l),p=d*o/f,m=d*l/f;else var v=xw(e,o,l),b=xw(r,-1*o,-1*l),x=b.x-v.x,C=b.y-v.y,T=x*x+C*C,f=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,p=d*x/f,m=d*C/f;e.isLocked||(e.offsetX-=p,e.offsetY-=m),r.isLocked||(r.offsetX+=p,r.offsetY+=m)}},GOe=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},xw=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,h={};return r===0&&0n?(h.x=i,h.y=a+s/2,h):0r&&-1*u<=l&&l<=u?(h.x=i-o/2,h.y=a-o*n/2/r,h):0=u)?(h.x=i+s*r/2/n,h.y=a+s/2,h):(0>n&&(l<=-1*u||l>=u)&&(h.x=i-s*r/2/n,h.y=a-s/2),h)},UOe=function(e,r){for(var n=0;nn){var b=r.gravity*p/v,x=r.gravity*m/v;f.offsetX+=b,f.offsetY+=x}}}}},WOe=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},iie=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(m+=b+r.componentSpacing,p=0,v=0,b=0)}}},jOe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function aie(t){this.options=yr({},jOe,t)}aie.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=ps(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),h=function(Z){if(Z==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=Z:u=Z},d=function(Z){if(Z==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=Z:u=Z},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var m=h(),v=d();(m-1)*v>=s?h(m-1):(v-1)*m>=s&&d(v-1)}else for(;u*l=s?d(x+1):h(b+1)}var C=a.w/u,T=a.h/l;if(e.condense&&(C=0,T=0),e.avoidOverlap)for(var E=0;E=u&&(I=0,D++)},B={},M=0;M(I=FDe(t,e,N[B],N[B+1],N[B+2],N[B+3])))return b(k,I),!0}else if(O.edgeType==="bezier"||O.edgeType==="multibezier"||O.edgeType==="self"||O.edgeType==="compound"){for(var N=O.allpts,B=0;B+5(I=PDe(t,e,N[B],N[B+1],N[B+2],N[B+3],N[B+4],N[B+5])))return b(k,I),!0}for(var M=M||L.source,V=V||L.target,U=i.getArrowWidth(F,$),P=[{name:"source",x:O.arrowStartX,y:O.arrowStartY,angle:O.srcArrowAngle},{name:"target",x:O.arrowEndX,y:O.arrowEndY,angle:O.tgtArrowAngle},{name:"mid-source",x:O.midX,y:O.midY,angle:O.midsrcArrowAngle},{name:"mid-target",x:O.midX,y:O.midY,angle:O.midtgtArrowAngle}],B=0;B0&&(x(M),x(V))}function T(k,L,O){return Ns(k,L,O)}function E(k,L){var O=k._private,F=f,$;L?$=L+"-":$="",k.boundingBox();var q=O.labelBounds[L||"main"],z=k.pstyle($+"label").value,D=k.pstyle("text-events").strValue==="yes";if(!(!D||!z)){var I=T(O.rscratch,"labelX",L),N=T(O.rscratch,"labelY",L),B=T(O.rscratch,"labelAngle",L),M=k.pstyle($+"text-margin-x").pfValue,V=k.pstyle($+"text-margin-y").pfValue,U=q.x1-F-M,P=q.x2+F-M,H=q.y1-F-V,X=q.y2+F-V;if(B){var Z=Math.cos(B),j=Math.sin(B),ee=function(me,pe){return me=me-I,pe=pe-N,{x:me*Z-pe*j+I,y:me*j+pe*Z+N}},Q=ee(U,H),he=ee(U,X),te=ee(P,H),ae=ee(P,X),ie=[Q.x+M,Q.y+V,te.x+M,te.y+V,ae.x+M,ae.y+V,he.x+M,he.y+V];if(Ms(t,e,ie))return b(k),!0}else if(qh(q,t,e))return b(k),!0}}for(var _=s.length-1;_>=0;_--){var R=s[_];R.isNode()?x(R)||E(R):C(R)||E(R)||E(R,"source")||E(R,"target")}return o};$0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),h=Math.min(e,n),d=Math.max(e,n);t=l,r=u,e=h,n=d;var f=ps({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],m=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(me,pe,Me){return Ns(me,pe,Me)}function b(me,pe){var Me=me._private,$e=s,He="";me.boundingBox();var Ae=Me.labelBounds.main;if(!Ae)return null;var Oe=v(Me.rscratch,"labelX",pe),We=v(Me.rscratch,"labelY",pe),Te=v(Me.rscratch,"labelAngle",pe),ot=me.pstyle(He+"text-margin-x").pfValue,Re=me.pstyle(He+"text-margin-y").pfValue,Ge=Ae.x1-$e-ot,it=Ae.x2+$e-ot,Ye=Ae.y1-$e-Re,Xe=Ae.y2+$e-Re;if(Te){var at=Math.cos(Te),xe=Math.sin(Te),Ze=function(be,Y){return be=be-Oe,Y=Y-We,{x:be*at-Y*xe+Oe,y:be*xe+Y*at+We}};return[Ze(Ge,Ye),Ze(it,Ye),Ze(it,Xe),Ze(Ge,Xe)]}else return[{x:Ge,y:Ye},{x:it,y:Ye},{x:it,y:Xe},{x:Ge,y:Xe}]}function x(me,pe,Me,$e){function He(Ae,Oe,We){return(We.y-Ae.y)*(Oe.x-Ae.x)>(Oe.y-Ae.y)*(We.x-Ae.x)}return He(me,Me,$e)!==He(pe,Me,$e)&&He(me,pe,Me)!==He(me,pe,$e)}for(var C=0;C0?-(Math.PI-e.ang):Math.PI+e.ang},tIe=function(e,r,n,i,a){if(e!==uU?hU(r,e,Pl):eIe(Oo,Pl),hU(r,n,Oo),lU=Pl.nx*Oo.ny-Pl.ny*Oo.nx,cU=Pl.nx*Oo.nx-Pl.ny*-Oo.ny,Vc=Math.asin(Math.max(-1,Math.min(1,lU))),Math.abs(Vc)<1e-6){TL=r.x,wL=r.y,Ef=Pp=0;return}If=1,A3=!1,cU<0?Vc<0?Vc=Math.PI+Vc:(Vc=Math.PI-Vc,If=-1,A3=!0):Vc>0&&(If=-1,A3=!0),r.radius!==void 0?Pp=r.radius:Pp=i,nf=Vc/2,S4=Math.min(Pl.len/2,Oo.len/2),a?(Dl=Math.abs(Math.cos(nf)*Pp/Math.sin(nf)),Dl>S4?(Dl=S4,Ef=Math.abs(Dl*Math.sin(nf)/Math.cos(nf))):Ef=Pp):(Dl=Math.min(S4,Pp),Ef=Math.abs(Dl*Math.sin(nf)/Math.cos(nf))),CL=r.x+Oo.nx*Dl,SL=r.y+Oo.ny*Dl,TL=CL-Oo.ny*Ef*If,wL=SL+Oo.nx*Ef*If,cie=r.x+Pl.nx*Dl,uie=r.y+Pl.ny*Dl,uU=r};function hie(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function xM(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(tIe(t,e,r,n,i),{cx:TL,cy:wL,radius:Ef,startX:cie,startY:uie,stopX:CL,stopY:SL,startAngle:Pl.ang+Math.PI/2*If,endAngle:Oo.ang-Math.PI/2*If,counterClockwise:A3})}var Tb=.01,rIe=Math.sqrt(2*Tb),Xa={};Xa.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(_,R,k,L){var O=L-R,F=k-_,$=Math.sqrt(F*F+O*O);return{x:-O/$,y:F/$}},h=t.pstyle("edge-distances").value;switch(h){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var d=this.manualEndptToPx(t.source()[0],s),f=Bi(d,2),p=f[0],m=f[1],v=this.manualEndptToPx(t.target()[0],o),b=Bi(v,2),x=b[0],C=b[1],T={x1:p,y1:m,x2:x,y2:C};i=u(p,m,x,C),a=T}else vn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Xa.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Y-de,0):Math.min(Y+de,0)},z=q(F,L),D=q($,O),I=!1;C===u?x=Math.abs(z)>Math.abs(D)?i:n:C===l||C===o?(x=n,I=!0):(C===a||C===s)&&(x=i,I=!0);var N=x===n,B=N?D:z,M=N?$:F,V=oM(M),U=!1;!(I&&(E||R))&&(C===o&&M<0||C===l&&M>0||C===a&&M>0||C===s&&M<0)&&(V*=-1,B=V*Math.abs(B),U=!0);var P;if(E){var H=_<0?1+_:_;P=H*B}else{var X=_<0?B:0;P=X+_*V}var Z=function(Y){return Math.abs(Y)=Math.abs(B)},j=Z(P),ee=Z(Math.abs(B)-Math.abs(P)),Q=j||ee;if(Q&&!U)if(N){var he=Math.abs(M)<=f/2,te=Math.abs(F)<=p/2;if(he){var ae=(h.x1+h.x2)/2,ie=h.y1,ne=h.y2;r.segpts=[ae,ie,ae,ne]}else if(te){var me=(h.y1+h.y2)/2,pe=h.x1,Me=h.x2;r.segpts=[pe,me,Me,me]}else r.segpts=[h.x1,h.y2]}else{var $e=Math.abs(M)<=d/2,He=Math.abs($)<=m/2;if($e){var Ae=(h.y1+h.y2)/2,Oe=h.x1,We=h.x2;r.segpts=[Oe,Ae,We,Ae]}else if(He){var Te=(h.x1+h.x2)/2,ot=h.y1,Re=h.y2;r.segpts=[Te,ot,Te,Re]}else r.segpts=[h.x2,h.y1]}else if(N){var Ge=h.y1+P+(b?f/2*V:0),it=h.x1,Ye=h.x2;r.segpts=[it,Ge,Ye,Ge]}else{var Xe=h.x1+P+(b?d/2*V:0),at=h.y1,xe=h.y2;r.segpts=[Xe,at,Xe,xe]}if(r.isRound){var Ze=t.pstyle("taxi-radius").value,se=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Ze),r.isArcRadius=new Array(r.segpts.length/2).fill(se)}};Xa.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,h=e.tgtShape,d=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,m=e.tgtRs,v=!Yt(r.startX)||!Yt(r.startY),b=!Yt(r.arrowStartX)||!Yt(r.arrowStartY),x=!Yt(r.endX)||!Yt(r.endY),C=!Yt(r.arrowEndX)||!Yt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,_=T*E,R=f0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),k=R<_,L=f0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),O=L<_,F=!1;if(v||b||k){F=!0;var $={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},q=Math.sqrt($.x*$.x+$.y*$.y),z={x:$.x/q,y:$.y/q},D=Math.max(a,s),I={x:r.ctrlpts[0]+z.x*2*D,y:r.ctrlpts[1]+z.y*2*D},N=u.intersectLine(n.x,n.y,a,s,I.x,I.y,0,d,p);k?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(_-R),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(_-R)):(r.ctrlpts[0]=N[0]+z.x*_,r.ctrlpts[1]=N[1]+z.y*_)}if(x||C||O){F=!0;var B={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},M=Math.sqrt(B.x*B.x+B.y*B.y),V={x:B.x/M,y:B.y/M},U=Math.max(a,s),P={x:r.ctrlpts[0]+V.x*2*U,y:r.ctrlpts[1]+V.y*2*U},H=h.intersectLine(i.x,i.y,o,l,P.x,P.y,0,f,m);O?(r.ctrlpts[0]=r.ctrlpts[0]+V.x*(_-L),r.ctrlpts[1]=r.ctrlpts[1]+V.y*(_-L)):(r.ctrlpts[0]=H[0]+V.x*_,r.ctrlpts[1]=H[1]+V.y*_)}F&&this.findEndpoints(t)}};Xa.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1M.poolIndex()){var V=B;B=M,M=V}var U=z.srcPos=B.position(),P=z.tgtPos=M.position(),H=z.srcW=B.outerWidth(),X=z.srcH=B.outerHeight(),Z=z.tgtW=M.outerWidth(),j=z.tgtH=M.outerHeight(),ee=z.srcShape=r.nodeShapes[e.getNodeShape(B)],Q=z.tgtShape=r.nodeShapes[e.getNodeShape(M)],he=z.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,te=z.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=z.tgtRs=M._private.rscratch,ie=z.srcRs=B._private.rscratch;z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne=rIe||(Ye=Math.sqrt(Math.max(it*it,Tb)+Math.max(Ge*Ge,Tb)));var Xe=z.vector={x:it,y:Ge},at=z.vectorNorm={x:Xe.x/Ye,y:Xe.y/Ye},xe={x:-at.y,y:at.x};z.nodesOverlap=!Yt(Ye)||Q.checkPoint(Ae[0],Ae[1],0,Z,j,P.x,P.y,te,ae)||ee.checkPoint(We[0],We[1],0,H,X,U.x,U.y,he,ie),z.vectorNormInverse=xe,D={nodesOverlap:z.nodesOverlap,dirCounts:z.dirCounts,calculatedIntersection:!0,hasBezier:z.hasBezier,hasUnbundled:z.hasUnbundled,eles:z.eles,srcPos:P,srcRs:ae,tgtPos:U,tgtRs:ie,srcW:Z,srcH:j,tgtW:H,tgtH:X,srcIntn:Te,tgtIntn:Oe,srcShape:Q,tgtShape:ee,posPts:{x1:Re.x2,y1:Re.y2,x2:Re.x1,y2:Re.y1},intersectionPts:{x1:ot.x2,y1:ot.y2,x2:ot.x1,y2:ot.y1},vector:{x:-Xe.x,y:-Xe.y},vectorNorm:{x:-at.x,y:-at.y},vectorNormInverse:{x:-xe.x,y:-xe.y}}}var Ze=He?D:z;pe.nodesOverlap=Ze.nodesOverlap,pe.srcIntn=Ze.srcIntn,pe.tgtIntn=Ze.tgtIntn,pe.isRound=Me.startsWith("round"),i&&(B.isParent()||B.isChild()||M.isParent()||M.isChild())&&(B.parents().anySame(M)||M.parents().anySame(B)||B.same(M)&&B.isParent())?e.findCompoundLoopPoints(me,Ze,ne,$e):B===M?e.findLoopPoints(me,Ze,ne,$e):Me.endsWith("segments")?e.findSegmentsPoints(me,Ze):Me.endsWith("taxi")?e.findTaxiPoints(me,Ze):Me==="straight"||!$e&&z.eles.length%2===1&&ne===Math.floor(z.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Ze,ne,$e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Ze),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},k=0;k0){var Ae=u,Oe=Sf(Ae,Tg(s)),We=Sf(Ae,Tg(He)),Te=Oe;if(We2){var ot=Sf(Ae,{x:He[2],y:He[3]});ot0){var fe=h,we=Sf(fe,Tg(s)),Ee=Sf(fe,Tg(de)),Ie=we;if(Ee2){var Ue=Sf(fe,{x:de[2],y:de[3]});Ue=m||k){b={cp:E,segment:R};break}}if(b)break}var L=b.cp,O=b.segment,F=(m-x)/O.length,$=O.t1-O.t0,q=p?O.t0+$*F:O.t1-$*F;q=gb(0,q,1),e=Bg(L.p0,L.p1,L.p2,q),f=iIe(L.p0,L.p1,L.p2,q);break}case"straight":case"segments":case"haystack":{for(var z=0,D,I,N,B,M=n.allpts.length,V=0;V+3=m));V+=2);var U=m-I,P=U/D;P=gb(0,P,1),e=kDe(N,B,P),f=pie(N,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};fc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};fc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=d0(n,t._private.labelDimsKey);if(Ns(r.rscratch,"prefixedLabelDimsKey",e)!==i){au(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Ns(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=a.height/u,d=h*s,f=a.width,p=a.height+(u-1)*(s-1)*h;au(r.rstyle,"labelWidth",e,f),au(r.rscratch,"labelWidth",e,f),au(r.rstyle,"labelHeight",e,p),au(r.rscratch,"labelHeight",e,p),au(r.rscratch,"labelLineHeight",e,d)}};fc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(X,Z){return Z?(au(r.rscratch,X,e,Z),Z):Ns(r.rscratch,X,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",h=i.split(` +`),d=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",m=[],v=/[\s\u200b]+|$/g,b=0;bd){var _=x.matchAll(v),R="",k=0,L=Ps(_),O;try{for(L.s();!(O=L.n()).done;){var F=O.value,$=F[0],q=x.substring(k,F.index);k=F.index+$.length;var z=R.length===0?q:R+q+$,D=this.calculateLabelDimensions(t,z),I=D.width;I<=d?R+=q+$:(R&&m.push(R),R=q+$)}}catch(H){L.e(H)}finally{L.f()}R.match(/^[\s\u200b]+$/)||m.push(R)}else m.push(x)}s("labelWrapCachedLines",m),i=s("labelWrapCachedText",m.join(` +`)),s("labelWrapKey",l)}else if(o==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,B="",M="…",V=!1;if(this.calculateLabelDimensions(t,i).widthN)break;B+=i[U],U===i.length-1&&(V=!0)}return V||(B+=M),B}return i};fc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};fc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var p=0,m=0,v=e.split(` +`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var ue=a(Y);Nt&&(t.hoverData.tapholdCancelled=!0);var Mt=function(){var vt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];vt.length===0?(vt.push(Qe[0]),vt.push(Qe[1])):(vt[0]+=Qe[0],vt[1]+=Qe[1])};fe=!0,i(qe,["mousemove","vmousemove","tapdrag"],Y,{x:Ue[0],y:Ue[1]});var xt=function(vt){return{originalEvent:Y,type:vt,position:{x:Ue[0],y:Ue[1]}}},bt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||we.emit(xt("boxstart")),et[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Nt){var Ce=xt("cxtdrag");ve?ve.emit(Ce):we.emit(Ce),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||qe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(xt("cxtdragout")),t.hoverData.cxtOver=qe,qe&&qe.emit(xt("cxtdragover")))}}else if(t.hoverData.dragging){if(fe=!0,we.panningEnabled()&&we.userPanningEnabled()){var nt;if(t.hoverData.justStartedPan){var st=t.hoverData.mdownPos;nt={x:(Ue[0]-st[0])*Ee,y:(Ue[1]-st[1])*Ee},t.hoverData.justStartedPan=!1}else nt={x:Qe[0]*Ee,y:Qe[1]*Ee};we.panBy(nt),we.emit(xt("dragpan")),t.hoverData.dragged=!0}Ue=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(et[4]==1&&(ve==null||ve.pannable())){if(Nt){if(!t.hoverData.dragging&&we.boxSelectionEnabled()&&(ue||!we.panningEnabled()||!we.userPanningEnabled()))bt();else if(!t.hoverData.selecting&&we.panningEnabled()&&we.userPanningEnabled()){var It=s(ve,t.hoverData.downs);It&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,et[4]=0,t.data.bgActivePosistion=Tg(_e),t.redrawHint("select",!0),t.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&qe!=lt&&(lt&&i(lt,["mouseout","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),qe&&i(qe,["mouseover","tapdragover"],Y,{x:Ue[0],y:Ue[1]}),t.hoverData.last=qe),ve)if(Nt){if(we.boxSelectionEnabled()&&ue)ve&&ve.grabbed()&&(x(Se),ve.emit(xt("freeon")),Se.emit(xt("free")),t.dragData.didDrag&&(ve.emit(xt("dragfreeon")),Se.emit(xt("dragfree")))),bt();else if(ve&&ve.grabbed()&&t.nodeIsDraggable(ve)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Se,{inDragLayer:!0});var Ut={x:0,y:0};if(Yt(Qe[0])&&Yt(Qe[1])&&(Ut.x+=Qe[0],Ut.y+=Qe[1],Wt)){var rr=t.hoverData.dragDelta;rr&&Yt(rr[0])&&Yt(rr[1])&&(Ut.x+=rr[0],Ut.y+=rr[1])}t.hoverData.draggingEles=!0,Se.silentShift(Ut).emit(xt("position")).emit(xt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Mt();fe=!0}if(et[2]=Ue[0],et[3]=Ue[1],fe)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var q,z,D;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var fe=t.cy,we=t.projectIntoViewport(Y.clientX,Y.clientY),Ee=t.selection,Ie=t.findNearestElement(we[0],we[1],!0,!1),Ue=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var et=function(At){return{originalEvent:Y,type:At,position:{x:we[0],y:we[1]}}};if(t.hoverData.which===3){var qe=et("cxttapend");if(_e?_e.emit(qe):fe.emit(qe),!t.hoverData.cxtDragged){var lt=et("cxttap");_e?_e.emit(lt):fe.emit(lt)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Ie,["mouseup","tapend","vmouseup"],Y,{x:we[0],y:we[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],Y,{x:we[0],y:we[1]}),z=!1,Y.timeStamp-D<=fe.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],Y,{x:we[0],y:we[1]})):(q=setTimeout(function(){z||i(_e,["oneclick","onetap","voneclick"],Y,{x:we[0],y:we[1]})},fe.multiClickDebounceTime()),D=Y.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(fe.$(r).unselect(["tapunselect"]),Ue.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ue=fe.collection()),Ie==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&Ie!=null&&Ie._private.selectable&&(t.hoverData.dragging||(fe.selectionType()==="additive"||ze?Ie.selected()?Ie.unselect(["tapunselect"]):Ie.select(["tapselect"]):ze||(fe.$(r).unmerge(Ie).unselect(["tapunselect"]),Ie.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ve=fe.collection(t.getAllInBox(Ee[0],Ee[1],Ee[2],Ee[3]));t.redrawHint("select",!0),ve.length>0&&t.redrawHint("eles",!0),fe.emit(et("boxend"));var Qe=function(At){return At.selectable()&&!At.selected()};fe.selectionType()==="additive"||ze||fe.$(r).unmerge(ve).unselect(),ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!Ee[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Se=_e&&_e.grabbed();x(Ue),Se&&(_e.emit(et("freeon")),Ue.emit(et("free")),t.dragData.didDrag&&(_e.emit(et("dragfreeon")),Ue.emit(et("dragfree"))))}}Ee[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var I=[],N=4,B,M=1e5,V=function(Y,de){for(var fe=0;fe=N){var we=I;if(B=V(we,5),!B){var Ee=Math.abs(we[0]);B=U(we)&&Ee>5}if(B)for(var Ie=0;Ie5&&(fe=oM(fe)*5),lt=fe/-250,B&&(lt/=M,lt*=3),lt=lt*t.wheelSensitivity;var ve=Y.deltaMode===1;ve&&(lt*=33);var Qe=Ue.zoom()*Math.pow(10,lt);Y.type==="gesturechange"&&(Qe=t.gestureStartZoom*Y.scale),Ue.zoom({level:Qe,renderedPosition:{x:qe[0],y:qe[1]}}),Ue.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:et[0],y:et[1]}})}}}};t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(be){t.hasTouchStarted||P(be)},!0),t.registerBinding(t.container,"mouseout",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:de[0],y:de[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var de=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:de[0],y:de[1]}})},!1);var H,X,Z,j,ee,Q,he,te,ae,ie,ne,me,pe,Me=function(Y,de,fe,we){return Math.sqrt((fe-Y)*(fe-Y)+(we-de)*(we-de))},$e=function(Y,de,fe,we){return(fe-Y)*(fe-Y)+(we-de)*(we-de)},He;t.registerBinding(t.container,"touchstart",He=function(Y){if(t.hasTouchStarted=!0,!!F(Y)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,fe=t.touchData.now,we=t.touchData.earlier;if(Y.touches[0]){var Ee=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Ee[0],fe[1]=Ee[1]}if(Y.touches[1]){var Ee=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Ee[0],fe[3]=Ee[1]}if(Y.touches[2]){var Ee=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Ee[0],fe[5]=Ee[1]}var Ie=function(ue){return{originalEvent:Y,type:ue,position:{x:fe[0],y:fe[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Ue=t.findContainerClientCoords();ae=Ue[0],ie=Ue[1],ne=Ue[2],me=Ue[3],H=Y.touches[0].clientX-ae,X=Y.touches[0].clientY-ie,Z=Y.touches[1].clientX-ae,j=Y.touches[1].clientY-ie,pe=0<=H&&H<=ne&&0<=Z&&Z<=ne&&0<=X&&X<=me&&0<=j&&j<=me;var _e=de.pan(),ze=de.zoom();ee=Me(H,X,Z,j),Q=$e(H,X,Z,j),he=[(H+Z)/2,(X+j)/2],te=[(he[0]-_e.x)/ze,(he[1]-_e.y)/ze];var et=200,qe=et*et;if(Q=1){for(var Et=t.touchData.startPosition=[null,null,null,null,null,null],zt=0;zt=t.touchTapThreshold2}if(de&&t.touchData.cxt){Y.preventDefault();var zt=Y.touches[0].clientX-ae,St=Y.touches[0].clientY-ie,gt=Y.touches[1].clientX-ae,ue=Y.touches[1].clientY-ie,Mt=$e(zt,St,gt,ue),xt=Mt/Q,bt=150,Ce=bt*bt,nt=1.5,st=nt*nt;if(xt>=st||Mt>=Ce){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var It=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(It),t.touchData.start=null):we.emit(It)}}if(de&&t.touchData.cxt){var It=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(It):we.emit(It),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(Ee[0],Ee[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=Wt,Wt&&Wt.emit(ze("cxtdragover")))}else if(de&&Y.touches[2]&&we.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||we.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,fe[4]=1,!fe||fe.length===0||fe[0]===void 0?(fe[0]=(Ee[0]+Ee[2]+Ee[4])/3,fe[1]=(Ee[1]+Ee[3]+Ee[5])/3,fe[2]=(Ee[0]+Ee[2]+Ee[4])/3+1,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3+1):(fe[2]=(Ee[0]+Ee[2]+Ee[4])/3,fe[3]=(Ee[1]+Ee[3]+Ee[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&Y.touches[1]&&!t.touchData.didSelect&&we.zoomingEnabled()&&we.panningEnabled()&&we.userZoomingEnabled()&&we.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ut=t.dragData.touchDragEles;if(Ut){t.redrawHint("drag",!0);for(var rr=0;rr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Oe;t.registerBinding(e,"touchcancel",Oe=function(Y){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()});var We,Te,ot,Re;if(t.registerBinding(e,"touchend",We=function(Y){var de=t.touchData.start,fe=t.touchData.capture;if(fe)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var we=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var Ee=t.cy,Ie=Ee.zoom(),Ue=t.touchData.now,_e=t.touchData.earlier;if(Y.touches[0]){var ze=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ue[0]=ze[0],Ue[1]=ze[1]}if(Y.touches[1]){var ze=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ue[2]=ze[0],Ue[3]=ze[1]}if(Y.touches[2]){var ze=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ue[4]=ze[0],Ue[5]=ze[1]}var et=function(Ce){return{originalEvent:Y,type:Ce,position:{x:Ue[0],y:Ue[1]}}};de&&de.unactivate();var qe;if(t.touchData.cxt){if(qe=et("cxttapend"),de?de.emit(qe):Ee.emit(qe),!t.touchData.cxtDragged){var lt=et("cxttap");de?de.emit(lt):Ee.emit(lt)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&Ee.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ve=Ee.collection(t.getAllInBox(we[0],we[1],we[2],we[3]));we[0]=void 0,we[1]=void 0,we[2]=void 0,we[3]=void 0,we[4]=0,t.redrawHint("select",!0),Ee.emit(et("boxend"));var Qe=function(Ce){return Ce.selectable()&&!Ce.selected()};ve.emit(et("box")).stdFilter(Qe).select().emit(et("boxselect")),ve.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Se=t.dragData.touchDragEles;if(de!=null){var Nt=de._private.grabbed;x(Se),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Nt&&(de.emit(et("freeon")),Se.emit(et("free")),t.dragData.didDrag&&(de.emit(et("dragfreeon")),Se.emit(et("dragfree")))),i(de,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]}),de.unactivate(),t.touchData.start=null}else{var At=t.findNearestElement(Ue[0],Ue[1],!0,!0);i(At,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ue[0],y:Ue[1]})}var Et=t.touchData.startPosition[0]-Ue[0],zt=Et*Et,St=t.touchData.startPosition[1]-Ue[1],gt=St*St,ue=zt+gt,Mt=ue*Ie*Ie;t.touchData.singleTouchMoved||(de||Ee.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],Y,{x:Ue[0],y:Ue[1]}),Te=!1,Y.timeStamp-Re<=Ee.multiClickDebounceTime()?(ot&&clearTimeout(ot),Te=!0,Re=null,i(de,["dbltap","vdblclick"],Y,{x:Ue[0],y:Ue[1]})):(ot=setTimeout(function(){Te||i(de,["onetap","voneclick"],Y,{x:Ue[0],y:Ue[1]})},Ee.multiClickDebounceTime()),Re=Y.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&&Mt"u"){var Ge=[],it=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},Ye=function(Y){return{event:Y,touch:it(Y)}},Xe=function(Y){Ge.push(Ye(Y))},at=function(Y){for(var de=0;de0)return H[0]}return null},m=Object.keys(f),v=0;v0?p:mne(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?cd(i,a):l;var u=2*l;if(Ou(e,r,this.points,s,o,i,a-u,[0,-1],n)||Ou(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var h=i/2+2*n,d=a/2+2*n,f=[s-h,o-d,s-h,o,s+h,o,s+h,o-d];return!!(Ms(e,r,f)||Uf(e,r,u,u,s+i/2-l,o+a/2-l,n)||Uf(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};Hu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ns(3,0)),this.generateRoundPolygon("round-triangle",ns(3,0)),this.generatePolygon("rectangle",ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ns(5,0)),this.generateRoundPolygon("round-pentagon",ns(5,0)),this.generatePolygon("hexagon",ns(6,0)),this.generateRoundPolygon("round-hexagon",ns(6,0)),this.generatePolygon("heptagon",ns(7,0)),this.generateRoundPolygon("round-heptagon",ns(7,0)),this.generatePolygon("octagon",ns(8,0)),this.generateRoundPolygon("round-octagon",ns(8,0));var n=new Array(20);{var i=hL(5,0),a=hL(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*E)break}else if(u){if(C>=e.deqCost*p||C>=e.deqAvgCost*f)break}else if(T>=e.deqNoDrawCost*U7)break;var _=e.deq(n,b,v);if(_.length>0)for(var R=0;R<_.length;R++)m.push(_[R]);else break}m.length>0&&(e.onDeqd(n,m),!u&&e.shouldRedraw(n,m,b,v)&&a())},o=e.priority||iM;i.beforeRender(s,o(n))}}}},sIe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pw;xd(this,t),this.idsByKey=new gu,this.keyForId=new gu,this.cachesByLvl=new gu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return Td(t,[{key:"getIdsFor",value:function(r){r==null&&Yn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new Xm,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new gu,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),gU=25,E4=50,L3=-4,EL=3,xie=7.99,oIe=8,lIe=1024,cIe=1024,uIe=1024,hIe=.2,dIe=.8,fIe=10,pIe=.15,gIe=.1,mIe=.9,yIe=.9,vIe=100,bIe=1,Cg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},xIe=Da({getKey:null,doesEleInvalidateKey:pw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:cne,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),o2=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=xIe(r);yr(n,i),n.lookup=new sIe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ia=o2.prototype;ia.reasons=Cg;ia.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ia.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ia.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new dx(function(r,n){return n.reqs-r.reqs});return e};ia.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ia.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(sM(o*r))),n=xie||n>EL)return null;var u=Math.pow(2,n),h=e.h*u,d=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var m;if(h<=gU?m=gU:h<=E4?m=E4:m=Math.ceil(h/E4)*E4,h>uIe||d>cIe)return null;var v=a.getTextureQueue(m),b=v[v.length-2],x=function(){return a.recycleTexture(m,d)||a.addTexture(m,d)};b||(b=v[v.length-1]),b||(b=x()),b.width-b.usedWidthn;$--)O=a.getElement(t,e,r,$,Cg.downscale);F()}else return a.queueElement(t,R.level-1),R;else{var q;if(!T&&!E&&!_)for(var z=n-1;z>=L3;z--){var D=l.get(t,z);if(D){q=D;break}}if(C(q))return a.queueElement(t,n),q;b.context.translate(b.usedWidth,0),b.context.scale(u,u),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/u,1/u),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:n,scale:u,width:d,height:h,scaledLabelShown:f},b.usedWidth+=Math.ceil(d+oIe),b.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(b),p};ia.invalidateElements=function(t){for(var e=0;e=hIe*t.width&&this.retireTexture(t)};ia.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>dIe&&t.fullnessChecks>=fIe?ld(r,t):t.fullnessChecks++};ia.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;ld(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,aM(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),ld(i,s),n.push(s),s}};ia.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};ia.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],h=a.hasCache(u,o.level);if(n[l]=null,h)continue;i.push(o);var d=e.getBoundingBox(u);e.getElement(u,d,t,o.level,Cg.dequeue)}return i};ia.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=nM,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ia.onDequeue=function(t){this.onDequeues.push(t)};ia.offDequeue=function(t){ld(this.onDequeues,t)};ia.setupDequeueing=bie.setupDequeueing({deqRedrawThreshold:vIe,deqCost:pIe,deqAvgCost:gIe,deqNoDrawCost:mIe,deqFastCost:yIe,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n=wIe||r>ww)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),h=l[r]=l[r]||[],d,f=n.levelIsComplete(r,t),p,m=function(){var F=function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return p=l[I],!0},$=function(I){if(!p)for(var N=r+I;M2<=N&&N<=ww&&!F(N);N+=I);};$(1),$(-1);for(var q=h.length-1;q>=0;q--){var z=h[q];z.invalid&&ld(h,z)}};if(!f)m();else return h;var v=function(){if(!d){d=ps();for(var F=0;FyU||z>yU)return null;var D=q*z;if(D>RIe)return null;var I=n.makeLayer(d,r);if($!=null){var N=h.indexOf($)+1;h.splice(N,0,I)}else(F.insert===void 0||F.insert)&&h.unshift(I);return I};if(n.skipping&&!o)return null;for(var x=null,C=t.length/TIe,T=!o,E=0;E=C||!gne(x.bb,_.boundingBox()))&&(x=b({insert:!0,after:x}),!x))return null;p||T?n.queueLayer(x,_):n.drawEleInLayer(x,_,r,e),x.eles.push(_),k[r]=x}return p||(T?null:h)};Na.getEleLevelForLayerLevel=function(t,e){return t};Na.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,DIe),a.setImgSmoothing(s,!0))};Na.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Na.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Na.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Mu(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Na.invalidateLayer=function(t){if(this.lastInvalidationTime=Mu(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];ld(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,m=e.pstyle("line-cap").value,v=e.pstyle("line-outline-width").value,b=e.pstyle("line-outline-color").value,x=u*h,C=u*h,T=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=m,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},E=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=p+v,t.lineCap=m,v>0)s.colorStrokeStyle(t,b[0],b[1],b[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},_=function(){i&&s.drawEdgeOverlay(t,e)},R=function(){i&&s.drawEdgeUnderlay(t,e)},k=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;s.drawArrowheads(t,e,I)},L=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var O=e.pstyle("ghost").value==="yes";if(O){var F=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue,q=e.pstyle("ghost-opacity").value,z=x*q;t.translate(F,$),T(z),k(z),t.translate(-F,-$)}else E();R(),T(),k(),_(),L(),r&&t.translate(l.x1,l.y1)}};var Cie=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,h=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,h[0],h[1],h[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Wu.drawEdgeOverlay=Cie("overlay");Wu.drawEdgeUnderlay=Cie("underlay");Wu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var d=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===d;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=h;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,h=e.pstyle("label"),d=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!h||!h.value)&&(!d||!d.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var p=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,p,a),e.isEdge()&&(s.drawText(t,e,"source",p,a),s.drawText(t,e,"target",p,a))):s.drawText(t,e,i,p,a),r&&t.translate(m.x1,m.y1)};z0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)};function VIe(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function TU(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}z0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Ns(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};z0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Ns(s,"labelX",r),u=Ns(s,"labelY",r),h,d,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",m=Ns(s,"labelWidth",r),v=Ns(s,"labelHeight",r),b=e.pstyle(p+"text-margin-x").pfValue,x=e.pstyle(p+"text-margin-y").pfValue,C=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;C&&(T="center",E="center"),l+=b,u+=x;var _;switch(n?_=this.getTextAngle(e,r):_=0,_!==0&&(h=l,d=u,t.translate(h,d),t.rotate(_),l=0,u=0),E){case"top":break;case"center":u+=v/2;break;case"bottom":u+=v;break}var R=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,L=e.pstyle("text-border-width").pfValue,O=e.pstyle("text-background-padding").pfValue,F=e.pstyle("text-background-shape").strValue,$=F==="round-rectangle"||F==="roundrectangle",q=F==="circle",z=2;if(R>0||L>0&&k>0){var D=t.fillStyle,I=t.strokeStyle,N=t.lineWidth,B=e.pstyle("text-background-color").value,M=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,U=R>0,P=L>0&&k>0,H=l-O;switch(T){case"left":H-=m;break;case"center":H-=m/2;break}var X=u-v-O,Z=m+2*O,j=v+2*O;if(U&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(R*o,")")),P&&(t.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(k*o,")"),t.lineWidth=L,t.setLineDash))switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=L/4,t.setLineDash([]);break;default:t.setLineDash([]);break}if($?(t.beginPath(),TU(t,H,X,Z,j,z)):q?(t.beginPath(),VIe(t,H,X,Z,j)):(t.beginPath(),t.rect(H,X,Z,j)),U&&t.fill(),P&&t.stroke(),P&&V==="double"){var ee=L/2;t.beginPath(),$?TU(t,H+ee,X+ee,Z-2*ee,j-2*ee,z):t.rect(H+ee,X+ee,Z-2*ee,j-2*ee),t.stroke()}t.fillStyle=D,t.strokeStyle=I,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var he=Ns(s,"labelWrapCachedLines",r),te=Ns(s,"labelLineHeight",r),ae=m/2,ie=this.getLabelJustification(e);switch(ie==="auto"||(T==="left"?ie==="left"?l+=-m:ie==="center"&&(l+=-ae):T==="center"?ie==="left"?l+=-ae:ie==="right"&&(l+=ae):T==="right"&&(ie==="center"?l+=ae:ie==="right"&&(l+=m))),E){case"top":u-=(he.length-1)*te;break;case"center":case"bottom":u-=(he.length-1)*te;break}for(var ne=0;ne0&&t.strokeText(he[ne],l,u),t.fillText(he[ne],l,u),u+=te}else Q>0&&t.strokeText(f,l,u),t.fillText(f,l,u);_!==0&&(t.rotate(-_),t.translate(-h,-d))}}};var Cd={};Cd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,h=u.rscratch,d=e.position();if(!(!Yt(d.x)||!Yt(d.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),m,v=!1,b=e.padding();o=e.width()+2*b,l=e.height()+2*b;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var C=e.pstyle("background-image"),T=C.value,E=new Array(T.length),_=new Array(T.length),R=0,k=0;k0&&arguments[0]!==void 0?arguments[0]:z;s.eleFillStyle(t,e,se)},te=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P;s.colorStrokeStyle(t,D[0],D[1],D[2],se)},ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(t,X[0],X[1],X[2],se)},ie=function(se,be,Y,de){var fe=s.nodePathCache=s.nodePathCache||[],we=lne(Y==="polygon"?Y+","+de.join(","):Y,""+be,""+se,""+Q),Ee=fe[we],Ie,Ue=!1;return Ee!=null?(Ie=Ee,Ue=!0,h.pathCache=Ie):(Ie=new Path2D,fe[we]=h.pathCache=Ie),{path:Ie,cacheHit:Ue}},ne=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(d.x,d.y);var pe=ie(o,l,ne,me);m=pe.path,v=pe.cacheHit}var Me=function(){if(!v){var se=d;p&&(se={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(m||t,se.x,se.y,o,l,Q,h)}p?t.fill(m):t.fill()},$e=function(){for(var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Y=u.backgrounding,de=0,fe=0;fe<_.length;fe++){var we=e.cy().style().getIndexedStyle(e,"background-image-containment","value",fe);if(be&&we==="over"||!be&&we==="inside"){de++;continue}E[fe]&&_[fe].complete&&!_[fe].error&&(de++,s.drawInscribedImage(t,_[fe],e,fe,se))}u.backgrounding=de!==R,Y!==u.backgrounding&&e.updateStyle(!1)},He=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,be),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Ae=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(h.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h),t.clip()),s.drawStripe(t,e,be),t.restore(),se&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,o,l,Q,h)))},Oe=function(){var se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,be=($>0?$:-$)*se,Y=$>0?0:255;$!==0&&(s.colorFillStyle(t,Y,Y,Y,be),p?t.fill(m):t.fill())},We=function(){if(q>0){if(t.lineWidth=q,t.lineCap=B,t.lineJoin=N,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(V),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(M!=="center"){if(t.save(),t.lineWidth*=2,M==="inside")p?t.clip(m):t.clip();else{var se=new Path2D;se.rect(-o/2-q,-l/2-q,o+2*q,l+2*q),se.addPath(m),t.clip(se,"evenodd")}p?t.stroke(m):t.stroke(),t.restore()}else p?t.stroke(m):t.stroke();if(I==="double"){t.lineWidth=q/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(m):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},Te=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(Z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var se=d;p&&(se={x:0,y:0});var be=s.getNodeShape(e),Y=q;M==="inside"&&(Y=0),M==="outside"&&(Y*=2);var de=(o+Y+(H+ee))/o,fe=(l+Y+(H+ee))/l,we=o*de,Ee=l*fe,Ie=s.nodeShapes[be].points,Ue;if(p){var _e=ie(we,Ee,be,Ie);Ue=_e.path}if(be==="ellipse")s.drawEllipsePath(Ue||t,se.x,se.y,we,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(be)){var ze=0,et=0,qe=0;be==="round-diamond"?ze=(Y+ee+H)*1.4:be==="round-heptagon"?(ze=(Y+ee+H)*1.075,qe=-(Y/2+ee+H)/35):be==="round-hexagon"?ze=(Y+ee+H)*1.12:be==="round-pentagon"?(ze=(Y+ee+H)*1.13,qe=-(Y/2+ee+H)/15):be==="round-tag"?(ze=(Y+ee+H)*1.12,et=(Y/2+H+ee)*.07):be==="round-triangle"&&(ze=(Y+ee+H)*(Math.PI/2),qe=-(Y+ee/2+H)/Math.PI),ze!==0&&(de=(o+ze)/o,we=o*de,["round-hexagon","round-tag"].includes(be)||(fe=(l+ze)/l,Ee=l*fe)),Q=Q==="auto"?vne(we,Ee):Q;for(var lt=we/2,ve=Ee/2,Qe=Q+(Y+H+ee)/2,Se=new Array(Ie.length/2),Nt=new Array(Ie.length/2),At=0;At0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,h[0],h[1],h[2],u),o.nodeShapes[d].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};Cd.drawNodeOverlay=Sie("overlay");Cd.drawNodeUnderlay=Sie("underlay");Cd.hasPie=function(t){return t=t[0],t._private.hasPie};Cd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Cd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,h=e.width(),d=e.height(),f=Math.min(h,d)/2,p,m=0,v=this.usePaths();if(v&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var b=1;b<=i.pieBackgroundN;b++){var x=e.pstyle("pie-"+b+"-background-size").value,C=e.pstyle("pie-"+b+"-background-color").value,T=e.pstyle("pie-"+b+"-background-opacity").value*r,E=x/100;E+m>1&&(E=1-m);var _=1.5*Math.PI+2*Math.PI*m;_+=o;var R=2*Math.PI*E,k=_+R;x===0||m>=1||m+E>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,_,k),t.closePath()):(t.beginPath(),t.arc(l,u,f,_,k),t.arc(l,u,p,k,_,!0),t.closePath()),this.colorFillStyle(t,C[0],C[1],C[2],T),t.fill(),m+=E)}};Cd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,h=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,m=l;f.units==="%"?(p=p*f.pfValue,m=m*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,m=f.pfValue),h&&(a=0,s=0),s-=p/2,a-=m/2;for(var v=1;v<=i.stripeBackgroundN;v++){var b=e.pstyle("stripe-"+v+"-background-size").value,x=e.pstyle("stripe-"+v+"-background-color").value,C=e.pstyle("stripe-"+v+"-background-opacity").value*r,T=b/100;T+u>1&&(T=1-u),!(b===0||u>=1||u+T>1)&&(t.beginPath(),t.rect(a,s+m*u,p,m*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],C),t.fill(),u+=T)}t.restore()};var xs={},GIe=100;xs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};xs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var C=r.style(),T=r.zoom(),E=s!==void 0?s:T,_=r.pan(),R={x:_.x,y:_.y},k={zoom:T,pan:{x:_.x,y:_.y}},L=e.prevViewport,O=L===void 0||k.zoom!==L.zoom||k.pan.x!==L.pan.x||k.pan.y!==L.pan.y;!O&&!(v&&!m)&&(e.motionBlurPxRatio=1),o&&(R=o),E*=l,R.x*=l,R.y*=l;var F=e.getCachedZSortedEles();function $(te,ae,ie,ne,me){var pe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(ae,ie,ne,me),te.globalCompositeOperation=pe}function q(te,ae){var ie,ne,me,pe;!e.clearingMotionBlur&&(te===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ie={x:_.x*p,y:_.y*p},ne=T*p,me=e.canvasWidth*p,pe=e.canvasHeight*p):(ie=R,ne=E,me=e.canvasWidth,pe=e.canvasHeight),te.setTransform(1,0,0,1,0,0),ae==="motionBlur"?$(te,0,0,me,pe):!n&&(ae===void 0||ae)&&te.clearRect(0,0,me,pe),i||(te.translate(ie.x,ie.y),te.scale(ne,ne)),o&&te.translate(o.x,o.y),s&&te.scale(s,s)}if(d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var z=e.data.bufferContexts[e.TEXTURE_BUFFER];z.setTransform(1,0,0,1,0,0),z.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:z,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var k=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var D=u.contexts[e.NODE],I=e.textureCache.texture,k=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?$(D,0,0,k.width,k.height):D.clearRect(0,0,k.width,k.height);var N=C.core("outside-texture-bg-color").value,B=C.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],B),D.fillRect(0,0,k.width,k.height);var T=r.zoom();q(D,!1),D.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l),D.drawImage(I,k.mpan.x,k.mpan.y,k.width/k.zoom/l,k.height/k.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var M=r.extent(),V=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),U=e.hideEdgesOnViewport&&V,P=[];if(P[e.NODE]=!h[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var H=f&&!P[e.NODE]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),X=f&&!H?"motionBlur":void 0;q(D,X),U?e.drawCachedNodes(D,F.nondrag,l,M):e.drawLayeredElements(D,F.nondrag,l,M),e.debug&&e.drawDebugPoints(D,F.nondrag),!i&&!f&&(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])){var H=f&&!P[e.DRAG]&&p!==1,D=n||(H?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);q(D,f&&!H?"motionBlur":void 0),U?e.drawCachedNodes(D,F.drag,l,M):e.drawCachedElements(D,F.drag,l,M),e.debug&&e.drawDebugPoints(D,F.drag),!i&&!f&&(h[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,q),f&&p!==1){var Z=u.contexts[e.NODE],j=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],he=function(ae,ie,ne){ae.setTransform(1,0,0,1,0,0),ne||!x?ae.clearRect(0,0,e.canvasWidth,e.canvasHeight):$(ae,0,0,e.canvasWidth,e.canvasHeight);var me=p;ae.drawImage(ie,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(he(Z,j,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(he(ee,Q,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=k,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()},GIe)),n||r.emit("render")};var bv;xs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var h=u||i.contexts[r.SELECT_BOX];if(e(h),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),f=a.core("selection-box-border-width").value/d;h.lineWidth=f,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),h.fill()}var m=r.lastRedrawTime;if(r.showFps&&m){m=Math.round(m);var v=Math.round(1e3/m),b="1 frame = "+m+" ms = "+v+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!bv){var x=h.measureText(b);bv=x.actualBoundingBoxAscent}h.fillText(b,0,bv);var C=60;h.strokeRect(0,bv+10,250,20),h.fillRect(0,bv+10,250*Math.min(v/C,1),20)}o||(l[r.SELECT_BOX]=!1)}};function wU(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function UIe(t,e,r){var n=wU(t,t.VERTEX_SHADER,e),i=wU(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function HIe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function CM(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function WIe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function YIe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function XIe(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function jIe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function KIe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function ZIe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function Eie(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function kie(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function QIe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function JIe(t,e,r,n){var i=Eie(t,e),a=Bi(i,2),s=a[0],o=a[1],l=kie(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function Nl(t,e,r,n){var i=Eie(t,r),a=Bi(i,3),s=a[0],o=a[1],l=a[2],u=kie(t,o,e*s),h=s*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,h,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,h,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;ps&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),h=u.scale,d=u.texW,f=u.texH,p=function(T,E){if(i&&E){var _=E.context,R=T.x,k=T.row,L=R,O=l*k;_.save(),_.translate(L,O),_.scale(h,h),i(_,n),_.restore()}},m=[null,null],v=function(){p(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:d,h:f},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},b=function(){var T=a.scratch,E=a.canvas;T.clear(),p({x:0,row:0},T);var _=s-a.freePointer.x,R=d-_,k=l;{var L=a.freePointer.x,O=a.freePointer.row*l,F=_;E.context.drawImage(T,0,0,F,k,L,O,F,k),m[0]={x:L,y:O,w:F,h:f}}{var $=_,q=(a.freePointer.row+1)*l,z=R;E&&E.context.drawImage(T,$,0,z,k,0,q,z,k),m[1]={x:0,y:q,w:z,h:f}}a.freePointer.x=R,a.freePointer.row++},x=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+d<=s)v();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(x(),v()):this.enableWrapping?b():(x(),v())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,h=u===void 0?function(){return!0}:u,d=!1,f=!1,p=Ps(r),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;if(l(v)){var b=Ps(this.renderTypes.values()),x;try{var C=function(){var E=x.value,_=E.type;if(h(_)){var R=n.collections.get(E.collection),k=E.getKey(v),L=Array.isArray(k)?k:[k];if(s)L.forEach(function(q){return R.markKeyForGC(q)}),f=!0;else{var O=E.getID?E.getID(v):v.id(),F=n._key(_,O),$=n.typeAndIdToKey.get(F);$!==void 0&&!jIe(L,$)&&(d=!0,n.typeAndIdToKey.delete(F),$.forEach(function(q){return R.markKeyForGC(q)}))}}};for(b.s();!(x=b.n()).done;)C()}catch(T){b.e(T)}finally{b.f()}}}}catch(T){p.e(T)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var r=Ps(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var h=s.getID?s.getID(r):r.id(),d=this._key(n,h);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),h=i.getOrCreateAtlas(r,n,u,l),d=h.getOffsets(l),f=Bi(d,2),p=f[0],m=f[1];return{atlas:h,tex:p,tex1:p,tex2:m,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=Ps(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Bi(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,h=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:h})}}catch(d){n.e(d)}finally{n.f()}return r}}])})(),lBe=(function(){function t(e){xd(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return Td(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),cBe=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } -`,yBe=` +`,uBe=` float rectangleSD(vec2 p, vec2 b) { vec2 d = abs(p)-b; return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); } -`,vBe=` +`,hBe=` float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; cr.x = (p.y > 0.0) ? cr.x : cr.y; vec2 q = abs(p) - b + cr.x; return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; } -`,bBe=` +`,dBe=` float ellipseSD(vec2 p, vec2 ab) { p = abs( p ); // symmetry @@ -647,7 +647,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } -`,I2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Sw={IGNORE:1,USE_BB:2},j7=0,_U=1,AU=2,X7=3,zp=4,_T=5,Tv=6,wv=7,xBe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=QIe,this.atlasManager=new pBe(e,n),this.batchManager=new gBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(I2.SCREEN),this.pickingProgram=this._createShaderProgram(I2.PICKING),this.vao=this._createVAO()}return wd(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es +`,O2={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Cw={IGNORE:1,USE_BB:2},Y7=0,kU=1,_U=2,X7=3,$p=4,k4=5,xv=6,Tv=7,fBe=(function(){function t(e,r,n){xd(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=HIe,this.atlasManager=new oBe(e,n),this.batchManager=new lBe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(O2.SCREEN),this.pickingProgram=this._createShaderProgram(O2.PICKING),this.vao=this._createVAO()}return Td(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es precision highp float; uniform mat3 uPanZoomMatrix; @@ -694,7 +694,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho int vid = gl_VertexID; vec2 position = aPosition; // TODO make this a vec3, simplifies some code below - if(aVertType == `.concat(j7,`) { + if(aVertType == `.concat(Y7,`) { float texX = aTex.x; // texture coordinates float texY = aTex.y; float texW = aTex.z; @@ -712,8 +712,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); } - else if(aVertType == `).concat(zp," || aVertType == ").concat(wv,` - || aVertType == `).concat(_T," || aVertType == ").concat(Tv,`) { // simple shapes + else if(aVertType == `).concat($p," || aVertType == ").concat(Tv,` + || aVertType == `).concat(k4," || aVertType == ").concat(xv,`) { // simple shapes // the bounding box is needed by the fragment shader vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat @@ -728,7 +728,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); } - else if(aVertType == `).concat(_U,`) { + else if(aVertType == `).concat(kU,`) { vec2 source = aPointAPointB.xy; vec2 target = aPointAPointB.zw; @@ -743,7 +743,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0); vColor = aColor; } - else if(aVertType == `).concat(AU,`) { + else if(aVertType == `).concat(_U,`) { vec2 pointA = aPointAPointB.xy; vec2 pointB = aPointAPointB.zw; vec2 pointC = aPointCPointD.xy; @@ -837,10 +837,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho out vec4 outColor; - `).concat(mBe,` - `).concat(yBe,` - `).concat(vBe,` - `).concat(bBe,` + `).concat(cBe,` + `).concat(uBe,` + `).concat(hBe,` + `).concat(dBe,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha return vec4( @@ -856,7 +856,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho } void main(void) { - if(vVertType == `).concat(j7,`) { + if(vVertType == `).concat(Y7,`) { // look up the texel from the texture unit `).concat(a.map(function(u){return"if(vAtlasId == ".concat(u,") outColor = texture(uTexture").concat(u,", vTexCoord);")}).join(` else `),` @@ -866,11 +866,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho outColor = blend(vColor, uBGColor); outColor.a = 1.0; // make opaque, masks out line under arrow } - else if(vVertType == `).concat(zp,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border + else if(vVertType == `).concat($p,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done } - else if(vVertType == `).concat(zp," || vVertType == ").concat(wv,` - || vVertType == `).concat(_T," || vVertType == ").concat(Tv,`) { // use SDF + else if(vVertType == `).concat($p," || vVertType == ").concat(Tv,` + || vVertType == `).concat(k4," || vVertType == ").concat(xv,`) { // use SDF float outerBorder = vBorderWidth[0]; float innerBorder = vBorderWidth[1]; @@ -881,11 +881,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center float d; // signed distance - if(vVertType == `).concat(zp,`) { + if(vVertType == `).concat($p,`) { d = rectangleSD(p, b); - } else if(vVertType == `).concat(wv,` && w == h) { + } else if(vVertType == `).concat(Tv,` && w == h) { d = circleSD(p, b.x); // faster than ellipse - } else if(vVertType == `).concat(wv,`) { + } else if(vVertType == `).concat(Tv,`) { d = ellipseSD(p, b); } else { d = roundRectangleSD(p, b, vCornerRadius.wzyx); @@ -925,16 +925,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),o=ZIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:I2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Sw.IGNORE)return;if(l==Sw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Ps(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;EU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;D3(r,r,[h,d]),kU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;D3(r,r,[s,o]),_L(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=zp;var o=this.indexBuffer.getView(s);$p(n,o);var l=this.colorBuffer.getView(s);sf([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===_T||o===Tv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===Tv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);$p(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);sf(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);sf(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var A=x/2;b[0]=A,b[1]=-A}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return zp;case"ellipse":return wv;case"roundrectangle":case"round-rectangle":return _T;case"bottom-round-rectangle":return Tv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return ud(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);EU(C),D3(C,C,[s,o]),_L(C,C,[b,b]),kU(C,C,l),this.vertTypeBuffer.getView(x)[0]=X7;var T=this.indexBuffer.getView(x);$p(n,T);var E=this.colorBuffer.getView(x);sf(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=_U;var d=this.indexBuffer.getView(h);$p(n,d);var f=this.colorBuffer.getView(h);sf(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Sw.USE_BB:Sw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:tBe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getLabelKey,null),getBoundingBox:Z7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getSourceLabelKey,"source"),getBoundingBox:Z7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:K7(e.getTargetLabelKey,"target"),getBoundingBox:Z7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=dx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),wBe(r)};function TBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return rne(r)}function Lie(t,e){var r=t._private.rscratch;return Ns(r,"labelWrapCachedLines",e)||[]}var K7=function(e,r){return function(n){var i=e(n),a=Lie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},Z7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Lie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function wBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>Tie?(CBe(t),e.call(t,a)):(SBe(t),Die(t,a,I2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return RBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function CBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function SBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function EBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=SM(t),i=n.pan,a=n.zoom,s=Y7();D3(s,s,[i.x,i.y]),_L(s,s,[a,a]);var o=Y7();uBe(o,e,r);var l=Y7();return cBe(l,o,s),l}function Rie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=SM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function kBe(t,e){t.drawSelectionRectangle(e,function(r){return Rie(t,r)})}function _Be(t){var e=t.data.contexts[t.NODE];e.save(),Rie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function ABe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function RBe(t,e,r){var n=LBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Ps(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Q7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Die(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&kBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=EBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function DBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ra(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Cie,gc,Yu,CM,q0,Sd,xs,Aie,Ed,vx,Oie].forEach(function(t){yr(Br,t)});var OBe=[{name:"null",impl:cie},{name:"base",impl:bie},{name:"canvas",impl:NBe}],IBe=[{type:"layout",extensions:sIe},{type:"renderer",extensions:OBe}],Bie={},Pie={};function Fie(t,e,r){var n=r,i=function(R){vn("Can not register `"+e+"` for `"+t+"` since `"+R+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(Tb.prototype[e])return i(e);Tb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(R){this.options=R,r.call(this,R),tn(this._private)||(this._private={}),this._private.cy=R.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&R>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(R,1);var A=T.source.owner.getEdges().indexOf(T);if(A==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(A,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),A=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,A,k,R,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),A=z.getRight(),k=z.getTop(),R=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=R,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=R,u[3]=k,I=!0):B===M&&(f>h?(u[2]=A,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,j=f+-z/M,u[2]=j,u[3]=Z;break;case 2:j=$,Z=p+q*M,u[2]=j,u[3]=Z;break;case 3:Z=F,j=f+z/M,u[2]=j,u[3]=Z;break;case 4:j=O,Z=p+-q*M,u[2]=j,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,A=void 0,k=void 0,R=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,A=C-b,R=v-x,F=x*b-v*C,$=_*R-A*k,$===0?null:(T=(k*F-R*O)/$,E=(A*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var R=_[0];_.splice(0,1),E.add(R);for(var O=R.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,A=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=A.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&R.push(D),C.set(D,N)}})}x=x.concat(R),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var A=0;Ad}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var R=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return R.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),R=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(R),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),R={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,R,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(R,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=j[0];j.splice(0,1);var X=M.indexOf(Z);X>=0&&M.splice(X,1),P--,V--}R!=null?H=(M.indexOf(j[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=R){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var R=x.MIN_VALUE,O=0;OR&&(R=$)}return R},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,R={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(R[D]=[]),R[D]=R[D].concat(q)}Object.keys(R).forEach(function(I){if(R[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=R[I];var B=R[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var R=this.compoundOrder[k],O=R.id,F=R.paddingLeft,$=R.paddingTop;this.adjustLocations(this.tiledMemberPack[O],R.rect.x,R.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,R=this.tiledZeroDegreePack;Object.keys(R).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(R[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var R=k.id;if(this.toBeTiled[R]!=null)return this.toBeTiled[R];var O=k.getChild();if(O==null)return this.toBeTiled[R]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[R]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[R]=!1,!1}return this.toBeTiled[R]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var R=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,R){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=R[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,R){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:R,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(R)},_.prototype.getShortestRowIndex=function(k){for(var R=-1,O=Number.MAX_VALUE,F=0;FO&&(R=F,O=k.rowWidth[F]);return R},_.prototype.canAddHorizontal=function(k,R,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+R<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=R+k.horizontalPadding?z=(k.height+q)/($+R+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&R!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[R]=k.rowWidth[R]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);R>0&&(z+=k.verticalPadding);var I=k.rowHeight[R]+k.rowHeight[O];k.rowHeight[R]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[R]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],R=!0,O;R;){var F=this.graphManager.getAllNodes(),$=[];R=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,j,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,R,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(N3)),N3.exports}var HBe=UBe();const WBe=k0(HBe);ac.use(WBe);function zie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S(zie,"addNodes");function qie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(qie,"addEdges");function Vie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zie(t.nodes,n),qie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(Vie,"createCytoscapeInstance");function Gie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Gie,"extractPositionedNodes");function Uie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Uie,"extractPositionedEdges");async function Hie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Wie(t);const r=await Vie(t),n=Gie(r),i=Uie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Hie,"executeCoseBilkentLayout");function Wie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Wie,"validateLayoutData");var YBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),A=_.node().getBBox();E.width=A.width,E.height=A.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${A.width}x${A.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Hie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const A=C.edges.find(k=>k.id===T.id);if(A){o.debug("APA01 positionedEdge",A);const k={...T},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},R=n(m,k,d,t.type,E,_,t.diagramId);l(k,R)}}})),o.debug("Cose-bilkent rendering completed")},"render"),jBe=YBe;const XBe=Object.freeze(Object.defineProperty({__proto__:null,render:jBe},Symbol.toStringTag,{value:"Module"}));var NS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Yie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};NS(t,r).lower()},"drawBackgroundRect"),KBe=S((t,e)=>{const r=e.text.replace(Bm," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),EM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),kM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=R0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),_M=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),jie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),kw=(function(){var t=S(function(De,Ge,it,Ye){for(it=it||{},Ye=De.length;Ye--;it[De[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],A=[1,38],k=[1,39],R=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],j=[1,56],Z=[1,57],X=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Le=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,je,at,xe,Ze){var se=xe.length-1;switch(at){case 3:je.setDirection("TB");break;case 4:je.setDirection("BT");break;case 5:je.setDirection("RL");break;case 6:je.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:je.setC4Type(xe[se-3]);break;case 19:je.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:je.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),je.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),je.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:je.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),je.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:je.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:je.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:je.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:je.popBoundaryParseStack();break;case 39:je.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:je.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:je.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:je.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:je.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:je.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:je.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:je.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:je.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:je.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:je.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:je.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:je.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:je.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:je.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:je.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:je.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:je.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:je.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:je.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:je.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:je.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:je.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:je.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:je.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:je.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:je.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),je.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:je.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:je.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:je.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:A,54:k,55:R,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:j,71:Z,72:X,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Le,[2,28]),t(Le,[2,29]),t(Le,[2,30]),t(Le,[2,31]),t(Le,[2,32]),t(Le,[2,33]),t(Le,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],je=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=je.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(je=ue,ue=je.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: + `),o=UIe(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l1&&arguments[1]!==void 0?arguments[1]:O2.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===Cw.IGNORE)return;if(l==Cw.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),h=Ps(u),d;try{for(h.s();!(d=h.n()).done;){var f=d.value,p=f.atlas,m=f.tex1,v=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var b=s.getAtlasIndexForBatch(p),x=0,C=[[m,!0],[v,!1]];x=this.maxInstances&&this.endBatch()}}}}catch($){h.e($)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,h=a.tex2,d=u.w/(u.w+h.w);s||(d=1-d);var f=this._getAdjustedBB(l,o,s,d);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),m=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,m,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;SU(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),h=u.x,d=u.y;R3(r,r,[h,d]),EU(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;R3(r,r,[s,o]),kL(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,h=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var d=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(d=l-f,s+=d,l=f),{x1:s,y1:o,w:l,h:u,xOffset:d,yOffset:h}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=$p;var o=this.indexBuffer.getView(s);Fp(n,o);var l=this.colorBuffer.getView(s);af([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===k4||o===xv){var u=a.getBoundingBox(r),h=this._getCornerRadius(r,s.radius,u),d=this.cornerRadiusBuffer.getView(l);d[0]=h,d[1]=h,d[2]=h,d[3]=h,o===xv&&(d[0]=0,d[2]=0)}var f=this.indexBuffer.getView(l);Fp(n,f);var p=this.renderTarget.picking?1:r.pstyle(s.opacity).value,m=r.pstyle(s.color).value,v=this.colorBuffer.getView(l);af(m,p,v);var b=this.lineWidthBuffer.getView(l);if(b[0]=0,b[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var C=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(l);af(C,T,E);var _=r.pstyle("border-position").value;if(_==="inside")b[0]=0,b[1]=-x;else if(_==="outside")b[0]=x,b[1]=0;else{var R=x/2;b[0]=R,b[1]=-R}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return $p;case"ellipse":return Tv;case"roundrectangle":case"round-rectangle":return k4;case"bottom-round-rectangle":return xv;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return cd(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var h=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=d*f,m=r.pstyle("width").pfValue,v=r.pstyle("arrow-scale").value,b=this.r.getArrowWidth(m,v),x=this.instanceCount,C=this.transformBuffer.getMatrixView(x);SU(C),R3(C,C,[s,o]),kL(C,C,[b,b]),EU(C,C,l),this.vertTypeBuffer.getView(x)[0]=X7;var T=this.indexBuffer.getView(x);Fp(n,T);var E=this.colorBuffer.getView(x);af(h,p,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var h=this.instanceCount;this.vertTypeBuffer.getView(h)[0]=kU;var d=this.indexBuffer.getView(h);Fp(n,d);var f=this.colorBuffer.getView(h);af(l,u,f);var p=this.lineWidthBuffer.getView(h);p[0]=o;var m=this.pointAPointBBuffer.getView(h);m[0]=i[0],m[1]=i[1],m[2]=i[2],m[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var v=0;v=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o0}},o=function(d){var f=d.pstyle("text-events").strValue==="yes";return f?Cw.USE_BB:Cw.IGNORE},l=function(d){var f=d.position(),p=f.x,m=f.y,v=d.outerWidth(),b=d.outerHeight();return{w:v,h:b,x1:p-v/2,y1:m-b/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:XIe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:j7(e.getLabelKey,null),getBoundingBox:K7(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:j7(e.getSourceLabelKey,"source"),getBoundingBox:K7(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:j7(e.getTargetLabelKey,"target"),getBoundingBox:K7(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=hx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,d){var f=!1;d&&d.length>0&&(f|=r.drawing.invalidate(d)),f&&u()}),gBe(r)};function pBe(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return tne(r)}function Aie(t,e){var r=t._private.rscratch;return Ns(r,"labelWrapCachedLines",e)||[]}var j7=function(e,r){return function(n){var i=e(n),a=Aie(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},K7=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=Aie(n,r),u=a.h/l.length,h=u*o,d=a.y1+h;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:h}}}return a}};function gBe(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>xie?(mBe(t),e.call(t,a)):(yBe(t),Rie(t,a,O2.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return CBe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function mBe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function yBe(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function vBe(t){var e=t.canvasWidth,r=t.canvasHeight,n=CM(t),i=n.pan,a=n.zoom,s=W7();R3(s,s,[i.x,i.y]),kL(s,s,[a,a]);var o=W7();nBe(o,e,r);var l=W7();return rBe(l,o,s),l}function Lie(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=CM(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function bBe(t,e){t.drawSelectionRectangle(e,function(r){return Lie(t,r)})}function xBe(t){var e=t.data.contexts[t.NODE];e.save(),Lie(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function TBe(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,h=0;h=0&&E.add(k)}return E}function CBe(t,e,r){var n=wBe(t,e,r),i=t.getCachedZSortedEles(),a,s,o=Ps(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,h=i[u];if(!a&&h.isNode()&&(a=h),!s&&h.isEdge()&&(s=h),a&&s)break}}catch(d){o.e(d)}finally{o.f()}return[a,s].filter(Boolean)}function Z7(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Rie(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&bBe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=vBe(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var m=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var v=e.pan(),b={x:v.x*u,y:v.y*u};u*=e.zoom(),p.translate(b.x,b.y),p.scale(u,u),this.drawElements(p,m),p.scale(1/u,1/u),p.translate(-b.x,-b.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function SBe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a"u"?"undefined":ra(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[wie,pc,Wu,wM,z0,Cd,xs,_ie,Sd,yx,Mie].forEach(function(t){yr(Br,t)});var _Be=[{name:"null",impl:lie},{name:"base",impl:vie},{name:"canvas",impl:EBe}],ABe=[{type:"layout",extensions:JOe},{type:"renderer",extensions:_Be}],Iie={},Bie={};function Pie(t,e,r){var n=r,i=function(L){vn("Can not register `"+e+"` for `"+t+"` since `"+L+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(xb.prototype[e])return i(e);xb.prototype[e]=r}else if(t==="collection"){if(La.prototype[e])return i(e);La.prototype[e]=r}else if(t==="layout"){for(var a=function(L){this.options=L,r.call(this,L),tn(this._private)||(this._private={}),this._private.cy=L.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;lm&&(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)),this.labelHeight>v&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-v)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-v),this.setHeight(this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uh.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},l.prototype.propogateDisplacementToChildren=function(h,d){for(var f=this.getChild().getNodes(),p,m=0;m0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),O=this.nodesWithGravity.filter(function(F){return L.has(F)});this.graphManager.setAllNodesToApplyGravitation(O),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function($){return k.has($)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var O=!this.isTreeGrowing&&!this.isGrowthFinished,F=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(O,F),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},O=0;O1){var D;for(D=0;DF&&(F=Math.floor(z.y)),q=Math.floor(z.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new v(p.WORLD_CENTER_X-z.x/2,p.WORLD_CENTER_Y-z.y/2))},_.radialLayout=function(k,L,O){var F=Math.max(this.maxDiagonalInTree(k),d.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(L,null,0,359,0,F);var $=T.calculateBounds(k),q=new E;q.setDeviceOrgX($.getMinX()),q.setDeviceOrgY($.getMinY()),q.setWorldOrgX(O.x),q.setWorldOrgY(O.y);for(var z=0;z1;){var Z=X[0];X.splice(0,1);var j=M.indexOf(Z);j>=0&&M.splice(j,1),P--,V--}L!=null?H=(M.indexOf(X[0])+1)%P:H=0;for(var ee=Math.abs(F-O)/V,Q=H;U!=V;Q=++Q%P){var he=M[Q].getOtherEnd(k);if(he!=L){var te=(O+U*ee)%360,ae=(te+ee)%360;_.branchRadialLayout(he,k,te,ae,$+q,q),U++}}},_.maxDiagonalInTree=function(k){for(var L=x.MIN_VALUE,O=0;OL&&(L=$)}return L},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var O=[],F=this.graphManager.getAllNodes(),$=0;$"u"&&(L[D]=[]),L[D]=L[D].concat(q)}Object.keys(L).forEach(function(I){if(L[I].length>1){var N="DummyCompound_"+I;k.memberGroups[N]=L[I];var B=L[I][0].getParent(),M=new u(k.graphManager);M.id=N,M.paddingLeft=B.paddingLeft||0,M.paddingRight=B.paddingRight||0,M.paddingBottom=B.paddingBottom||0,M.paddingTop=B.paddingTop||0,k.idToDummyNode[N]=M;var V=k.getGraphManager().add(k.newGraph(),M),U=B.getChild();U.add(M);for(var P=0;P=0;k--){var L=this.compoundOrder[k],O=L.id,F=L.paddingLeft,$=L.paddingTop;this.adjustLocations(this.tiledMemberPack[O],L.rect.x,L.rect.y,F,$)}},_.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(O){var F=k.idToDummyNode[O],$=F.paddingLeft,q=F.paddingTop;k.adjustLocations(L[O],F.rect.x,F.rect.y,$,q)})},_.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var O=k.getChild();if(O==null)return this.toBeTiled[L]=!1,!1;for(var F=O.getNodes(),$=0;$0)return this.toBeTiled[L]=!1,!1;if(q.getChild()==null){this.toBeTiled[q.id]=!1;continue}if(!this.getToBeTiled(q))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},_.prototype.getNodeDegree=function(k){k.id;for(var L=k.getEdges(),O=0,F=0;FI&&(I=B.rect.height)}O+=I+k.verticalPadding}},_.prototype.tileCompoundMembers=function(k,L){var O=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(F){var $=L[F];O.tiledMemberPack[F]=O.tileNodes(k[F],$.paddingLeft+$.paddingRight),$.rect.width=O.tiledMemberPack[F].width,$.rect.height=O.tiledMemberPack[F].height})},_.prototype.tileNodes=function(k,L){var O=d.TILING_PADDING_VERTICAL,F=d.TILING_PADDING_HORIZONTAL,$={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:O,horizontalPadding:F};k.sort(function(D,I){return D.rect.width*D.rect.height>I.rect.width*I.rect.height?-1:D.rect.width*D.rect.height0&&(z+=k.horizontalPadding),k.rowWidth[O]=z,k.width0&&(D+=k.verticalPadding);var I=0;D>k.rowHeight[O]&&(I=k.rowHeight[O],k.rowHeight[O]=D,I=k.rowHeight[O]-I),k.height+=I,k.rows[O].push(L)},_.prototype.getShortestRowIndex=function(k){for(var L=-1,O=Number.MAX_VALUE,F=0;FO&&(L=F,O=k.rowWidth[F]);return L},_.prototype.canAddHorizontal=function(k,L,O){var F=this.getShortestRowIndex(k);if(F<0)return!0;var $=k.rowWidth[F];if($+k.horizontalPadding+L<=k.width)return!0;var q=0;k.rowHeight[F]0&&(q=O+k.verticalPadding-k.rowHeight[F]);var z;k.width-$>=L+k.horizontalPadding?z=(k.height+q)/($+L+k.horizontalPadding):z=(k.height+q)/k.width,q=O+k.verticalPadding;var D;return k.widthq&&L!=O){F.splice(-1,1),k.rows[O].push($),k.rowWidth[L]=k.rowWidth[L]-q,k.rowWidth[O]=k.rowWidth[O]+q,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var z=Number.MIN_VALUE,D=0;Dz&&(z=F[D].height);L>0&&(z+=k.verticalPadding);var I=k.rowHeight[L]+k.rowHeight[O];k.rowHeight[L]=z,k.rowHeight[O]<$.height+k.verticalPadding&&(k.rowHeight[O]=$.height+k.verticalPadding);var N=k.rowHeight[L]+k.rowHeight[O];k.height+=N-I,this.shiftToLastRow(k)}},_.prototype.tilingPreLayout=function(){d.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},_.prototype.tilingPostLayout=function(){d.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},_.prototype.reduceTrees=function(){for(var k=[],L=!0,O;L;){var F=this.graphManager.getAllNodes(),$=[];L=!1;for(var q=0;q0)for(var U=$;U<=q;U++)V[0]+=this.grid[U][z-1].length+this.grid[U][z].length-1;if(q0)for(var U=z;U<=D;U++)V[3]+=this.grid[$-1][U].length+this.grid[$][U].length-1;for(var P=x.MAX_VALUE,H,X,Z=0;Z0){var D;D=E.getGraphManager().add(E.newGraph(),O),this.processChildrenList(D,L,E)}}},v.prototype.stop=function(){return this.stopped=!0,this};var x=function(T){T("layout","cose-bilkent",v)};typeof cytoscape<"u"&&x(cytoscape),n.exports=x})])})})(D3)),D3.exports}var FBe=PBe();const $Be=E0(FBe);ic.use($Be);function $ie(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}S($ie,"addNodes");function zie(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}S(zie,"addEdges");function qie(t){return new Promise(e=>{const r=kt("body").append("div").attr("id","cy").attr("style","display:none"),n=ic({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),$ie(t.nodes,n),zie(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{oe.info("Cytoscape ready",a),e(n)})})}S(qie,"createCytoscapeInstance");function Vie(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}S(Vie,"extractPositionedNodes");function Gie(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}S(Gie,"extractPositionedEdges");async function Uie(t,e){oe.debug("Starting cose-bilkent layout algorithm");try{Hie(t);const r=await qie(t),n=Vie(r),i=Gie(r);return oe.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw oe.error("Error in cose-bilkent layout algorithm:",r),r}}S(Uie,"executeCoseBilkentLayout");function Hie(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}S(Hie,"validateLayoutData");var zBe=S(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const h={},d={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),m=f.insert("g").attr("class","edgePaths"),v=f.insert("g").attr("class","edgeLabels"),b=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){const E={...T};d[T.id]=E,h[T.id]=E,await r(p,T)}else{const E={...T};h[T.id]=E;const _=await s(b,T,{config:t.config,dir:t.direction||"TB"}),R=_.node().getBBox();E.width=R.width,E.height=R.height,E.domId=_,o.debug(`Node ${T.id} dimensions: ${R.width}x${R.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const x={...t,nodes:t.nodes.map(T=>{const E=h[T.id];return{...T,width:E.width,height:E.height}})},C=await Uie(x,t.config);o.debug("Positioning nodes based on layout results"),C.nodes.forEach(T=>{const E=h[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,o.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),C.edges.forEach(T=>{const E=t.edges.find(_=>_.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{await i(v,T);const E=h[T.start??""],_=h[T.end??""];if(E&&_){const R=C.edges.find(k=>k.id===T.id);if(R){o.debug("APA01 positionedEdge",R);const k={...T},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}else{const k={...T,points:[{x:E.x||0,y:E.y||0},{x:_.x||0,y:_.y||0}]},L=n(m,k,d,t.type,E,_,t.diagramId);l(k,L)}}})),o.debug("Cose-bilkent rendering completed")},"render"),qBe=zBe;const VBe=Object.freeze(Object.defineProperty({__proto__:null,render:qBe},Symbol.toStringTag,{value:"Module"}));var DS=S((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Wie=S((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};DS(t,r).lower()},"drawBackgroundRect"),GBe=S((t,e)=>{const r=e.text.replace(Im," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),SM=S((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=L0.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),EM=S((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=L0.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),vo=S(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),kM=S(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),Yie=S(()=>{let t=kt(".mermaidTooltip");return t.empty()&&(t=kt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),Ew=(function(){var t=S(function(Re,Ge,it,Ye){for(it=it||{},Ye=Re.length;Ye--;it[Re[Ye]]=Ge);return it},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],d=[1,68],f=[1,69],p=[1,29],m=[1,30],v=[1,31],b=[1,32],x=[1,33],C=[1,34],T=[1,35],E=[1,36],_=[1,37],R=[1,38],k=[1,39],L=[1,40],O=[1,41],F=[1,42],$=[1,43],q=[1,44],z=[1,45],D=[1,46],I=[1,47],N=[1,48],B=[1,50],M=[1,51],V=[1,52],U=[1,53],P=[1,54],H=[1,55],X=[1,56],Z=[1,57],j=[1,58],ee=[1,59],Q=[1,60],he=[14,42],te=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ie=[1,82],ne=[1,83],me=[1,84],pe=[1,85],Me=[12,14,42],$e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],Ae=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],We={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:S(function(Ge,it,Ye,Xe,at,xe,Ze){var se=xe.length-1;switch(at){case 3:Xe.setDirection("TB");break;case 4:Xe.setDirection("BT");break;case 5:Xe.setDirection("RL");break;case 6:Xe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Xe.setC4Type(xe[se-3]);break;case 19:Xe.setTitle(xe[se].substring(6)),this.$=xe[se].substring(6);break;case 20:Xe.setAccDescription(xe[se].substring(15)),this.$=xe[se].substring(15);break;case 21:this.$=xe[se].trim(),Xe.setTitle(this.$);break;case 22:case 23:this.$=xe[se].trim(),Xe.setAccDescription(this.$);break;case 28:xe[se].splice(2,0,"ENTERPRISE"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 29:xe[se].splice(2,0,"SYSTEM"),Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 30:Xe.addPersonOrSystemBoundary(...xe[se]),this.$=xe[se];break;case 31:xe[se].splice(2,0,"CONTAINER"),Xe.addContainerBoundary(...xe[se]),this.$=xe[se];break;case 32:Xe.addDeploymentNode("node",...xe[se]),this.$=xe[se];break;case 33:Xe.addDeploymentNode("nodeL",...xe[se]),this.$=xe[se];break;case 34:Xe.addDeploymentNode("nodeR",...xe[se]),this.$=xe[se];break;case 35:Xe.popBoundaryParseStack();break;case 39:Xe.addPersonOrSystem("person",...xe[se]),this.$=xe[se];break;case 40:Xe.addPersonOrSystem("external_person",...xe[se]),this.$=xe[se];break;case 41:Xe.addPersonOrSystem("system",...xe[se]),this.$=xe[se];break;case 42:Xe.addPersonOrSystem("system_db",...xe[se]),this.$=xe[se];break;case 43:Xe.addPersonOrSystem("system_queue",...xe[se]),this.$=xe[se];break;case 44:Xe.addPersonOrSystem("external_system",...xe[se]),this.$=xe[se];break;case 45:Xe.addPersonOrSystem("external_system_db",...xe[se]),this.$=xe[se];break;case 46:Xe.addPersonOrSystem("external_system_queue",...xe[se]),this.$=xe[se];break;case 47:Xe.addContainer("container",...xe[se]),this.$=xe[se];break;case 48:Xe.addContainer("container_db",...xe[se]),this.$=xe[se];break;case 49:Xe.addContainer("container_queue",...xe[se]),this.$=xe[se];break;case 50:Xe.addContainer("external_container",...xe[se]),this.$=xe[se];break;case 51:Xe.addContainer("external_container_db",...xe[se]),this.$=xe[se];break;case 52:Xe.addContainer("external_container_queue",...xe[se]),this.$=xe[se];break;case 53:Xe.addComponent("component",...xe[se]),this.$=xe[se];break;case 54:Xe.addComponent("component_db",...xe[se]),this.$=xe[se];break;case 55:Xe.addComponent("component_queue",...xe[se]),this.$=xe[se];break;case 56:Xe.addComponent("external_component",...xe[se]),this.$=xe[se];break;case 57:Xe.addComponent("external_component_db",...xe[se]),this.$=xe[se];break;case 58:Xe.addComponent("external_component_queue",...xe[se]),this.$=xe[se];break;case 60:Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 61:Xe.addRel("birel",...xe[se]),this.$=xe[se];break;case 62:Xe.addRel("rel_u",...xe[se]),this.$=xe[se];break;case 63:Xe.addRel("rel_d",...xe[se]),this.$=xe[se];break;case 64:Xe.addRel("rel_l",...xe[se]),this.$=xe[se];break;case 65:Xe.addRel("rel_r",...xe[se]),this.$=xe[se];break;case 66:Xe.addRel("rel_b",...xe[se]),this.$=xe[se];break;case 67:xe[se].splice(0,1),Xe.addRel("rel",...xe[se]),this.$=xe[se];break;case 68:Xe.updateElStyle("update_el_style",...xe[se]),this.$=xe[se];break;case 69:Xe.updateRelStyle("update_rel_style",...xe[se]),this.$=xe[se];break;case 70:Xe.updateLayoutConfig("update_layout_config",...xe[se]),this.$=xe[se];break;case 71:this.$=[xe[se]];break;case 72:xe[se].unshift(xe[se-1]),this.$=xe[se];break;case 73:case 75:this.$=xe[se].trim();break;case 74:let be={};be[xe[se-1].trim()]=xe[se].trim(),this.$=be;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{14:[1,74]},t(he,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(he,[2,14]),t(te,[2,16],{12:[1,76]}),t(he,[2,36],{12:[1,77]}),t(ae,[2,19]),t(ae,[2,20]),{25:[1,78]},{27:[1,79]},t(ae,[2,23]),{35:80,75:81,76:ie,77:ne,79:me,80:pe},{35:86,75:81,76:ie,77:ne,79:me,80:pe},{35:87,75:81,76:ie,77:ne,79:me,80:pe},{35:88,75:81,76:ie,77:ne,79:me,80:pe},{35:89,75:81,76:ie,77:ne,79:me,80:pe},{35:90,75:81,76:ie,77:ne,79:me,80:pe},{35:91,75:81,76:ie,77:ne,79:me,80:pe},{35:92,75:81,76:ie,77:ne,79:me,80:pe},{35:93,75:81,76:ie,77:ne,79:me,80:pe},{35:94,75:81,76:ie,77:ne,79:me,80:pe},{35:95,75:81,76:ie,77:ne,79:me,80:pe},{35:96,75:81,76:ie,77:ne,79:me,80:pe},{35:97,75:81,76:ie,77:ne,79:me,80:pe},{35:98,75:81,76:ie,77:ne,79:me,80:pe},{35:99,75:81,76:ie,77:ne,79:me,80:pe},{35:100,75:81,76:ie,77:ne,79:me,80:pe},{35:101,75:81,76:ie,77:ne,79:me,80:pe},{35:102,75:81,76:ie,77:ne,79:me,80:pe},{35:103,75:81,76:ie,77:ne,79:me,80:pe},{35:104,75:81,76:ie,77:ne,79:me,80:pe},t(Me,[2,59]),{35:105,75:81,76:ie,77:ne,79:me,80:pe},{35:106,75:81,76:ie,77:ne,79:me,80:pe},{35:107,75:81,76:ie,77:ne,79:me,80:pe},{35:108,75:81,76:ie,77:ne,79:me,80:pe},{35:109,75:81,76:ie,77:ne,79:me,80:pe},{35:110,75:81,76:ie,77:ne,79:me,80:pe},{35:111,75:81,76:ie,77:ne,79:me,80:pe},{35:112,75:81,76:ie,77:ne,79:me,80:pe},{35:113,75:81,76:ie,77:ne,79:me,80:pe},{35:114,75:81,76:ie,77:ne,79:me,80:pe},{35:115,75:81,76:ie,77:ne,79:me,80:pe},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:d,41:f,43:23,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:ie,77:ne,79:me,80:pe},{35:120,75:81,76:ie,77:ne,79:me,80:pe},{35:121,75:81,76:ie,77:ne,79:me,80:pe},{35:122,75:81,76:ie,77:ne,79:me,80:pe},{35:123,75:81,76:ie,77:ne,79:me,80:pe},{35:124,75:81,76:ie,77:ne,79:me,80:pe},{35:125,75:81,76:ie,77:ne,79:me,80:pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(he,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(he,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:d,41:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T,51:E,52:_,53:R,54:k,55:L,56:O,57:F,58:$,59:q,60:z,61:D,62:I,63:N,64:B,65:M,66:V,67:U,68:P,69:H,70:X,71:Z,72:j,73:ee,74:Q}),t(ae,[2,21]),t(ae,[2,22]),t(Me,[2,39]),t($e,[2,71],{75:81,35:132,76:ie,77:ne,79:me,80:pe}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Me,[2,40]),t(Me,[2,41]),t(Me,[2,42]),t(Me,[2,43]),t(Me,[2,44]),t(Me,[2,45]),t(Me,[2,46]),t(Me,[2,47]),t(Me,[2,48]),t(Me,[2,49]),t(Me,[2,50]),t(Me,[2,51]),t(Me,[2,52]),t(Me,[2,53]),t(Me,[2,54]),t(Me,[2,55]),t(Me,[2,56]),t(Me,[2,57]),t(Me,[2,58]),t(Me,[2,60]),t(Me,[2,61]),t(Me,[2,62]),t(Me,[2,63]),t(Me,[2,64]),t(Me,[2,65]),t(Me,[2,66]),t(Me,[2,67]),t(Me,[2,68]),t(Me,[2,69]),t(Me,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Ae,[2,28]),t(Ae,[2,29]),t(Ae,[2,30]),t(Ae,[2,31]),t(Ae,[2,32]),t(Ae,[2,33]),t(Ae,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(he,[2,38]),t($e,[2,72]),t(He,[2,74]),t(Me,[2,24]),t(Me,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:S(function(Ge,it){if(it.recoverable)this.trace(Ge);else{var Ye=new Error(Ge);throw Ye.hash=it,Ye}},"parseError"),parse:S(function(Ge){var it=this,Ye=[0],Xe=[],at=[null],xe=[],Ze=this.table,se="",be=0,Y=0,de=2,fe=1,we=xe.slice.call(arguments,1),Ee=Object.create(this.lexer),Ie={yy:{}};for(var Ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ue)&&(Ie.yy[Ue]=this.yy[Ue]);Ee.setInput(Ge,Ie.yy),Ie.yy.lexer=Ee,Ie.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var _e=Ee.yylloc;xe.push(_e);var ze=Ee.options&&Ee.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(ue){Ye.length=Ye.length-2*ue,at.length=at.length-ue,xe.length=xe.length-ue}S(et,"popStack");function qe(){var ue;return ue=Xe.pop()||Ee.lex()||fe,typeof ue!="number"&&(ue instanceof Array&&(Xe=ue,ue=Xe.pop()),ue=it.symbols_[ue]||ue),ue}S(qe,"lex");for(var lt,ve,Qe,Se,Nt={},At,Et,zt,St;;){if(ve=Ye[Ye.length-1],this.defaultActions[ve]?Qe=this.defaultActions[ve]:((lt===null||typeof lt>"u")&&(lt=qe()),Qe=Ze[ve]&&Ze[ve][lt]),typeof Qe>"u"||!Qe.length||!Qe[0]){var gt="";St=[];for(At in Ze[ve])this.terminals_[At]&&At>de&&St.push("'"+this.terminals_[At]+"'");Ee.showPosition?gt="Parse error on line "+(be+1)+`: `+Ee.showPosition()+` -Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var De={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var je=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===je.length?this.yylloc.first_column:0)+je[je.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse error on line "+(be+1)+": Unexpected "+(lt==fe?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(gt,{text:Ee.match,token:this.terminals_[lt]||lt,line:Ee.yylineno,loc:_e,expected:St})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+lt);switch(Qe[0]){case 1:Ye.push(lt),at.push(Ee.yytext),xe.push(Ee.yylloc),Ye.push(Qe[1]),lt=null,Y=Ee.yyleng,se=Ee.yytext,be=Ee.yylineno,_e=Ee.yylloc;break;case 2:if(Et=this.productions_[Qe[1]][1],Nt.$=at[at.length-Et],Nt._$={first_line:xe[xe.length-(Et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(Et||1)].first_column,last_column:xe[xe.length-1].last_column},ze&&(Nt._$.range=[xe[xe.length-(Et||1)].range[0],xe[xe.length-1].range[1]]),Se=this.performAction.apply(Nt,[se,Y,be,Ie.yy,Qe[1],at,xe].concat(we)),typeof Se<"u")return Se;Et&&(Ye=Ye.slice(0,-1*Et*2),at=at.slice(0,-1*Et),xe=xe.slice(0,-1*Et)),Ye.push(this.productions_[Qe[1]][0]),at.push(Nt.$),xe.push(Nt._$),zt=Ze[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(zt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var Re={EOF:1,parseError:S(function(it,Ye){if(this.yy.parser)this.yy.parser.parseError(it,Ye);else throw new Error(it)},"parseError"),setInput:S(function(Ge,it){return this.yy=it||this.yy||{},this._input=Ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var it=Ge.match(/(?:\r\n?|\n).*/g);return it?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:S(function(Ge){var it=Ge.length,Ye=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-it),this.offset-=it;var Xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===Xe.length?this.yylloc.first_column:0)+Xe[Xe.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-it},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-it]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:S(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ge=this.pastInput(),it=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` -`+it+"^"},"showPosition"),test_match:S(function(Ge,it){var Ye,je,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),je=Ge[0].match(/(?:\r\n?|\n).*/g),je&&(this.yylineno+=je.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:je?je[je.length-1].length-je[je.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,je;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,je=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[je]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,je,at){switch(je){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return De})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();kw.parser=kw;var ZBe=kw,Cl=[],Kh=[""],hs="global",vl="",sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Cb=[],AM="",LM=!1,_w=4,Aw=2,Xie,QBe=S(function(){return Xie},"getC4Type"),JBe=S(function(t){Xie=Jr(t,Pe())},"setC4Type"),ePe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=Cb.find(d=>d.from===e&&d.to===r);if(h?u=h:Cb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=kd()},"addRel"),tPe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Cl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Cl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=hs,o.wrap=kd()},"addPersonOrSystem"),rPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addContainer"),nPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Cl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Cl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=kd(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addComponent"),iPe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addPersonOrSystemBoundary"),aPe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=sc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,sc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=kd(),vl=hs,hs=t,Kh.push(vl)},"addContainerBoundary"),sPe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=sc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,sc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=hs,l.wrap=kd(),vl=hs,hs=e,Kh.push(vl)},"addDeploymentNode"),oPe=S(function(){hs=vl,Kh.pop(),vl=Kh.pop(),Kh.push(vl)},"popBoundaryParseStack"),lPe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=Cl.find(f=>f.alias===e);if(!(d===void 0&&(d=sc.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),cPe=S(function(t,e,r,n,i,a,s){const o=Cb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),uPe=S(function(t,e,r){let n=_w,i=Aw;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(_w=n),i>=1&&(Aw=i)},"updateLayoutConfig"),hPe=S(function(){return _w},"getC4ShapeInRow"),dPe=S(function(){return Aw},"getC4BoundaryInRow"),fPe=S(function(){return hs},"getCurrentBoundaryParse"),pPe=S(function(){return vl},"getParentBoundaryParse"),Kie=S(function(t){return t==null?Cl:Cl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),gPe=S(function(t){return Cl.find(e=>e.alias===t)},"getC4Shape"),mPe=S(function(t){return Object.keys(Kie(t))},"getC4ShapeKeys"),Zie=S(function(t){return t==null?sc:sc.filter(e=>e.parentBoundary===t)},"getBoundaries"),yPe=Zie,vPe=S(function(){return Cb},"getRels"),bPe=S(function(){return AM},"getTitle"),xPe=S(function(t){LM=t},"setWrap"),kd=S(function(){return LM},"autoWrap"),TPe=S(function(){Cl=[],sc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],vl="",hs="global",Kh=[""],Cb=[],Kh=[""],AM="",LM=!1,_w=4,Aw=2},"clear"),wPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},CPe={FILLED:0,OPEN:1},SPe={LEFTOF:0,RIGHTOF:1,OVER:2},EPe=S(function(t){AM=Jr(t,Pe())},"setTitle"),DL={addPersonOrSystem:tPe,addPersonOrSystemBoundary:iPe,addContainer:rPe,addContainerBoundary:aPe,addComponent:nPe,addDeploymentNode:sPe,popBoundaryParseStack:oPe,addRel:ePe,updateElStyle:lPe,updateRelStyle:cPe,updateLayoutConfig:uPe,autoWrap:kd,setWrap:xPe,getC4ShapeArray:Kie,getC4Shape:gPe,getC4ShapeKeys:mPe,getBoundaries:Zie,getBoundarys:yPe,getCurrentBoundaryParse:fPe,getParentBoundaryParse:pPe,getRels:vPe,getTitle:bPe,getC4Type:QBe,getC4ShapeInRow:hPe,getC4BoundaryInRow:dPe,setAccTitle:Xn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,getConfig:S(()=>Pe().c4,"getConfig"),clear:TPe,LINETYPE:wPe,ARROWTYPE:CPe,PLACEMENT:SPe,setTitle:EPe,setC4Type:JBe},RM=S(function(t,e){return NS(t,e)},"drawRect"),Qie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:R0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),kPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();yu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),yu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),_Pe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};RM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,yu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,yu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,yu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),APe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},RM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=BPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Qie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,yu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?yu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&yu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,yu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),LPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),RPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),DPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),NPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),MPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),OPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),IPe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),BPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),yu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ML(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(s1,"Bounds"),s1),ML=S(function(t){_i(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),Cv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),I3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),PPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=VZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=U5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(us(o,n),e[t].width),s=U5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var tae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=I3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=us(e.label.text,i);Vo("label",e,n,i,a),Vl.drawBoundary(t,e,cr)},"drawBoundary"),rae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=Cv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=us("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=Cv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=Cv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=Cv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=Cv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),Vl.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),o1,No=(o1=class{constructor(e,r){this.x=e,this.y=r}},S(o1,"Point"),o1),IU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),FPe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=IU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=IU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),$Pe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=PPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=us(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=us(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=us(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=FPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Vl.drawRels(t,e,cr,i)},"drawRels");function DM(t,e,r,n,i){let a=new eae(i);a.data.widthLimit=r.data.widthLimit/Math.min(NL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=I3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=I3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=I3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%NL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&rae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&DM(t,e,a,p,i),o.alias!=="global"&&tae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Lw=Math.max(Lw,r.data.stopx),Rw=Math.max(Rw,r.data.stopy)}}S(DM,"drawInsideBoundary");var zPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Jie=o.getC4ShapeInRow(),NL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);Vl.insertComputerIcon(l,e),Vl.insertDatabaseIcon(l,e),Vl.insertClockIcon(l,e);let u=new eae(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Lw=cr.diagramMarginX,Rw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");DM(l,"",u,d,n),Vl.insertArrowHead(l,e),Vl.insertArrowEnd(l,e),Vl.insertArrowCrossHead(l,e),Vl.insertArrowFilledHead(l,e),$Pe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Lw,u.data.stopy=Rw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Ui(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),BU={drawPersonOrSystemArray:rae,drawBoundary:tae,setConf:ML,draw:zPe},qPe=S(t=>`.person { +`+it+"^"},"showPosition"),test_match:S(function(Ge,it){var Ye,Xe,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),Xe=Ge[0].match(/(?:\r\n?|\n).*/g),Xe&&(this.yylineno+=Xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Xe?Xe[Xe.length-1].length-Xe[Xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ge[0].length),this.matched+=Ge[0],Ye=this.performAction.call(this,this.yy,this,it,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var xe in at)this[xe]=at[xe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,it,Ye,Xe;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),xe=0;xeit[0].length)){if(it=Ye,Xe=xe,this.options.backtrack_lexer){if(Ge=this.test_match(Ye,at[xe]),Ge!==!1)return Ge;if(this._backtrack){it=!1;continue}else return!1}else if(!this.options.flex)break}return it?(Ge=this.test_match(it,at[Xe]),Ge!==!1?Ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var it=this.next();return it||this.lex()},"lex"),begin:S(function(it){this.conditionStack.push(it)},"begin"),popState:S(function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},"topState"),pushState:S(function(it){this.begin(it)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(it,Ye,Xe,at){switch(Xe){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Re})();We.lexer=Te;function ot(){this.yy={}}return S(ot,"Parser"),ot.prototype=We,We.Parser=ot,new ot})();Ew.parser=Ew;var UBe=Ew,wl=[],jh=[""],hs="global",yl="",ac=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],wb=[],_M="",AM=!1,kw=4,_w=2,Xie,HBe=S(function(){return Xie},"getC4Type"),WBe=S(function(t){Xie=Jr(t,Pe())},"setC4Type"),YBe=S(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const h=wb.find(d=>d.from===e&&d.to===r);if(h?u=h:wb.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[d,f]=Object.entries(i)[0];u[d]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[d,f]=Object.entries(a)[0];u[d]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[d,f]=Object.entries(s)[0];u[d]=f}else u.sprite=s;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];u[d]=f}else u.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];u[d]=f}else u.link=l;u.wrap=Ed()},"addRel"),XBe=S(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=wl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,wl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=hs,o.wrap=Ed()},"addPersonOrSystem"),jBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=wl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,wl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=Ed(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addContainer"),KBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=wl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,wl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof a=="object"){let[h,d]=Object.entries(a)[0];l[h]=d}else l.sprite=a;if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.wrap=Ed(),l.typeC4Shape={text:t},l.parentBoundary=hs},"addComponent"),ZBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=ac.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,ac.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=Ed(),yl=hs,hs=t,jh.push(yl)},"addPersonOrSystemBoundary"),QBe=S(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=ac.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,ac.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=hs,a.wrap=Ed(),yl=hs,hs=t,jh.push(yl)},"addContainerBoundary"),JBe=S(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=ac.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,ac.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,d]=Object.entries(n)[0];l[h]={text:d}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,d]=Object.entries(i)[0];l[h]={text:d}}else l.descr={text:i};if(typeof s=="object"){let[h,d]=Object.entries(s)[0];l[h]=d}else l.tags=s;if(typeof o=="object"){let[h,d]=Object.entries(o)[0];l[h]=d}else l.link=o;l.nodeType=t,l.parentBoundary=hs,l.wrap=Ed(),yl=hs,hs=e,jh.push(yl)},"addDeploymentNode"),ePe=S(function(){hs=yl,jh.pop(),yl=jh.pop(),jh.push(yl)},"popBoundaryParseStack"),tPe=S(function(t,e,r,n,i,a,s,o,l,u,h){let d=wl.find(f=>f.alias===e);if(!(d===void 0&&(d=ac.find(f=>f.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendText=u;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendSprite=h}},"updateElStyle"),rPe=S(function(t,e,r,n,i,a,s){const o=wb.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),nPe=S(function(t,e,r){let n=kw,i=_w;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(kw=n),i>=1&&(_w=i)},"updateLayoutConfig"),iPe=S(function(){return kw},"getC4ShapeInRow"),aPe=S(function(){return _w},"getC4BoundaryInRow"),sPe=S(function(){return hs},"getCurrentBoundaryParse"),oPe=S(function(){return yl},"getParentBoundaryParse"),jie=S(function(t){return t==null?wl:wl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),lPe=S(function(t){return wl.find(e=>e.alias===t)},"getC4Shape"),cPe=S(function(t){return Object.keys(jie(t))},"getC4ShapeKeys"),Kie=S(function(t){return t==null?ac:ac.filter(e=>e.parentBoundary===t)},"getBoundaries"),uPe=Kie,hPe=S(function(){return wb},"getRels"),dPe=S(function(){return _M},"getTitle"),fPe=S(function(t){AM=t},"setWrap"),Ed=S(function(){return AM},"autoWrap"),pPe=S(function(){wl=[],ac=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],yl="",hs="global",jh=[""],wb=[],jh=[""],_M="",AM=!1,kw=4,_w=2},"clear"),gPe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},mPe={FILLED:0,OPEN:1},yPe={LEFTOF:0,RIGHTOF:1,OVER:2},vPe=S(function(t){_M=Jr(t,Pe())},"setTitle"),RL={addPersonOrSystem:XBe,addPersonOrSystemBoundary:ZBe,addContainer:jBe,addContainerBoundary:QBe,addComponent:KBe,addDeploymentNode:JBe,popBoundaryParseStack:ePe,addRel:YBe,updateElStyle:tPe,updateRelStyle:rPe,updateLayoutConfig:nPe,autoWrap:Ed,setWrap:fPe,getC4ShapeArray:jie,getC4Shape:lPe,getC4ShapeKeys:cPe,getBoundaries:Kie,getBoundarys:uPe,getCurrentBoundaryParse:sPe,getParentBoundaryParse:oPe,getRels:hPe,getTitle:dPe,getC4Type:HBe,getC4ShapeInRow:iPe,getC4BoundaryInRow:aPe,setAccTitle:jn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,getConfig:S(()=>Pe().c4,"getConfig"),clear:pPe,LINETYPE:gPe,ARROWTYPE:mPe,PLACEMENT:yPe,setTitle:vPe,setC4Type:WBe},LM=S(function(t,e){return DS(t,e)},"drawRect"),Zie=S(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:L0.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),bPe=S((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+d+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+d+"#"+n+"-arrowend)")}let f=r.messageFont();mu(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),mu(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),xPe=S(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};LM(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,mu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,mu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,mu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),TPe=S(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const o=t.append("g");o.attr("class","person-man");const l=vo();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},LM(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=LPe(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Zie(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,mu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?mu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&mu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,mu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),wPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),CPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),SPe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),EPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),kPe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),_Pe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),APe=S(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),LPe=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),mu=(function(){function t(i,a,s,o,l,u,h){const d=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(d,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,v=i.split($t.lineBreakRegex);for(let b=0;b=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Qie)&&(r=this.nextData.startx+e.margin+cr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},NL(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},S(a1,"Bounds"),a1),NL=S(function(t){_i(cr,t),t.fontFamily&&(cr.personFontFamily=cr.systemFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.personFontSize=cr.systemFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.personFontWeight=cr.systemFontWeight=cr.messageFontWeight=t.fontWeight)},"setConf"),wv=S((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),O3=S(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),RPe=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Vo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=qZ(e[t].text,i,n),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=i,e[t].height=G5(e[t].text,n);else{let a=e[t].text.split($t.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(us(o,n),e[t].width),s=G5(o,n),e[t].height=e[t].height+s}}S(Vo,"calcC4ShapeTextWH");var eae=S(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=cr.c4ShapeMargin-35;let n=e.wrap&&cr.wrap,i=O3(cr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=us(e.label.text,i);Vo("label",e,n,i,a),ql.drawBoundary(t,e,cr)},"drawBoundary"),tae=S(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=wv(cr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=us("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=cr.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&cr.wrap,u=cr.width-cr.c4ShapePadding*2,h=wv(cr,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=wv(cr,s.typeC4Shape.text);Vo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=wv(cr,s.techn.text);Vo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=wv(cr,s.typeC4Shape.text);Vo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}f=f+cr.c4ShapePadding,s.width=Math.max(s.width||cr.width,f,cr.width),s.height=Math.max(s.height||cr.height,d,cr.height),s.margin=s.margin||cr.c4ShapeMargin,t.insert(s),ql.drawC4Shape(e,s,cr)}t.bumpLastMargin(cr.c4ShapeMargin)},"drawC4ShapeArray"),s1,No=(s1=class{constructor(e,r){this.x=e,this.y=r}},S(s1,"Point"),s1),OU=S(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,d=t.height/t.width,f=null;return n==a&&ri?f=new No(r,o):r==i&&na&&(f=new No(s,n)),r>i&&n=h?f=new No(r,o+h*t.width/2):f=new No(s-l/u*t.height/2,n+t.height):r=h?f=new No(r+t.width,o+h*t.width/2):f=new No(s+l/u*t.height/2,n+t.height):ra?d>=h?f=new No(r+t.width,o-h*t.width/2):f=new No(s+t.height/2*l/u,n):r>i&&n>a&&(d>=h?f=new No(r,o-t.width/2*h):f=new No(s-t.height/2*l/u,n)),f},"getIntersectPoint"),DPe=S(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=OU(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=OU(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),NPe=S(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&cr.wrap,l=RPe(cr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let h=us(s.label.text,l);Vo("label",s,o,l,h),s.techn&&s.techn.text!==""&&(h=us(s.techn.text,l),Vo("techn",s,o,l,h)),s.descr&&s.descr.text!==""&&(h=us(s.descr.text,l),Vo("descr",s,o,l,h));let d=r(s.from),f=r(s.to),p=DPe(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}ql.drawRels(t,e,cr,i)},"drawRels");function RM(t,e,r,n,i){let a=new Jie(i);a.data.widthLimit=r.data.widthLimit/Math.min(DL,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&cr.wrap,h=O3(cr);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Vo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=O3(cr);Vo("type",o,u,m,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=O3(cr);m.fontSize=m.fontSize-2,Vo("descr",o,u,m,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%DL===0){let m=r.data.startx+cr.diagramMarginX,v=r.data.stopy+cr.diagramMarginY+l;a.setData(m,m,v,v)}else{let m=a.data.stopx!==a.data.startx?a.data.stopx+cr.diagramMarginX:a.data.startx,v=a.data.starty;a.setData(m,m,v,v)}a.name=o.alias;let d=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&tae(a,t,d,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&RM(t,e,a,p,i),o.alias!=="global"&&eae(t,o,a),r.data.stopy=Math.max(a.data.stopy+cr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+cr.c4ShapeMargin,r.data.stopx),Aw=Math.max(Aw,r.data.stopx),Lw=Math.max(Lw,r.data.stopy)}}S(RM,"drawInsideBoundary");var MPe=S(function(t,e,r,n){cr=Pe().c4;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(cr.wrap),Qie=o.getC4ShapeInRow(),DL=o.getC4BoundaryInRow(),oe.debug(`C:${JSON.stringify(cr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):kt(`[id="${e}"]`);ql.insertComputerIcon(l,e),ql.insertDatabaseIcon(l,e),ql.insertClockIcon(l,e);let u=new Jie(n);u.setData(cr.diagramMarginX,cr.diagramMarginX,cr.diagramMarginY,cr.diagramMarginY),u.data.widthLimit=screen.availWidth,Aw=cr.diagramMarginX,Lw=cr.diagramMarginY;const h=n.db.getTitle();let d=n.db.getBoundaries("");RM(l,"",u,d,n),ql.insertArrowHead(l,e),ql.insertArrowEnd(l,e),ql.insertArrowCrossHead(l,e),ql.insertArrowFilledHead(l,e),NPe(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=Aw,u.data.stopy=Lw;const f=u.data;let m=f.stopy-f.starty+2*cr.diagramMarginY;const b=f.stopx-f.startx+2*cr.diagramMarginX;h&&l.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*cr.diagramMarginX).attr("y",f.starty+cr.diagramMarginY),Ui(l,m,b,cr.useMaxWidth);const x=h?60:0;l.attr("viewBox",f.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+x)+" "+b+" "+(m+x)),oe.debug("models:",f)},"draw"),IU={drawPersonOrSystemArray:tae,drawBoundary:eae,setConf:NL,draw:MPe},OPe=S(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),VPe=qPe,GPe={parser:ZBe,db:DL,renderer:BU,styles:VPe,init:S(({c4:t,wrap:e})=>{BU.setConf(t),DL.setWrap(e)},"init")};const UPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:GPe},Symbol.toStringTag,{value:"Module"}));var bx=S(()=>` +`,"getStyles"),IPe=OPe,BPe={parser:UBe,db:RL,renderer:IU,styles:IPe,init:S(({c4:t,wrap:e})=>{IU.setConf(t),RL.setWrap(e)},"init")};const PPe=Object.freeze(Object.defineProperty({__proto__:null,diagram:BPe},Symbol.toStringTag,{value:"Module"}));var vx=S(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; @@ -948,21 +948,21 @@ Expecting `+St.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse erro stroke: revert; stroke-width: revert; } -`,"getIconStyles"),ty=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),V0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=HPe(t,e);Ui(t,a,i,n);const l=WPe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),HPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),WPe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),YPe="flowchart-",l1,jPe=(l1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Xn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` +`,"getIconStyles"),ey=S((t,e)=>{let r;return e==="sandbox"&&(r=kt("#i"+t)),kt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),q0=S((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=FPe(t,e);Ui(t,a,i,n);const l=$Pe(s,o,i,a,e);t.attr("viewBox",l),oe.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),FPe=S((t,e)=>{const r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),$Pe=S((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),zPe="flowchart-",o1,qPe=(o1=class{constructor(){this.vertexCounter=0,this.config=Pe(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=jn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return $t.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){if(!e||e.trim().length===0)return;let u;if(l!==void 0){let p;l.includes(` `)?p=l+` `:p=`{ `+l+` -}`,u=LC(p,{schema:AC})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:YPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!WJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Ng(o.start,o.end,{counter:0,prefix:"L"}):o.id=Ng(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. +}`,u=AC(p,{schema:_C})}const h=this.edges.find(p=>p.id===e);if(h){const p=u;p?.animate!==void 0&&(h.animate=p.animate),p?.animation!==void 0&&(h.animation=p.animation),p?.curve!==void 0&&(h.interpolate=p.curve);return}let d,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&oe.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:zPe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Pe(),d=this.sanitizeText(r.text.trim()),f.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),f.text=d):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i?.forEach(p=>{f.styles.push(p)}),a?.forEach(p=>{f.classes.push(p)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!HJ(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u?.shape}u?.label&&(f.text=u?.label,f.labelType=this.sanitizeNodeLabelType(u?.labelType)),u?.icon&&(f.icon=u?.icon,!u.label?.trim()&&f.text===e&&(f.text="")),u?.form&&(f.form=u?.form),u?.pos&&(f.pos=u?.pos),u?.img&&(f.img=u?.img,!u.label?.trim()&&f.text===e&&(f.text="")),u?.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};oe.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(h=>h.start===o.start&&h.end===o.end);u.length===0?o.id=Dg(o.start,o.end,{counter:0,prefix:"L"}):o.id=Dg(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))oe.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=jie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Qh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),Kn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Ng(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return pj.flowchart}},S(l1,"FlowDB"),l1),XPe=S(function(t,e){return e.db.getClasses()},"getClasses"),KPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ty(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=rx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await Vm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),V0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),ZPe={getClasses:XPe,draw:KPe},OL=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],A=[1,47],k=[1,43],R=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],j=[1,63],Z=[8,9,11,75,77,78],X=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Le=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],De=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],je=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Zt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Pn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Gn){var Re=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Re])||ke[Re].length>0)&&ke[Re-1].push(ke[Re]),this.$=ke[Re-1];break;case 4:case 183:this.$=ke[Re];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Re-1]),this.$=ke[Re-1];break;case 27:this.$=ke[Re-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Re-6],ke[Re-1],ke[Re-4]);break;case 34:this.$=Lt.addSubGraph(ke[Re-3],ke[Re-1],ke[Re-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Re-1],void 0);break;case 37:this.$=ke[Re].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Re].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Re-1]+ke[Re];break;case 44:this.$=ke[Re];break;case 45:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 46:Lt.addLink(ke[Re-2].stmt,ke[Re],ke[Re-1]),this.$={stmt:ke[Re],nodes:ke[Re].concat(ke[Re-2].nodes)};break;case 47:Lt.addLink(ke[Re-3].stmt,ke[Re-1],ke[Re-2]),this.$={stmt:ke[Re-1],nodes:ke[Re-1].concat(ke[Re-3].nodes)};break;case 48:this.$={stmt:ke[Re-1],nodes:ke[Re-1]};break;case 49:Lt.addVertex(ke[Re-1][ke[Re-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re]),this.$={stmt:ke[Re-1],nodes:ke[Re-1],shapeData:ke[Re]};break;case 50:this.$={stmt:ke[Re],nodes:ke[Re]};break;case 51:this.$=[ke[Re]];break;case 52:Lt.addVertex(ke[Re-5][ke[Re-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Re-4]),this.$=ke[Re-5].concat(ke[Re]);break;case 53:this.$=ke[Re-4].concat(ke[Re]);break;case 54:this.$=ke[Re];break;case 55:this.$=ke[Re-2],Lt.setClass(ke[Re-2],ke[Re]);break;case 56:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"square");break;case 57:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"doublecircle");break;case 58:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"circle");break;case 59:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"ellipse");break;case 60:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"stadium");break;case 61:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"subroutine");break;case 62:this.$=ke[Re-7],Lt.addVertex(ke[Re-7],ke[Re-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Re-5],ke[Re-3]]]));break;case 63:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"cylinder");break;case 64:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"round");break;case 65:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"diamond");break;case 66:this.$=ke[Re-5],Lt.addVertex(ke[Re-5],ke[Re-2],"hexagon");break;case 67:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"odd");break;case 68:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"trapezoid");break;case 69:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"inv_trapezoid");break;case 70:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_right");break;case 71:this.$=ke[Re-3],Lt.addVertex(ke[Re-3],ke[Re-1],"lean_left");break;case 72:this.$=ke[Re],Lt.addVertex(ke[Re]);break;case 73:ke[Re-1].text=ke[Re],this.$=ke[Re-1];break;case 74:case 75:ke[Re-2].text=ke[Re-1],this.$=ke[Re-2];break;case 76:this.$=ke[Re];break;case 77:var Un=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,text:ke[Re-1]};break;case 78:var Un=Lt.destructLink(ke[Re],ke[Re-2]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,text:ke[Re-1],id:ke[Re-3]};break;case 79:this.$={text:ke[Re],type:"text"};break;case 80:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 81:this.$={text:ke[Re],type:"string"};break;case 82:this.$={text:ke[Re],type:"markdown"};break;case 83:var Un=Lt.destructLink(ke[Re]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length};break;case 84:var Un=Lt.destructLink(ke[Re]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,id:ke[Re-1]};break;case 85:this.$=ke[Re-1];break;case 86:this.$={text:ke[Re],type:"text"};break;case 87:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 88:this.$={text:ke[Re],type:"string"};break;case 89:case 104:this.$={text:ke[Re],type:"markdown"};break;case 101:this.$={text:ke[Re],type:"text"};break;case 102:this.$={text:ke[Re-1].text+""+ke[Re],type:ke[Re-1].type};break;case 103:this.$={text:ke[Re],type:"text"};break;case 105:this.$=ke[Re-4],Lt.addClass(ke[Re-2],ke[Re]);break;case 106:this.$=ke[Re-4],Lt.setClass(ke[Re-2],ke[Re]);break;case 107:case 115:this.$=ke[Re-1],Lt.setClickEvent(ke[Re-1],ke[Re]);break;case 108:case 116:this.$=ke[Re-3],Lt.setClickEvent(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 109:this.$=ke[Re-2],Lt.setClickEvent(ke[Re-2],ke[Re-1],ke[Re]);break;case 110:this.$=ke[Re-4],Lt.setClickEvent(ke[Re-4],ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 111:this.$=ke[Re-2],Lt.setLink(ke[Re-2],ke[Re]);break;case 112:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2]),Lt.setTooltip(ke[Re-4],ke[Re]);break;case 113:this.$=ke[Re-4],Lt.setLink(ke[Re-4],ke[Re-2],ke[Re]);break;case 114:this.$=ke[Re-6],Lt.setLink(ke[Re-6],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-6],ke[Re-2]);break;case 117:this.$=ke[Re-1],Lt.setLink(ke[Re-1],ke[Re]);break;case 118:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2]),Lt.setTooltip(ke[Re-3],ke[Re]);break;case 119:this.$=ke[Re-3],Lt.setLink(ke[Re-3],ke[Re-2],ke[Re]);break;case 120:this.$=ke[Re-5],Lt.setLink(ke[Re-5],ke[Re-4],ke[Re]),Lt.setTooltip(ke[Re-5],ke[Re-2]);break;case 121:this.$=ke[Re-4],Lt.addVertex(ke[Re-2],void 0,void 0,ke[Re]);break;case 122:this.$=ke[Re-4],Lt.updateLink([ke[Re-2]],ke[Re]);break;case 123:this.$=ke[Re-4],Lt.updateLink(ke[Re-2],ke[Re]);break;case 124:this.$=ke[Re-8],Lt.updateLinkInterpolate([ke[Re-6]],ke[Re-2]),Lt.updateLink([ke[Re-6]],ke[Re]);break;case 125:this.$=ke[Re-8],Lt.updateLinkInterpolate(ke[Re-6],ke[Re-2]),Lt.updateLink(ke[Re-6],ke[Re]);break;case 126:this.$=ke[Re-6],Lt.updateLinkInterpolate([ke[Re-4]],ke[Re]);break;case 127:this.$=ke[Re-6],Lt.updateLinkInterpolate(ke[Re-4],ke[Re]);break;case 128:case 130:this.$=[ke[Re]];break;case 129:case 131:ke[Re-2].push(ke[Re]),this.$=ke[Re-2];break;case 133:this.$=ke[Re-1]+ke[Re];break;case 181:this.$=ke[Re];break;case 182:this.$=ke[Re-1]+""+ke[Re];break;case 184:this.$=ke[Re-1]+""+ke[Re];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:j,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:j,21:68},{8:P,9:H,11:j,21:69},{8:P,9:H,11:j,21:70},{8:P,9:H,11:j,21:71},{8:P,9:H,11:j,21:72},{8:P,9:H,10:[1,73],11:j,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:X}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Le,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:A,105:k,106:R,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:De,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:je,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:X}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:De,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:je,11:j,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{44:m,47:258,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Le,[2,56]),t(Wt,[2,87]),t(Le,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,64]),t(Le,[2,59]),t(Le,[2,60]),t(Le,[2,61]),{109:[1,264]},t(Le,[2,63]),t(Le,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Le,[2,67]),t(Le,[2,68]),t(Le,[2,70]),t(Le,[2,69]),t(Le,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:A,105:k,106:R,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:j,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Le,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Le,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Zt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:A,105:k,106:R,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Zt},t(Le,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Gn=this.table,Re="",Un=0,Dd=0,j0=2,Nd=1,uE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),jo={yy:{}};for(var X0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X0)&&(jo.yy[X0]=this.yy[X0]);cn.setInput(Ht,jo.yy),jo.yy.lexer=cn,jo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Md=cn.yylloc;ke.push(Md);var rh=cn.options&&cn.options.ranges;typeof jo.yy.parseError=="function"?this.parseError=jo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mx(pa){Xt.length=Xt.length-2*pa,Ar.length=Ar.length-pa,ke.length=ke.length-pa}S(Mx,"popStack");function cy(){var pa;return pa=Lt.pop()||cn.lex()||Nd,typeof pa!="number"&&(pa instanceof Array&&(Lt=pa,pa=Lt.pop()),pa=Bt.symbols_[pa]||pa),pa}S(cy,"lex");for(var Ti,Cc,Xa,K0,kl={},Z0,Xo,Od,ws;;){if(Cc=Xt[Xt.length-1],this.defaultActions[Cc]?Xa=this.defaultActions[Cc]:((Ti===null||typeof Ti>"u")&&(Ti=cy()),Xa=Gn[Cc]&&Gn[Cc][Ti]),typeof Xa>"u"||!Xa.length||!Xa[0]){var Id="";ws=[];for(Z0 in Gn[Cc])this.terminals_[Z0]&&Z0>j0&&ws.push("'"+this.terminals_[Z0]+"'");cn.showPosition?Id="Parse error on line "+(Un+1)+`: +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;oe.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Pe().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Lr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Lr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=Yie();kt(e).select("svg").selectAll("g.node").on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(Zh.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Pe(),Kn()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=S(f=>{const p={boolean:{},number:{},string:{}},m=[];let v;return{nodeList:f.filter(function(x){const C=typeof x;return x.stmt&&x.stmt==="dir"?(v=x.value,!1):x.trim()===""?!1:C in p?p[C].hasOwnProperty(x)?!1:p[C][x]=!0:m.includes(x)?!1:m.push(x)}),dir:v}},"uniq")(r.flat()),l=o.nodeList;let u=o.dir;const h=Pe().flowchart??{};if(u=u??(h.inheritDir?this.getDirection()??Pe().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Pe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const h=i[u];h.nodes.length>0&&s.set(h.id,!0);for(const d of h.nodes)a.set(d,h.id)}for(let u=i.length-1;u>=0;u--){const h=i[u];r.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:a.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,h)=>{const{arrowTypeStart:d,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const m={id:Dg(u.start,u.end,{counter:h,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":d,arrowTypeEnd:u?.stroke==="invisible"||u?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(m)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return fX.flowchart}},S(o1,"FlowDB"),o1),VPe=S(function(t,e){return e.db.getClasses()},"getClasses"),GPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,flowchart:a,layout:s}=Pe();n.db.setDiagramId(e),oe.debug("Before getData: ");const o=n.db.getData();oe.debug("Data: ",o);const l=ey(e,i),u=n.db.getDirection();o.type=n.type,o.layoutAlgorithm=tx(s),o.layoutAlgorithm==="dagre"&&s==="elk"&&oe.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=u,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=e,oe.debug("REF1:",o),await qm(o,l);const h=o.config.flowchart?.diagramPadding??8;Lr.insertTitle(l,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),q0(l,h,"flowchart",a?.useMaxWidth||!1)},"draw"),UPe={getClasses:VPe,draw:GPe},ML=(function(){var t=S(function(Ur,Ht,Bt,Xt){for(Bt=Bt||{},Xt=Ur.length;Xt--;Bt[Ur[Xt]]=Ht);return Bt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],d=[1,25],f=[1,26],p=[1,27],m=[1,50],v=[1,49],b=[1,29],x=[1,30],C=[1,31],T=[1,32],E=[1,33],_=[1,45],R=[1,47],k=[1,43],L=[1,48],O=[1,44],F=[1,51],$=[1,46],q=[1,52],z=[1,53],D=[1,34],I=[1,35],N=[1,36],B=[1,37],M=[1,38],V=[1,58],U=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],H=[1,61],X=[1,63],Z=[8,9,11,75,77,78],j=[1,79],ee=[1,92],Q=[1,97],he=[1,96],te=[1,93],ae=[1,89],ie=[1,95],ne=[1,91],me=[1,98],pe=[1,94],Me=[1,99],$e=[1,90],He=[8,9,10,11,40,75,77,78],Ae=[8,9,10,11,40,46,75,77,78],Oe=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],We=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Te=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],Re=[1,123],Ge=[1,125],it=[1,124],Ye=[44,60,62,74,89,102,105,106,109,111,114,115,116],Xe=[1,134],at=[1,148],xe=[1,149],Ze=[1,150],se=[1,151],be=[1,136],Y=[1,138],de=[1,142],fe=[1,143],we=[1,144],Ee=[1,145],Ie=[1,146],Ue=[1,147],_e=[1,152],ze=[1,153],et=[1,132],qe=[1,133],lt=[1,140],ve=[1,135],Qe=[1,139],Se=[1,137],Nt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],At=[1,155],Et=[1,157],zt=[8,9,11],St=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],gt=[1,177],ue=[1,173],Mt=[1,174],xt=[1,178],bt=[1,175],Ce=[1,176],nt=[77,116,119],st=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],It=[10,106],Wt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Ut=[1,248],rr=[1,246],pr=[1,250],vt=[1,244],Ne=[1,245],ft=[1,247],Rt=[1,249],Kt=[1,251],_r=[1,269],Cr=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Pn={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:S(function(Ht,Bt,Xt,Lt,Ar,ke,Gn){var Le=ke.length-1;switch(Ar){case 2:this.$=[];break;case 3:(!Array.isArray(ke[Le])||ke[Le].length>0)&&ke[Le-1].push(ke[Le]),this.$=ke[Le-1];break;case 4:case 183:this.$=ke[Le];break;case 11:Lt.setDirection("TB"),this.$="TB";break;case 12:Lt.setDirection(ke[Le-1]),this.$=ke[Le-1];break;case 27:this.$=ke[Le-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Lt.addSubGraph(ke[Le-6],ke[Le-1],ke[Le-4]);break;case 34:this.$=Lt.addSubGraph(ke[Le-3],ke[Le-1],ke[Le-3]);break;case 35:this.$=Lt.addSubGraph(void 0,ke[Le-1],void 0);break;case 37:this.$=ke[Le].trim(),Lt.setAccTitle(this.$);break;case 38:case 39:this.$=ke[Le].trim(),Lt.setAccDescription(this.$);break;case 43:this.$=ke[Le-1]+ke[Le];break;case 44:this.$=ke[Le];break;case 45:Lt.addVertex(ke[Le-1][ke[Le-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Le]),Lt.addLink(ke[Le-3].stmt,ke[Le-1],ke[Le-2]),this.$={stmt:ke[Le-1],nodes:ke[Le-1].concat(ke[Le-3].nodes)};break;case 46:Lt.addLink(ke[Le-2].stmt,ke[Le],ke[Le-1]),this.$={stmt:ke[Le],nodes:ke[Le].concat(ke[Le-2].nodes)};break;case 47:Lt.addLink(ke[Le-3].stmt,ke[Le-1],ke[Le-2]),this.$={stmt:ke[Le-1],nodes:ke[Le-1].concat(ke[Le-3].nodes)};break;case 48:this.$={stmt:ke[Le-1],nodes:ke[Le-1]};break;case 49:Lt.addVertex(ke[Le-1][ke[Le-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Le]),this.$={stmt:ke[Le-1],nodes:ke[Le-1],shapeData:ke[Le]};break;case 50:this.$={stmt:ke[Le],nodes:ke[Le]};break;case 51:this.$=[ke[Le]];break;case 52:Lt.addVertex(ke[Le-5][ke[Le-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ke[Le-4]),this.$=ke[Le-5].concat(ke[Le]);break;case 53:this.$=ke[Le-4].concat(ke[Le]);break;case 54:this.$=ke[Le];break;case 55:this.$=ke[Le-2],Lt.setClass(ke[Le-2],ke[Le]);break;case 56:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"square");break;case 57:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"doublecircle");break;case 58:this.$=ke[Le-5],Lt.addVertex(ke[Le-5],ke[Le-2],"circle");break;case 59:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"ellipse");break;case 60:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"stadium");break;case 61:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"subroutine");break;case 62:this.$=ke[Le-7],Lt.addVertex(ke[Le-7],ke[Le-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ke[Le-5],ke[Le-3]]]));break;case 63:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"cylinder");break;case 64:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"round");break;case 65:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"diamond");break;case 66:this.$=ke[Le-5],Lt.addVertex(ke[Le-5],ke[Le-2],"hexagon");break;case 67:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"odd");break;case 68:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"trapezoid");break;case 69:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"inv_trapezoid");break;case 70:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"lean_right");break;case 71:this.$=ke[Le-3],Lt.addVertex(ke[Le-3],ke[Le-1],"lean_left");break;case 72:this.$=ke[Le],Lt.addVertex(ke[Le]);break;case 73:ke[Le-1].text=ke[Le],this.$=ke[Le-1];break;case 74:case 75:ke[Le-2].text=ke[Le-1],this.$=ke[Le-2];break;case 76:this.$=ke[Le];break;case 77:var Un=Lt.destructLink(ke[Le],ke[Le-2]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,text:ke[Le-1]};break;case 78:var Un=Lt.destructLink(ke[Le],ke[Le-2]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,text:ke[Le-1],id:ke[Le-3]};break;case 79:this.$={text:ke[Le],type:"text"};break;case 80:this.$={text:ke[Le-1].text+""+ke[Le],type:ke[Le-1].type};break;case 81:this.$={text:ke[Le],type:"string"};break;case 82:this.$={text:ke[Le],type:"markdown"};break;case 83:var Un=Lt.destructLink(ke[Le]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length};break;case 84:var Un=Lt.destructLink(ke[Le]);this.$={type:Un.type,stroke:Un.stroke,length:Un.length,id:ke[Le-1]};break;case 85:this.$=ke[Le-1];break;case 86:this.$={text:ke[Le],type:"text"};break;case 87:this.$={text:ke[Le-1].text+""+ke[Le],type:ke[Le-1].type};break;case 88:this.$={text:ke[Le],type:"string"};break;case 89:case 104:this.$={text:ke[Le],type:"markdown"};break;case 101:this.$={text:ke[Le],type:"text"};break;case 102:this.$={text:ke[Le-1].text+""+ke[Le],type:ke[Le-1].type};break;case 103:this.$={text:ke[Le],type:"text"};break;case 105:this.$=ke[Le-4],Lt.addClass(ke[Le-2],ke[Le]);break;case 106:this.$=ke[Le-4],Lt.setClass(ke[Le-2],ke[Le]);break;case 107:case 115:this.$=ke[Le-1],Lt.setClickEvent(ke[Le-1],ke[Le]);break;case 108:case 116:this.$=ke[Le-3],Lt.setClickEvent(ke[Le-3],ke[Le-2]),Lt.setTooltip(ke[Le-3],ke[Le]);break;case 109:this.$=ke[Le-2],Lt.setClickEvent(ke[Le-2],ke[Le-1],ke[Le]);break;case 110:this.$=ke[Le-4],Lt.setClickEvent(ke[Le-4],ke[Le-3],ke[Le-2]),Lt.setTooltip(ke[Le-4],ke[Le]);break;case 111:this.$=ke[Le-2],Lt.setLink(ke[Le-2],ke[Le]);break;case 112:this.$=ke[Le-4],Lt.setLink(ke[Le-4],ke[Le-2]),Lt.setTooltip(ke[Le-4],ke[Le]);break;case 113:this.$=ke[Le-4],Lt.setLink(ke[Le-4],ke[Le-2],ke[Le]);break;case 114:this.$=ke[Le-6],Lt.setLink(ke[Le-6],ke[Le-4],ke[Le]),Lt.setTooltip(ke[Le-6],ke[Le-2]);break;case 117:this.$=ke[Le-1],Lt.setLink(ke[Le-1],ke[Le]);break;case 118:this.$=ke[Le-3],Lt.setLink(ke[Le-3],ke[Le-2]),Lt.setTooltip(ke[Le-3],ke[Le]);break;case 119:this.$=ke[Le-3],Lt.setLink(ke[Le-3],ke[Le-2],ke[Le]);break;case 120:this.$=ke[Le-5],Lt.setLink(ke[Le-5],ke[Le-4],ke[Le]),Lt.setTooltip(ke[Le-5],ke[Le-2]);break;case 121:this.$=ke[Le-4],Lt.addVertex(ke[Le-2],void 0,void 0,ke[Le]);break;case 122:this.$=ke[Le-4],Lt.updateLink([ke[Le-2]],ke[Le]);break;case 123:this.$=ke[Le-4],Lt.updateLink(ke[Le-2],ke[Le]);break;case 124:this.$=ke[Le-8],Lt.updateLinkInterpolate([ke[Le-6]],ke[Le-2]),Lt.updateLink([ke[Le-6]],ke[Le]);break;case 125:this.$=ke[Le-8],Lt.updateLinkInterpolate(ke[Le-6],ke[Le-2]),Lt.updateLink(ke[Le-6],ke[Le]);break;case 126:this.$=ke[Le-6],Lt.updateLinkInterpolate([ke[Le-4]],ke[Le]);break;case 127:this.$=ke[Le-6],Lt.updateLinkInterpolate(ke[Le-4],ke[Le]);break;case 128:case 130:this.$=[ke[Le]];break;case 129:case 131:ke[Le-2].push(ke[Le]),this.$=ke[Le-2];break;case 133:this.$=ke[Le-1]+ke[Le];break;case 181:this.$=ke[Le];break;case 182:this.$=ke[Le-1]+""+ke[Le];break;case 184:this.$=ke[Le-1]+""+ke[Le];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:V,15:54,18:57},t(U,[2,3]),t(U,[2,4]),t(U,[2,5]),t(U,[2,6]),t(U,[2,7]),t(U,[2,8]),{8:P,9:H,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:H,11:X,21:68},{8:P,9:H,11:X,21:69},{8:P,9:H,11:X,21:70},{8:P,9:H,11:X,21:71},{8:P,9:H,11:X,21:72},{8:P,9:H,10:[1,73],11:X,21:74},t(U,[2,36]),{35:[1,75]},{37:[1,76]},t(U,[2,39]),t(Z,[2,50],{18:77,39:78,10:V,40:j}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ee,44:Q,60:he,80:[1,87],89:te,95:[1,84],97:[1,85],101:86,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},t(U,[2,185]),t(U,[2,186]),t(U,[2,187]),t(U,[2,188]),t(U,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(Ae,[2,72],{113:113,29:[1,101],44:m,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(Oe,[2,181]),t(Oe,[2,142]),t(Oe,[2,143]),t(Oe,[2,144]),t(Oe,[2,145]),t(Oe,[2,146]),t(Oe,[2,147]),t(Oe,[2,148]),t(Oe,[2,149]),t(Oe,[2,150]),t(Oe,[2,151]),t(Oe,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(We,[2,26],{18:115,10:V}),t(U,[2,27]),{42:116,43:39,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(U,[2,40]),t(U,[2,41]),t(U,[2,42]),t(Te,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:Re,116:Ge,119:it},{75:[1,126],77:[1,127]},t(Ye,[2,83]),t(U,[2,28]),t(U,[2,29]),t(U,[2,30]),t(U,[2,31]),t(U,[2,32]),{10:Xe,12:at,14:xe,27:Ze,28:128,32:se,44:be,60:Y,75:de,80:[1,130],81:[1,131],83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:129,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(Nt,a,{5:154}),t(U,[2,37]),t(U,[2,38]),t(Z,[2,48],{44:At}),t(Z,[2,49],{18:156,10:V,40:Et}),t(He,[2,44]),{44:m,47:158,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{102:[1,159],103:160,105:[1,161]},{44:m,47:162,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{44:m,47:163,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(zt,[2,115],{120:168,10:[1,167],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,117],{10:[1,169]}),t(St,[2,183]),t(St,[2,170]),t(St,[2,171]),t(St,[2,172]),t(St,[2,173]),t(St,[2,174]),t(St,[2,175]),t(St,[2,176]),t(St,[2,177]),t(St,[2,178]),t(St,[2,179]),t(St,[2,180]),{44:m,47:170,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{30:171,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:179,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:181,50:[1,180],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:182,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:183,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:184,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{109:[1,185]},{30:186,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:187,65:[1,188],67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:189,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:190,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{30:191,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Oe,[2,182]),t(i,[2,20]),t(We,[2,25]),t(Z,[2,46],{39:192,18:193,10:V,40:j}),t(Te,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{77:[1,197],79:198,116:Ge,119:it},t(nt,[2,79]),t(nt,[2,81]),t(nt,[2,82]),t(nt,[2,168]),t(nt,[2,169]),{76:199,79:121,80:ot,81:Re,116:Ge,119:it},t(Ye,[2,84]),{8:P,9:H,10:Xe,11:X,12:at,14:xe,21:201,27:Ze,29:[1,200],32:se,44:be,60:Y,75:de,83:141,84:fe,85:we,86:Ee,87:Ie,88:Ue,89:_e,90:ze,91:202,105:et,109:qe,111:lt,114:ve,115:Qe,116:Se},t(st,[2,101]),t(st,[2,103]),t(st,[2,104]),t(st,[2,157]),t(st,[2,158]),t(st,[2,159]),t(st,[2,160]),t(st,[2,161]),t(st,[2,162]),t(st,[2,163]),t(st,[2,164]),t(st,[2,165]),t(st,[2,166]),t(st,[2,167]),t(st,[2,90]),t(st,[2,91]),t(st,[2,92]),t(st,[2,93]),t(st,[2,94]),t(st,[2,95]),t(st,[2,96]),t(st,[2,97]),t(st,[2,98]),t(st,[2,99]),t(st,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:V,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,207]},{10:[1,208],106:[1,209]},t(It,[2,128]),{10:[1,210],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{10:[1,211],44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:113,114:$,115:q,116:z},{80:[1,212]},t(zt,[2,109],{10:[1,213]}),t(zt,[2,111],{10:[1,214]}),{80:[1,215]},t(St,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),{31:[1,218],67:gt,82:219,116:xt,117:bt,118:Ce},t(Wt,[2,86]),t(Wt,[2,88]),t(Wt,[2,89]),t(Wt,[2,153]),t(Wt,[2,154]),t(Wt,[2,155]),t(Wt,[2,156]),{49:[1,220],67:gt,82:219,116:xt,117:bt,118:Ce},{30:221,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{51:[1,222],67:gt,82:219,116:xt,117:bt,118:Ce},{53:[1,223],67:gt,82:219,116:xt,117:bt,118:Ce},{55:[1,224],67:gt,82:219,116:xt,117:bt,118:Ce},{57:[1,225],67:gt,82:219,116:xt,117:bt,118:Ce},{60:[1,226]},{64:[1,227],67:gt,82:219,116:xt,117:bt,118:Ce},{66:[1,228],67:gt,82:219,116:xt,117:bt,118:Ce},{30:229,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},{31:[1,230],67:gt,82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,231],71:[1,232],82:219,116:xt,117:bt,118:Ce},{67:gt,69:[1,234],71:[1,233],82:219,116:xt,117:bt,118:Ce},t(Z,[2,45],{18:156,10:V,40:Et}),t(Z,[2,47],{44:At}),t(Te,[2,75]),t(Te,[2,74]),{62:[1,235],67:gt,82:219,116:xt,117:bt,118:Ce},t(Te,[2,77]),t(nt,[2,80]),{77:[1,236],79:198,116:Ge,119:it},{30:237,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Nt,a,{5:238}),t(st,[2,102]),t(U,[2,35]),{43:239,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},{10:V,18:240},{10:Ut,60:rr,84:pr,92:241,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Kt},{10:Ut,60:rr,84:pr,92:252,104:[1,253],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Kt},{10:Ut,60:rr,84:pr,92:254,104:[1,255],105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Kt},{105:[1,256]},{10:Ut,60:rr,84:pr,92:257,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Kt},{44:m,47:258,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(zt,[2,116]),t(zt,[2,118],{10:[1,262]}),t(zt,[2,119]),t(Ae,[2,56]),t(Wt,[2,87]),t(Ae,[2,57]),{51:[1,263],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,64]),t(Ae,[2,59]),t(Ae,[2,60]),t(Ae,[2,61]),{109:[1,264]},t(Ae,[2,63]),t(Ae,[2,65]),{66:[1,265],67:gt,82:219,116:xt,117:bt,118:Ce},t(Ae,[2,67]),t(Ae,[2,68]),t(Ae,[2,70]),t(Ae,[2,69]),t(Ae,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(Te,[2,78]),{31:[1,266],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},t(He,[2,53]),{43:268,44:m,45:40,47:41,60:v,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z},t(zt,[2,121],{106:_r}),t(Cr,[2,130],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Kt}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(zt,[2,122],{106:_r}),{10:[1,271]},t(zt,[2,123],{106:_r}),{10:[1,272]},t(It,[2,129]),t(zt,[2,105],{106:_r}),t(zt,[2,106],{113:113,44:m,60:v,89:_,102:R,105:k,106:L,109:O,111:F,114:$,115:q,116:z}),t(zt,[2,110]),t(zt,[2,112],{10:[1,273]}),t(zt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:H,11:X,21:278},t(U,[2,34]),t(He,[2,52]),{10:Ut,60:rr,84:pr,105:vt,107:279,108:243,109:Ne,110:ft,111:Rt,112:Kt},t(Qr,[2,133]),{14:ee,44:Q,60:he,89:te,101:280,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{14:ee,44:Q,60:he,89:te,101:281,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e,120:88},{98:[1,282]},t(zt,[2,120]),t(Ae,[2,58]),{30:283,67:gt,80:ue,81:Mt,82:172,116:xt,117:bt,118:Ce},t(Ae,[2,66]),t(Nt,a,{5:284}),t(Cr,[2,131],{108:270,10:Ut,60:rr,84:pr,105:vt,109:Ne,110:ft,111:Rt,112:Kt}),t(zt,[2,126],{120:168,10:[1,285],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,127],{120:168,10:[1,286],14:ee,44:Q,60:he,89:te,105:ae,106:ie,109:ne,111:me,114:pe,115:Me,116:$e}),t(zt,[2,114]),{31:[1,287],67:gt,82:219,116:xt,117:bt,118:Ce},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:f,38:p,42:28,43:39,44:m,45:40,47:41,60:v,84:b,85:x,86:C,87:T,88:E,89:_,102:R,105:k,106:L,109:O,111:F,113:42,114:$,115:q,116:z,121:D,122:I,123:N,124:B,125:M},{10:Ut,60:rr,84:pr,92:289,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Kt},{10:Ut,60:rr,84:pr,92:290,105:vt,107:242,108:243,109:Ne,110:ft,111:Rt,112:Kt},t(Ae,[2,62]),t(U,[2,33]),t(zt,[2,124],{106:_r}),t(zt,[2,125],{106:_r})],defaultActions:{},parseError:S(function(Ht,Bt){if(Bt.recoverable)this.trace(Ht);else{var Xt=new Error(Ht);throw Xt.hash=Bt,Xt}},"parseError"),parse:S(function(Ht){var Bt=this,Xt=[0],Lt=[],Ar=[null],ke=[],Gn=this.table,Le="",Un=0,Rd=0,Y0=2,Dd=1,cE=ke.slice.call(arguments,1),cn=Object.create(this.lexer),Xo={yy:{}};for(var X0 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X0)&&(Xo.yy[X0]=this.yy[X0]);cn.setInput(Ht,Xo.yy),Xo.yy.lexer=cn,Xo.yy.parser=this,typeof cn.yylloc>"u"&&(cn.yylloc={});var Nd=cn.yylloc;ke.push(Nd);var th=cn.options&&cn.options.ranges;typeof Xo.yy.parseError=="function"?this.parseError=Xo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nx(pa){Xt.length=Xt.length-2*pa,Ar.length=Ar.length-pa,ke.length=ke.length-pa}S(Nx,"popStack");function ly(){var pa;return pa=Lt.pop()||cn.lex()||Dd,typeof pa!="number"&&(pa instanceof Array&&(Lt=pa,pa=Lt.pop()),pa=Bt.symbols_[pa]||pa),pa}S(ly,"lex");for(var Ti,wc,ja,j0,El={},K0,jo,Md,ws;;){if(wc=Xt[Xt.length-1],this.defaultActions[wc]?ja=this.defaultActions[wc]:((Ti===null||typeof Ti>"u")&&(Ti=ly()),ja=Gn[wc]&&Gn[wc][Ti]),typeof ja>"u"||!ja.length||!ja[0]){var Od="";ws=[];for(K0 in Gn[wc])this.terminals_[K0]&&K0>Y0&&ws.push("'"+this.terminals_[K0]+"'");cn.showPosition?Od="Parse error on line "+(Un+1)+`: `+cn.showPosition()+` -Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse error on line "+(Un+1)+": Unexpected "+(Ti==Nd?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(Id,{text:cn.match,token:this.terminals_[Ti]||Ti,line:cn.yylineno,loc:Md,expected:ws})}if(Xa[0]instanceof Array&&Xa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cc+", token: "+Ti);switch(Xa[0]){case 1:Xt.push(Ti),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(Xa[1]),Ti=null,Dd=cn.yyleng,Re=cn.yytext,Un=cn.yylineno,Md=cn.yylloc;break;case 2:if(Xo=this.productions_[Xa[1]][1],kl.$=Ar[Ar.length-Xo],kl._$={first_line:ke[ke.length-(Xo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(Xo||1)].first_column,last_column:ke[ke.length-1].last_column},rh&&(kl._$.range=[ke[ke.length-(Xo||1)].range[0],ke[ke.length-1].range[1]]),K0=this.performAction.apply(kl,[Re,Dd,Un,jo.yy,Xa[1],Ar,ke].concat(uE)),typeof K0<"u")return K0;Xo&&(Xt=Xt.slice(0,-1*Xo*2),Ar=Ar.slice(0,-1*Xo),ke=ke.slice(0,-1*Xo)),Xt.push(this.productions_[Xa[1]][0]),Ar.push(kl.$),ke.push(kl._$),Od=Gn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Od);break;case 3:return!0}}return!0},"parse")},An=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Od="Parse error on line "+(Un+1)+": Unexpected "+(Ti==Dd?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(Od,{text:cn.match,token:this.terminals_[Ti]||Ti,line:cn.yylineno,loc:Nd,expected:ws})}if(ja[0]instanceof Array&&ja.length>1)throw new Error("Parse Error: multiple actions possible at state: "+wc+", token: "+Ti);switch(ja[0]){case 1:Xt.push(Ti),Ar.push(cn.yytext),ke.push(cn.yylloc),Xt.push(ja[1]),Ti=null,Rd=cn.yyleng,Le=cn.yytext,Un=cn.yylineno,Nd=cn.yylloc;break;case 2:if(jo=this.productions_[ja[1]][1],El.$=Ar[Ar.length-jo],El._$={first_line:ke[ke.length-(jo||1)].first_line,last_line:ke[ke.length-1].last_line,first_column:ke[ke.length-(jo||1)].first_column,last_column:ke[ke.length-1].last_column},th&&(El._$.range=[ke[ke.length-(jo||1)].range[0],ke[ke.length-1].range[1]]),j0=this.performAction.apply(El,[Le,Rd,Un,Xo.yy,ja[1],Ar,ke].concat(cE)),typeof j0<"u")return j0;jo&&(Xt=Xt.slice(0,-1*jo*2),Ar=Ar.slice(0,-1*jo),ke=ke.slice(0,-1*jo)),Xt.push(this.productions_[ja[1]][0]),Ar.push(El.$),ke.push(El._$),Md=Gn[Xt[Xt.length-2]][Xt[Xt.length-1]],Xt.push(Md);break;case 3:return!0}}return!0},"parse")},An=(function(){var Ur={EOF:1,parseError:S(function(Bt,Xt){if(this.yy.parser)this.yy.parser.parseError(Bt,Xt);else throw new Error(Bt)},"parseError"),setInput:S(function(Ht,Bt){return this.yy=Bt||this.yy||{},this._input=Ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ht=this._input[0];this.yytext+=Ht,this.yyleng++,this.offset++,this.match+=Ht,this.matched+=Ht;var Bt=Ht.match(/(?:\r\n?|\n).*/g);return Bt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ht},"input"),unput:S(function(Ht){var Bt=Ht.length,Xt=Ht.split(/(?:\r\n?|\n)/g);this._input=Ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bt),this.offset-=Bt;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Xt.length-1&&(this.yylineno-=Xt.length-1);var Ar=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Xt?(Xt.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-Xt.length].length-Xt[0].length:this.yylloc.first_column-Bt},this.options.ranges&&(this.yylloc.range=[Ar[0],Ar[0]+this.yyleng-Bt]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ht){this.unput(this.match.slice(Ht))},"less"),pastInput:S(function(){var Ht=this.matched.substr(0,this.matched.length-this.match.length);return(Ht.length>20?"...":"")+Ht.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ht=this.match;return Ht.length<20&&(Ht+=this._input.substr(0,20-Ht.length)),(Ht.substr(0,20)+(Ht.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ht=this.pastInput(),Bt=new Array(Ht.length+1).join("-");return Ht+this.upcomingInput()+` `+Bt+"^"},"showPosition"),test_match:S(function(Ht,Bt){var Xt,Lt,Ar;if(this.options.backtrack_lexer&&(Ar={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ar.yylloc.range=this.yylloc.range.slice(0))),Lt=Ht[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ht[0].length},this.yytext+=Ht[0],this.match+=Ht[0],this.matches=Ht,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ht[0].length),this.matched+=Ht[0],Xt=this.performAction.call(this,this.yy,this,Bt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Xt)return Xt;if(this._backtrack){for(var ke in Ar)this[ke]=Ar[ke];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ht,Bt,Xt,Lt;this._more||(this.yytext="",this.match="");for(var Ar=this._currentRules(),ke=0;keBt[0].length)){if(Bt=Xt,Lt=ke,this.options.backtrack_lexer){if(Ht=this.test_match(Xt,Ar[ke]),Ht!==!1)return Ht;if(this._backtrack){Bt=!1;continue}else return!1}else if(!this.options.flex)break}return Bt?(Ht=this.test_match(Bt,Ar[Lt]),Ht!==!1?Ht:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Pn.lexer=An;function ei(){this.yy={}}return S(ei,"Parser"),ei.prototype=Pn,Pn.Parser=ei,new ei})();OL.parser=OL;var nae=OL,iae=Object.assign({},nae);iae.parse=t=>{const e=t.replace(/}\s*\n/g,`} -`);return nae.parse(e)};var QPe=iae,JPe=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),eFe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Bt=this.next();return Bt||this.lex()},"lex"),begin:S(function(Bt){this.conditionStack.push(Bt)},"begin"),popState:S(function(){var Bt=this.conditionStack.length-1;return Bt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Bt){return Bt=this.conditionStack.length-1-Math.abs(Bt||0),Bt>=0?this.conditionStack[Bt]:"INITIAL"},"topState"),pushState:S(function(Bt){this.begin(Bt)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Bt,Xt,Lt,Ar){switch(Lt){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Xt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const ke=/\n\s*/g;return Xt.yytext=Xt.yytext.replace(ke,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 36:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 37:return Bt.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ur})();Pn.lexer=An;function ei(){this.yy={}}return S(ei,"Parser"),ei.prototype=Pn,Pn.Parser=ei,new ei})();ML.parser=ML;var rae=ML,nae=Object.assign({},rae);nae.parse=t=>{const e=t.replace(/}\s*\n/g,`} +`);return rae.parse(e)};var HPe=nae,WPe=S((t,e)=>{const r=fD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return dl(n,i,a,e)},"fade"),YPe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -1049,7 +1049,7 @@ Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse erro /* For html labels only */ .labelBkg { - background-color: ${JPe(t.edgeLabelBackground,.5)}; + background-color: ${WPe(t.edgeLabelBackground,.5)}; // background-color: } @@ -1108,13 +1108,13 @@ Expecting `+ws.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":Id="Parse erro } text-align: center; } - ${bx()} -`,"getStyles"),tFe=eFe,rFe={parser:QPe,get db(){return new jPe},renderer:ZPe,styles:tFe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&YA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,YA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const NM=Object.freeze(Object.defineProperty({__proto__:null,diagram:rFe},Symbol.toStringTag,{value:"Module"}));var IL=(function(){var t=S(function(Me,$e,He,Le){for(He=He||{},Le=Me.length;Le--;He[Me[Le]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],A=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],R=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],j=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],X=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Le,Oe,We,Te,ot){var De=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[De-1].push(Te[De]),this.$=Te[De-1];break;case 4:case 5:this.$=Te[De];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[De-4]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-4],Te[De],Te[De-2],Te[De-3]);break;case 9:Oe.addEntity(Te[De-8]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-8],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-8]],Te[De-6]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 10:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-2]),Oe.addRelationship(Te[De-6],Te[De],Te[De-2],Te[De-3]),Oe.setClass([Te[De-6]],Te[De-4]);break;case 11:Oe.addEntity(Te[De-6]),Oe.addEntity(Te[De-4]),Oe.addRelationship(Te[De-6],Te[De],Te[De-4],Te[De-5]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 12:Oe.addEntity(Te[De-3]),Oe.addAttributes(Te[De-3],Te[De-1]);break;case 13:Oe.addEntity(Te[De-5]),Oe.addAttributes(Te[De-5],Te[De-1]),Oe.setClass([Te[De-5]],Te[De-3]);break;case 14:Oe.addEntity(Te[De-2]);break;case 15:Oe.addEntity(Te[De-4]),Oe.setClass([Te[De-4]],Te[De-2]);break;case 16:Oe.addEntity(Te[De]);break;case 17:Oe.addEntity(Te[De-2]),Oe.setClass([Te[De-2]],Te[De]);break;case 18:Oe.addEntity(Te[De-6],Te[De-4]),Oe.addAttributes(Te[De-6],Te[De-1]);break;case 19:Oe.addEntity(Te[De-8],Te[De-6]),Oe.addAttributes(Te[De-8],Te[De-1]),Oe.setClass([Te[De-8]],Te[De-3]);break;case 20:Oe.addEntity(Te[De-5],Te[De-3]);break;case 21:Oe.addEntity(Te[De-7],Te[De-5]),Oe.setClass([Te[De-7]],Te[De-2]);break;case 22:Oe.addEntity(Te[De-3],Te[De-1]);break;case 23:Oe.addEntity(Te[De-5],Te[De-3]),Oe.setClass([Te[De-5]],Te[De]);break;case 24:case 25:this.$=Te[De].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[De].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[De-3],Oe.addClass(Te[De-2],Te[De-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[De]];break;case 39:case 40:this.$=Te[De-2].concat([Te[De]]);break;case 41:this.$=Te[De-2],Oe.setClass(Te[De-1],Te[De]);break;case 42:this.$=Te[De-3],Oe.addCssStyles(Te[De-2],Te[De-1]);break;case 43:this.$=[Te[De]];break;case 44:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 46:this.$=Te[De-1]+Te[De];break;case 54:case 79:case 80:this.$=Te[De].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[De];break;case 60:Te[De].push(Te[De-1]),this.$=Te[De];break;case 61:this.$={type:Te[De-1],name:Te[De]};break;case 62:this.$={type:Te[De-2],name:Te[De-1],keys:Te[De]};break;case 63:this.$={type:Te[De-2],name:Te[De-1],comment:Te[De]};break;case 64:this.$={type:Te[De-3],name:Te[De-2],keys:Te[De-1],comment:Te[De]};break;case 65:case 66:case 69:this.$=Te[De];break;case 68:Te[De-2].push(Te[De]),this.$=Te[De-2];break;case 70:this.$=Te[De].replace(/"/g,"");break;case 71:this.$={cardA:Te[De],relType:Te[De-1],cardB:Te[De-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:A}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:R,41:O},{16:47,40:R,41:O},{16:48,40:R,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:R,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:R,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:A}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:A},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(j,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:X,50:ee,72:Q},{16:93,40:R,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:R,41:O},t(j,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:X,50:ee,72:Q},{16:115,40:R,41:O},{14:116,40:X,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:X,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Le=new Error($e);throw Le.hash=He,Le}},"parseError"),parse:S(function($e){var He=this,Le=[0],Oe=[],We=[null],Te=[],ot=this.table,De="",Ge=0,it=0,Ye=2,je=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Le.length=Le.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||je,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Le[Le.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: + ${vx()} +`,"getStyles"),XPe=YPe,jPe={parser:HPe,get db(){return new qPe},renderer:UPe,styles:XPe,init:S(t=>{t.flowchart||(t.flowchart={}),t.layout&&WA({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,WA({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};const DM=Object.freeze(Object.defineProperty({__proto__:null,diagram:jPe},Symbol.toStringTag,{value:"Module"}));var OL=(function(){var t=S(function(Me,$e,He,Ae){for(He=He||{},Ae=Me.length;Ae--;He[Me[Ae]]=$e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],h=[1,27],d=[1,19],f=[1,28],p=[1,29],m=[1,20],v=[1,18],b=[1,21],x=[1,22],C=[1,36],T=[1,37],E=[1,38],_=[1,39],R=[1,40],k=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],L=[1,45],O=[1,46],F=[1,55],$=[40,48,50,51,52,70,71],q=[1,66],z=[1,64],D=[1,61],I=[1,65],N=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],M=[65,66,67,68,69],V=[1,84],U=[1,83],P=[1,81],H=[1,82],X=[6,10,42,47],Z=[6,10,13,41,42,47,48,49],j=[1,92],ee=[1,91],Q=[1,90],he=[19,58],te=[1,101],ae=[1,100],ie=[19,58,60,62],ne={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:S(function($e,He,Ae,Oe,We,Te,ot){var Re=Te.length-1;switch(We){case 1:break;case 2:this.$=[];break;case 3:Te[Re-1].push(Te[Re]),this.$=Te[Re-1];break;case 4:case 5:this.$=Te[Re];break;case 6:case 7:this.$=[];break;case 8:Oe.addEntity(Te[Re-4]),Oe.addEntity(Te[Re-2]),Oe.addRelationship(Te[Re-4],Te[Re],Te[Re-2],Te[Re-3]);break;case 9:Oe.addEntity(Te[Re-8]),Oe.addEntity(Te[Re-4]),Oe.addRelationship(Te[Re-8],Te[Re],Te[Re-4],Te[Re-5]),Oe.setClass([Te[Re-8]],Te[Re-6]),Oe.setClass([Te[Re-4]],Te[Re-2]);break;case 10:Oe.addEntity(Te[Re-6]),Oe.addEntity(Te[Re-2]),Oe.addRelationship(Te[Re-6],Te[Re],Te[Re-2],Te[Re-3]),Oe.setClass([Te[Re-6]],Te[Re-4]);break;case 11:Oe.addEntity(Te[Re-6]),Oe.addEntity(Te[Re-4]),Oe.addRelationship(Te[Re-6],Te[Re],Te[Re-4],Te[Re-5]),Oe.setClass([Te[Re-4]],Te[Re-2]);break;case 12:Oe.addEntity(Te[Re-3]),Oe.addAttributes(Te[Re-3],Te[Re-1]);break;case 13:Oe.addEntity(Te[Re-5]),Oe.addAttributes(Te[Re-5],Te[Re-1]),Oe.setClass([Te[Re-5]],Te[Re-3]);break;case 14:Oe.addEntity(Te[Re-2]);break;case 15:Oe.addEntity(Te[Re-4]),Oe.setClass([Te[Re-4]],Te[Re-2]);break;case 16:Oe.addEntity(Te[Re]);break;case 17:Oe.addEntity(Te[Re-2]),Oe.setClass([Te[Re-2]],Te[Re]);break;case 18:Oe.addEntity(Te[Re-6],Te[Re-4]),Oe.addAttributes(Te[Re-6],Te[Re-1]);break;case 19:Oe.addEntity(Te[Re-8],Te[Re-6]),Oe.addAttributes(Te[Re-8],Te[Re-1]),Oe.setClass([Te[Re-8]],Te[Re-3]);break;case 20:Oe.addEntity(Te[Re-5],Te[Re-3]);break;case 21:Oe.addEntity(Te[Re-7],Te[Re-5]),Oe.setClass([Te[Re-7]],Te[Re-2]);break;case 22:Oe.addEntity(Te[Re-3],Te[Re-1]);break;case 23:Oe.addEntity(Te[Re-5],Te[Re-3]),Oe.setClass([Te[Re-5]],Te[Re]);break;case 24:case 25:this.$=Te[Re].trim(),Oe.setAccTitle(this.$);break;case 26:case 27:this.$=Te[Re].trim(),Oe.setAccDescription(this.$);break;case 32:Oe.setDirection("TB");break;case 33:Oe.setDirection("BT");break;case 34:Oe.setDirection("RL");break;case 35:Oe.setDirection("LR");break;case 36:this.$=Te[Re-3],Oe.addClass(Te[Re-2],Te[Re-1]);break;case 37:case 38:case 59:case 67:this.$=[Te[Re]];break;case 39:case 40:this.$=Te[Re-2].concat([Te[Re]]);break;case 41:this.$=Te[Re-2],Oe.setClass(Te[Re-1],Te[Re]);break;case 42:this.$=Te[Re-3],Oe.addCssStyles(Te[Re-2],Te[Re-1]);break;case 43:this.$=[Te[Re]];break;case 44:Te[Re-2].push(Te[Re]),this.$=Te[Re-2];break;case 46:this.$=Te[Re-1]+Te[Re];break;case 54:case 79:case 80:this.$=Te[Re].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=Te[Re];break;case 60:Te[Re].push(Te[Re-1]),this.$=Te[Re];break;case 61:this.$={type:Te[Re-1],name:Te[Re]};break;case 62:this.$={type:Te[Re-2],name:Te[Re-1],keys:Te[Re]};break;case 63:this.$={type:Te[Re-2],name:Te[Re-1],comment:Te[Re]};break;case 64:this.$={type:Te[Re-3],name:Te[Re-2],keys:Te[Re-1],comment:Te[Re]};break;case 65:case 66:case 69:this.$=Te[Re];break;case 68:Te[Re-2].push(Te[Re]),this.$=Te[Re-2];break;case 70:this.$=Te[Re].replace(/"/g,"");break;case 71:this.$={cardA:Te[Re],relType:Te[Re-1],cardB:Te[Re-2]};break;case 72:this.$=Oe.Cardinality.ZERO_OR_ONE;break;case 73:this.$=Oe.Cardinality.ZERO_OR_MORE;break;case 74:this.$=Oe.Cardinality.ONE_OR_MORE;break;case 75:this.$=Oe.Cardinality.ONLY_ONE;break;case 76:this.$=Oe.Cardinality.MD_PARENT;break;case 77:this.$=Oe.Identification.NON_IDENTIFYING;break;case 78:this.$=Oe.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:h,40:d,43:f,44:p,48:m,50:v,51:b,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:C,66:T,67:E,68:_,69:R}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(k,[2,54]),t(k,[2,55]),t(k,[2,56]),t(k,[2,57]),t(k,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:L,41:O},{16:47,40:L,41:O},{16:48,40:L,41:O},t(e,[2,4]),{11:49,40:d,48:m,50:v,51:b,52:x},{16:50,40:L,41:O},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:d,48:m,50:v,51:b,52:x},{64:57,70:[1,58],71:[1,59]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:q,38:60,41:z,42:D,45:62,46:63,48:I,49:N},t(B,[2,37]),t(B,[2,38]),{16:68,40:L,41:O,42:D},{13:q,38:69,41:z,42:D,45:62,46:63,48:I,49:N},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:C,66:T,67:E,68:_,69:R}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:C,66:T,67:E,68:_,69:R},t(M,[2,77]),t(M,[2,78]),{6:V,10:U,39:80,42:P,47:H},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:q,41:z,48:I,49:N}),t(Z,[2,45]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(e,[2,41],{42:D}),{6:V,10:U,39:88,42:P,47:H},{14:89,40:j,50:ee,72:Q},{16:93,40:L,41:O},{11:94,40:d,48:m,50:v,51:b,52:x},{18:95,19:[1,96],53:53,54:54,58:F},t(e,[2,12]),{19:[2,60]},t(he,[2,61],{56:97,57:98,59:99,61:te,62:ae}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:q,41:z,45:104,46:63,48:I,49:N},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(Z,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(he,[2,62],{57:109,60:[1,110],62:ae}),t(he,[2,63]),t(ie,[2,67]),t(he,[2,70]),t(ie,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:L,41:O},t(X,[2,44],{46:87,13:q,41:z,48:I,49:N}),{14:114,40:j,50:ee,72:Q},{16:115,40:L,41:O},{14:116,40:j,50:ee,72:Q},t(e,[2,13]),t(he,[2,64]),{59:117,61:te},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(ie,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:j,50:ee,72:Q},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:S(function($e,He){if(He.recoverable)this.trace($e);else{var Ae=new Error($e);throw Ae.hash=He,Ae}},"parseError"),parse:S(function($e){var He=this,Ae=[0],Oe=[],We=[null],Te=[],ot=this.table,Re="",Ge=0,it=0,Ye=2,Xe=1,at=Te.slice.call(arguments,1),xe=Object.create(this.lexer),Ze={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(Ze.yy[se]=this.yy[se]);xe.setInput($e,Ze.yy),Ze.yy.lexer=xe,Ze.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var be=xe.yylloc;Te.push(be);var Y=xe.options&&xe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(Qe){Ae.length=Ae.length-2*Qe,We.length=We.length-Qe,Te.length=Te.length-Qe}S(de,"popStack");function fe(){var Qe;return Qe=Oe.pop()||xe.lex()||Xe,typeof Qe!="number"&&(Qe instanceof Array&&(Oe=Qe,Qe=Oe.pop()),Qe=He.symbols_[Qe]||Qe),Qe}S(fe,"lex");for(var we,Ee,Ie,Ue,_e={},ze,et,qe,lt;;){if(Ee=Ae[Ae.length-1],this.defaultActions[Ee]?Ie=this.defaultActions[Ee]:((we===null||typeof we>"u")&&(we=fe()),Ie=ot[Ee]&&ot[Ee][we]),typeof Ie>"u"||!Ie.length||!Ie[0]){var ve="";lt=[];for(ze in ot[Ee])this.terminals_[ze]&&ze>Ye&<.push("'"+this.terminals_[ze]+"'");xe.showPosition?ve="Parse error on line "+(Ge+1)+`: `+xe.showPosition()+` -Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==je?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Le.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Le.push(Ie[1]),we=null,it=xe.yyleng,De=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[De,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Le=Le.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Le.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Le[Le.length-2]][Le[Le.length-1]],Le.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Le){if(this.yy.parser)this.yy.parser.parseError(He,Le);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Le=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Le.length-1&&(this.yylineno-=Le.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Le?(Le.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Le.length].length-Le[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse error on line "+(Ge+1)+": Unexpected "+(we==Xe?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(ve,{text:xe.match,token:this.terminals_[we]||we,line:xe.yylineno,loc:be,expected:lt})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+we);switch(Ie[0]){case 1:Ae.push(we),We.push(xe.yytext),Te.push(xe.yylloc),Ae.push(Ie[1]),we=null,it=xe.yyleng,Re=xe.yytext,Ge=xe.yylineno,be=xe.yylloc;break;case 2:if(et=this.productions_[Ie[1]][1],_e.$=We[We.length-et],_e._$={first_line:Te[Te.length-(et||1)].first_line,last_line:Te[Te.length-1].last_line,first_column:Te[Te.length-(et||1)].first_column,last_column:Te[Te.length-1].last_column},Y&&(_e._$.range=[Te[Te.length-(et||1)].range[0],Te[Te.length-1].range[1]]),Ue=this.performAction.apply(_e,[Re,it,Ge,Ze.yy,Ie[1],We,Te].concat(at)),typeof Ue<"u")return Ue;et&&(Ae=Ae.slice(0,-1*et*2),We=We.slice(0,-1*et),Te=Te.slice(0,-1*et)),Ae.push(this.productions_[Ie[1]][0]),We.push(_e.$),Te.push(_e._$),qe=ot[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push(qe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Me={EOF:1,parseError:S(function(He,Ae){if(this.yy.parser)this.yy.parser.parseError(He,Ae);else throw new Error(He)},"parseError"),setInput:S(function($e,He){return this.yy=He||this.yy||{},this._input=$e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var $e=this._input[0];this.yytext+=$e,this.yyleng++,this.offset++,this.match+=$e,this.matched+=$e;var He=$e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),$e},"input"),unput:S(function($e){var He=$e.length,Ae=$e.split(/(?:\r\n?|\n)/g);this._input=$e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ae.length-1&&(this.yylineno-=Ae.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ae?(Ae.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function($e){this.unput(this.match.slice($e))},"less"),pastInput:S(function(){var $e=this.matched.substr(0,this.matched.length-this.match.length);return($e.length>20?"...":"")+$e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var $e=this.match;return $e.length<20&&($e+=this._input.substr(0,20-$e.length)),($e.substr(0,20)+($e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var $e=this.pastInput(),He=new Array($e.length+1).join("-");return $e+this.upcomingInput()+` -`+He+"^"},"showPosition"),test_match:S(function($e,He){var Le,Oe,We;if(this.options.backtrack_lexer&&(We={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(We.yylloc.range=this.yylloc.range.slice(0))),Oe=$e[0].match(/(?:\r\n?|\n).*/g),Oe&&(this.yylineno+=Oe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Oe?Oe[Oe.length-1].length-Oe[Oe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+$e[0].length},this.yytext+=$e[0],this.match+=$e[0],this.matches=$e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice($e[0].length),this.matched+=$e[0],Le=this.performAction.call(this,this.yy,this,He,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Le)return Le;if(this._backtrack){for(var Te in We)this[Te]=We[Te];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var $e,He,Le,Oe;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),Te=0;TeHe[0].length)){if(He=Le,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Le,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var He=this.next();return He||this.lex()},"lex"),begin:S(function(He){this.conditionStack.push(He)},"begin"),popState:S(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Le,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Le.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Le.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();IL.parser=IL;var nFe=IL,c1,iFe=(c1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Xn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Kn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Ng(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(c1,"ErDB"),c1),aae={};fC(aae,{draw:()=>aFe});var aFe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await Vm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),PU=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),B3=new Set(["redux-color","redux-dark-color"]),sFe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!B3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;oHe[0].length)){if(He=Ae,Oe=Te,this.options.backtrack_lexer){if($e=this.test_match(Ae,We[Te]),$e!==!1)return $e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?($e=this.test_match(He,We[Oe]),$e!==!1?$e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var He=this.next();return He||this.lex()},"lex"),begin:S(function(He){this.conditionStack.push(He)},"begin"),popState:S(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:S(function(He){this.begin(He)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(He,Ae,Oe,We){switch(Oe){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return Ae.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Ae.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Me})();ne.lexer=me;function pe(){this.yy={}}return S(pe,"Parser"),pe.prototype=ne,ne.Parser=pe,new pe})();OL.parser=OL;var KPe=OL,l1,ZPe=(l1=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,oe.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Pe().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),oe.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),oe.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),oe.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Kn()}getData(){const e=[],r=[],n=Pe();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:Dg(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},S(l1,"ErDB"),l1),iae={};dC(iae,{draw:()=>QPe});var QPe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Pe(),o=n.db.getData(),l=ey(e,i);o.type=n.type,o.layoutAlgorithm=tx(s),o.config.flowchart.nodeSpacing=a?.nodeSpacing||140,o.config.flowchart.rankSpacing=a?.rankSpacing||80,o.direction=n.db.getDirection();const{config:u}=o,{look:h}=u;h==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await qm(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const d=l.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){const p=kt(this),v=p.attr("id").replace("-background",""),b=l.select(`#${CSS.escape(v)}`);if(!b.empty()){const x=b.attr("transform");p.attr("transform",x)}});const f=8;Lr.insertTitle(l,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),q0(l,f,"erDiagram",a?.useMaxWidth??!0)},"draw"),BU=S((t,e)=>{const r=fD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return dl(n,i,a,e)},"fade"),I3=new Set(["redux-color","redux-dark-color"]),JPe=S(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!I3.has(e))return"";const a=n?.length>0;let s="";for(let o=0;o{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` - ${sFe(t)} + `;return s},"genColor"),eFe=S(t=>{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return` + ${JPe(t)} .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -1142,14 +1142,14 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro } .labelBkg { - background-color: ${B3.has(r)&&n?n:PU(t.tertiaryColor,.5)}; + background-color: ${I3.has(r)&&n?n:BU(t.tertiaryColor,.5)}; } .edgeLabel { - background-color: ${B3.has(r)&&n?n:t.edgeLabelBackground}; + background-color: ${I3.has(r)&&n?n:t.edgeLabelBackground}; } .edgeLabel .label rect { - fill: ${B3.has(r)&&n?n:t.edgeLabelBackground}; + fill: ${I3.has(r)&&n?n:t.edgeLabelBackground}; } .edgeLabel .label text { fill: ${t.textColor}; @@ -1191,71 +1191,71 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[we]||we)+"'":ve="Parse erro stroke-width: 1; } [data-look=neo].labelBkg { - background-color: ${PU(t.tertiaryColor,.5)}; - } -`},"getStyles"),lFe=oFe,cFe={parser:nFe,get db(){return new iFe},renderer:aae,styles:lFe};const uFe=Object.freeze(Object.defineProperty({__proto__:null,diagram:cFe},Symbol.toStringTag,{value:"Module"}));function ju(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}S(ju,"populateCommonDb");var u1,MM=(u1=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},S(u1,"ImperativeState"),u1);function qa(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ul(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function hFe(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Sv(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class sae{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return qa(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Sb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function oae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function lae(t){return Sb(t)&&typeof t.fullText=="string"}class Ea{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Ea(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=dFe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Ea(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Ea(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Ea(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Dw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Ea(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Dw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Ea(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Ea(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function dFe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Dw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const cae=new Ea(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ii(...t){if(t.length===1){const e=t[0];if(e instanceof Ea)return e;if(Dw(e))return new Ea(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ea(()=>({index:0}),r=>r.index1?new Ea(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var BL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(BL||(BL={}));function PL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{qa(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&PL(i,e))}):qa(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&PL(n,e)))}function MS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Su(t){const r=P3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function P3(t){for(;t.$container;)t=t.$container;return t}function FU(t){return ul(t)?t.ref?[t.ref]:[]:Zh(t)?t.items.map(e=>e.ref):[]}function IM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexIM(r,e))}function Eu(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new OM(t,r=>IM(r,e),{includeRoot:!0})}function $U(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?IFe(r,e):!1}function Nw(t){return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexSb(e)?e.content:[],{includeRoot:!0})}function MFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function HL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ow(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ou;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ou||(ou={}));function OFe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ou.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineou.After}const BFe=/^[\w\p{L}]$/u;function PFe(t,e){if(t){const r=FFe(t,!0);if(r&&YU(r,e))return r;if(lae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(YU(a,e))return a}}}}function YU(t,e){return oae(t)&&e.includes(t.tokenType.name)}function FFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class gae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function tA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Av(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function $Fe(){throw Error("Internal Error - Should never get here!")}function jU(t){return t.type==="Character"}const Iw=[];for(let t=Er("0");t<=Er("9");t++)Iw.push(t);const Bw=[Er("_")].concat(Iw);for(let t=Er("a");t<=Er("z");t++)Bw.push(t);for(let t=Er("A");t<=Er("Z");t++)Bw.push(t);const XU=[Er(" "),Er("\f"),Er(` -`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],zFe=/[0-9a-fA-F]/,DT=/[0-9]/,qFe=/[1-9]/;class mae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Av(n,"global");break;case"i":Av(n,"ignoreCase");break;case"m":Av(n,"multiLine");break;case"u":Av(n,"unicode");break;case"y":Av(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return $Fe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gp(r);break}if(!(e===!0&&r===void 0)&&Gp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` -`),Er("\r"),Er("\u2028"),Er("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Iw;break;case"D":e=Iw,r=!0;break;case"s":e=XU;break;case"S":e=XU,r=!0;break;case"w":e=Bw;break;case"W":e=Bw,r=!0;break}if(Gp(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Er("\f");break;case"n":e=Er(` -`);break;case"r":e=Er("\r");break;case"t":e=Er(" ");break;case"v":e=Er("\v");break}if(Gp(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Er("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:Er(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:Er(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,jU(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,jU(i)){if(i.valuethis.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Cb(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function sae(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function oae(t){return Cb(t)&&typeof t.fullText=="string"}class Ea{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new Ea(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return io})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=aFe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new Ea(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?io:{done:!1,value:e(i)}})}filter(e){return new Ea(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return io})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new Ea(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Rw(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return io})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new Ea(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Rw(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return io})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new Ea(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?io:this.nextFn(r.state)))}distinct(e){return new Ea(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return io})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function aFe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Rw(t){return!!t&&typeof t[Symbol.iterator]=="function"}const lae=new Ea(()=>{},()=>io),io=Object.freeze({done:!0,value:void 0});function ii(...t){if(t.length===1){const e=t[0];if(e instanceof Ea)return e;if(Rw(e))return new Ea(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ea(()=>({index:0}),r=>r.index1?new Ea(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return io})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var IL;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(IL||(IL={}));function BL(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{za(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&BL(i,e))}):za(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&BL(n,e)))}function NS(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Cu(t){const r=B3(t).$document;if(!r)throw new Error("AST node has no document.");return r}function B3(t){for(;t.$container;)t=t.$container;return t}function PU(t){return ul(t)?t.ref?[t.ref]:[]:Kh(t)?t.items.map(e=>e.ref):[]}function OM(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexOM(r,e))}function Su(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new MM(t,r=>OM(r,e),{includeRoot:!0})}function FU(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?AFe(r,e):!1}function Dw(t){return new Ea(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexCb(e)?e.content:[],{includeRoot:!0})}function kFe(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function UL(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Mw(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var su;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(su||(su={}));function _Fe(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return su.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.linesu.After}const LFe=/^[\w\p{L}]$/u;function RFe(t,e){if(t){const r=DFe(t,!0);if(r&&WU(r,e))return r;if(oae(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(WU(a,e))return a}}}}function WU(t,e){return sae(t)&&e.includes(t.tokenType.name)}function DFe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class pae extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function Tx(t,e="Error: Got unexpected value."){throw new Error(e)}function Er(t){return t.charCodeAt(0)}function eA(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function _v(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Vp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function NFe(){throw Error("Internal Error - Should never get here!")}function YU(t){return t.type==="Character"}const Ow=[];for(let t=Er("0");t<=Er("9");t++)Ow.push(t);const Iw=[Er("_")].concat(Ow);for(let t=Er("a");t<=Er("z");t++)Iw.push(t);for(let t=Er("A");t<=Er("Z");t++)Iw.push(t);const XU=[Er(" "),Er("\f"),Er(` +`),Er("\r"),Er(" "),Er("\v"),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er(" "),Er("\u2028"),Er("\u2029"),Er(" "),Er(" "),Er(" "),Er("\uFEFF")],MFe=/[0-9a-fA-F]/,R4=/[0-9]/,OFe=/[1-9]/;class gae{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":_v(n,"global");break;case"i":_v(n,"ignoreCase");break;case"m":_v(n,"multiLine");break;case"u":_v(n,"unicode");break;case"y":_v(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Vp(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return NFe()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Vp(r);break}if(!(e===!0&&r===void 0)&&Vp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Vp(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Er(` +`),Er("\r"),Er("\u2028"),Er("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Ow;break;case"D":e=Ow,r=!0;break;case"s":e=XU;break;case"S":e=XU,r=!0;break;case"w":e=Iw;break;case"W":e=Iw,r=!0;break}if(Vp(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Er("\f");break;case"n":e=Er(` +`);break;case"r":e=Er("\r");break;case"t":e=Er(" ");break;case"v":e=Er("\v");break}if(Vp(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Er("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:Er(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:Er(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,YU(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,YU(i)){if(i.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class BS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const VFe=/\r?\n/gm,GFe=new mae;class UFe extends BS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` -`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=PS(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const rA=new UFe;function HFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),rA.reset(t),rA.visit(GFe.pattern(t)),rA.multiline}catch{return!1}}const WFe=`\f -\r \v              \u2028\u2029   \uFEFF`.split("");function yae(t){const e=typeof t=="string"?new RegExp(t):t;return WFe.some(r=>e.test(r))}function PS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function YFe(t,e){const r=jFe(t),n=e.match(r);return!!n&&n[0].length>0}function jFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function XFe(t){return t.rules.find(e=>Xu(e)&&e.entry)}function KFe(t){return t.rules.filter(e=>Ku(e)&&e.hidden)}function vae(t,e){const r=new Set,n=XFe(t);if(!n)return new Set(t.rules);const i=[n].concat(KFe(t));for(const s of i)bae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Ku(s)&&s.hidden)&&a.add(s);return a}function bae(t,e,r){e.add(t.name),xx(t).forEach(n=>{if(x0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&bae(i,e,r)}})}function ZFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tae(t.type.ref)?.terminal}function QFe(t){return t.hidden&&!yae(FM(t))}function JFe(t,e){return!t||!e?[]:PM(t,e,t.astNode,!0)}function xae(t,e,r){if(!t||!e)return;const n=PM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function PM(t,e,r,n){if(!n){const i=MS(t.grammarSource,v0);if(i&&i.feature===e)return[t]}return Sb(t)&&t.astNode===r?t.content.flatMap(i=>PM(i,e,r,!1)):[]}function e$e(t,e,r){if(!t)return;const n=t$e(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function t$e(t,e,r){if(t.astNode!==r)return[];if(b0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=UL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?b0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function r$e(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=MS(t.grammarSource,v0);if(r)return r;t=t.container}}function Tae(t){let e=t;return dae(e)&&(OS(e.$container)?e=e.$container.$container:Tx(e.$container)?e=e.$container:wx(e.$container)),wae(t,e,new Map)}function wae(t,e,r){function n(i,a){let s;return MS(i,v0)||(s=wae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of xx(e)){if(v0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(x0(i)&&Xu(i.rule.ref))return n(i,i.rule.ref);if(kFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Cae(t){return Sae(t,new Set)}function Sae(t,e){if(e.has(t))return!0;e.add(t);for(const r of xx(t))if(x0(r)){if(!r.rule.ref||Xu(r.rule.ref)&&!Sae(r.rule.ref,e)||Mw(r.rule.ref))return!1}else{if(v0(r))return!1;if(OS(r))return!1}return!!t.definition}function Eae(t){if(!Ku(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Eb(t){if(Tx(t))return Xu(t)&&Cae(t)?t.name:Eae(t)??t.name;if(xFe(t)||RFe(t)||EFe(t))return t.name;if(OS(t)){const e=n$e(t);if(e)return e}else if(dae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function n$e(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Eb(t.type.ref)}function i$e(t){return Ku(t)?t.type?.name??"string":Eae(t)??t.name}function FM(t){const e={s:!1,i:!1,u:!1},r=ry(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const $M=/[\s\S]/.source;function ry(t,e){if(_Fe(t))return a$e(t);if(AFe(t))return s$e(t);if(mFe(t))return c$e(t);if(LFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return ku(ry(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(TFe(t))return l$e(t);if(DFe(t))return o$e(t);if(SFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ku(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(NFe(t))return ku($M,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function a$e(t){return ku(t.elements.map(e=>ry(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function s$e(t){return ku(t.elements.map(e=>ry(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function o$e(t){return ku(`${$M}*?${ry(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function l$e(t){return ku(`(?!${ry(t.terminal)})${$M}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function c$e(t){return t.right?ku(`[${nA(t.left)}-${nA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):ku(nA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function nA(t){return PS(t.value)}function ku(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function u$e(t){const e=[],r=t.Grammar;for(const n of r.rules)Ku(n)&&QFe(n)&&HFe(FM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:BFe}}function WL(t){console&&console.error&&console.error(`Error: ${t}`)}function kae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _ae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Aae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function h$e(t){return d$e(t)?t.LABEL:t.name}function d$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends mc{constructor(e){super([]),this.idx=1,Object.assign(this,yc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ny extends mc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yc(e))}}class qs extends mc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yc(e))}}let Ra=class extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}};class bo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class xo extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class yi extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Us extends mc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yc(e))}}class Hs extends mc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,yc(e))}}class Vn{constructor(e){this.idx=1,Object.assign(this,yc(e))}accept(e){e.visit(this)}}function f$e(t){return t.map(U3)}function U3(t){function e(r){return r.map(U3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof qs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Us)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof yi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Hs)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Vn){const r={type:"Terminal",name:t.terminalType.name,label:h$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ny)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class iy{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case qs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Us:return this.visitRepetitionWithSeparator(r);case yi:return this.visitRepetition(r);case Hs:return this.visitAlternation(r);case Vn:return this.visitTerminal(r);case ny:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function p$e(t){return t instanceof qs||t instanceof Ra||t instanceof yi||t instanceof bo||t instanceof xo||t instanceof Us||t instanceof Vn||t instanceof ny}function Pw(t,e=[]){return t instanceof Ra||t instanceof yi||t instanceof Us?!0:t instanceof Hs?t.definition.some(n=>Pw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof mc?(t instanceof gs&&e.push(t),t.definition.every(n=>Pw(n,e))):!1}function g$e(t){return t instanceof Hs}function Hl(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}class FS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof Vn)this.walkTerminal(n,a,r);else if(n instanceof qs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Us)this.walkManySep(n,a,r);else if(n instanceof yi)this.walkMany(n,a,r);else if(n instanceof Hs)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=KU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new qs({definition:[a]});this.walk(s,i)})}}function KU(t,e,r){return[new Ra({definition:[new Vn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Cx(t){if(t instanceof gs)return Cx(t.referencedRule);if(t instanceof Vn)return v$e(t);if(p$e(t))return m$e(t);if(g$e(t))return y$e(t);throw Error("non exhaustive match")}function m$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Pw(a),e=e.concat(Cx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function y$e(t){const e=t.definition.map(r=>Cx(r));return[...new Set(e.flat())]}function v$e(t){return[t.terminalType]}const Lae="_~IN~_";class b$e extends FS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=T$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new qs({definition:a}),o=Cx(s);this.follows[i]=o}}function x$e(t){const e={};return t.forEach(r=>{const n=new b$e(r).startWalking();Object.assign(e,n)}),e}function T$e(t,e){return t.name+e+Lae}let H3={};const w$e=new mae;function $S(t){const e=t.toString();if(H3.hasOwnProperty(e))return H3[e];{const r=w$e.pattern(e);return H3[e]=r,r}}function C$e(){H3={}}const Rae="Complement Sets are not supported for first char optimization",Fw=`Unable to use "first char" lexer optimizations: -`;function S$e(t,e=!1){try{const r=$S(t);return YL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Rae)e&&kae(`${Fw} Unable to optimize: < ${t.toString()} > +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class IS{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const IFe=/\r?\n/gm,BFe=new gae;class PFe extends IS{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=BS(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const tA=new PFe;function FFe(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),tA.reset(t),tA.visit(BFe.pattern(t)),tA.multiline}catch{return!1}}const $Fe=`\f +\r \v              \u2028\u2029   \uFEFF`.split("");function mae(t){const e=typeof t=="string"?new RegExp(t):t;return $Fe.some(r=>e.test(r))}function BS(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zFe(t,e){const r=qFe(t),n=e.match(r);return!!n&&n[0].length>0}function qFe(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function VFe(t){return t.rules.find(e=>Xu(e)&&e.entry)}function GFe(t){return t.rules.filter(e=>ju(e)&&e.hidden)}function yae(t,e){const r=new Set,n=VFe(t);if(!n)return new Set(t.rules);const i=[n].concat(GFe(t));for(const s of i)vae(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||ju(s)&&s.hidden)&&a.add(s);return a}function vae(t,e,r){e.add(t.name),bx(t).forEach(n=>{if(b0(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&vae(i,e,r)}})}function UFe(t){if(t.terminal)return t.terminal;if(t.type.ref)return xae(t.type.ref)?.terminal}function HFe(t){return t.hidden&&!mae(PM(t))}function WFe(t,e){return!t||!e?[]:BM(t,e,t.astNode,!0)}function bae(t,e,r){if(!t||!e)return;const n=BM(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function BM(t,e,r,n){if(!n){const i=NS(t.grammarSource,y0);if(i&&i.feature===e)return[t]}return Cb(t)&&t.astNode===r?t.content.flatMap(i=>BM(i,e,r,!1)):[]}function YFe(t,e,r){if(!t)return;const n=XFe(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function XFe(t,e,r){if(t.astNode!==r)return[];if(v0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=GL(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?v0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function jFe(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=NS(t.grammarSource,y0);if(r)return r;t=t.container}}function xae(t){let e=t;return hae(e)&&(MS(e.$container)?e=e.$container.$container:xx(e.$container)?e=e.$container:Tx(e.$container)),Tae(t,e,new Map)}function Tae(t,e,r){function n(i,a){let s;return NS(i,y0)||(s=Tae(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of bx(e)){if(y0(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(b0(i)&&Xu(i.rule.ref))return n(i,i.rule.ref);if(bFe(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function wae(t){return Cae(t,new Set)}function Cae(t,e){if(e.has(t))return!0;e.add(t);for(const r of bx(t))if(b0(r)){if(!r.rule.ref||Xu(r.rule.ref)&&!Cae(r.rule.ref,e)||Nw(r.rule.ref))return!1}else{if(y0(r))return!1;if(MS(r))return!1}return!!t.definition}function Sae(t){if(!ju(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Sb(t){if(xx(t))return Xu(t)&&wae(t)?t.name:Sae(t)??t.name;if(fFe(t)||CFe(t)||vFe(t))return t.name;if(MS(t)){const e=KFe(t);if(e)return e}else if(hae(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function KFe(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Sb(t.type.ref)}function ZFe(t){return ju(t)?t.type?.name??"string":Sae(t)??t.name}function PM(t){const e={s:!1,i:!1,u:!1},r=ty(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const FM=/[\s\S]/.source;function ty(t,e){if(xFe(t))return QFe(t);if(TFe(t))return JFe(t);if(cFe(t))return r$e(t);if(wFe(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Eu(ty(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(pFe(t))return t$e(t);if(SFe(t))return e$e(t);if(yFe(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Eu(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(EFe(t))return Eu(FM,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function QFe(t){return Eu(t.elements.map(e=>ty(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function JFe(t){return Eu(t.elements.map(e=>ty(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function e$e(t){return Eu(`${FM}*?${ty(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function t$e(t){return Eu(`(?!${ty(t.terminal)})${FM}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function r$e(t){return t.right?Eu(`[${rA(t.left)}-${rA(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Eu(rA(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function rA(t){return BS(t.value)}function Eu(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function n$e(t){const e=[],r=t.Grammar;for(const n of r.rules)ju(n)&&HFe(n)&&FFe(PM(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:LFe}}function HL(t){console&&console.error&&console.error(`Error: ${t}`)}function Eae(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function kae(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function _ae(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function i$e(t){return a$e(t)?t.LABEL:t.name}function a$e(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class gc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class gs extends gc{constructor(e){super([]),this.idx=1,Object.assign(this,mc(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ry extends gc{constructor(e){super(e.definition),this.orgText="",Object.assign(this,mc(e))}}class qs extends gc{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,mc(e))}}let Ra=class extends gc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,mc(e))}};class bo extends gc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,mc(e))}}class xo extends gc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,mc(e))}}class yi extends gc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,mc(e))}}class Us extends gc{constructor(e){super(e.definition),this.idx=1,Object.assign(this,mc(e))}}class Hs extends gc{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,mc(e))}}class Vn{constructor(e){this.idx=1,Object.assign(this,mc(e))}accept(e){e.visit(this)}}function s$e(t){return t.map(G3)}function G3(t){function e(r){return r.map(G3)}if(t instanceof gs){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof qs)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ra)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof bo)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xo)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:G3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Us)return{type:"RepetitionWithSeparator",idx:t.idx,separator:G3(new Vn({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof yi)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Hs)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Vn){const r={type:"Terminal",name:t.terminalType.name,label:i$e(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof ry)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function mc(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class ny{visit(e){const r=e;switch(r.constructor){case gs:return this.visitNonTerminal(r);case qs:return this.visitAlternative(r);case Ra:return this.visitOption(r);case bo:return this.visitRepetitionMandatory(r);case xo:return this.visitRepetitionMandatoryWithSeparator(r);case Us:return this.visitRepetitionWithSeparator(r);case yi:return this.visitRepetition(r);case Hs:return this.visitAlternation(r);case Vn:return this.visitTerminal(r);case ry:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function o$e(t){return t instanceof qs||t instanceof Ra||t instanceof yi||t instanceof bo||t instanceof xo||t instanceof Us||t instanceof Vn||t instanceof ry}function Bw(t,e=[]){return t instanceof Ra||t instanceof yi||t instanceof Us?!0:t instanceof Hs?t.definition.some(n=>Bw(n,e)):t instanceof gs&&e.includes(t)?!1:t instanceof gc?(t instanceof gs&&e.push(t),t.definition.every(n=>Bw(n,e))):!1}function l$e(t){return t instanceof Hs}function Ul(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}class PS{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof gs)this.walkProdRef(n,a,r);else if(n instanceof Vn)this.walkTerminal(n,a,r);else if(n instanceof qs)this.walkFlat(n,a,r);else if(n instanceof Ra)this.walkOption(n,a,r);else if(n instanceof bo)this.walkAtLeastOne(n,a,r);else if(n instanceof xo)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Us)this.walkManySep(n,a,r);else if(n instanceof yi)this.walkMany(n,a,r);else if(n instanceof Hs)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=jU(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Ra({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=jU(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new qs({definition:[a]});this.walk(s,i)})}}function jU(t,e,r){return[new Ra({definition:[new Vn({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function wx(t){if(t instanceof gs)return wx(t.referencedRule);if(t instanceof Vn)return h$e(t);if(o$e(t))return c$e(t);if(l$e(t))return u$e(t);throw Error("non exhaustive match")}function c$e(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Bw(a),e=e.concat(wx(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function u$e(t){const e=t.definition.map(r=>wx(r));return[...new Set(e.flat())]}function h$e(t){return[t.terminalType]}const Aae="_~IN~_";class d$e extends PS{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=p$e(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new qs({definition:a}),o=wx(s);this.follows[i]=o}}function f$e(t){const e={};return t.forEach(r=>{const n=new d$e(r).startWalking();Object.assign(e,n)}),e}function p$e(t,e){return t.name+e+Aae}let U3={};const g$e=new gae;function FS(t){const e=t.toString();if(U3.hasOwnProperty(e))return U3[e];{const r=g$e.pattern(e);return U3[e]=r,r}}function m$e(){U3={}}const Lae="Complement Sets are not supported for first char optimization",Pw=`Unable to use "first char" lexer optimizations: +`;function y$e(t,e=!1){try{const r=FS(t);return WL(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Lae)e&&Eae(`${Pw} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),WL(`${Fw} + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),HL(`${Pw} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function YL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")NT(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)NT(h,e,r);else{for(let h=u.from;h<=u.to&&h=p2){const h=u.from>=p2?u.from:p2,d=u.to,f=pd(h),p=pd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":YL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&jL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function NT(t,e,r){const n=pd(t);e[n]=n,r===!0&&E$e(t,e)}function E$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=pd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=pd(i.charCodeAt(0));e[a]=a}}}function ZU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function jL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(jL):jL(t.value):!1}class k$e extends BS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZU(e,this.targetCharCodes)===void 0&&(this.found=!0):ZU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function zM(t,e){if(e instanceof RegExp){const r=$S(e),n=new k$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const T0="PATTERN",f2="defaultMode",MT="modes";function _$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Z$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[T0]!==Fs.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[T0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:QU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return QU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==Fs.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Mae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Nae(T,C)===!1&&zM(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Dae),p=a.map(j$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==Fs.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),A=pd(_);iA(C,A,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(A=>{const k=typeof A=="string"?A.charCodeAt(0):A,R=pd(k);_!==R&&(_=R,iA(C,R,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&WL(`${Fw} Unable to analyze < ${T.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function WL(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")D4(l,e,r);else{const u=l;if(r===!0)for(let h=u.from;h<=u.to;h++)D4(h,e,r);else{for(let h=u.from;h<=u.to&&h=f2){const h=u.from>=f2?u.from:f2,d=u.to,f=fd(h),p=fd(d);for(let m=f;m<=p;m++)e[m]=m}}}});break;case"Group":WL(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&YL(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function D4(t,e,r){const n=fd(t);e[n]=n,r===!0&&v$e(t,e)}function v$e(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=fd(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=fd(i.charCodeAt(0));e[a]=a}}}function KU(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function YL(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(YL):YL(t.value):!1}class b$e extends IS{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?KU(e,this.targetCharCodes)===void 0&&(this.found=!0):KU(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function $M(t,e){if(e instanceof RegExp){const r=FS(e),n=new b$e(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const x0="PATTERN",d2="defaultMode",N4="modes";function x$e(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:(C,T)=>T()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{U$e()});let n;r("Reject Lexer.NA",()=>{n=t.filter(C=>C[x0]!==Fs.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(C=>{const T=C[x0];if(T instanceof RegExp){const E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(E[1])?E[1]:ZU(T)}else{if(typeof T=="function")return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(E);return ZU(_)}}else throw Error("non exhaustive match")}})});let s,o,l,u,h;r("misc mapping",()=>{s=n.map(C=>C.tokenTypeIdx),o=n.map(C=>{const T=C.GROUP;if(T!==Fs.SKIPPED){if(typeof T=="string")return T;if(T===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(C=>{const T=C.LONGER_ALT;if(T)return Array.isArray(T)?T.map(_=>n.indexOf(_)):[n.indexOf(T)]}),u=n.map(C=>C.PUSH_MODE),h=n.map(C=>Object.hasOwn(C,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const C=Nae(e.lineTerminatorCharacters);d=n.map(T=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(T=>Object.hasOwn(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Dae(T,C)===!1&&$M(C,T.PATTERN)))});let f,p,m,v;r("Misc Mapping #2",()=>{f=n.map(Rae),p=a.map(q$e),m=n.reduce((C,T)=>{const E=T.GROUP;return typeof E=="string"&&E!==Fs.SKIPPED&&(C[E]=[]),C},{}),v=a.map((C,T)=>({pattern:a[T],longerAlt:l[T],canLineTerminator:d[T],isCustom:f[T],short:p[T],group:o[T],push:u[T],pop:h[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let b=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=n.reduce((C,T,E)=>{if(typeof T.PATTERN=="string"){const _=T.PATTERN.charCodeAt(0),R=fd(_);nA(C,R,v[E])}else if(Array.isArray(T.START_CHARS_HINT)){let _;T.START_CHARS_HINT.forEach(R=>{const k=typeof R=="string"?R.charCodeAt(0):R,L=fd(k);_!==L&&(_=L,nA(C,L,v[E]))})}else if(T.PATTERN instanceof RegExp)if(T.PATTERN.unicode)b=!1,e.ensureOptimizations&&HL(`${Pw} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=S$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(A=>{iA(C,A,v[E])})}else e.ensureOptimizations&&WL(`${Fw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const _=y$e(T.PATTERN,e.ensureOptimizations);_.length===0&&(b=!1),_.forEach(R=>{nA(C,R,v[E])})}else e.ensureOptimizations&&HL(`${Pw} TokenType: <${T.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function A$e(t,e){let r=[];const n=R$e(t);r=r.concat(n.errors);const i=D$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(L$e(a)),r=r.concat($$e(a)),r=r.concat(z$e(a,e)),r=r.concat(q$e(a)),r}function L$e(t){let e=[];const r=t.filter(n=>n[T0]instanceof RegExp);return e=e.concat(M$e(r)),e=e.concat(B$e(r)),e=e.concat(P$e(r)),e=e.concat(F$e(r)),e=e.concat(O$e(r)),e}function R$e(t){const e=t.filter(i=>!Object.hasOwn(i,T0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:vi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function D$e(t){const e=t.filter(i=>{const a=i[T0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:vi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const N$e=/[^\\][$]/;function M$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return N$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return C},[])}),{emptyGroups:m,patternIdxToConfig:v,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:b}}function T$e(t,e){let r=[];const n=C$e(t);r=r.concat(n.errors);const i=S$e(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(w$e(a)),r=r.concat(N$e(a)),r=r.concat(M$e(a,e)),r=r.concat(O$e(a)),r}function w$e(t){let e=[];const r=t.filter(n=>n[x0]instanceof RegExp);return e=e.concat(k$e(r)),e=e.concat(L$e(r)),e=e.concat(R$e(r)),e=e.concat(D$e(r)),e=e.concat(_$e(r)),e}function C$e(t){const e=t.filter(i=>!Object.hasOwn(i,x0)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:vi.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function S$e(t){const e=t.filter(i=>{const a=i[x0];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:vi.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const E$e=/[^\\][$]/;function k$e(t){class e extends IS{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=FS(a),o=new e;return o.visit(s),o.found}catch{return E$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function O$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:vi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const I$e=/[^\\[][\^]|^\^/;function B$e(t){class e extends BS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=$S(a),o=new e;return o.visit(s),o.found}catch{return I$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function _$e(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:vi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const A$e=/[^\\[][\^]|^\^/;function L$e(t){class e extends IS{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=FS(a),o=new e;return o.visit(s),o.found}catch{return A$e.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function P$e(t){return t.filter(n=>{const i=n[T0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:vi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function F$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==Fs.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:vi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function $$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==Fs.SKIPPED&&i!==Fs.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:vi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function z$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:vi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function q$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===Fs.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&G$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:vi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function R$e(t){return t.filter(n=>{const i=n[x0];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:vi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function D$e(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==Fs.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:vi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function N$e(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==Fs.SKIPPED&&i!==Fs.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:vi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function M$e(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:vi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function O$e(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===Fs.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&B$e(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i${o.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:vi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function V$e(t,e){if(e instanceof RegExp){if(U$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function G$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function U$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition -`,type:vi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,MT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+MT+`> property in its definition -`,type:vi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,MT)&&Object.hasOwn(t,f2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${f2}: <${t.defaultMode}>which does not exist -`,type:vi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,MT)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:vi.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function I$e(t,e){if(e instanceof RegExp){if(P$e(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function B$e(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function P$e(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +`,type:vi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,N4)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+N4+`> property in its definition +`,type:vi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,N4)&&Object.hasOwn(t,d2)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${d2}: <${t.defaultMode}>which does not exist +`,type:vi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,N4)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}> `,type:vi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(u=>{u!==void 0&&!a.includes(u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${i}> -`,type:vi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function W$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[T0]!==Fs.NA),o=Mae(r);return e&&s.forEach(l=>{const u=Nae(l,o);if(u!==!1){const d={message:K$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):zM(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +`,type:vi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function $$e(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[x0]!==Fs.NA),o=Nae(r);return e&&s.forEach(l=>{const u=Dae(l,o);if(u!==!1){const d={message:G$e(l,u),type:u.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):$M(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:vi.NO_LINE_BREAKS_FLAGS}),n}function Y$e(t){const e={};return Object.keys(t).forEach(n=>{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Dae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function j$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const X$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Rae(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function q$e(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const V$e={test:function(t){const e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===vi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Mae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function iA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const p2=256;let W3=[];function pd(t){return t255?255+~~(t/255):t}}function Sx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function $w(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let JU=1;const Oae={};function Ex(t){const e=Q$e(t);J$e(e),tze(e),eze(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function Q$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function J$e(t){t.forEach(e=>{Bae(e)||(Oae[JU]=e,e.tokenTypeIdx=JU++),eH(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),eH(e)||(e.CATEGORIES=[]),rze(e)||(e.categoryMatches=[]),nze(e)||(e.categoryMatchesMap={})})}function eze(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Oae[r].tokenTypeIdx)})})}function tze(t){t.forEach(e=>{Iae([],e)})}function Iae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Iae(n,r)})}function Bae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function eH(t){return Object.hasOwn(t??{},"CATEGORIES")}function rze(t){return Object.hasOwn(t??{},"categoryMatches")}function nze(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function ize(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const XL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var vi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(vi||(vi={}));const g2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:XL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(g2);class Fs{constructor(e,r=g2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=_ae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Object.assign({},g2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===g2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=X$e;else if(this.config.lineTerminatorCharacters===g2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:f2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(H$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(W$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(A$e(l,s))}),this.lexerDefinitionErrors.length===0){Ex(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=_$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Nae(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function nA(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const f2=256;let H3=[];function fd(t){return t255?255+~~(t/255):t}}function Cx(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Fw(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let QU=1;const Mae={};function Sx(t){const e=H$e(t);W$e(e),X$e(e),Y$e(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function H$e(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function W$e(t){t.forEach(e=>{Iae(e)||(Mae[QU]=e,e.tokenTypeIdx=QU++),JU(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),JU(e)||(e.CATEGORIES=[]),j$e(e)||(e.categoryMatches=[]),K$e(e)||(e.categoryMatchesMap={})})}function Y$e(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Mae[r].tokenTypeIdx)})})}function X$e(t){t.forEach(e=>{Oae([],e)})}function Oae(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Oae(n,r)})}function Iae(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function JU(t){return Object.hasOwn(t??{},"CATEGORIES")}function j$e(t){return Object.hasOwn(t??{},"categoryMatches")}function K$e(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Z$e(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const XL={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var vi;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(vi||(vi={}));const p2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:XL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(p2);class Fs{constructor(e,r=p2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=kae(a),u=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=Object.assign({},p2,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===p2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=V$e;else if(this.config.lineTerminatorCharacters===p2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:d2}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(F$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat($$e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(u=>u!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(T$e(l,s))}),this.lexerDefinitionErrors.length===0){Sx(l);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=x$e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(u=>u.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: -`+l)}this.lexerDefinitionWarning.forEach(o=>{kae(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Object.entries(this.canModeBeOptimized).reduce((l,[u,h])=>(h===!1&&l.push(u),l),[]);if(r.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. +`+l)}this.lexerDefinitionWarning.forEach(o=>{Eae(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Object.entries(this.canModeBeOptimized).reduce((l,[u,h])=>(h===!1&&l.push(u),l),[]);if(r.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{C$e()}),this.TRACE_INIT("toFastProperties",()=>{Aae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{m$e()}),this.TRACE_INIT("toFastProperties",()=>{_ae(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const A=this.hasCustom?0:Math.floor(e.length/10),k=new Array(A),R=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=Y$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const X=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);R.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:X})}else{B.pop();const X=B.at(-1);I=this.patternIdxToConfig[X],N=this.charCodeToPatternIdxToConfig[X],D=I.length;const ee=this.canModeBeOptimized[X]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const X=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&X?V=!0:V=!1}P.call(this,r);let H;const j=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=j===!1;for(;ae===!1&&E ${qg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,h,d,f,p,m,v,b,x;const C=e,T=C.length;let E=0,_=0;const R=this.hasCustom?0:Math.floor(e.length/10),k=new Array(R),L=[];let O=this.trackStartLines?1:void 0,F=this.trackStartLines?1:void 0;const $=z$e(this.emptyGroups),q=this.trackStartLines,z=this.config.lineTerminatorsPattern;let D=0,I=[],N=[];const B=[],M=[];Object.freeze(M);let V=!1;const U=Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){const j=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);L.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:j})}else{B.pop();const j=B.at(-1);I=this.patternIdxToConfig[j],N=this.charCodeToPatternIdxToConfig[j],D=I.length;const ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;N&&ee?V=!0:V=!1}};function P(Z){B.push(Z),N=this.charCodeToPatternIdxToConfig[Z],I=this.patternIdxToConfig[Z],D=I.length,D=I.length;const j=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;N&&j?V=!0:V=!1}P.call(this,r);let H;const X=this.config.recoveryEnabled;for(;El.length){l=s,d=s.length,u=h,H=ae;break}}}break}}if(d!==-1){if(f=H.group,f!==void 0&&(l=l!==null?l:e.substring(E,E+d),p=H.tokenTypeIdx,m=this.createTokenInstance(l,E,p,H.tokenType,O,F,d),this.handlePayload(m,u),f===!1?_=this.addToken(k,_,m):$[f].push(m)),q===!0&&H.canLineTerminator===!0){let Q=0,he,te;z.lastIndex=0;do l=l!==null?l:e.substring(E,E+d),he=z.test(l),he===!0&&(te=z.lastIndex-1,Q++);while(he===!0);Q!==0?(O=O+Q,F=d-te,this.updateTokenEndLineColumnLocation(m,f,te,Q,O,F,d)):F=this.computeNewColumn(F,d)}else F=this.computeNewColumn(F,d);E=E+d,this.handleModes(H,U,P,m)}else{const Q=E,he=O,te=F;let ae=X===!1;for(;ae===!1&&E ${zg(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=` but found: '`+e[0].image+"'";if(n)return a+n+o;{const d=`one of these possible Token sequences: -${t.reduce((f,p)=>f.concat(p),[]).map(f=>`[${f.map(p=>qg(p)).join(", ")}]`).map((f,p)=>` ${p+1}. ${f}`).join(` +${t.reduce((f,p)=>f.concat(p),[]).map(f=>`[${f.map(p=>zg(p)).join(", ")}]`).map((f,p)=>` ${p+1}. ${f}`).join(` `)}`;return a+d+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=` but found: '`+e[0].image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${t.map(u=>`[${u.map(h=>qg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Eg);const oze={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){function r(h){return h instanceof Vn?h.terminalType.name:h instanceof gs?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Hl(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} + <${t.map(u=>`[${u.map(h=>zg(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(Sg);const eze={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Hf={buildDuplicateFoundError(t,e){function r(h){return h instanceof Vn?h.terminalType.name:h instanceof gs?h.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=Ul(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,` @@ -1263,16 +1263,16 @@ inside top level rule: ->`+t.name+"<-"}},Wf={buildDuplicateFoundError(t,e){funct The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=t.prefixPath.map(i=>qg(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=t.prefixPath.map(i=>zg(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX For Further details.`},buildAlternationAmbiguityError(t){const e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, `;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable. Only the last alternative may be empty. -`;else{const i=t.prefixPath.map(a=>qg(a)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives. +`;else{const i=t.prefixPath.map(a=>zg(a)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives. `}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n},buildEmptyRepetitionError(t){let e=Hl(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +For Further details.`,n},buildEmptyRepetitionError(t){let e=Ul(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. @@ -1281,44 +1281,44 @@ rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ny?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function lze(t,e){const r=new cze(t,e);return r.resolveRefs(),r.errors}class cze extends iy{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class uze extends FS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class hze extends uze{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new qs({definition:i});this.possibleTokTypes=Cx(a),this.found=!0}}}class zS extends FS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class dze extends zS{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class cH extends zS{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class fze extends zS{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class uH extends zS{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function KL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=KL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof Vn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function pze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof Vn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof qs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ny)d.push(gze(x,m,v,b));else throw Error("non exhaustive match")}return h}function gze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ai;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ai||(ai={}));function VM(t){if(t instanceof Ra||t==="Option")return ai.OPTION;if(t instanceof yi||t==="Repetition")return ai.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ai.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ai.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Us||t==="RepetitionWithSeparator")return ai.REPETITION_WITH_SEPARATOR;if(t instanceof Hs||t==="Alternation")return ai.ALTERNATION;throw Error("non exhaustive match")}function hH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=VM(n);return a===ai.ALTERNATION?qS(e,r,i):VS(e,r,a,i)}function mze(t,e,r,n,i,a){const s=qS(t,e,r),o=Vae(s)?$w:Sx;return a(s,n,o,i)}function yze(t,e,r,n,i,a){const s=VS(t,e,i,r),o=Vae(s)?$w:Sx;return a(s[0],o,n)}function vze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aKL([s],1)),n=dH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{aA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=dH(o.length);for(let l=0;l{aA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function qS(t,e,r,n){const i=new zae(t,ai.ALTERNATION,n);return e.accept(i),qae(i.result,r)}function VS(t,e,r,n){const i=new zae(t,r);e.accept(i);const a=i.result,o=new xze(e,t,r).startWalking(),l=new qs({definition:a}),u=new qs({definition:o});return qae([l,u],n)}function ZL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Vae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function Cze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Sze(t,e,r,n){const i=t.flatMap(l=>Eze(l,r)),a=Pze(t,e,r),s=t.flatMap(l=>Mze(l,r)),o=t.flatMap(l=>Aze(l,t,n,r));return i.concat(a,s,o)}function Eze(t,e){const r=new _ze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,kze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Hl(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Gae(l);return f&&(d.parameter=f),d})}function kze(t){return`${Hl(t)}_#_${t.idx}_#_${Gae(t)}`}function Gae(t){return t instanceof Vn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class _ze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Aze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Lze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Uae(t,e,r,n=[]){const i=[],a=Y3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Uae(t,d,r,f)});return i.concat(h)}}function Y3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof qs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Us||r instanceof yi)e=e.concat(Y3(r.definition));else if(r instanceof Hs)e=r.definition.map(a=>Y3(a.definition)).flat();else if(!(r instanceof Vn))throw Error("non exhaustive match");const n=Pw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Y3(a))}else return e}class GM extends iy{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Rze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>pze([o],[],Sx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function Dze(t,e,r){const n=new GM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=qS(o,t,l,s),h=Ize(u,s,t,r),d=Bze(u,s,t,r);return h.concat(d)})}class Nze extends iy{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Mze(t,e){const r=new GM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Oze(t,e,r){const n=[];return t.forEach(i=>{const a=new Nze;i.accept(a),a.allProductions.forEach(o=>{const l=VM(o),u=o.maxLookahead||e,h=o.idx;if(VS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Ize(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&ZL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!ZL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Bze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Pze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Fze(t){const e=Object.assign({errMsgProvider:oze},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),lze(r,e.errMsgProvider)}function $ze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Wf;return Sze(t.rules,t.tokenTypes,r,t.grammarName)}const Hae="MismatchedTokenException",Wae="NoViableAltException",Yae="EarlyExitException",jae="NotAllInputParsedException",Xae=[Hae,Wae,Yae,jae];Object.freeze(Xae);function zw(t){return Xae.includes(t.name)}class GS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Kae extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class zze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}class qze extends GS{constructor(e,r){super(e,r),this.name=jae}}class Vze extends GS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yae}}const sA={},Zae="InRuleRecoveryException";class Gze extends Error{constructor(e){super(e),this.name=Zae}}class Uze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Bu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Hze)}getTokenToInsert(e){const r=qM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Kae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new hze(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Gze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>$ae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return sA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===sA)return[gd];const r=e.ruleName+e.idxInCallingRule+Lae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,gd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nUae(r,r,Wf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>Rze(r,Wf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Dze(n,r,Wf))}validateSomeNonEmptyLookaheadPath(e,r){return Oze(e,r,Wf)}buildLookaheadForAlternation(e){return mze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,vze)}buildLookaheadForOptional(e){return yze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,VM(e.prodType),bze)}}class Yze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Bu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Bu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new UM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Xze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Hl(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=oA(this.fullRuleNameToShort[r.name],Qae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"Repetition",u.maxLookahead,Hl(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Jae,"Option",u.maxLookahead,Hl(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionMandatory",u.maxLookahead,Hl(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,j3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Hl(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,eR,"RepetitionWithSeparator",u.maxLookahead,Hl(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=oA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return oA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class jze extends iy{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const OT=new jze;function Xze(t){OT.reset(),t.accept(OT);const e=OT.dslMethods;return OT.reset(),e}function fH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ry?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function tze(t,e){const r=new rze(t,e);return r.resolveRefs(),r.errors}class rze extends ny{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ms.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class nze extends PS{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class ize extends nze{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new qs({definition:i});this.possibleTokTypes=wx(a),this.found=!0}}}class $S extends PS{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class aze extends $S{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class lH extends $S{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class sze extends $S{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class cH extends $S{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Vn&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function jL(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=jL(a(o),e,r);return n.concat(l)}for(;r.length{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof Vn)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function oze(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const f=d.pop();if(f===s){o&&d.at(-1).idx<=u&&d.pop();continue}const p=f.def,m=f.idx,v=f.ruleStack,b=f.occurrenceStack;if(p.length===0)continue;const x=p[0];if(x===i){const C={idx:m,def:p.slice(1),ruleStack:v.slice(0,-1),occurrenceStack:b.slice(0,-1)};d.push(C)}else if(x instanceof Vn)if(m=0;C--){const T=x.definition[C],E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b};d.push(E),d.push(s)}else if(x instanceof qs)d.push({idx:m,def:x.definition.concat(p.slice(1)),ruleStack:v,occurrenceStack:b});else if(x instanceof ry)d.push(lze(x,m,v,b));else throw Error("non exhaustive match")}return h}function lze(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var ai;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ai||(ai={}));function qM(t){if(t instanceof Ra||t==="Option")return ai.OPTION;if(t instanceof yi||t==="Repetition")return ai.REPETITION;if(t instanceof bo||t==="RepetitionMandatory")return ai.REPETITION_MANDATORY;if(t instanceof xo||t==="RepetitionMandatoryWithSeparator")return ai.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Us||t==="RepetitionWithSeparator")return ai.REPETITION_WITH_SEPARATOR;if(t instanceof Hs||t==="Alternation")return ai.ALTERNATION;throw Error("non exhaustive match")}function uH(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=qM(n);return a===ai.ALTERNATION?zS(e,r,i):qS(e,r,a,i)}function cze(t,e,r,n,i,a){const s=zS(t,e,r),o=qae(s)?Fw:Cx;return a(s,n,o,i)}function uze(t,e,r,n,i,a){const s=qS(t,e,i,r),o=qae(s)?Fw:Cx;return a(s[0],o,n)}function hze(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;ll.flat()).reduce((l,u,h)=>(u.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=h),d.categoryMatches.forEach(f=>{Object.hasOwn(l,f)||(l[f]=h)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,u)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(h=>{o[h]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;ajL([s],1)),n=hH(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{iA(l.partialPath).forEach(h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=hH(o.length);for(let l=0;l{iA(b.partialPath).forEach(C=>{i[l][C]=!0})})}}}}return n}function zS(t,e,r,n){const i=new $ae(t,ai.ALTERNATION,n);return e.accept(i),zae(i.result,r)}function qS(t,e,r,n){const i=new $ae(t,r);e.accept(i);const a=i.result,o=new fze(e,t,r).startWalking(),l=new qs({definition:a}),u=new qs({definition:o});return zae([l,u],n)}function KL(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function qae(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function mze(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:ms.CUSTOM_LOOKAHEAD_VALIDATION},r))}function yze(t,e,r,n){const i=t.flatMap(l=>vze(l,r)),a=Rze(t,e,r),s=t.flatMap(l=>kze(l,r)),o=t.flatMap(l=>Tze(l,t,n,r));return i.concat(a,s,o)}function vze(t,e){const r=new xze;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,bze),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],u=e.buildDuplicateFoundError(t,o),h=Ul(l),d={message:u,type:ms.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},f=Vae(l);return f&&(d.parameter=f),d})}function bze(t){return`${Ul(t)}_#_${t.idx}_#_${Vae(t)}`}function Vae(t){return t instanceof Vn?t.terminalType.name:t instanceof gs?t.nonTerminalName:""}class xze extends ny{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Tze(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:ms.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function wze(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ms.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Gae(t,e,r,n=[]){const i=[],a=W3(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ms.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),h=a.filter(d=>!l.includes(d)).flatMap(d=>{const f=[...n];return f.push(d),Gae(t,d,r,f)});return i.concat(h)}}function W3(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof gs)e.push(r.referencedRule);else if(r instanceof qs||r instanceof Ra||r instanceof bo||r instanceof xo||r instanceof Us||r instanceof yi)e=e.concat(W3(r.definition));else if(r instanceof Hs)e=r.definition.map(a=>W3(a.definition)).flat();else if(!(r instanceof Vn))throw Error("non exhaustive match");const n=Bw(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(W3(a))}else return e}class VM extends ny{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Cze(t,e){const r=new VM;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>oze([o],[],Cx,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:ms.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function Sze(t,e,r){const n=new VM;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,u=zS(o,t,l,s),h=Aze(u,s,t,r),d=Lze(u,s,t,r);return h.concat(d)})}class Eze extends ny{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function kze(t,e){const r=new VM;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ms.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function _ze(t,e,r){const n=[];return t.forEach(i=>{const a=new Eze;i.accept(a),a.allProductions.forEach(o=>{const l=qM(o),u=o.maxLookahead||e,h=o.idx;if(qS(h,i,l,u)[0].flat().length===0){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:ms.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function Aze(t,e,r,n){const i=[];return t.reduce((o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||l.forEach(h=>{const d=[u];t.forEach((f,p)=>{u!==p&&KL(f,h)&&e.definition[p].ignoreAmbiguities!==!0&&d.push(p)}),d.length>1&&!KL(i,h)&&(i.push(h),o.push({alts:d,path:h}))}),o),[]).map(o=>{const l=o.alts.map(h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ms.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function Lze(t,e,r,n){const i=t.reduce((s,o,l)=>{const u=o.map(h=>({idx:l,path:h}));return s.concat(u)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path;return i.filter(f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const p=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:ms.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function Rze(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:ms.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Dze(t){const e=Object.assign({errMsgProvider:eze},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),tze(r,e.errMsgProvider)}function Nze(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Hf;return yze(t.rules,t.tokenTypes,r,t.grammarName)}const Uae="MismatchedTokenException",Hae="NoViableAltException",Wae="EarlyExitException",Yae="NotAllInputParsedException",Xae=[Uae,Hae,Wae,Yae];Object.freeze(Xae);function $w(t){return Xae.includes(t.name)}class VS extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class jae extends VS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Uae}}class Mze extends VS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Hae}}class Oze extends VS{constructor(e,r){super(e,r),this.name=Yae}}class Ize extends VS{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Wae}}const aA={},Kae="InRuleRecoveryException";class Bze extends Error{constructor(e){super(e),this.name=Kae}}class Pze{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Iu.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Fze)}getTokenToInsert(e){const r=zM(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA_FAST(1);let h=this.LA_FAST(1);const d=()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),m=new jae(p,u,this.LA(0));m.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(h,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new ize(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Bze("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>Fae(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return aA;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;athis.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===aA)return[pd];const r=e.ruleName+e.idxInCallingRule+Aae+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,pd)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;nGae(r,r,Hf))}validateEmptyOrAlternatives(e){return e.flatMap(r=>Cze(r,Hf))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Sze(n,r,Hf))}validateSomeNonEmptyLookaheadPath(e,r){return _ze(e,r,Hf)}buildLookaheadForAlternation(e){return cze(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,hze)}buildLookaheadForOptional(e){return uze(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,qM(e.prodType),dze)}}class zze{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Iu.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Iu.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new GM({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Vze(r);n.forEach(u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${Ul(u)}${h}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=sA(this.fullRuleNameToShort[r.name],Zae,u.idx);this.setLaFuncCache(f,d)})}),i.forEach(u=>{this.computeLookaheadFunc(r,u.idx,ZL,"Repetition",u.maxLookahead,Ul(u))}),a.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Qae,"Option",u.maxLookahead,Ul(u))}),s.forEach(u=>{this.computeLookaheadFunc(r,u.idx,QL,"RepetitionMandatory",u.maxLookahead,Ul(u))}),o.forEach(u=>{this.computeLookaheadFunc(r,u.idx,Y3,"RepetitionMandatoryWithSeparator",u.maxLookahead,Ul(u))}),l.forEach(u=>{this.computeLookaheadFunc(r,u.idx,JL,"RepetitionWithSeparator",u.maxLookahead,Ul(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=sA(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return sA(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class qze extends ny{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const M4=new qze;function Vze(t){M4.reset(),t.accept(M4);const e=M4.dslMethods;return M4.reset(),e}function dH(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function tqe(t,e,r){const n=function(){};ese(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=Jze}),n.prototype=i,n.prototype.constructor=n,n}var tR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(tR||(tR={}));function rqe(t,e){return nqe(t,e)}function nqe(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:tR.MISSING_METHOD,methodName:i})).filter(Boolean)}class iqe{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Bu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pH,this.setNodeLocationFromNode=pH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Kze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Zze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=eqe(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=tqe(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class aqe{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Sm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class sqe{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Vw){if(this.definedRulesNames.includes(e)){const s={message:Wf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ms.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Vw){const i=Lze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(zw(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return f$e(Object.values(this.gastProductionsCache))}}class oqe{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=$w,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Xze(t,e,r){const n=function(){};Jae(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=Wze}),n.prototype=i,n.prototype.constructor=n,n}var eR;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(eR||(eR={}));function jze(t,e){return Kze(t,e)}function Kze(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:eR.MISSING_METHOD,methodName:i})).filter(Boolean)}class Zze{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Iu.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fH,this.setNodeLocationFromNode=fH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=dH,this.setNodeLocationFromNode=dH,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Gze(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];Uze(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Yze(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Xze(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Qze{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Cm}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Cm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class Jze{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=qw){if(this.definedRulesNames.includes(e)){const s={message:Hf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ms.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=qw){const i=wze(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if($w(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return s$e(Object.values(this.gastProductionsCache))}}class eqe{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Fw,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(ize)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=gd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?$w:Sx,Ex(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Vw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Vw.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,JL,e,fze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(j3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,uH],o,j3,e,uH)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,QL,e,dze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(eR,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,eR,e,cH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,j3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw zw(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Zae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),gd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sm}topLevelRuleRecord(e,r){try{const n=new ny({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(Z$e)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=pd;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?Fw:Cx,Sx(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:qw.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:qw.recoveryValueFunc,s=this.ruleShortNameIdx<<$ze+kd;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let o;return this.outputCst===!0?o=function(...d){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,d);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,a)}finally{this.ruleFinallyStateUpdate()}}:o=function(...d){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,d)}catch(f){return this.invokeRuleCatch(f,i,a)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...d){this.onBeforeParse(e);try{return o.apply(this,d)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:o})}invokeRuleCatch(e,r,n){const i=this.RULE_STACK_IDX===0,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if($w(e)){const s=e;if(a){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(s.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return n(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,s.partialCstResult=l}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){const n=this.getKeyForAutomaticLookahead(Qae,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;const s=e.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(QL,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,QL,e,sze)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(Y3,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cH],o,Y3,e,cH)}else throw this.raiseEarlyExitException(e,ai.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(ZL,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,ZL,e,aze,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(JL,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,lH],o,JL,e,lH)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,Y3,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Zae,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw $w(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new jae(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Kae?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),pd)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Cm}topLevelRuleRecord(e,r){try{const n=new ry({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Lv.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Lv.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Lv.call(this,xo,r,e,gH)}manyInternalRecord(e,r){Lv.call(this,yi,r,e)}manySepFirstInternalRecord(e,r){Lv.call(this,Us,r,e,gH)}orInternalRecord(e,r){return hqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(qw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?cqe:US}consumeInternalRecord(e,r,n){if(qw(r),!Bae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new Vn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),rse}}function Lv(t,e,r,n=!1){qw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),US}function hqe(t,e){qw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Hs({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new qs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),US}function yH(t){return t===0?"":`${t}`}function qw(t){if(t<0||t>mH){const e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${mH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class dqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Bu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=_ae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function fqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Sm=qM(gd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sm);const Bu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Eg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function vH(t=void 0){return function(){return t}}class kx{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Aae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Fze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=$ze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Wf,grammarName:r}),a=Cze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=x$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!kx.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Av.call(this,Ra,e,r)}atLeastOneInternalRecord(e,r){Av.call(this,bo,r,e)}atLeastOneSepFirstInternalRecord(e,r){Av.call(this,xo,r,e,pH)}manyInternalRecord(e,r){Av.call(this,yi,r,e)}manySepFirstInternalRecord(e,r){Av.call(this,Us,r,e,pH)}orInternalRecord(e,r){return iqe.call(this,e,r)}subruleInternalRecord(e,r,n){if(zw(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new gs({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?rqe:GS}consumeInternalRecord(e,r,n){if(zw(r),!Iae(e)){const s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new Vn({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),tse}}function Av(t,e,r,n=!1){zw(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),GS}function iqe(t,e){zw(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new Hs({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new qs({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),GS}function mH(t){return t===0?"":`${t}`}function zw(t){if(t<0||t>gH){const e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${gH+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class aqe{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Iu.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:a}=kae(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function sqe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const Cm=zM(pd,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Cm);const Iu=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Sg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),qw=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ms;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ms||(ms={}));function yH(t=void 0){return function(){return t}}class Ex{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{_ae(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Dze({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=Nze({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Hf,grammarName:r}),a=mze({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=f$e(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!Ex.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Bu.skipValidations}}kx.DEFER_DEFINITION_ERRORS_HANDLING=!1;fqe(kx,[Uze,Yze,iqe,aqe,oqe,sqe,lqe,uqe,dqe]);class pqe extends kx{constructor(e,r=Bu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Em(t,e,r){return`${t.name}_${e}_${r}`}const md=1,gqe=2,nse=4,ise=5,_x=7,mqe=8,yqe=9,vqe=10,bqe=11,ase=12;class HM{constructor(e){this.target=e}isEpsilon(){return!1}}class WM extends HM{constructor(e,r){super(e),this.tokenType=r}}class sse extends HM{constructor(e){super(e)}isEpsilon(){return!0}}class YM extends HM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function xqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Tqe(e,t);const r=t.length;for(let n=0;nose(t,e,s));return ay(t,e,n,r,...i)}function _qe(t,e,r){const n=ua(t,e,r,{type:md});Ad(t,n);const i=ay(t,e,n,r,G0(t,e,r));return Aqe(t,e,r,i)}function G0(t,e,r){const n=Xl(Tn(r.definition,i=>ose(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Rqe(t,n)}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:bqe});Ad(t,o);const l=ua(t,e,r,{type:ase});return a.loopback=o,l.loopback=o,t.decisionMap[Em(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Fi(s,o),i===void 0?(Fi(o,a),Fi(o,l)):(Fi(o,l),Fi(o,i.left),Fi(i.right,a)),{left:a,right:l}}function cse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:vqe});Ad(t,o);const l=ua(t,e,r,{type:ase}),u=ua(t,e,r,{type:yqe});return o.loopback=u,l.loopback=u,Fi(o,a),Fi(o,l),Fi(s,u),i!==void 0?(Fi(u,l),Fi(u,i.left),Fi(i.right,a)):Fi(u,o),t.decisionMap[Em(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Aqe(t,e,r,n){const i=n.left,a=n.right;return Fi(i,a),t.decisionMap[Em(e,"Option",r.idx)]=i,n}function Ad(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ay(t,e,r,n,...i){const a=ua(t,e,n,{type:mqe,start:r});r.end=a;for(const o of i)o!==void 0?(Fi(r,o.left),Fi(o.right,a)):Fi(r,a);const s={left:r,right:a};return t.decisionMap[Em(e,Lqe(n),n.idx)]=r,s}function Lqe(t){if(t instanceof Hs)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof yi)return"Repetition";if(t instanceof Us)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Rqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function use(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function Oqe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class hse{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=xqe(e.rules),this.dfas=Bqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Em(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(hH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(xH(d,!1)&&!a){const f=d0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new hse,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(xH(d)&&d[0][0]&&!a){const f=d[0],p=F0(f);if(p.length===1&&sb(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=d0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=lA.call(this,s,h,bH,o);return typeof f=="object"?!1:f===0}}}function xH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Bqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nqg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${qqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Iu.skipValidations}}Ex.DEFER_DEFINITION_ERRORS_HANDLING=!1;sqe(Ex,[Pze,zze,Zze,Qze,eqe,Jze,tqe,nqe,aqe]);class oqe extends Ex{constructor(e,r=Iu){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function Sm(t,e,r){return`${t.name}_${e}_${r}`}const gd=1,lqe=2,rse=4,nse=5,kx=7,cqe=8,uqe=9,hqe=10,dqe=11,ise=12;class UM{constructor(e){this.target=e}isEpsilon(){return!1}}class HM extends UM{constructor(e,r){super(e),this.tokenType=r}}class ase extends UM{constructor(e){super(e)}isEpsilon(){return!0}}class WM extends UM{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function fqe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};pqe(e,t);const r=t.length;for(let n=0;nsse(t,e,s));return iy(t,e,n,r,...i)}function xqe(t,e,r){const n=ua(t,e,r,{type:gd});_d(t,n);const i=iy(t,e,n,r,V0(t,e,r));return Tqe(t,e,r,i)}function V0(t,e,r){const n=Xl(Tn(r.definition,i=>sse(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Cqe(t,n)}function ose(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:dqe});_d(t,o);const l=ua(t,e,r,{type:ise});return a.loopback=o,l.loopback=o,t.decisionMap[Sm(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Fi(s,o),i===void 0?(Fi(o,a),Fi(o,l)):(Fi(o,l),Fi(o,i.left),Fi(i.right,a)),{left:a,right:l}}function lse(t,e,r,n,i){const a=n.left,s=n.right,o=ua(t,e,r,{type:hqe});_d(t,o);const l=ua(t,e,r,{type:ise}),u=ua(t,e,r,{type:uqe});return o.loopback=u,l.loopback=u,Fi(o,a),Fi(o,l),Fi(s,u),i!==void 0?(Fi(u,l),Fi(u,i.left),Fi(i.right,a)):Fi(u,o),t.decisionMap[Sm(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Tqe(t,e,r,n){const i=n.left,a=n.right;return Fi(i,a),t.decisionMap[Sm(e,"Option",r.idx)]=i,n}function _d(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function iy(t,e,r,n,...i){const a=ua(t,e,n,{type:cqe,start:r});r.end=a;for(const o of i)o!==void 0?(Fi(r,o.left),Fi(o.right,a)):Fi(r,a);const s={left:r,right:a};return t.decisionMap[Sm(e,wqe(n),n.idx)]=r,s}function wqe(t){if(t instanceof Hs)return"Alternation";if(t instanceof Ra)return"Option";if(t instanceof yi)return"Repetition";if(t instanceof Us)return"RepetitionWithSeparator";if(t instanceof bo)return"RepetitionMandatory";if(t instanceof xo)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Cqe(t,e){const r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function cse(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function _qe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class use{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=fqe(e.rules),this.dfas=Lqe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Sm(n,"Alternation",r),h=this.atn.decisionMap[l].decision,d=Tn(uH({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>Tn(f,p=>p[0]));if(bH(d,!1)&&!a){const f=h0(d,(p,m,v)=>(wt(m,b=>{b&&(p[b.tokenTypeIdx]=v,wt(b.categoryMatches,x=>{p[x]=v}))}),p),{});return i?function(p){var m;const v=this.LA_FAST(1),b=f[v.tokenTypeIdx];if(p!==void 0&&b!==void 0){const x=(m=p[b])===null||m===void 0?void 0:m.GATE;if(x!==void 0&&x.call(this)===!1)return}return b}:function(){const p=this.LA_FAST(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new use,m=f===void 0?0:f.length;for(let b=0;bTn(f,p=>p[0]));if(bH(d)&&d[0][0]&&!a){const f=d[0],p=P0(f);if(p.length===1&&ab(p[0].categoryMatches)){const v=p[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{const m=h0(p,(v,b)=>(b!==void 0&&(v[b.tokenTypeIdx]=!0,wt(b.categoryMatches,x=>{v[x]=!0})),v),{});return function(){const v=this.LA_FAST(1);return m[v.tokenTypeIdx]===!0}}}return function(){const f=oA.call(this,s,h,vH,o);return typeof f=="object"?!1:f===0}}}function bH(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function Lqe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;nzg(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Oqe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function qqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}function Vqe(t,e,r){const n=P8e(e.configs.elements,a=>a.state.transitions),i=oLe(n.filter(a=>a instanceof WM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Gqe(t,e){return t.edges[e.tokenTypeIdx]}function Uqe(t,e,r){const n=new rR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===_x){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Xqe(a))for(const s of i)a.add(s);return a}function Hqe(t,e){if(t instanceof WM&&$ae(e,t.tokenType))return t.target}function Wqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function dse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function TH(t,e,r,n){return n=fse(t,n),e.edges[r.tokenTypeIdx]=n,n}function fse(t,e){if(e===Gw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Yqe(t){const e=new rR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Uw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function eVe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var nR;(function(t){function e(r){return typeof r=="string"}t.is=e})(nR||(nR={}));var Hw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Hw||(Hw={}));var iR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iR||(iR={}));var kb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(kb||(kb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=kb.MAX_VALUE),i===Number.MAX_VALUE&&(i=kb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var _b;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(_b||(_b={}));var aR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(aR||(aR={}));var Ww;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Ww||(Ww={}));var sR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Ww.is(i.color)}t.is=r})(sR||(sR={}));var oR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||tc.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,tc.is))}t.is=r})(oR||(oR={}));var lR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(lR||(lR={}));var cR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(cR||(cR={}));var Yw;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&_b.is(i.location)&&ht.string(i.message)}t.is=r})(Yw||(Yw={}));var uR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uR||(uR={}));var hR;(function(t){t.Unnecessary=1,t.Deprecated=2})(hR||(hR={}));var dR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(dR||(dR={}));var Ab;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Yw.is))}t.is=r})(Ab||(Ab={}));var w0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(w0||(w0={}));var tc;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(tc||(tc={}));var Kf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(Kf||(Kf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var lu;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return tc.is(s)&&(Kf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(lu||(lu={}));var Lb;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Rb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Lb||(Lb={}));var km;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Am;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Am||(Am={}));var jw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?km.is(i)||_m.is(i)||Am.is(i):Lb.is(i)))}t.is=e})(jw||(jw={}));class IT{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=tc.insert(e,r):ka.is(n)?(a=n,i=lu.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=tc.replace(e,r):ka.is(n)?(a=n,i=lu.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=lu.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=tc.del(e):ka.is(r)?(i=r,n=lu.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=lu.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class wH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class tVe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new wH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Lb.is(r)){const n=new IT(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new IT(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new IT(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new IT(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new wH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=km.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=km.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Kf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=_m.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=_m.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Kf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Am.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Am.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var fR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(fR||(fR={}));var pR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(pR||(pR={}));var Rb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Rb||(Rb={}));var gR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(gR||(gR={}));var Xw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Xw||(Xw={}));var Lm;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&Xw.is(n.kind)&&ht.string(n.value)}t.is=e})(Lm||(Lm={}));var mR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(mR||(mR={}));var yR;(function(t){t.PlainText=1,t.Snippet=2})(yR||(yR={}));var vR;(function(t){t.Deprecated=1})(vR||(vR={}));var bR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(bR||(bR={}));var xR;(function(t){t.asIs=1,t.adjustIndentation=2})(xR||(xR={}));var TR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(TR||(TR={}));var wR;(function(t){function e(r){return{label:r}}t.create=e})(wR||(wR={}));var CR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(CR||(CR={}));var Db;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Db||(Db={}));var SR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Lm.is(n.contents)||Db.is(n.contents)||ht.typedArray(n.contents,Db.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(SR||(SR={}));var ER;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ER||(ER={}));var kR;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(kR||(kR={}));var _R;(function(t){t.Text=1,t.Read=2,t.Write=3})(_R||(_R={}));var AR;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(AR||(AR={}));var LR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(LR||(LR={}));var RR;(function(t){t.Deprecated=1})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(DR||(DR={}));var NR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(NR||(NR={}));var MR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(MR||(MR={}));var OR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(OR||(OR={}));var Nb;(function(t){t.Invoked=1,t.Automatic=2})(Nb||(Nb={}));var IR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,Ab.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Nb.Invoked||i.triggerKind===Nb.Automatic)}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):w0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,Ab.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||w0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||jw.is(i.edit))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||w0.is(i.command))}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})($R||($R={}));var zR;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(zR||(zR={}));var qR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qR||(qR={}));var VR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(VR||(VR={}));var GR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(GR||(GR={}));var UR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(WR||(WR={}));var YR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(YR||(YR={}));var Kw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Kw||(Kw={}));var Zw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.location===void 0||_b.is(i.location))&&(i.command===void 0||w0.is(i.command))}t.is=r})(Zw||(Zw={}));var jR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Zw.is))&&(i.kind===void 0||Kw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,tc.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Lm.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(jR||(jR={}));var XR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(XR||(XR={}));var KR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(KR||(KR={}));var ZR;(function(t){function e(r){return{items:r}}t.create=e})(ZR||(ZR={}));var QR;(function(t){t.Invoked=0,t.Automatic=1})(QR||(QR={}));var JR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(e9||(e9={}));var t9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Hw.is(n.uri)&&ht.string(n.name)}t.is=e})(t9||(t9={}));const rVe=[` +For Further details.`,n}function Oqe(t){if(t instanceof gs)return"SUBRULE";if(t instanceof Ra)return"OPTION";if(t instanceof Hs)return"OR";if(t instanceof bo)return"AT_LEAST_ONE";if(t instanceof xo)return"AT_LEAST_ONE_SEP";if(t instanceof Us)return"MANY_SEP";if(t instanceof yi)return"MANY";if(t instanceof Vn)return"CONSUME";throw Error("non exhaustive match")}function Iqe(t,e,r){const n=R8e(e.configs.elements,a=>a.state.transitions),i=eLe(n.filter(a=>a instanceof HM).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Bqe(t,e){return t.edges[e.tokenTypeIdx]}function Pqe(t,e,r){const n=new tR,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===kx){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l0&&!Vqe(a))for(const s of i)a.add(s);return a}function Fqe(t,e){if(t instanceof HM&&Fae(e,t.tokenType))return t.target}function $qe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function hse(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function xH(t,e,r,n){return n=dse(t,n),e.edges[r.tokenTypeIdx]=n,n}function dse(t,e){if(e===Vw)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function zqe(t){const e=new tR,r=t.transitions.length;for(let n=0;n0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Gw(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Yqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var rR;(function(t){function e(r){return typeof r=="string"}t.is=e})(rR||(rR={}));var Uw;(function(t){function e(r){return typeof r=="string"}t.is=e})(Uw||(Uw={}));var nR;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(nR||(nR={}));var Eb;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Eb||(Eb={}));var hn;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Eb.MAX_VALUE),i===Number.MAX_VALUE&&(i=Eb.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&ht.uinteger(i.line)&&ht.uinteger(i.character)}t.is=r})(hn||(hn={}));var Kr;(function(t){function e(n,i,a,s){if(ht.uinteger(n)&&ht.uinteger(i)&&ht.uinteger(a)&&ht.uinteger(s))return{start:hn.create(n,i),end:hn.create(a,s)};if(hn.is(n)&&hn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&hn.is(i.start)&&hn.is(i.end)}t.is=r})(Kr||(Kr={}));var kb;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(ht.string(i.uri)||ht.undefined(i.uri))}t.is=r})(kb||(kb={}));var iR;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.targetRange)&&ht.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||ht.undefined(i.originSelectionRange))}t.is=r})(iR||(iR={}));var Hw;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.numberRange(i.red,0,1)&&ht.numberRange(i.green,0,1)&&ht.numberRange(i.blue,0,1)&&ht.numberRange(i.alpha,0,1)}t.is=r})(Hw||(Hw={}));var aR;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&Hw.is(i.color)}t.is=r})(aR||(aR={}));var sR;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.undefined(i.textEdit)||ec.is(i))&&(ht.undefined(i.additionalTextEdits)||ht.typedArray(i.additionalTextEdits,ec.is))}t.is=r})(sR||(sR={}));var oR;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(oR||(oR={}));var lR;(function(t){function e(n,i,a,s,o,l){const u={startLine:n,endLine:i};return ht.defined(a)&&(u.startCharacter=a),ht.defined(s)&&(u.endCharacter=s),ht.defined(o)&&(u.kind=o),ht.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.uinteger(i.startLine)&&ht.uinteger(i.startLine)&&(ht.undefined(i.startCharacter)||ht.uinteger(i.startCharacter))&&(ht.undefined(i.endCharacter)||ht.uinteger(i.endCharacter))&&(ht.undefined(i.kind)||ht.string(i.kind))}t.is=r})(lR||(lR={}));var Ww;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&kb.is(i.location)&&ht.string(i.message)}t.is=r})(Ww||(Ww={}));var cR;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(cR||(cR={}));var uR;(function(t){t.Unnecessary=1,t.Deprecated=2})(uR||(uR={}));var hR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&ht.string(n.href)}t.is=e})(hR||(hR={}));var _b;(function(t){function e(n,i,a,s,o,l){let u={range:n,message:i};return ht.defined(a)&&(u.severity=a),ht.defined(s)&&(u.code=s),ht.defined(o)&&(u.source=o),ht.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let a=n;return ht.defined(a)&&Kr.is(a.range)&&ht.string(a.message)&&(ht.number(a.severity)||ht.undefined(a.severity))&&(ht.integer(a.code)||ht.string(a.code)||ht.undefined(a.code))&&(ht.undefined(a.codeDescription)||ht.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(ht.string(a.source)||ht.undefined(a.source))&&(ht.undefined(a.relatedInformation)||ht.typedArray(a.relatedInformation,Ww.is))}t.is=r})(_b||(_b={}));var T0;(function(t){function e(n,i,...a){let s={title:n,command:i};return ht.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.title)&&ht.string(i.command)}t.is=r})(T0||(T0={}));var ec;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return ht.objectLiteral(s)&&ht.string(s.newText)&&Kr.is(s.range)}t.is=i})(ec||(ec={}));var jf;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&ht.string(i.label)&&(ht.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(ht.string(i.description)||i.description===void 0)}t.is=r})(jf||(jf={}));var ka;(function(t){function e(r){const n=r;return ht.string(n)}t.is=e})(ka||(ka={}));var ou;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return ec.is(s)&&(jf.is(s.annotationId)||ka.is(s.annotationId))}t.is=i})(ou||(ou={}));var Ab;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Lb.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Ab||(Ab={}));var Em;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&ht.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(Em||(Em={}));var km;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&ht.string(i.oldUri)&&ht.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||ht.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||ht.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(km||(km={}));var _m;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&ht.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||ht.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||ht.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}t.is=r})(_m||(_m={}));var Yw;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>ht.string(i.kind)?Em.is(i)||km.is(i)||_m.is(i):Ab.is(i)))}t.is=e})(Yw||(Yw={}));class O4{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=ec.insert(e,r):ka.is(n)?(a=n,i=ou.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=ou.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=ec.replace(e,r):ka.is(n)?(a=n,i=ou.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=ou.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=ec.del(e):ka.is(r)?(i=r,n=ou.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=ou.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class TH{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(ka.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class Xqe{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new TH(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Ab.is(r)){const n=new O4(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new O4(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Lb.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new O4(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new O4(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new TH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;jf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Em.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=Em.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;jf.is(n)||ka.is(n)?a=n:i=n;let s,o;if(a===void 0?s=km.create(e,r,i):(o=ka.is(a)?a:this._changeAnnotations.manage(a),s=km.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;jf.is(r)||ka.is(r)?i=r:n=r;let a,s;if(i===void 0?a=_m.create(e,n):(s=ka.is(i)?i:this._changeAnnotations.manage(i),a=_m.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var dR;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)}t.is=r})(dR||(dR={}));var fR;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.integer(i.version)}t.is=r})(fR||(fR={}));var Lb;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&(i.version===null||ht.integer(i.version))}t.is=r})(Lb||(Lb={}));var pR;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.string(i.uri)&&ht.string(i.languageId)&&ht.integer(i.version)&&ht.string(i.text)}t.is=r})(pR||(pR={}));var Xw;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Xw||(Xw={}));var Am;(function(t){function e(r){const n=r;return ht.objectLiteral(r)&&Xw.is(n.kind)&&ht.string(n.value)}t.is=e})(Am||(Am={}));var gR;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(gR||(gR={}));var mR;(function(t){t.PlainText=1,t.Snippet=2})(mR||(mR={}));var yR;(function(t){t.Deprecated=1})(yR||(yR={}));var vR;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&ht.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}t.is=r})(vR||(vR={}));var bR;(function(t){t.asIs=1,t.adjustIndentation=2})(bR||(bR={}));var xR;(function(t){function e(r){const n=r;return n&&(ht.string(n.detail)||n.detail===void 0)&&(ht.string(n.description)||n.description===void 0)}t.is=e})(xR||(xR={}));var TR;(function(t){function e(r){return{label:r}}t.create=e})(TR||(TR={}));var wR;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(wR||(wR={}));var Rb;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return ht.string(i)||ht.objectLiteral(i)&&ht.string(i.language)&&ht.string(i.value)}t.is=r})(Rb||(Rb={}));var CR;(function(t){function e(r){let n=r;return!!n&&ht.objectLiteral(n)&&(Am.is(n.contents)||Rb.is(n.contents)||ht.typedArray(n.contents,Rb.is))&&(r.range===void 0||Kr.is(r.range))}t.is=e})(CR||(CR={}));var SR;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(SR||(SR={}));var ER;(function(t){function e(r,n,...i){let a={label:r};return ht.defined(n)&&(a.documentation=n),ht.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(ER||(ER={}));var kR;(function(t){t.Text=1,t.Read=2,t.Write=3})(kR||(kR={}));var _R;(function(t){function e(r,n){let i={range:r};return ht.number(n)&&(i.kind=n),i}t.create=e})(_R||(_R={}));var AR;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(AR||(AR={}));var LR;(function(t){t.Deprecated=1})(LR||(LR={}));var RR;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(RR||(RR={}));var DR;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(DR||(DR={}));var NR;(function(t){function e(n,i,a,s,o,l){let u={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&ht.string(i.name)&&ht.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||ht.string(i.detail))&&(i.deprecated===void 0||ht.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(NR||(NR={}));var MR;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(MR||(MR={}));var Db;(function(t){t.Invoked=1,t.Automatic=2})(Db||(Db={}));var OR;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.typedArray(i.diagnostics,_b.is)&&(i.only===void 0||ht.typedArray(i.only,ht.string))&&(i.triggerKind===void 0||i.triggerKind===Db.Invoked||i.triggerKind===Db.Automatic)}t.is=r})(OR||(OR={}));var IR;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):T0.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&ht.string(i.title)&&(i.diagnostics===void 0||ht.typedArray(i.diagnostics,_b.is))&&(i.kind===void 0||ht.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||T0.is(i.command))&&(i.isPreferred===void 0||ht.boolean(i.isPreferred))&&(i.edit===void 0||Yw.is(i.edit))}t.is=r})(IR||(IR={}));var BR;(function(t){function e(n,i){let a={range:n};return ht.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.command)||T0.is(i.command))}t.is=r})(BR||(BR={}));var PR;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return ht.defined(i)&&ht.uinteger(i.tabSize)&&ht.boolean(i.insertSpaces)}t.is=r})(PR||(PR={}));var FR;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return ht.defined(i)&&Kr.is(i.range)&&(ht.undefined(i.target)||ht.string(i.target))}t.is=r})(FR||(FR={}));var $R;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return ht.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})($R||($R={}));var zR;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(zR||(zR={}));var qR;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(qR||(qR={}));var VR;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(VR||(VR={}));var GR;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.string(i.text)}t.is=r})(GR||(GR={}));var UR;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&ht.boolean(i.caseSensitiveLookup)&&(ht.string(i.variableName)||i.variableName===void 0)}t.is=r})(UR||(UR={}));var HR;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&Kr.is(i.range)&&(ht.string(i.expression)||i.expression===void 0)}t.is=r})(HR||(HR={}));var WR;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return ht.defined(i)&&Kr.is(n.stoppedLocation)}t.is=r})(WR||(WR={}));var jw;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(jw||(jw={}));var Kw;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&(i.tooltip===void 0||ht.string(i.tooltip)||Am.is(i.tooltip))&&(i.location===void 0||kb.is(i.location))&&(i.command===void 0||T0.is(i.command))}t.is=r})(Kw||(Kw={}));var YR;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return ht.objectLiteral(i)&&hn.is(i.position)&&(ht.string(i.label)||ht.typedArray(i.label,Kw.is))&&(i.kind===void 0||jw.is(i.kind))&&i.textEdits===void 0||ht.typedArray(i.textEdits,ec.is)&&(i.tooltip===void 0||ht.string(i.tooltip)||Am.is(i.tooltip))&&(i.paddingLeft===void 0||ht.boolean(i.paddingLeft))&&(i.paddingRight===void 0||ht.boolean(i.paddingRight))}t.is=r})(YR||(YR={}));var XR;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(XR||(XR={}));var jR;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(jR||(jR={}));var KR;(function(t){function e(r){return{items:r}}t.create=e})(KR||(KR={}));var ZR;(function(t){t.Invoked=0,t.Automatic=1})(ZR||(ZR={}));var QR;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(QR||(QR={}));var JR;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(JR||(JR={}));var e9;(function(t){function e(r){const n=r;return ht.objectLiteral(n)&&Uw.is(n.uri)&&ht.string(n.name)}t.is=e})(e9||(e9={}));const jqe=[` `,`\r -`,"\r"];var r9;(function(t){function e(a,s,o,l){return new nVe(a,s,o,l)}t.create=e;function r(a){let s=a;return!!(ht.defined(s)&&ht.string(s.uri)&&(ht.undefined(s.languageId)||ht.string(s.languageId))&&ht.uinteger(s.lineCount)&&ht.func(s.getText)&&ht.func(s.positionAt)&&ht.func(s.offsetAt))}t.is=r;function n(a,s){let o=a.getText(),l=i(s,(h,d)=>{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h{let f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f}),u=o.length;for(let h=l.length-1;h>=0;h--){let d=l[h],f=a.offsetAt(d.range.start),p=a.offsetAt(d.range.end);if(p<=u)o=o.substring(0,f)+d.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");u=f}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),u=a.slice(o);i(l,s),i(u,s);let h=0,d=0,f=0;for(;h0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const iVe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return lu},get ChangeAnnotation(){return Kf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return BR},get CodeActionContext(){return IR},get CodeActionKind(){return OR},get CodeActionTriggerKind(){return Nb},get CodeDescription(){return dR},get CodeLens(){return PR},get Color(){return Ww},get ColorInformation(){return sR},get ColorPresentation(){return oR},get Command(){return w0},get CompletionItem(){return wR},get CompletionItemKind(){return mR},get CompletionItemLabelDetails(){return TR},get CompletionItemTag(){return vR},get CompletionList(){return CR},get CreateFile(){return km},get DeleteFile(){return Am},get Diagnostic(){return Ab},get DiagnosticRelatedInformation(){return Yw},get DiagnosticSeverity(){return uR},get DiagnosticTag(){return hR},get DocumentHighlight(){return AR},get DocumentHighlightKind(){return _R},get DocumentLink(){return $R},get DocumentSymbol(){return MR},get DocumentUri(){return nR},EOL:rVe,get FoldingRange(){return cR},get FoldingRangeKind(){return lR},get FormattingOptions(){return FR},get Hover(){return SR},get InlayHint(){return jR},get InlayHintKind(){return Kw},get InlayHintLabelPart(){return Zw},get InlineCompletionContext(){return e9},get InlineCompletionItem(){return KR},get InlineCompletionList(){return ZR},get InlineCompletionTriggerKind(){return QR},get InlineValueContext(){return YR},get InlineValueEvaluatableExpression(){return WR},get InlineValueText(){return UR},get InlineValueVariableLookup(){return HR},get InsertReplaceEdit(){return bR},get InsertTextFormat(){return yR},get InsertTextMode(){return xR},get Location(){return _b},get LocationLink(){return aR},get MarkedString(){return Db},get MarkupContent(){return Lm},get MarkupKind(){return Xw},get OptionalVersionedTextDocumentIdentifier(){return Rb},get ParameterInformation(){return ER},get Position(){return hn},get Range(){return Kr},get RenameFile(){return _m},get SelectedCompletionInfo(){return JR},get SelectionRange(){return zR},get SemanticTokenModifiers(){return VR},get SemanticTokenTypes(){return qR},get SemanticTokens(){return GR},get SignatureInformation(){return kR},get StringValue(){return XR},get SymbolInformation(){return DR},get SymbolKind(){return LR},get SymbolTag(){return RR},get TextDocument(){return r9},get TextDocumentEdit(){return Lb},get TextDocumentIdentifier(){return fR},get TextDocumentItem(){return gR},get TextEdit(){return tc},get URI(){return Hw},get VersionedTextDocumentIdentifier(){return pR},WorkspaceChange:tVe,get WorkspaceEdit(){return jw},get WorkspaceFolder(){return t9},get WorkspaceSymbol(){return NR},get integer(){return iR},get uinteger(){return kb}},Symbol.toStringTag,{value:"Module"}));class aVe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new gse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new KM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new n9(e.startOffset,e.image.length,HL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new n9(a.startOffset,a.image.length,HL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class pse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class n9 extends pse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class KM extends pse{constructor(){super(...arguments),this.content=new ZM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class ZM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ZM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class gse extends KM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const i9=Symbol("Datatype");function cA(t){return t.$type===i9}const CH="​",mse=t=>t.endsWith(CH)?t:t+CH;class yse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new uVe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class sVe extends yse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new aVe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Mw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Xu(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===i9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=b0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(cA(u)){let h=i.image;b0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(cA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):cA(e)?this.converter.convert(e.value,e.$cstNode):(fFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=MS(e,v0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&IS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class oVe{buildMismatchTokenMessage(e){return Eg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Eg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Eg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Eg.buildEarlyExitMessage(e)}}class vse extends oVe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class lVe extends yse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(mse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const cVe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vse};class bse extends pqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...cVe,lookaheadStrategy:n?new UM({maxLookahead:r.maxLookahead}):new Iqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class uVe extends bse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xse(t,e,r){return hVe({parser:e,tokens:r,ruleNames:new Map},t),e}function hVe(t,e){const r=vae(e,!1),n=ii(e.rules).filter(Xu).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,C0(s,a.definition))}const i=ii(e.rules).filter(Mw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,dVe(t,a))}function dVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ku(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=QM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function C0(t,e,r=!1){let n;if(b0(e))n=bVe(t,e);else if(OS(e))n=fVe(t,e);else if(v0(e))n=C0(t,e.terminal);else if(IS(e))n=Tse(t,e);else if(x0(e))n=pVe(t,e);else if(hae(e))n=mVe(t,e);else if(fae(e))n=yVe(t,e);else if(BM(e))n=vVe(t,e);else if(bFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,gd,e)}else throw new gae(e.$cstNode,`Unexpected element type: ${e.$type}`);return wse(t,r?void 0:Qw(e),n,e.cardinality)}function fVe(t,e){const r=Eb(e);return()=>t.parser.action(r,e)}function pVe(t,e){const r=e.rule.ref;if(Tx(r)){const n=t.subrule++,i=Xu(r)&&r.fragment,a=e.arguments.length>0?gVe(r,e.arguments):()=>({});let s;return o=>{s??(s=QM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Ku(r)){const n=t.consume++,i=a9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)wx();else throw new gae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function gVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Yl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Yl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(yFe(t)){const e=Yl(t.left),r=Yl(t.right);return n=>e(n)&&r(n)}else if(wFe(t)){const e=Yl(t.value);return r=>!e(r)}else if(CFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(gFe(t)){const e=!!t.true;return()=>e}wx()}function mVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:C0(t,i,!0)},s=Qw(i);s&&(a.GATE=Yl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function yVe(t,e){if(e.elements.length===1)return C0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:C0(t,o,!0)},u=Qw(o);u&&(l.GATE=Yl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=wse(t,Qw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function vVe(t,e){const r=e.elements.map(n=>C0(t,n));return n=>r.forEach(i=>i(n))}function Qw(t){if(BM(t))return t.guardCondition}function Tse(t,e,r=e.terminal){if(r)if(x0(r)&&Xu(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=QM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(x0(r)&&Ku(r.rule.ref)){const n=t.consume++,i=a9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(b0(r)){const n=t.consume++,i=a9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Tae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Eb(e.type.ref));return Tse(t,e,i)}}function bVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wse(t,e,r,n){const i=e&&Yl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:vH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:vH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else wx()}function QM(t,e){const r=xVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function xVe(t,e){if(Tx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Xu(n);)(BM(n)||hae(n)||fae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function a9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function TVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new lVe(t);return xse(e,n,r.definition),n.finalize(),n}function wVe(t){const e=CVe(t);return e.finalize(),e}function CVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new sVe(t);return xse(e,n,r.definition)}class Cse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ii(vae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ku).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=FM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=yae(r)?Fs.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Tx).flatMap(i=>xx(i).filter(b0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(PS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&YFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Sse{convert(e,r){let n=r.grammarSource;if(IS(n)&&(n=ZFe(n)),x0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return iu.convertInt(r);case"STRING":return iu.convertString(r);case"ID":return iu.convertID(r)}switch(i$e(e)?.toLowerCase()){case"number":return iu.convertNumber(r);case"boolean":return iu.convertBoolean(r);case"bigint":return iu.convertBigint(r);case"date":return iu.convertDate(r);default:return r}}}var iu;(function(t){function e(u){let h="";for(let d=1;de(l))}return ba.stringArray=s,ba}var cf={},kH;function sy(){if(kH)return cf;kH=1,Object.defineProperty(cf,"__esModule",{value:!0}),cf.Emitter=cf.Event=void 0;const t=U0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(cf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return cf.Emitter=n,n._noop=function(){},cf}var _H;function HS(){if(_H)return lf;_H=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.CancellationTokenSource=lf.CancellationToken=void 0;const t=U0(),e=Ax(),r=sy();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(lf.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return lf.CancellationTokenSource=s,lf}var si=HS();function SVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let X3=0,EVe=10;function kVe(){return X3=performance.now(),new si.CancellationTokenSource}const kg=Symbol("OperationCancelled");function WS(t){return t===kg}async function ss(t){if(t===si.CancellationToken.None)return;const e=performance.now();if(e-X3>=EVe&&(X3=e,await SVe(),X3=performance.now()),t.isCancellationRequested)throw kg}class JM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Mb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Mb.isIncremental(n)){const i=kse(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=AH(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Ese(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var s9;(function(t){function e(i,a,s,o){return new Mb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Mb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=o9(a.map(_Ve),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(s9||(s9={}));function o9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);o9(n,e),o9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function _Ve(t){const e=kse(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _se;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var j=M.lastIndexOf("/");if(j!==M.length-1){j===-1?(M="",V=0):V=(M=M.slice(0,j)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?j=Z:Z===0&&(j=0));break}var X=I.charCodeAt(B+Z);if(X!==N.charCodeAt(U+Z))break;X===47&&(j=Z)}var ee="";for(Z=B+j+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+j):(U+=j,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var j=I.charCodeAt(B);if(j===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(j===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,j=!0,Z=I.length-1,X=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(j=!1,H=Z+1),M===46?U===-1?U=Z:X!==1&&(X=1):U!==-1&&(X=-1);else if(!j){P=Z+1;break}return U===-1||H===-1||X===0||X===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,A(D[4]||u),A(D[5]||u),A(D[7]||u),A(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function A($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const R=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:R.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=R.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=R.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return R.basename(q.path)},$.extname=function(q){return R.extname(q.path)}})(F||(F={})),_se=n})();const{URI:bl,Utils:Rv}=_se;var oo;(function(t){t.basename=Rv.basename,t.dirname=Rv.dirname,t.extname=Rv.extname,t.joinPath=Rv.joinPath,t.resolvePath=Rv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?bl.parse(s).path:s.path,u=typeof o=="string"?bl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(bl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class LVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=si.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??bl.parse(e.uri),si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=s9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class RVe{constructor(e){this.documentTrie=new AVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ii(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Up=Symbol("RefResolving");class DVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=si.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Eu(e.parseResult.value))await ss(r),Nw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Eu(e.parseResult.value))await ss(r),Nw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Up;try{const i=this.getCandidate(e);if(Sv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Up;try{const i=this.getCandidates(e),a=[];if(Sv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qa(this._ref))return this._ref;if(hFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Up;const o=P3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Sv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=P3(e.container).$document;n&&n.stateIS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=r$e(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Zh(i))return FU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Zh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return FU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||MFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Nw(n))if(Zh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ii(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Su(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ow(a),local:!0})}}return n}}class Ob{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return BL.sum(ii(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ii(r):cae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ii(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ii(this.map.keys())}values(){return ii(this.map.values()).flat()}entriesGroupedByKey(){return ii(this.map.entries())}}class LH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class IVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=si.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=IM,i=si.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=si.CancellationToken.None){const n=e.parseResult.value,i=new Ob;for(const a of xx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class RH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class BVe{constructor(e,r,n){this.elements=new Ob,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ii(n).concat(this.outerScope.getElements(e)):ii(n)}getAllElements(){let e=ii(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ase{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class PVe extends Ase{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class FVe extends Ase{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class $Ve extends PVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class zVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new $Ve(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Su(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new RH(ii(e),r,n)}createScopeForNodes(e,r,n){const i=ii(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new RH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new BVe(this.indexManager.allElements(e)))}}function qVe(t){return typeof t.$comment=="string"}function DH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class VVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Su(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Su(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Zh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Su(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(qa(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=JFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(WS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ii(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const HVe=Object.freeze({validateNode:!0,validateChildren:!0});class WVe{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=si.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(WS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:uA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:jVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=HL(i.token);if(a){const s={severity:uA("error"),range:a,message:i.message,data:m2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=si.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=si.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Eu(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Eu(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return HVe}async validateAstAfter(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:YVe(n),severity:uA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function YVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=e$e(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function uA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function jVe(t){switch(t){case"error":return m2(cl.LexingError);case"warning":return m2(cl.LexingWarning);case"info":return m2(cl.LexingInfo);case"hint":return m2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class XVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Su(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Ow(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Ow(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class KVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=si.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Eu(i))await ss(r),Nw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Su(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ow(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class ZVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var QVe=sy();class JVe{constructor(e){this._ready=new JM,this.onConfigurationSectionUpdateEmitter=new QVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var uf={},hf={},PT={},hA={},ur={},NH;function Lse(){if(NH)return ur;NH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=Ax();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class A extends i{constructor(z){super(z,5)}}ur.NotificationType5=A;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class R extends i{constructor(z){super(z,7)}}ur.NotificationType7=R;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Uc={},MH;function Rse(){if(MH)return Uc;MH=1;var t;Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.LRUCache=Uc.LinkedMap=Uc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Uc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Uc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Uc.LRUCache=n,Uc}var Dv={},OH;function eGe(){if(OH)return Dv;OH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Dv.Disposable=t={})),Dv}var df={},IH;function tGe(){if(IH)return df;IH=1,Object.defineProperty(df,"__esModule",{value:!0}),df.SharedArrayReceiverStrategy=df.SharedArraySenderStrategy=void 0;const t=HS();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}df.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return df.SharedArrayReceiverStrategy=a,df}var Hc={},Nv={},BH;function Dse(){if(BH)return Nv;BH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.Semaphore=void 0;const t=U0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Nv.Semaphore=e,Nv}var PH;function rGe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.ReadableStreamMessageReader=Hc.AbstractMessageReader=Hc.MessageReader=void 0;const t=U0(),e=Ax(),r=sy(),n=Dse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Hc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Hc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Hc.ReadableStreamMessageReader=o,Hc}var Wc={},FH;function nGe(){if(FH)return Wc;FH=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WriteableStreamMessageWriter=Wc.AbstractMessageWriter=Wc.MessageWriter=void 0;const t=U0(),e=Ax(),r=Dse(),n=sy(),i="Content-Length: ",a=`\r -`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Wc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Wc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Wc.WriteableStreamMessageWriter=u,Wc}var Mv={},$H;function iGe(){if($H)return Mv;$H=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return hn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return hn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function a(p){return e.call(p)==="[object String]"}t.string=a;function s(p){return e.call(p)==="[object Number]"}t.number=s;function o(p,m,v){return e.call(p)==="[object Number]"&&m<=p&&p<=v}t.numberRange=o;function l(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=l;function u(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=u;function h(p){return e.call(p)==="[object Function]"}t.func=h;function d(p){return p!==null&&typeof p=="object"}t.objectLiteral=d;function f(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=f})(ht||(ht={}));const Zqe=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return ou},get ChangeAnnotation(){return jf},get ChangeAnnotationIdentifier(){return ka},get CodeAction(){return IR},get CodeActionContext(){return OR},get CodeActionKind(){return MR},get CodeActionTriggerKind(){return Db},get CodeDescription(){return hR},get CodeLens(){return BR},get Color(){return Hw},get ColorInformation(){return aR},get ColorPresentation(){return sR},get Command(){return T0},get CompletionItem(){return TR},get CompletionItemKind(){return gR},get CompletionItemLabelDetails(){return xR},get CompletionItemTag(){return yR},get CompletionList(){return wR},get CreateFile(){return Em},get DeleteFile(){return _m},get Diagnostic(){return _b},get DiagnosticRelatedInformation(){return Ww},get DiagnosticSeverity(){return cR},get DiagnosticTag(){return uR},get DocumentHighlight(){return _R},get DocumentHighlightKind(){return kR},get DocumentLink(){return FR},get DocumentSymbol(){return NR},get DocumentUri(){return rR},EOL:jqe,get FoldingRange(){return lR},get FoldingRangeKind(){return oR},get FormattingOptions(){return PR},get Hover(){return CR},get InlayHint(){return YR},get InlayHintKind(){return jw},get InlayHintLabelPart(){return Kw},get InlineCompletionContext(){return JR},get InlineCompletionItem(){return jR},get InlineCompletionList(){return KR},get InlineCompletionTriggerKind(){return ZR},get InlineValueContext(){return WR},get InlineValueEvaluatableExpression(){return HR},get InlineValueText(){return GR},get InlineValueVariableLookup(){return UR},get InsertReplaceEdit(){return vR},get InsertTextFormat(){return mR},get InsertTextMode(){return bR},get Location(){return kb},get LocationLink(){return iR},get MarkedString(){return Rb},get MarkupContent(){return Am},get MarkupKind(){return Xw},get OptionalVersionedTextDocumentIdentifier(){return Lb},get ParameterInformation(){return SR},get Position(){return hn},get Range(){return Kr},get RenameFile(){return km},get SelectedCompletionInfo(){return QR},get SelectionRange(){return $R},get SemanticTokenModifiers(){return qR},get SemanticTokenTypes(){return zR},get SemanticTokens(){return VR},get SignatureInformation(){return ER},get StringValue(){return XR},get SymbolInformation(){return RR},get SymbolKind(){return AR},get SymbolTag(){return LR},get TextDocument(){return t9},get TextDocumentEdit(){return Ab},get TextDocumentIdentifier(){return dR},get TextDocumentItem(){return pR},get TextEdit(){return ec},get URI(){return Uw},get VersionedTextDocumentIdentifier(){return fR},WorkspaceChange:Xqe,get WorkspaceEdit(){return Yw},get WorkspaceFolder(){return e9},get WorkspaceSymbol(){return DR},get integer(){return nR},get uinteger(){return Eb}},Symbol.toStringTag,{value:"Module"}));class Qqe{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new pse(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new jM;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new r9(e.startOffset,e.image.length,UL(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new r9(a.startOffset,a.image.length,UL(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class fse{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class r9 extends fse{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class jM extends fse{constructor(){super(...arguments),this.content=new KM(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class KM extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,KM.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class pse extends jM{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const n9=Symbol("Datatype");function lA(t){return t.$type===n9}const wH="​",gse=t=>t.endsWith(wH)?t:t+wH;class mse{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new nVe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new vse(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Jqe extends mse{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Qqe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Nw(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(gse(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Xu(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===n9?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const h=v0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,h,s,l)}else if(lA(u)){let h=i.image;v0(n)||(h=this.converter.convert(h,s).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(lA(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):lA(e)?this.converter.convert(e.value,e.$cstNode):(sFe(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let v=0;vs?(s=x.precedence,a=v):x.precedence===s&&(x.rightAssoc||(a=v))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),h=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p=this.constructInfix(d,r),m=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=NS(e,y0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&OS(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class eVe{buildMismatchTokenMessage(e){return Sg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Sg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Sg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Sg.buildEarlyExitMessage(e)}}class yse extends eVe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class tVe extends mse{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(gse(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const rVe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new yse};class vse extends oqe{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...rVe,lookaheadStrategy:n?new GM({maxLookahead:r.maxLookahead}):new Aqe({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class nVe extends vse{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function bse(t,e,r){return iVe({parser:e,tokens:r,ruleNames:new Map},t),e}function iVe(t,e){const r=yae(e,!1),n=ii(e.rules).filter(Xu).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,w0(s,a.definition))}const i=ii(e.rules).filter(Nw).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,aVe(t,a))}function aVe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(ju(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const d=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,l)}));let f;return p=>{f??(f=ZM(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,f,!1,u,p)}})}}function w0(t,e,r=!1){let n;if(v0(e))n=dVe(t,e);else if(MS(e))n=sVe(t,e);else if(y0(e))n=w0(t,e.terminal);else if(OS(e))n=xse(t,e);else if(b0(e))n=oVe(t,e);else if(uae(e))n=cVe(t,e);else if(dae(e))n=uVe(t,e);else if(IM(e))n=hVe(t,e);else if(dFe(e)){const i=t.consume++;n=()=>t.parser.consume(i,pd,e)}else throw new pae(e.$cstNode,`Unexpected element type: ${e.$type}`);return Tse(t,r?void 0:Zw(e),n,e.cardinality)}function sVe(t,e){const r=Sb(e);return()=>t.parser.action(r,e)}function oVe(t,e){const r=e.rule.ref;if(xx(r)){const n=t.subrule++,i=Xu(r)&&r.fragment,a=e.arguments.length>0?lVe(r,e.arguments):()=>({});let s;return o=>{s??(s=ZM(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(ju(r)){const n=t.consume++,i=i9(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Tx();else throw new pae(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function lVe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Wl(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>Wl(i.value));return i=>{const a={};for(let s=0;se(n)||r(n)}else if(uFe(t)){const e=Wl(t.left),r=Wl(t.right);return n=>e(n)&&r(n)}else if(gFe(t)){const e=Wl(t.value);return r=>!e(r)}else if(mFe(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(lFe(t)){const e=!!t.true;return()=>e}Tx()}function cVe(t,e){if(e.elements.length===1)return w0(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:w0(t,i,!0)},s=Zw(i);s&&(a.GATE=Wl(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function uVe(t,e){if(e.elements.length===1)return w0(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:w0(t,o,!0)},u=Zw(o);u&&(l.GATE=Wl(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},a=o=>t.parser.alternatives(n,r.map((l,u)=>{const h={ALT:()=>!0},d=t.parser;h.ALT=()=>{if(l.ALT(o),!d.isRecording()){const p=i(n,d);d.unorderedGroups.get(p)||d.unorderedGroups.set(p,[]);const m=d.unorderedGroups.get(p);typeof m?.[u]>"u"&&(m[u]=!0)}};const f=l.GATE;return f?h.GATE=()=>f(o):h.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[u],h})),s=Tse(t,Zw(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function hVe(t,e){const r=e.elements.map(n=>w0(t,n));return n=>r.forEach(i=>i(n))}function Zw(t){if(IM(t))return t.guardCondition}function xse(t,e,r=e.terminal){if(r)if(b0(r)&&Xu(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=ZM(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(b0(r)&&ju(r.rule.ref)){const n=t.consume++,i=i9(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(v0(r)){const n=t.consume++,i=i9(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=xae(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Sb(e.type.ref));return xse(t,e,i)}}function dVe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Tse(t,e,r,n){const i=e&&Wl(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:yH(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:yH(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else Tx()}function ZM(t,e){const r=fVe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function fVe(t,e){if(xx(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Xu(n);)(IM(n)||uae(n)||dae(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function i9(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function pVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new tVe(t);return bse(e,n,r.definition),n.finalize(),n}function gVe(t){const e=mVe(t);return e.finalize(),e}function mVe(t){const e=t.Grammar,r=t.parser.Lexer,n=new Jqe(t);return bse(e,n,r.definition)}class wse{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ii(yae(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ju).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=PM(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=mae(r)?Fs.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(xx).flatMap(i=>bx(i).filter(v0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(BS(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&zFe("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Cse{convert(e,r){let n=r.grammarSource;if(OS(n)&&(n=UFe(n)),b0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return nu.convertInt(r);case"STRING":return nu.convertString(r);case"ID":return nu.convertID(r)}switch(ZFe(e)?.toLowerCase()){case"number":return nu.convertNumber(r);case"boolean":return nu.convertBoolean(r);case"bigint":return nu.convertBigint(r);case"date":return nu.convertDate(r);default:return r}}}var nu;(function(t){function e(u){let h="";for(let d=1;de(l))}return ba.stringArray=s,ba}var lf={},EH;function ay(){if(EH)return lf;EH=1,Object.defineProperty(lf,"__esModule",{value:!0}),lf.Emitter=lf.Event=void 0;const t=G0();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(lf.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return lf.Emitter=n,n._noop=function(){},lf}var kH;function US(){if(kH)return of;kH=1,Object.defineProperty(of,"__esModule",{value:!0}),of.CancellationTokenSource=of.CancellationToken=void 0;const t=G0(),e=_x(),r=ay();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const h=u;return h&&(h===o.None||h===o.Cancelled||e.boolean(h.isCancellationRequested)&&!!h.onCancellationRequested)}o.is=l})(n||(of.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return of.CancellationTokenSource=s,of}var si=US();function yVe(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let X3=0,vVe=10;function bVe(){return X3=performance.now(),new si.CancellationTokenSource}const Eg=Symbol("OperationCancelled");function HS(t){return t===Eg}async function ss(t){if(t===si.CancellationToken.None)return;const e=performance.now();if(e-X3>=vVe&&(X3=e,await yVe(),X3=performance.now()),t.isCancellationRequested)throw Eg}class QM{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Nb{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Nb.isIncremental(n)){const i=Ese(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const h=_H(n.text,!1,a);if(l-o===h.length)for(let f=0,p=h.length;fe?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1r&&Sse(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var a9;(function(t){function e(i,a,s,o){return new Nb(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Nb)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=s9(a.map(xVe),(h,d)=>{const f=h.range.start.line-d.range.start.line;return f===0?h.range.start.character-d.range.start.character:f});let l=0;const u=[];for(const h of o){const d=i.offsetAt(h.range.start);if(dl&&u.push(s.substring(l,d)),h.newText.length&&u.push(h.newText),l=i.offsetAt(h.range.end)}return u.push(s.substr(l)),u.join("")}t.applyEdits=n})(a9||(a9={}));function s9(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);s9(n,e),s9(i,e);let a=0,s=0,o=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function xVe(t){const e=Ese(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var kse;(()=>{var t={975:$=>{function q(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function z(I,N){for(var B,M="",V=0,U=-1,P=0,H=0;H<=I.length;++H){if(H2){var X=M.lastIndexOf("/");if(X!==M.length-1){X===-1?(M="",V=0):V=(M=M.slice(0,X)).length-1-M.lastIndexOf("/"),U=H,P=0;continue}}else if(M.length===2||M.length===1){M="",V=0,U=H,P=0;continue}}N&&(M.length>0?M+="/..":M="..",V=2)}else M.length>0?M+="/"+I.slice(U+1,H):M=I.slice(U+1,H),V=H-U-1;U=H,P=0}else B===46&&P!==-1?++P:P=-1}return M}var D={resolve:function(){for(var I,N="",B=!1,M=arguments.length-1;M>=-1&&!B;M--){var V;M>=0?V=arguments[M]:(I===void 0&&(I=process.cwd()),V=I),q(V),V.length!==0&&(N=V+"/"+N,B=V.charCodeAt(0)===47)}return N=z(N,!B),B?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(I){if(q(I),I.length===0)return".";var N=I.charCodeAt(0)===47,B=I.charCodeAt(I.length-1)===47;return(I=z(I,!N)).length!==0||N||(I="."),I.length>0&&B&&(I+="/"),N?"/"+I:I},isAbsolute:function(I){return q(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,N=0;N0&&(I===void 0?I=B:I+="/"+B)}return I===void 0?".":D.normalize(I)},relative:function(I,N){if(q(I),q(N),I===N||(I=D.resolve(I))===(N=D.resolve(N)))return"";for(var B=1;BH){if(N.charCodeAt(U+Z)===47)return N.slice(U+Z+1);if(Z===0)return N.slice(U+Z)}else V>H&&(I.charCodeAt(B+Z)===47?X=Z:Z===0&&(X=0));break}var j=I.charCodeAt(B+Z);if(j!==N.charCodeAt(U+Z))break;j===47&&(X=Z)}var ee="";for(Z=B+X+1;Z<=M;++Z)Z!==M&&I.charCodeAt(Z)!==47||(ee.length===0?ee+="..":ee+="/..");return ee.length>0?ee+N.slice(U+X):(U+=X,N.charCodeAt(U)===47&&++U,N.slice(U))},_makeLong:function(I){return I},dirname:function(I){if(q(I),I.length===0)return".";for(var N=I.charCodeAt(0),B=N===47,M=-1,V=!0,U=I.length-1;U>=1;--U)if((N=I.charCodeAt(U))===47){if(!V){M=U;break}}else V=!1;return M===-1?B?"/":".":B&&M===1?"//":I.slice(0,M)},basename:function(I,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');q(I);var B,M=0,V=-1,U=!0;if(N!==void 0&&N.length>0&&N.length<=I.length){if(N.length===I.length&&N===I)return"";var P=N.length-1,H=-1;for(B=I.length-1;B>=0;--B){var X=I.charCodeAt(B);if(X===47){if(!U){M=B+1;break}}else H===-1&&(U=!1,H=B+1),P>=0&&(X===N.charCodeAt(P)?--P==-1&&(V=B):(P=-1,V=H))}return M===V?V=H:V===-1&&(V=I.length),I.slice(M,V)}for(B=I.length-1;B>=0;--B)if(I.charCodeAt(B)===47){if(!U){M=B+1;break}}else V===-1&&(U=!1,V=B+1);return V===-1?"":I.slice(M,V)},extname:function(I){q(I);for(var N=-1,B=0,M=-1,V=!0,U=0,P=I.length-1;P>=0;--P){var H=I.charCodeAt(P);if(H!==47)M===-1&&(V=!1,M=P+1),H===46?N===-1?N=P:U!==1&&(U=1):N!==-1&&(U=-1);else if(!V){B=P+1;break}}return N===-1||M===-1||U===0||U===1&&N===M-1&&N===B+1?"":I.slice(N,M)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return(function(N,B){var M=B.dir||B.root,V=B.base||(B.name||"")+(B.ext||"");return M?M===B.root?M+V:M+"/"+V:V})(0,I)},parse:function(I){q(I);var N={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return N;var B,M=I.charCodeAt(0),V=M===47;V?(N.root="/",B=1):B=0;for(var U=-1,P=0,H=-1,X=!0,Z=I.length-1,j=0;Z>=B;--Z)if((M=I.charCodeAt(Z))!==47)H===-1&&(X=!1,H=Z+1),M===46?U===-1?U=Z:j!==1&&(j=1):U!==-1&&(j=-1);else if(!X){P=Z+1;break}return U===-1||H===-1||j===0||j===1&&U===H-1&&U===P+1?H!==-1&&(N.base=N.name=P===0&&V?I.slice(1,H):I.slice(P,H)):(P===0&&V?(N.name=I.slice(1,U),N.base=I.slice(1,H)):(N.name=I.slice(P,U),N.base=I.slice(P,H)),N.ext=I.slice(U,H)),P>0?N.dir=I.slice(0,P-1):V&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,$.exports=D}},e={};function r($){var q=e[$];if(q!==void 0)return q.exports;var z=e[$]={exports:{}};return t[$](z,z.exports,r),z.exports}r.d=($,q)=>{for(var z in q)r.o(q,z)&&!r.o($,z)&&Object.defineProperty($,z,{enumerable:!0,get:q[z]})},r.o=($,q)=>Object.prototype.hasOwnProperty.call($,q),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>f,Utils:()=>F}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l($,q){if(!$.scheme&&q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(q){return q instanceof f||!!q&&typeof q.authority=="string"&&typeof q.fragment=="string"&&typeof q.path=="string"&&typeof q.query=="string"&&typeof q.scheme=="string"&&typeof q.fsPath=="string"&&typeof q.with=="function"&&typeof q.toString=="function"}scheme;authority;path;query;fragment;constructor(q,z,D,I,N,B=!1){typeof q=="object"?(this.scheme=q.scheme||u,this.authority=q.authority||u,this.path=q.path||u,this.query=q.query||u,this.fragment=q.fragment||u):(this.scheme=(function(M,V){return M||V?M:"file"})(q,B),this.authority=z||u,this.path=(function(M,V){switch(M){case"https":case"http":case"file":V?V[0]!==h&&(V=h+V):V=h}return V})(this.scheme,D||u),this.query=I||u,this.fragment=N||u,l(this,B))}get fsPath(){return C(this)}with(q){if(!q)return this;let{scheme:z,authority:D,path:I,query:N,fragment:B}=q;return z===void 0?z=this.scheme:z===null&&(z=u),D===void 0?D=this.authority:D===null&&(D=u),I===void 0?I=this.path:I===null&&(I=u),N===void 0?N=this.query:N===null&&(N=u),B===void 0?B=this.fragment:B===null&&(B=u),z===this.scheme&&D===this.authority&&I===this.path&&N===this.query&&B===this.fragment?this:new m(z,D,I,N,B)}static parse(q,z=!1){const D=d.exec(q);return D?new m(D[2]||u,R(D[4]||u),R(D[5]||u),R(D[7]||u),R(D[9]||u),z):new m(u,u,u,u,u)}static file(q){let z=u;if(i&&(q=q.replace(/\\/g,h)),q[0]===h&&q[1]===h){const D=q.indexOf(h,2);D===-1?(z=q.substring(2),q=h):(z=q.substring(2,D),q=q.substring(D)||h)}return new m("file",z,q,u,u)}static from(q){const z=new m(q.scheme,q.authority,q.path,q.query,q.fragment);return l(z,!0),z}toString(q=!1){return T(this,q)}toJSON(){return this}static revive(q){if(q){if(q instanceof f)return q;{const z=new m(q);return z._formatted=q.external,z._fsPath=q._sep===p?q.fsPath:null,z}}return q}}const p=i?1:void 0;class m extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=C(this)),this._fsPath}toString(q=!1){return q?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const q={$mid:1};return this._fsPath&&(q.fsPath=this._fsPath,q._sep=p),this._formatted&&(q.external=this._formatted),this.path&&(q.path=this.path),this.scheme&&(q.scheme=this.scheme),this.authority&&(q.authority=this.authority),this.query&&(q.query=this.query),this.fragment&&(q.fragment=this.fragment),q}}const v={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function b($,q,z){let D,I=-1;for(let N=0;N<$.length;N++){const B=$.charCodeAt(N);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||q&&B===47||z&&B===91||z&&B===93||z&&B===58)I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D!==void 0&&(D+=$.charAt(N));else{D===void 0&&(D=$.substr(0,N));const M=v[B];M!==void 0?(I!==-1&&(D+=encodeURIComponent($.substring(I,N)),I=-1),D+=M):I===-1&&(I=N)}}return I!==-1&&(D+=encodeURIComponent($.substring(I))),D!==void 0?D:$}function x($){let q;for(let z=0;z<$.length;z++){const D=$.charCodeAt(z);D===35||D===63?(q===void 0&&(q=$.substr(0,z)),q+=v[D]):q!==void 0&&(q+=$[z])}return q!==void 0?q:$}function C($,q){let z;return z=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(z=z.replace(/\//g,"\\")),z}function T($,q){const z=q?x:b;let D="",{scheme:I,authority:N,path:B,query:M,fragment:V}=$;if(I&&(D+=I,D+=":"),(N||I==="file")&&(D+=h,D+=h),N){let U=N.indexOf("@");if(U!==-1){const P=N.substr(0,U);N=N.substr(U+1),U=P.lastIndexOf(":"),U===-1?D+=z(P,!1,!1):(D+=z(P.substr(0,U),!1,!1),D+=":",D+=z(P.substr(U+1),!1,!0)),D+="@"}N=N.toLowerCase(),U=N.lastIndexOf(":"),U===-1?D+=z(N,!1,!0):(D+=z(N.substr(0,U),!1,!0),D+=N.substr(U))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const U=B.charCodeAt(1);U>=65&&U<=90&&(B=`/${String.fromCharCode(U+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const U=B.charCodeAt(0);U>=65&&U<=90&&(B=`${String.fromCharCode(U+32)}:${B.substr(2)}`)}D+=z(B,!0,!1)}return M&&(D+="?",D+=z(M,!1,!1)),V&&(D+="#",D+=q?V:b(V,!1,!1)),D}function E($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+E($.substr(3)):$}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R($){return $.match(_)?$.replace(_,(q=>E(q))):$}var k=r(975);const L=k.posix||k,O="/";var F;(function($){$.joinPath=function(q,...z){return q.with({path:L.join(q.path,...z)})},$.resolvePath=function(q,...z){let D=q.path,I=!1;D[0]!==O&&(D=O+D,I=!0);let N=L.resolve(D,...z);return I&&N[0]===O&&!q.authority&&(N=N.substring(1)),q.with({path:N})},$.dirname=function(q){if(q.path.length===0||q.path===O)return q;let z=L.dirname(q.path);return z.length===1&&z.charCodeAt(0)===46&&(z=""),q.with({path:z})},$.basename=function(q){return L.basename(q.path)},$.extname=function(q){return L.extname(q.path)}})(F||(F={})),kse=n})();const{URI:vl,Utils:Lv}=kse;var oo;(function(t){t.basename=Lv.basename,t.dirname=Lv.dirname,t.extname=Lv.extname,t.joinPath=Lv.joinPath,t.resolvePath=Lv.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?vl.parse(s).path:s.path,u=typeof o=="string"?vl.parse(o).path:o.path,h=l.split("/").filter(v=>v.length>0),d=u.split("/").filter(v=>v.length>0);if(e){const v=/^[A-Z]:$/;if(h[0]&&v.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]&&v.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]!==d[0])return u.substring(1)}let f=0;for(;f({name:i.name,uri:oo.joinPath(vl.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(oo.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var qr;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));class wVe{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=si.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??vl.parse(e.uri),si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return si.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=a9.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class CVe{constructor(e){this.documentTrie=new TVe,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ii(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}const Gp=Symbol("RefResolving");class SVe{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=si.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of Su(e.parseResult.value))await ss(r),Dw(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of Su(e.parseResult.value))await ss(r),Dw(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Gp;try{const i=this.getCandidate(e);if(Cv(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Gp;try{const i=this.getCandidates(e),a=[];if(Cv(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(za(this._ref))return this._ref;if(iFe(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Gp;const o=B3(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Cv(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=B3(e.container).$document;n&&n.stateOS(r)&&r.isMulti)}findDeclarations(e){if(e){const r=jFe(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ul(i)||Kh(i))return PU(i);if(Array.isArray(i)){for(const a of i)if((ul(a)||Kh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return PU(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||kFe(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Dw(n))if(Kh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>oo.equals(a.sourceUri,r.documentUri))),n.push(...i),ii(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Cu(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Mw(a),local:!0})}}return n}}class Mb{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return IL.sum(ii(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?ii(r):lae}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ii(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ii(this.map.keys())}values(){return ii(this.map.values()).flat()}entriesGroupedByKey(){return ii(this.map.entries())}}class AH{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class AVe{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=si.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=OM,i=si.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await ss(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=si.CancellationToken.None){const n=e.parseResult.value,i=new Mb;for(const a of bx(n))await ss(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class LH{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class LVe{constructor(e,r,n){this.elements=new Mb,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ii(n).concat(this.outerScope.getElements(e)):ii(n)}getAllElements(){let e=ii(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class _se{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class RVe extends _se{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class DVe extends _se{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class NVe extends RVe{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class MVe{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new NVe(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Cu(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new LH(ii(e),r,n)}createScopeForNodes(e,r,n){const i=ii(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new LH(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new LVe(this.indexManager.allElements(e)))}}function OVe(t){return typeof t.$comment=="string"}function RH(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class IVe{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Cu(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ul(r)){const l=r.ref,u=n?r.$refText:void 0;if(l){const h=Cu(l);let d="";this.currentDocument&&this.currentDocument!==h&&(o?d=o(h.uri,l):d=h.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:u}}else return{$error:r.error?.message??"Could not resolve reference",$refText:u}}else if(Kh(r)){const l=n?r.$refText:void 0,u=[];for(const h of r.items){const d=h.ref,f=Cu(h.ref);let p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,d):p=f.uri.toString());const m=this.astNodeLocator.getAstNodePath(d);u.push(`${p}#${m}`)}return{$refs:u,$refText:l}}else if(za(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const u=this.commentProvider.getComment(r);u&&(l.$comment=u.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=WFe(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let h=0;h{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(HS(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ii(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const FVe=Object.freeze({validateNode:!0,validateChildren:!0});class $Ve{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=si.CancellationToken.None){const i=e.parseResult,a=[];if(await ss(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===cl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===cl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===cl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(HS(s))throw s;console.error("An error occurred during validation:",s)}return await ss(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:cA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:qVe(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=UL(i.token);if(a){const s={severity:cA("error"),range:a,message:i.message,data:g2(cl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:cl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=si.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=si.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Su(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const h of u)await h(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Su(e).iterator();for(const s of a){await ss(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const u of l)await u(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return FVe}async validateAstAfter(e,r,n,i=si.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await ss(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:zVe(n),severity:cA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function zVe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=bae(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=YFe(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function cA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function qVe(t){switch(t){case"error":return g2(cl.LexingError);case"warning":return g2(cl.LexingWarning);case"info":return g2(cl.LexingInfo);case"hint":return g2(cl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var cl;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(cl||(cl={}));class VVe{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Cu(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=Mw(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Mw(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class GVe{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=si.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of Su(i))await ss(r),Dw(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ul(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Kh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Cu(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Mw(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:oo.equals(l.documentUri,i)});return s}}class UVe{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var HVe=ay();class WVe{constructor(e){this._ready=new QM,this.onConfigurationSectionUpdateEmitter=new HVe.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var cf={},uf={},B4={},uA={},ur={},DH;function Ase(){if(DH)return ur;DH=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.Message=ur.NotificationType9=ur.NotificationType8=ur.NotificationType7=ur.NotificationType6=ur.NotificationType5=ur.NotificationType4=ur.NotificationType3=ur.NotificationType2=ur.NotificationType1=ur.NotificationType0=ur.NotificationType=ur.RequestType9=ur.RequestType8=ur.RequestType7=ur.RequestType6=ur.RequestType5=ur.RequestType4=ur.RequestType3=ur.RequestType2=ur.RequestType1=ur.RequestType=ur.RequestType0=ur.AbstractMessageSignature=ur.ParameterStructures=ur.ResponseError=ur.ErrorCodes=void 0;const t=_x();var e;(function(q){q.ParseError=-32700,q.InvalidRequest=-32600,q.MethodNotFound=-32601,q.InvalidParams=-32602,q.InternalError=-32603,q.jsonrpcReservedErrorRangeStart=-32099,q.serverErrorStart=-32099,q.MessageWriteError=-32099,q.MessageReadError=-32098,q.PendingResponseRejected=-32097,q.ConnectionInactive=-32096,q.ServerNotInitialized=-32002,q.UnknownErrorCode=-32001,q.jsonrpcReservedErrorRangeEnd=-32e3,q.serverErrorEnd=-32e3})(e||(ur.ErrorCodes=e={}));class r extends Error{constructor(z,D,I){super(D),this.code=t.number(z)?z:e.UnknownErrorCode,this.data=I,Object.setPrototypeOf(this,r.prototype)}toJson(){const z={code:this.code,message:this.message};return this.data!==void 0&&(z.data=this.data),z}}ur.ResponseError=r;class n{constructor(z){this.kind=z}static is(z){return z===n.auto||z===n.byName||z===n.byPosition}toString(){return this.kind}}ur.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(z,D){this.method=z,this.numberOfParams=D}get parameterStructures(){return n.auto}}ur.AbstractMessageSignature=i;class a extends i{constructor(z){super(z,0)}}ur.RequestType0=a;class s extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType=s;class o extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.RequestType1=o;class l extends i{constructor(z){super(z,2)}}ur.RequestType2=l;class u extends i{constructor(z){super(z,3)}}ur.RequestType3=u;class h extends i{constructor(z){super(z,4)}}ur.RequestType4=h;class d extends i{constructor(z){super(z,5)}}ur.RequestType5=d;class f extends i{constructor(z){super(z,6)}}ur.RequestType6=f;class p extends i{constructor(z){super(z,7)}}ur.RequestType7=p;class m extends i{constructor(z){super(z,8)}}ur.RequestType8=m;class v extends i{constructor(z){super(z,9)}}ur.RequestType9=v;class b extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType=b;class x extends i{constructor(z){super(z,0)}}ur.NotificationType0=x;class C extends i{constructor(z,D=n.auto){super(z,1),this._parameterStructures=D}get parameterStructures(){return this._parameterStructures}}ur.NotificationType1=C;class T extends i{constructor(z){super(z,2)}}ur.NotificationType2=T;class E extends i{constructor(z){super(z,3)}}ur.NotificationType3=E;class _ extends i{constructor(z){super(z,4)}}ur.NotificationType4=_;class R extends i{constructor(z){super(z,5)}}ur.NotificationType5=R;class k extends i{constructor(z){super(z,6)}}ur.NotificationType6=k;class L extends i{constructor(z){super(z,7)}}ur.NotificationType7=L;class O extends i{constructor(z){super(z,8)}}ur.NotificationType8=O;class F extends i{constructor(z){super(z,9)}}ur.NotificationType9=F;var $;return(function(q){function z(N){const B=N;return B&&t.string(B.method)&&(t.string(B.id)||t.number(B.id))}q.isRequest=z;function D(N){const B=N;return B&&t.string(B.method)&&N.id===void 0}q.isNotification=D;function I(N){const B=N;return B&&(B.result!==void 0||!!B.error)&&(t.string(B.id)||t.number(B.id)||B.id===null)}q.isResponse=I})($||(ur.Message=$={})),ur}var Gc={},NH;function Lse(){if(NH)return Gc;NH=1;var t;Object.defineProperty(Gc,"__esModule",{value:!0}),Gc.LRUCache=Gc.LinkedMap=Gc.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Gc.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}Gc.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Gc.LRUCache=n,Gc}var Rv={},MH;function YVe(){if(MH)return Rv;MH=1,Object.defineProperty(Rv,"__esModule",{value:!0}),Rv.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(Rv.Disposable=t={})),Rv}var hf={},OH;function XVe(){if(OH)return hf;OH=1,Object.defineProperty(hf,"__esModule",{value:!0}),hf.SharedArrayReceiverStrategy=hf.SharedArraySenderStrategy=void 0;const t=US();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),u=new Int32Array(l,0,1);u[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const u=this.buffers.get(l);if(u===void 0)return;const h=new Int32Array(u,0,1);Atomics.store(h,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}hf.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return hf.SharedArrayReceiverStrategy=a,hf}var Uc={},Dv={},IH;function Rse(){if(IH)return Dv;IH=1,Object.defineProperty(Dv,"__esModule",{value:!0}),Dv.Semaphore=void 0;const t=G0();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return Dv.Semaphore=e,Dv}var BH;function jVe(){if(BH)return Uc;BH=1,Object.defineProperty(Uc,"__esModule",{value:!0}),Uc.ReadableStreamMessageReader=Uc.AbstractMessageReader=Uc.MessageReader=void 0;const t=G0(),e=_x(),r=ay(),n=Rse();var i;(function(l){function u(h){let d=h;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=u})(i||(Uc.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Uc.AbstractMessageReader=a;var s;(function(l){function u(h){let d,f;const p=new Map;let m;const v=new Map;if(h===void 0||typeof h=="string")d=h??"utf-8";else{if(d=h.charset??"utf-8",h.contentDecoder!==void 0&&(f=h.contentDecoder,p.set(f.name,f)),h.contentDecoders!==void 0)for(const b of h.contentDecoders)p.set(b.name,b);if(h.contentTypeDecoder!==void 0&&(m=h.contentTypeDecoder,v.set(m.name,m)),h.contentTypeDecoders!==void 0)for(const b of h.contentTypeDecoders)v.set(b.name,b)}return m===void 0&&(m=(0,t.default)().applicationJson.decoder,v.set(m.name,m)),{charset:d,contentDecoder:f,contentDecoders:p,contentTypeDecoder:m,contentTypeDecoders:v}}l.fromOptions=u})(s||(s={}));class o extends a{constructor(u,h){super(),this.readable=u,this.options=s.fromOptions(h),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const h=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),h}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(d))}`));return}const p=parseInt(f);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=p}const h=this.buffer.tryReadBody(this.nextMessageLength);if(h===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(h):h,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(h){this.fireError(h)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,h)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:h}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Uc.ReadableStreamMessageReader=o,Uc}var Hc={},PH;function KVe(){if(PH)return Hc;PH=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.WriteableStreamMessageWriter=Hc.AbstractMessageWriter=Hc.MessageWriter=void 0;const t=G0(),e=_x(),r=Rse(),n=ay(),i="Content-Length: ",a=`\r +`;var s;(function(h){function d(f){let p=f;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}h.is=d})(s||(Hc.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,p){this.errorEmitter.fire([this.asError(d),f,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Hc.AbstractMessageWriter=o;var l;(function(h){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}h.fromOptions=d})(l||(l={}));class u extends o{constructor(d,f){super(),this.writable=d,this.options=l.fromOptions(f),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const m=[];return m.push(i,p.byteLength.toString(),a),m.push(a),this.doWrite(d,m,p)},p=>{throw this.fireError(p),p}))}async doWrite(d,f,p){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(p)}catch(m){return this.handleError(m,d),Promise.reject(m)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Hc.WriteableStreamMessageWriter=u,Hc}var Nv={},FH;function ZVe(){if(FH)return Nv;FH=1,Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r `;class n{constructor(a="utf-8"){this._encoding=a,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(a){const s=typeof a=="string"?this.fromString(a,this._encoding):a;this._chunks.push(s),this._totalLength+=s.byteLength}tryReadHeaders(a=!1){if(this._chunks.length===0)return;let s=0,o=0,l=0,u=0;e:for(;othis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Mv.AbstractMessageBuffer=n,Mv}var dA={},zH;function aGe(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=U0(),r=Ax(),n=Lse(),i=Rse(),a=sy(),s=HS();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var A;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(A||(t.CancellationReceiverStrategy=A={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var R;(function(z){z.Message=Object.freeze({receiver:A.Message,sender:k.Message});function D(I){const N=I;return N&&A.is(N.receiver)&&k.is(N.sender)}z.is=D})(R||(t.CancellationStrategy=R={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(R.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const j=new Map;let Z;const X=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Le=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:R.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function De(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(De(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function je(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=j.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Zt=>{ie.delete(vt),nt(Zt,Ce.method,pr)},Zt=>{ie.delete(vt),Zt instanceof n.ResponseError?st(Zt,Ce.method,pr):Zt&&r.string(Zt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Zt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: -${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=X.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Le.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: +${m}`);const b=m.substr(0,v),x=m.substr(v+1).trim();d.set(a?b.toLowerCase():b,x)}return d}tryReadBody(a){if(!(this._totalLengththis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(u)}if(this._chunks[0].byteLength>a){const u=this._chunks[0],h=this.asNative(u,a);return this._chunks[0]=u.slice(a),this._totalLength-=a,h}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const u=this._chunks[l];if(u.byteLength>a){const h=u.slice(0,a);s.set(h,o),o+=a,this._chunks[l]=u.slice(a),this._totalLength-=a,a-=a}else s.set(u,o),o+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,a-=u.byteLength}return s}}return Nv.AbstractMessageBuffer=n,Nv}var hA={},$H;function QVe(){return $H||($H=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=G0(),r=_x(),n=Ase(),i=Lse(),a=ay(),s=US();var o;(function(z){z.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(z){function D(I){return typeof I=="string"||typeof I=="number"}z.is=D})(l||(t.ProgressToken=l={}));var u;(function(z){z.type=new n.NotificationType("$/progress")})(u||(u={}));class h{constructor(){}}t.ProgressType=h;var d;(function(z){function D(I){return r.func(I)}z.is=D})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(z){z[z.Off=0]="Off",z[z.Messages=1]="Messages",z[z.Compact=2]="Compact",z[z.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(z){z.Off="off",z.Messages="messages",z.Compact="compact",z.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(z){function D(N){if(!r.string(N))return z.Off;switch(N=N.toLowerCase(),N){case"off":return z.Off;case"messages":return z.Messages;case"compact":return z.Compact;case"verbose":return z.Verbose;default:return z.Off}}z.fromString=D;function I(N){switch(N){case z.Off:return"off";case z.Messages:return"messages";case z.Compact:return"compact";case z.Verbose:return"verbose";default:return"off"}}z.toString=I})(f||(t.Trace=f={}));var m;(function(z){z.Text="text",z.JSON="json"})(m||(t.TraceFormat=m={})),(function(z){function D(I){return r.string(I)?(I=I.toLowerCase(),I==="json"?z.JSON:z.Text):z.Text}z.fromString=D})(m||(t.TraceFormat=m={}));var v;(function(z){z.type=new n.NotificationType("$/setTrace")})(v||(t.SetTraceNotification=v={}));var b;(function(z){z.type=new n.NotificationType("$/logTrace")})(b||(t.LogTraceNotification=b={}));var x;(function(z){z[z.Closed=1]="Closed",z[z.Disposed=2]="Disposed",z[z.AlreadyListening=3]="AlreadyListening"})(x||(t.ConnectionErrors=x={}));class C extends Error{constructor(D,I){super(I),this.code=D,Object.setPrototypeOf(this,C.prototype)}}t.ConnectionError=C;var T;(function(z){function D(I){const N=I;return N&&r.func(N.cancelUndispatched)}z.is=D})(T||(t.ConnectionStrategy=T={}));var E;(function(z){function D(I){const N=I;return N&&(N.kind===void 0||N.kind==="id")&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(E||(t.IdCancellationReceiverStrategy=E={}));var _;(function(z){function D(I){const N=I;return N&&N.kind==="request"&&r.func(N.createCancellationTokenSource)&&(N.dispose===void 0||r.func(N.dispose))}z.is=D})(_||(t.RequestCancellationReceiverStrategy=_={}));var R;(function(z){z.Message=Object.freeze({createCancellationTokenSource(I){return new s.CancellationTokenSource}});function D(I){return E.is(I)||_.is(I)}z.is=D})(R||(t.CancellationReceiverStrategy=R={}));var k;(function(z){z.Message=Object.freeze({sendCancellation(I,N){return I.sendNotification(o.type,{id:N})},cleanup(I){}});function D(I){const N=I;return N&&r.func(N.sendCancellation)&&r.func(N.cleanup)}z.is=D})(k||(t.CancellationSenderStrategy=k={}));var L;(function(z){z.Message=Object.freeze({receiver:R.Message,sender:k.Message});function D(I){const N=I;return N&&R.is(N.receiver)&&k.is(N.sender)}z.is=D})(L||(t.CancellationStrategy=L={}));var O;(function(z){function D(I){const N=I;return N&&r.func(N.handleMessage)}z.is=D})(O||(t.MessageStrategy=O={}));var F;(function(z){function D(I){const N=I;return N&&(L.is(N.cancellationStrategy)||T.is(N.connectionStrategy)||O.is(N.messageStrategy))}z.is=D})(F||(t.ConnectionOptions=F={}));var $;(function(z){z[z.New=1]="New",z[z.Listening=2]="Listening",z[z.Closed=3]="Closed",z[z.Disposed=4]="Disposed"})($||($={}));function q(z,D,I,N){const B=I!==void 0?I:t.NullLogger;let M=0,V=0,U=0;const P="2.0";let H;const X=new Map;let Z;const j=new Map,ee=new Map;let Q,he=new i.LinkedMap,te=new Map,ae=new Set,ie=new Map,ne=f.Off,me=m.Text,pe,Me=$.New;const $e=new a.Emitter,He=new a.Emitter,Ae=new a.Emitter,Oe=new a.Emitter,We=new a.Emitter,Te=N&&N.cancellationStrategy?N.cancellationStrategy:L.Message;function ot(Ce){if(Ce===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Ce.toString()}function Re(Ce){return Ce===null?"res-unknown-"+(++U).toString():"res-"+Ce.toString()}function Ge(){return"not-"+(++V).toString()}function it(Ce,nt){n.Message.isRequest(nt)?Ce.set(ot(nt.id),nt):n.Message.isResponse(nt)?Ce.set(Re(nt.id),nt):Ce.set(Ge(),nt)}function Ye(Ce){}function Xe(){return Me===$.Listening}function at(){return Me===$.Closed}function xe(){return Me===$.Disposed}function Ze(){(Me===$.New||Me===$.Listening)&&(Me=$.Closed,He.fire(void 0))}function se(Ce){$e.fire([Ce,void 0,void 0])}function be(Ce){$e.fire(Ce)}z.onClose(Ze),z.onError(se),D.onClose(Ze),D.onError(be);function Y(){Q||he.size===0||(Q=(0,e.default)().timer.setImmediate(()=>{Q=void 0,fe()}))}function de(Ce){n.Message.isRequest(Ce)?Ee(Ce):n.Message.isNotification(Ce)?Ue(Ce):n.Message.isResponse(Ce)?Ie(Ce):_e(Ce)}function fe(){if(he.size===0)return;const Ce=he.shift();try{const nt=N?.messageStrategy;O.is(nt)?nt.handleMessage(Ce,de):de(Ce)}finally{Y()}}const we=Ce=>{try{if(n.Message.isNotification(Ce)&&Ce.method===o.type.method){const nt=Ce.params.id,st=ot(nt),It=he.get(st);if(n.Message.isRequest(It)){const Ut=N?.connectionStrategy,rr=Ut&&Ut.cancelUndispatched?Ut.cancelUndispatched(It,Ye):void 0;if(rr&&(rr.error!==void 0||rr.result!==void 0)){he.delete(st),ie.delete(nt),rr.id=It.id,lt(rr,Ce.method,Date.now()),D.write(rr).catch(()=>B.error("Sending response for canceled message failed."));return}}const Wt=ie.get(nt);if(Wt!==void 0){Wt.cancel(),Qe(Ce);return}else ae.add(nt)}it(he,Ce)}finally{Y()}};function Ee(Ce){if(xe())return;function nt(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id};vt instanceof n.ResponseError?Rt.error=vt.toJson():Rt.result=vt===void 0?null:vt,lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function st(vt,Ne,ft){const Rt={jsonrpc:P,id:Ce.id,error:vt.toJson()};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}function It(vt,Ne,ft){vt===void 0&&(vt=null);const Rt={jsonrpc:P,id:Ce.id,result:vt};lt(Rt,Ne,ft),D.write(Rt).catch(()=>B.error("Sending response failed."))}ve(Ce);const Wt=X.get(Ce.method);let Ut,rr;Wt&&(Ut=Wt.type,rr=Wt.handler);const pr=Date.now();if(rr||H){const vt=Ce.id??String(Date.now()),Ne=E.is(Te.receiver)?Te.receiver.createCancellationTokenSource(vt):Te.receiver.createCancellationTokenSource(Ce);Ce.id!==null&&ae.has(Ce.id)&&Ne.cancel(),Ce.id!==null&&ie.set(vt,Ne);try{let ft;if(rr)if(Ce.params===void 0){if(Ut!==void 0&&Ut.numberOfParams!==0){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines ${Ut.numberOfParams} params but received none.`),Ce.method,pr);return}ft=rr(Ne.token)}else if(Array.isArray(Ce.params)){if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byName){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by name but received parameters by position`),Ce.method,pr);return}ft=rr(...Ce.params,Ne.token)}else{if(Ut!==void 0&&Ut.parameterStructures===n.ParameterStructures.byPosition){st(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${Ce.method} defines parameters by position but received parameters by name`),Ce.method,pr);return}ft=rr(Ce.params,Ne.token)}else H&&(ft=H(Ce.method,Ce.params,Ne.token));const Rt=ft;ft?Rt.then?Rt.then(Kt=>{ie.delete(vt),nt(Kt,Ce.method,pr)},Kt=>{ie.delete(vt),Kt instanceof n.ResponseError?st(Kt,Ce.method,pr):Kt&&r.string(Kt.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${Kt.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}):(ie.delete(vt),nt(ft,Ce.method,pr)):(ie.delete(vt),It(ft,Ce.method,pr))}catch(ft){ie.delete(vt),ft instanceof n.ResponseError?nt(ft,Ce.method,pr):ft&&r.string(ft.message)?st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed with message: ${ft.message}`),Ce.method,pr):st(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${Ce.method} failed unexpectedly without providing any details.`),Ce.method,pr)}}else st(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${Ce.method}`),Ce.method,pr)}function Ie(Ce){if(!xe())if(Ce.id===null)Ce.error?B.error(`Received response message without id: Error is: +${JSON.stringify(Ce.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const nt=Ce.id,st=te.get(nt);if(Se(Ce,st),st!==void 0){te.delete(nt);try{if(Ce.error){const It=Ce.error;st.reject(new n.ResponseError(It.code,It.message,It.data))}else if(Ce.result!==void 0)st.resolve(Ce.result);else throw new Error("Should never happen.")}catch(It){It.message?B.error(`Response handler '${st.method}' failed with message: ${It.message}`):B.error(`Response handler '${st.method}' failed unexpectedly.`)}}}}function Ue(Ce){if(xe())return;let nt,st;if(Ce.method===o.type.method){const It=Ce.params.id;ae.delete(It),Qe(Ce);return}else{const It=j.get(Ce.method);It&&(st=It.handler,nt=It.type)}if(st||Z)try{if(Qe(Ce),st)if(Ce.params===void 0)nt!==void 0&&nt.numberOfParams!==0&&nt.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received none.`),st();else if(Array.isArray(Ce.params)){const It=Ce.params;Ce.method===u.type.method&&It.length===2&&l.is(It[0])?st({token:It[0],value:It[1]}):(nt!==void 0&&(nt.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${Ce.method} defines parameters by name but received parameters by position`),nt.numberOfParams!==Ce.params.length&&B.error(`Notification ${Ce.method} defines ${nt.numberOfParams} params but received ${It.length} arguments`)),st(...It))}else nt!==void 0&&nt.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${Ce.method} defines parameters by position but received parameters by name`),st(Ce.params);else Z&&Z(Ce.method,Ce.params)}catch(It){It.message?B.error(`Notification handler '${Ce.method}' failed with message: ${It.message}`):B.error(`Notification handler '${Ce.method}' failed unexpectedly.`)}else Ae.fire(Ce)}function _e(Ce){if(!Ce){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){const st=nt.id,It=te.get(st);It&&It.reject(new Error("The received response has neither a result nor an error property."))}}function ze(Ce){if(Ce!=null)switch(ne){case f.Verbose:return JSON.stringify(Ce,null,4);case f.Compact:return JSON.stringify(Ce);default:return}}function et(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&Ce.params&&(nt=`Params: ${ze(Ce.params)} `),pe.log(`Sending request '${Ce.method} - (${Ce.id})'.`,nt)}else Nt("send-request",Ce)}function qe(Ce){if(!(ne===f.Off||!pe))if(me===m.Text){let nt;(ne===f.Verbose||ne===f.Compact)&&(Ce.params?nt=`Params: ${ze(Ce.params)} @@ -1343,45 +1343,45 @@ ${JSON.stringify(Ce,null,4)}`);const nt=Ce;if(r.string(nt.id)||r.number(nt.id)){ `:Ce.error===void 0&&(st=`No result returned. -`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(je())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!je())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,X.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?X.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Zt=nt.length;s.CancellationToken.is(Ne)&&(Zt=Zt-1,Wt=Ne);const _r=Zt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Zt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Zt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Zt)}catch(_r){throw B.error("Sending request failed."),Zt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,j.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?j.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Le.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(dA)),dA}var qH;function c9(){return qH||(qH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Lse();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Rse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=eGe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=sy();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=HS();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=tGe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=rGe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=nGe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=iGe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=aGe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=U0();t.RAL=d.default})(hA)),hA}var VH;function sGe(){if(VH)return PT;VH=1,Object.defineProperty(PT,"__esModule",{value:!0});const t=c9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),PT.default=s,PT}var GH;function oy(){return GH||(GH=1,(function(t){var e=hf&&hf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=hf&&hf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,sGe().default.install();const i=c9();r(c9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(hf)),hf}var fA,UH;function HH(){return UH||(UH=1,fA=oy()),fA}var ff={};const eO=Dde(iVe);var Ja={},WH;function di(){if(WH)return Ja;WH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=oy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var pA={},Si={},YH;function tO(){if(YH)return Si;YH=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.objectLiteral=Si.typedArray=Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function t(u){return u===!0||u===!1}Si.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Si.string=e;function r(u){return typeof u=="number"||u instanceof Number}Si.number=r;function n(u){return u instanceof Error}Si.error=n;function i(u){return typeof u=="function"}Si.func=i;function a(u){return Array.isArray(u)}Si.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Si.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Si.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Si.objectLiteral=l,Si}var Ov={},jH;function oGe(){if(jH)return Ov;jH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.ImplementationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.ImplementationRequest=e={})),Ov}var Iv={},XH;function lGe(){if(XH)return Iv;XH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.TypeDefinitionRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.TypeDefinitionRequest=e={})),Iv}var pf={},KH;function cGe(){if(KH)return pf;KH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.DidChangeWorkspaceFoldersNotification=pf.WorkspaceFoldersRequest=void 0;const t=di();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(pf.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(pf.DidChangeWorkspaceFoldersNotification=r={})),pf}var Bv={},ZH;function uGe(){if(ZH)return Bv;ZH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.ConfigurationRequest=void 0;const t=di();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.ConfigurationRequest=e={})),Bv}var gf={},QH;function hGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.ColorPresentationRequest=gf.DocumentColorRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(gf.ColorPresentationRequest=r={})),gf}var mf={},JH;function dGe(){if(JH)return mf;JH=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.FoldingRangeRefreshRequest=mf.FoldingRangeRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.FoldingRangeRefreshRequest=r={})),mf}var Pv={},eW;function fGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.DeclarationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.DeclarationRequest=e={})),Pv}var Fv={},tW;function pGe(){if(tW)return Fv;tW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.SelectionRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.SelectionRangeRequest=e={})),Fv}var Yc={},rW;function gGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.WorkDoneProgressCancelNotification=Yc.WorkDoneProgressCreateRequest=Yc.WorkDoneProgress=void 0;const t=oy(),e=di();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Yc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Yc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Yc.WorkDoneProgressCancelNotification=i={})),Yc}var jc={},nW;function mGe(){if(nW)return jc;nW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.CallHierarchyOutgoingCallsRequest=jc.CallHierarchyIncomingCallsRequest=jc.CallHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(jc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(jc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.CallHierarchyOutgoingCallsRequest=n={})),jc}var es={},iW;function yGe(){if(iW)return es;iW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=di();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var $v={},aW;function vGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.ShowDocumentRequest=void 0;const t=di();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||($v.ShowDocumentRequest=e={})),$v}var zv={},sW;function bGe(){if(sW)return zv;sW=1,Object.defineProperty(zv,"__esModule",{value:!0}),zv.LinkedEditingRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(zv.LinkedEditingRangeRequest=e={})),zv}var xa={},oW;function xGe(){if(oW)return xa;oW=1,Object.defineProperty(xa,"__esModule",{value:!0}),xa.WillDeleteFilesRequest=xa.DidDeleteFilesNotification=xa.DidRenameFilesNotification=xa.WillRenameFilesRequest=xa.DidCreateFilesNotification=xa.WillCreateFilesRequest=xa.FileOperationPatternKind=void 0;const t=di();var e;(function(l){l.file="file",l.folder="folder"})(e||(xa.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(xa.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(xa.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(xa.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(xa.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(xa.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(xa.WillDeleteFilesRequest=o={})),xa}var Xc={},lW;function TGe(){if(lW)return Xc;lW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.MonikerRequest=Xc.MonikerKind=Xc.UniquenessLevel=void 0;const t=di();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Xc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(Xc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.MonikerRequest=n={})),Xc}var Kc={},cW;function wGe(){if(cW)return Kc;cW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.TypeHierarchySubtypesRequest=Kc.TypeHierarchySupertypesRequest=Kc.TypeHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Kc.TypeHierarchySubtypesRequest=n={})),Kc}var yf={},uW;function CGe(){if(uW)return yf;uW=1,Object.defineProperty(yf,"__esModule",{value:!0}),yf.InlineValueRefreshRequest=yf.InlineValueRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(yf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(yf.InlineValueRefreshRequest=r={})),yf}var Zc={},hW;function SGe(){if(hW)return Zc;hW=1,Object.defineProperty(Zc,"__esModule",{value:!0}),Zc.InlayHintRefreshRequest=Zc.InlayHintResolveRequest=Zc.InlayHintRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Zc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Zc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Zc.InlayHintRefreshRequest=n={})),Zc}var ro={},dW;function EGe(){if(dW)return ro;dW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=oy(),e=tO(),r=di();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ti={},fW;function kGe(){if(fW)return ti;fW=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.DidCloseNotebookDocumentNotification=ti.DidSaveNotebookDocumentNotification=ti.DidChangeNotebookDocumentNotification=ti.NotebookCellArrayChange=ti.DidOpenNotebookDocumentNotification=ti.NotebookDocumentSyncRegistrationType=ti.NotebookDocument=ti.NotebookCell=ti.ExecutionSummary=ti.NotebookCellKind=void 0;const t=eO,e=tO(),r=di();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ti.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ti.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let A=0;A0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var j;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(j||(t.InitializedNotification=j={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var X;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(X||(t.ExitNotification=X={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Le;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Le||(t.TextDocumentSaveReason=Le={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var De;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(De||(t.RelativePattern=De={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var je;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(je||(t.CompletionRequest=je={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(pA)),pA}var Vv={},mW;function LGe(){if(mW)return Vv;mW=1,Object.defineProperty(Vv,"__esModule",{value:!0}),Vv.createProtocolConnection=void 0;const t=oy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return Vv.createProtocolConnection=e,Vv}var yW;function RGe(){return yW||(yW=1,(function(t){var e=ff&&ff.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=ff&&ff.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(oy(),t),r(eO,t),r(di(),t),r(AGe(),t);var n=LGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ff)),ff}var vW;function DGe(){return vW||(vW=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=uf&&uf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=HH();r(HH(),t),r(RGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(uf)),uf}var FT=DGe(),B2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(B2||(B2={}));class NGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ob,this.documentPhaseListeners=new Ob,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=si.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=si.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ii(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ii(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),B2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),B2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),B2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=si.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(kg);if(this.currentState>=e&&e>i.state)return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new FT.ResponseError(FT.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(kg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(kg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(kg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!WS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ii(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class MGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new FVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Su(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ii(i)}allElements(e,r){let n=ii(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class OGe{constructor(e){this.initialBuildOptions={},this._ready=new JM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=si.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ii(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return bl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class IGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return XL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return XL.buildUnableToPopLexerModeMessage(e)}}const BGe={mode:"full"};class PGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=bW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Fs(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=BGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bW(e))return e;const r=Nse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function FGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Nse(t){return t&&"modes"in t&&"defaultMode"in t}function bW(t){return!FGe(t)&&!Nse(t)}function $Ge(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Mse(t),s=rO(n),o=VGe({lines:a,position:i,options:s});return YGe({index:0,tokens:o,position:i})}function zGe(t,e){const r=rO(e),n=Mse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Mse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(VFe)}const xW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,qGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function VGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{xW.lastIndex=l;const h=xW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=u9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function GGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const UGe=/\S/,HGe=/\s*$/;function u9(t,e){const r=t.substring(e).match(UGe);return r?e+r.index:t.length}function WGe(t){const e=t.match(HGe);if(e&&typeof e.index=="number")return e.index}function YGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new TW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=wW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=wW(r)+i}return r.trim()}}class mA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=ZGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=u9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??QGe(e,i)}}function QGe(t,e){try{return bl.parse(t,!0),`[${e}](${t})`}catch{return t}}class h9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)),nt){const It=Ce.error?` Request failed: ${Ce.error.message} (${Ce.error.code}).`:"";pe.log(`Received response '${nt.method} - (${Ce.id})' in ${Date.now()-nt.timerStart}ms.${It}`,st)}else pe.log(`Received response ${Ce.id} without active response promise.`,st)}else Nt("receive-response",Ce)}function Nt(Ce,nt){if(!pe||ne===f.Off)return;const st={isLSPMessage:!0,type:Ce,message:nt,timestamp:Date.now()};pe.log(st)}function At(){if(at())throw new C(x.Closed,"Connection is closed.");if(xe())throw new C(x.Disposed,"Connection is disposed.")}function Et(){if(Xe())throw new C(x.AlreadyListening,"Connection is already listening")}function zt(){if(!Xe())throw new Error("Call listen() first.")}function St(Ce){return Ce===void 0?null:Ce}function gt(Ce){if(Ce!==null)return Ce}function ue(Ce){return Ce!=null&&!Array.isArray(Ce)&&typeof Ce=="object"}function Mt(Ce,nt){switch(Ce){case n.ParameterStructures.auto:return ue(nt)?gt(nt):[St(nt)];case n.ParameterStructures.byName:if(!ue(nt))throw new Error("Received parameters by name but param is not an object literal.");return gt(nt);case n.ParameterStructures.byPosition:return[St(nt)];default:throw new Error(`Unknown parameter structure ${Ce.toString()}`)}}function xt(Ce,nt){let st;const It=Ce.numberOfParams;switch(It){case 0:st=void 0;break;case 1:st=Mt(Ce.parameterStructures,nt[0]);break;default:st=[];for(let Wt=0;Wt{At();let st,It;if(r.string(Ce)){st=Ce;const Ut=nt[0];let rr=0,pr=n.ParameterStructures.auto;n.ParameterStructures.is(Ut)&&(rr=1,pr=Ut);let vt=nt.length;const Ne=vt-rr;switch(Ne){case 0:It=void 0;break;case 1:It=Mt(pr,nt[rr]);break;default:if(pr===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);It=nt.slice(rr,vt).map(ft=>St(ft));break}}else{const Ut=nt;st=Ce.method,It=xt(Ce,Ut)}const Wt={jsonrpc:P,method:st,params:It};return qe(Wt),D.write(Wt).catch(Ut=>{throw B.error("Sending notification failed."),Ut})},onNotification:(Ce,nt)=>{At();let st;return r.func(Ce)?Z=Ce:nt&&(r.string(Ce)?(st=Ce,j.set(Ce,{type:void 0,handler:nt})):(st=Ce.method,j.set(Ce.method,{type:Ce,handler:nt}))),{dispose:()=>{st!==void 0?j.delete(st):Z=void 0}}},onProgress:(Ce,nt,st)=>{if(ee.has(nt))throw new Error(`Progress handler for token ${nt} already registered`);return ee.set(nt,st),{dispose:()=>{ee.delete(nt)}}},sendProgress:(Ce,nt,st)=>bt.sendNotification(u.type,{token:nt,value:st}),onUnhandledProgress:Oe.event,sendRequest:(Ce,...nt)=>{At(),zt();let st,It,Wt;if(r.string(Ce)){st=Ce;const vt=nt[0],Ne=nt[nt.length-1];let ft=0,Rt=n.ParameterStructures.auto;n.ParameterStructures.is(vt)&&(ft=1,Rt=vt);let Kt=nt.length;s.CancellationToken.is(Ne)&&(Kt=Kt-1,Wt=Ne);const _r=Kt-ft;switch(_r){case 0:It=void 0;break;case 1:It=Mt(Rt,nt[ft]);break;default:if(Rt===n.ParameterStructures.byName)throw new Error(`Received ${_r} parameters for 'by Name' request parameter structure.`);It=nt.slice(ft,Kt).map(Cr=>St(Cr));break}}else{const vt=nt;st=Ce.method,It=xt(Ce,vt);const Ne=Ce.numberOfParams;Wt=s.CancellationToken.is(vt[Ne])?vt[Ne]:void 0}const Ut=M++;let rr;Wt&&(rr=Wt.onCancellationRequested(()=>{const vt=Te.sender.sendCancellation(bt,Ut);return vt===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Ut}`),Promise.resolve()):vt.catch(()=>{B.log(`Sending cancellation messages for id ${Ut} failed`)})}));const pr={jsonrpc:P,id:Ut,method:st,params:It};return et(pr),typeof Te.sender.enableCancellation=="function"&&Te.sender.enableCancellation(pr),new Promise(async(vt,Ne)=>{const ft=_r=>{vt(_r),Te.sender.cleanup(Ut),rr?.dispose()},Rt=_r=>{Ne(_r),Te.sender.cleanup(Ut),rr?.dispose()},Kt={method:st,timerStart:Date.now(),resolve:ft,reject:Rt};try{await D.write(pr),te.set(Ut,Kt)}catch(_r){throw B.error("Sending request failed."),Kt.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,_r.message?_r.message:"Unknown reason")),_r}})},onRequest:(Ce,nt)=>{At();let st=null;return d.is(Ce)?(st=void 0,H=Ce):r.string(Ce)?(st=null,nt!==void 0&&(st=Ce,X.set(Ce,{handler:nt,type:void 0}))):nt!==void 0&&(st=Ce.method,X.set(Ce.method,{type:Ce,handler:nt})),{dispose:()=>{st!==null&&(st!==void 0?X.delete(st):H=void 0)}}},hasPendingResponse:()=>te.size>0,trace:async(Ce,nt,st)=>{let It=!1,Wt=m.Text;st!==void 0&&(r.boolean(st)?It=st:(It=st.sendNotification||!1,Wt=st.traceFormat||m.Text)),ne=Ce,me=Wt,ne===f.Off?pe=void 0:pe=nt,It&&!at()&&!xe()&&await bt.sendNotification(v.type,{value:f.toString(Ce)})},onError:$e.event,onClose:He.event,onUnhandledNotification:Ae.event,onDispose:We.event,end:()=>{D.end()},dispose:()=>{if(xe())return;Me=$.Disposed,We.fire(void 0);const Ce=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const nt of te.values())nt.reject(Ce);te=new Map,ie=new Map,ae=new Set,he=new i.LinkedMap,r.func(D.dispose)&&D.dispose(),r.func(z.dispose)&&z.dispose()},listen:()=>{At(),Et(),Me=$.Listening,z.listen(we)},inspect:()=>{(0,e.default)().console.log("inspect")}};return bt.onNotification(b.type,Ce=>{if(ne===f.Off||!pe)return;const nt=ne===f.Verbose||ne===f.Compact;pe.log(Ce.message,nt?Ce.verbose:void 0)}),bt.onNotification(u.type,Ce=>{const nt=ee.get(Ce.token);nt?nt(Ce.value):Oe.fire(Ce)}),bt}t.createMessageConnection=q})(hA)),hA}var zH;function l9(){return zH||(zH=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Ase();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Lse();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=YVe();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=ay();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=US();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=XVe();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=jVe();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=KVe();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=ZVe();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const h=QVe();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});const d=G0();t.RAL=d.default})(uA)),uA}var qH;function JVe(){if(qH)return B4;qH=1,Object.defineProperty(B4,"__esModule",{value:!0});const t=l9();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,u){return new TextEncoder().encode(l)}toString(l,u){return u==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(u).decode(l)}asNative(l,u){return u===void 0?l:l.slice(0,u)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,u){if(typeof l=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...u){const h=setTimeout(o,l,...u);return{dispose:()=>clearTimeout(h)}},setImmediate(o,...l){const u=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(u)}},setInterval(o,l,...u){const h=setInterval(o,l,...u);return{dispose:()=>clearInterval(h)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),B4.default=s,B4}var VH;function sy(){return VH||(VH=1,(function(t){var e=uf&&uf.__createBinding||(Object.create?(function(l,u,h,d){d===void 0&&(d=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(l,d,f)}):(function(l,u,h,d){d===void 0&&(d=h),l[d]=u[h]})),r=uf&&uf.__exportStar||function(l,u){for(var h in l)h!=="default"&&!Object.prototype.hasOwnProperty.call(u,h)&&e(u,l,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,JVe().default.install();const i=l9();r(l9(),t);class a extends i.AbstractMessageReader{constructor(u){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},u.addEventListener("error",h=>this.fireError(h)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",h=>this.fireError(h))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(h){return this.handleError(h,u),Promise.reject(h)}}handleError(u,h){this.errorCount++,this.fireError(u,h,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,u,h,d){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,u,h,d)}t.createMessageConnection=o})(uf)),uf}var dA,GH;function UH(){return GH||(GH=1,dA=sy()),dA}var df={};const JM=Rde(Zqe);var Ja={},HH;function di(){if(HH)return Ja;HH=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.ProtocolNotificationType=Ja.ProtocolNotificationType0=Ja.ProtocolRequestType=Ja.ProtocolRequestType0=Ja.RegistrationType=Ja.MessageDirection=void 0;const t=sy();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ja.MessageDirection=e={}));class r{constructor(l){this.method=l}}Ja.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}Ja.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}Ja.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}Ja.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return Ja.ProtocolNotificationType=s,Ja}var fA={},Si={},WH;function eO(){if(WH)return Si;WH=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.objectLiteral=Si.typedArray=Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function t(u){return u===!0||u===!1}Si.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Si.string=e;function r(u){return typeof u=="number"||u instanceof Number}Si.number=r;function n(u){return u instanceof Error}Si.error=n;function i(u){return typeof u=="function"}Si.func=i;function a(u){return Array.isArray(u)}Si.array=a;function s(u){return a(u)&&u.every(h=>e(h))}Si.stringArray=s;function o(u,h){return Array.isArray(u)&&u.every(h)}Si.typedArray=o;function l(u){return u!==null&&typeof u=="object"}return Si.objectLiteral=l,Si}var Mv={},YH;function eGe(){if(YH)return Mv;YH=1,Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.ImplementationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Mv.ImplementationRequest=e={})),Mv}var Ov={},XH;function tGe(){if(XH)return Ov;XH=1,Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.TypeDefinitionRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ov.TypeDefinitionRequest=e={})),Ov}var ff={},jH;function rGe(){if(jH)return ff;jH=1,Object.defineProperty(ff,"__esModule",{value:!0}),ff.DidChangeWorkspaceFoldersNotification=ff.WorkspaceFoldersRequest=void 0;const t=di();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(ff.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(ff.DidChangeWorkspaceFoldersNotification=r={})),ff}var Iv={},KH;function nGe(){if(KH)return Iv;KH=1,Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.ConfigurationRequest=void 0;const t=di();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Iv.ConfigurationRequest=e={})),Iv}var pf={},ZH;function iGe(){if(ZH)return pf;ZH=1,Object.defineProperty(pf,"__esModule",{value:!0}),pf.ColorPresentationRequest=pf.DocumentColorRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(pf.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(pf.ColorPresentationRequest=r={})),pf}var gf={},QH;function aGe(){if(QH)return gf;QH=1,Object.defineProperty(gf,"__esModule",{value:!0}),gf.FoldingRangeRefreshRequest=gf.FoldingRangeRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(gf.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(gf.FoldingRangeRefreshRequest=r={})),gf}var Bv={},JH;function sGe(){if(JH)return Bv;JH=1,Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.DeclarationRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Bv.DeclarationRequest=e={})),Bv}var Pv={},eW;function oGe(){if(eW)return Pv;eW=1,Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.SelectionRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pv.SelectionRangeRequest=e={})),Pv}var Wc={},tW;function lGe(){if(tW)return Wc;tW=1,Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.WorkDoneProgressCancelNotification=Wc.WorkDoneProgressCreateRequest=Wc.WorkDoneProgress=void 0;const t=sy(),e=di();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Wc.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Wc.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Wc.WorkDoneProgressCancelNotification=i={})),Wc}var Yc={},rW;function cGe(){if(rW)return Yc;rW=1,Object.defineProperty(Yc,"__esModule",{value:!0}),Yc.CallHierarchyOutgoingCallsRequest=Yc.CallHierarchyIncomingCallsRequest=Yc.CallHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Yc.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Yc.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Yc.CallHierarchyOutgoingCallsRequest=n={})),Yc}var es={},nW;function uGe(){if(nW)return es;nW=1,Object.defineProperty(es,"__esModule",{value:!0}),es.SemanticTokensRefreshRequest=es.SemanticTokensRangeRequest=es.SemanticTokensDeltaRequest=es.SemanticTokensRequest=es.SemanticTokensRegistrationType=es.TokenFormat=void 0;const t=di();var e;(function(o){o.Relative="relative"})(e||(es.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(es.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(es.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(es.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(es.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(es.SemanticTokensRefreshRequest=s={})),es}var Fv={},iW;function hGe(){if(iW)return Fv;iW=1,Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.ShowDocumentRequest=void 0;const t=di();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(Fv.ShowDocumentRequest=e={})),Fv}var $v={},aW;function dGe(){if(aW)return $v;aW=1,Object.defineProperty($v,"__esModule",{value:!0}),$v.LinkedEditingRangeRequest=void 0;const t=di();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||($v.LinkedEditingRangeRequest=e={})),$v}var xa={},sW;function fGe(){if(sW)return xa;sW=1,Object.defineProperty(xa,"__esModule",{value:!0}),xa.WillDeleteFilesRequest=xa.DidDeleteFilesNotification=xa.DidRenameFilesNotification=xa.WillRenameFilesRequest=xa.DidCreateFilesNotification=xa.WillCreateFilesRequest=xa.FileOperationPatternKind=void 0;const t=di();var e;(function(l){l.file="file",l.folder="folder"})(e||(xa.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(xa.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(xa.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(xa.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(xa.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(xa.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(xa.WillDeleteFilesRequest=o={})),xa}var Xc={},oW;function pGe(){if(oW)return Xc;oW=1,Object.defineProperty(Xc,"__esModule",{value:!0}),Xc.MonikerRequest=Xc.MonikerKind=Xc.UniquenessLevel=void 0;const t=di();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Xc.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(Xc.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Xc.MonikerRequest=n={})),Xc}var jc={},lW;function gGe(){if(lW)return jc;lW=1,Object.defineProperty(jc,"__esModule",{value:!0}),jc.TypeHierarchySubtypesRequest=jc.TypeHierarchySupertypesRequest=jc.TypeHierarchyPrepareRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(jc.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(jc.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jc.TypeHierarchySubtypesRequest=n={})),jc}var mf={},cW;function mGe(){if(cW)return mf;cW=1,Object.defineProperty(mf,"__esModule",{value:!0}),mf.InlineValueRefreshRequest=mf.InlineValueRequest=void 0;const t=di();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mf.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mf.InlineValueRefreshRequest=r={})),mf}var Kc={},uW;function yGe(){if(uW)return Kc;uW=1,Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.InlayHintRefreshRequest=Kc.InlayHintResolveRequest=Kc.InlayHintRequest=void 0;const t=di();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Kc.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Kc.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Kc.InlayHintRefreshRequest=n={})),Kc}var ro={},hW;function vGe(){if(hW)return ro;hW=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.DiagnosticRefreshRequest=ro.WorkspaceDiagnosticRequest=ro.DocumentDiagnosticRequest=ro.DocumentDiagnosticReportKind=ro.DiagnosticServerCancellationData=void 0;const t=sy(),e=eO(),r=di();var n;(function(l){function u(h){const d=h;return d&&e.boolean(d.retriggerRequest)}l.is=u})(n||(ro.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(ro.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(ro.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(ro.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(ro.DiagnosticRefreshRequest=o={})),ro}var ti={},dW;function bGe(){if(dW)return ti;dW=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.DidCloseNotebookDocumentNotification=ti.DidSaveNotebookDocumentNotification=ti.DidChangeNotebookDocumentNotification=ti.NotebookCellArrayChange=ti.DidOpenNotebookDocumentNotification=ti.NotebookDocumentSyncRegistrationType=ti.NotebookDocument=ti.NotebookCell=ti.ExecutionSummary=ti.NotebookCellKind=void 0;const t=JM,e=eO(),r=di();var n;(function(p){p.Markup=1,p.Code=2;function m(v){return v===1||v===2}p.is=m})(n||(ti.NotebookCellKind=n={}));var i;(function(p){function m(x,C){const T={executionOrder:x};return(C===!0||C===!1)&&(T.success=C),T}p.create=m;function v(x){const C=x;return e.objectLiteral(C)&&t.uinteger.is(C.executionOrder)&&(C.success===void 0||e.boolean(C.success))}p.is=v;function b(x,C){return x===C?!0:x==null||C===null||C===void 0?!1:x.executionOrder===C.executionOrder&&x.success===C.success}p.equals=b})(i||(ti.ExecutionSummary=i={}));var a;(function(p){function m(C,T){return{kind:C,document:T}}p.create=m;function v(C){const T=C;return e.objectLiteral(T)&&n.is(T.kind)&&t.DocumentUri.is(T.document)&&(T.metadata===void 0||e.objectLiteral(T.metadata))}p.is=v;function b(C,T){const E=new Set;return C.document!==T.document&&E.add("document"),C.kind!==T.kind&&E.add("kind"),C.executionSummary!==T.executionSummary&&E.add("executionSummary"),(C.metadata!==void 0||T.metadata!==void 0)&&!x(C.metadata,T.metadata)&&E.add("metadata"),(C.executionSummary!==void 0||T.executionSummary!==void 0)&&!i.equals(C.executionSummary,T.executionSummary)&&E.add("executionSummary"),E}p.diff=b;function x(C,T){if(C===T)return!0;if(C==null||T===null||T===void 0||typeof C!=typeof T||typeof C!="object")return!1;const E=Array.isArray(C),_=Array.isArray(T);if(E!==_)return!1;if(E&&_){if(C.length!==T.length)return!1;for(let R=0;R0}ue.hasId=Mt})(M||(t.StaticRegistrationOptions=M={}));var V;(function(ue){function Mt(xt){const bt=xt;return bt&&(bt.documentSelector===null||q.is(bt.documentSelector))}ue.is=Mt})(V||(t.TextDocumentRegistrationOptions=V={}));var U;(function(ue){function Mt(bt){const Ce=bt;return n.objectLiteral(Ce)&&(Ce.workDoneProgress===void 0||n.boolean(Ce.workDoneProgress))}ue.is=Mt;function xt(bt){const Ce=bt;return Ce&&n.boolean(Ce.workDoneProgress)}ue.hasWorkDoneProgress=xt})(U||(t.WorkDoneProgressOptions=U={}));var P;(function(ue){ue.method="initialize",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(P||(t.InitializeRequest=P={}));var H;(function(ue){ue.unknownProtocolVersion=1})(H||(t.InitializeErrorCodes=H={}));var X;(function(ue){ue.method="initialized",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(X||(t.InitializedNotification=X={}));var Z;(function(ue){ue.method="shutdown",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType0(ue.method)})(Z||(t.ShutdownRequest=Z={}));var j;(function(ue){ue.method="exit",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType0(ue.method)})(j||(t.ExitNotification=j={}));var ee;(function(ue){ue.method="workspace/didChangeConfiguration",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(ee||(t.DidChangeConfigurationNotification=ee={}));var Q;(function(ue){ue.Error=1,ue.Warning=2,ue.Info=3,ue.Log=4,ue.Debug=5})(Q||(t.MessageType=Q={}));var he;(function(ue){ue.method="window/showMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(he||(t.ShowMessageNotification=he={}));var te;(function(ue){ue.method="window/showMessageRequest",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType(ue.method)})(te||(t.ShowMessageRequest=te={}));var ae;(function(ue){ue.method="window/logMessage",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ae||(t.LogMessageNotification=ae={}));var ie;(function(ue){ue.method="telemetry/event",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(ie||(t.TelemetryEventNotification=ie={}));var ne;(function(ue){ue.None=0,ue.Full=1,ue.Incremental=2})(ne||(t.TextDocumentSyncKind=ne={}));var me;(function(ue){ue.method="textDocument/didOpen",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var pe;(function(ue){function Mt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range!==void 0&&(Ce.rangeLength===void 0||typeof Ce.rangeLength=="number")}ue.isIncremental=Mt;function xt(bt){let Ce=bt;return Ce!=null&&typeof Ce.text=="string"&&Ce.range===void 0&&Ce.rangeLength===void 0}ue.isFull=xt})(pe||(t.TextDocumentContentChangeEvent=pe={}));var Me;(function(ue){ue.method="textDocument/didChange",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var $e;(function(ue){ue.method="textDocument/didClose",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})($e||(t.DidCloseTextDocumentNotification=$e={}));var He;(function(ue){ue.method="textDocument/didSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var Ae;(function(ue){ue.Manual=1,ue.AfterDelay=2,ue.FocusOut=3})(Ae||(t.TextDocumentSaveReason=Ae={}));var Oe;(function(ue){ue.method="textDocument/willSave",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Oe||(t.WillSaveTextDocumentNotification=Oe={}));var We;(function(ue){ue.method="textDocument/willSaveWaitUntil",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(We||(t.WillSaveTextDocumentWaitUntilRequest=We={}));var Te;(function(ue){ue.method="workspace/didChangeWatchedFiles",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolNotificationType(ue.method)})(Te||(t.DidChangeWatchedFilesNotification=Te={}));var ot;(function(ue){ue.Created=1,ue.Changed=2,ue.Deleted=3})(ot||(t.FileChangeType=ot={}));var Re;(function(ue){function Mt(xt){const bt=xt;return n.objectLiteral(bt)&&(r.URI.is(bt.baseUri)||r.WorkspaceFolder.is(bt.baseUri))&&n.string(bt.pattern)}ue.is=Mt})(Re||(t.RelativePattern=Re={}));var Ge;(function(ue){ue.Create=1,ue.Change=2,ue.Delete=4})(Ge||(t.WatchKind=Ge={}));var it;(function(ue){ue.method="textDocument/publishDiagnostics",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolNotificationType(ue.method)})(it||(t.PublishDiagnosticsNotification=it={}));var Ye;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.TriggerForIncompleteCompletions=3})(Ye||(t.CompletionTriggerKind=Ye={}));var Xe;(function(ue){ue.method="textDocument/completion",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Xe||(t.CompletionRequest=Xe={}));var at;(function(ue){ue.method="completionItem/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(at||(t.CompletionResolveRequest=at={}));var xe;(function(ue){ue.method="textDocument/hover",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(xe||(t.HoverRequest=xe={}));var Ze;(function(ue){ue.Invoked=1,ue.TriggerCharacter=2,ue.ContentChange=3})(Ze||(t.SignatureHelpTriggerKind=Ze={}));var se;(function(ue){ue.method="textDocument/signatureHelp",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(se||(t.SignatureHelpRequest=se={}));var be;(function(ue){ue.method="textDocument/definition",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(be||(t.DefinitionRequest=be={}));var Y;(function(ue){ue.method="textDocument/references",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Y||(t.ReferencesRequest=Y={}));var de;(function(ue){ue.method="textDocument/documentHighlight",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(de||(t.DocumentHighlightRequest=de={}));var fe;(function(ue){ue.method="textDocument/documentSymbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(fe||(t.DocumentSymbolRequest=fe={}));var we;(function(ue){ue.method="textDocument/codeAction",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(we||(t.CodeActionRequest=we={}));var Ee;(function(ue){ue.method="codeAction/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ee||(t.CodeActionResolveRequest=Ee={}));var Ie;(function(ue){ue.method="workspace/symbol",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ie||(t.WorkspaceSymbolRequest=Ie={}));var Ue;(function(ue){ue.method="workspaceSymbol/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Ue||(t.WorkspaceSymbolResolveRequest=Ue={}));var _e;(function(ue){ue.method="textDocument/codeLens",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(_e||(t.CodeLensRequest=_e={}));var ze;(function(ue){ue.method="codeLens/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ze||(t.CodeLensResolveRequest=ze={}));var et;(function(ue){ue.method="workspace/codeLens/refresh",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType0(ue.method)})(et||(t.CodeLensRefreshRequest=et={}));var qe;(function(ue){ue.method="textDocument/documentLink",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(qe||(t.DocumentLinkRequest=qe={}));var lt;(function(ue){ue.method="documentLink/resolve",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(lt||(t.DocumentLinkResolveRequest=lt={}));var ve;(function(ue){ue.method="textDocument/formatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(ve||(t.DocumentFormattingRequest=ve={}));var Qe;(function(ue){ue.method="textDocument/rangeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Qe||(t.DocumentRangeFormattingRequest=Qe={}));var Se;(function(ue){ue.method="textDocument/rangesFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Se||(t.DocumentRangesFormattingRequest=Se={}));var Nt;(function(ue){ue.method="textDocument/onTypeFormatting",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Nt||(t.DocumentOnTypeFormattingRequest=Nt={}));var At;(function(ue){ue.Identifier=1})(At||(t.PrepareSupportDefaultBehavior=At={}));var Et;(function(ue){ue.method="textDocument/rename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(Et||(t.RenameRequest=Et={}));var zt;(function(ue){ue.method="textDocument/prepareRename",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(zt||(t.PrepareRenameRequest=zt={}));var St;(function(ue){ue.method="workspace/executeCommand",ue.messageDirection=e.MessageDirection.clientToServer,ue.type=new e.ProtocolRequestType(ue.method)})(St||(t.ExecuteCommandRequest=St={}));var gt;(function(ue){ue.method="workspace/applyEdit",ue.messageDirection=e.MessageDirection.serverToClient,ue.type=new e.ProtocolRequestType("workspace/applyEdit")})(gt||(t.ApplyWorkspaceEditRequest=gt={}))})(fA)),fA}var qv={},gW;function wGe(){if(gW)return qv;gW=1,Object.defineProperty(qv,"__esModule",{value:!0}),qv.createProtocolConnection=void 0;const t=sy();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return qv.createProtocolConnection=e,qv}var mW;function CGe(){return mW||(mW=1,(function(t){var e=df&&df.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=df&&df.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(sy(),t),r(JM,t),r(di(),t),r(TGe(),t);var n=wGe();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(df)),df}var yW;function SGe(){return yW||(yW=1,(function(t){var e=cf&&cf.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=cf&&cf.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=UH();r(UH(),t),r(CGe(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(cf)),cf}var P4=SGe(),I2;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(I2||(I2={}));class EGe{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Mb,this.documentPhaseListeners=new Mb,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=si.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=si.CancellationToken.None){this.currentState=qr.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const h of u)i.push(h.uri),this.cleanUpDeleted(h)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=qr.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,qr.Changed)}const s=ii(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,qr.ComputedScopes)),await this.emitUpdate(a,i),await ss(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ii(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),I2.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),I2.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),I2.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=si.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Eg);if(this.currentState>=e&&e>i.state)return Promise.reject(new P4.ResponseError(P4.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new P4.ResponseError(P4.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{oo.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(Eg)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Eg):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(Eg)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await ss(n),await s(e,n)}catch(o){if(!HS(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await ss(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=ii(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class kGe{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new DVe,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Cu(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{oo.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),ii(i)}allElements(e,r){let n=ii(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=si.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class _Ge{constructor(e){this.initialBuildOptions={},this._ready=new QM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=si.CancellationToken.None){const n=await this.performStartup(e);await ss(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=ii(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return vl.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=oo.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class AGe{buildUnexpectedCharactersMessage(e,r,n,i,a){return XL.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return XL.buildUnableToPopLexerModeMessage(e)}}const LGe={mode:"full"};class RGe{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=vW(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Fs(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=LGe){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(vW(e))return e;const r=Dse(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function DGe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Dse(t){return t&&"modes"in t&&"defaultMode"in t}function vW(t){return!DGe(t)&&!Dse(t)}function NGe(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=hn.create(0,0));const a=Nse(t),s=tO(n),o=IGe({lines:a,position:i,options:s});return zGe({index:0,tokens:o,position:i})}function MGe(t,e){const r=tO(e),n=Nse(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Nse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(IFe)}const bW=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,OGe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function IGe(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i=o.length){if(e.length>0){const h=hn.create(r,n);e.push({type:"break",content:"",range:Kr.create(h,h)})}}else{bW.lastIndex=l;const h=bW.exec(o);if(h){const d=h[0],f=h[1],p=hn.create(r,n+l),m=hn.create(r,n+l+d.length);e.push({type:"tag",content:f,range:Kr.create(p,m)}),l+=d.length,l=c9(o,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function BGe(t,e,r,n){const i=[];if(t.length===0){const a=hn.create(r,n),s=hn.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:Kr.create(hn.create(r,a+n),hn.create(r,l+n))});let h=u.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+d.length+n))}),h+=d.length,o.length===4){h+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+f.length+n))})}else i.push({type:"text",content:"",range:Kr.create(hn.create(r,a+h+n),hn.create(r,a+h+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(hn.create(r,a+n),hn.create(r,a+n+s.length))})}return i}const PGe=/\S/,FGe=/\s*$/;function c9(t,e){const r=t.substring(e).match(PGe);return r?e+r.index:t.length}function $Ge(t){const e=t.match(FGe);if(e&&typeof e.index=="number")return e.index}function zGe(t){const e=hn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new xW([],Kr.create(e,e));const r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=TW(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=TW(r)+i}return r.trim()}}class gA{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=UGe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}}function UGe(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=c9(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??HGe(e,i)}}function HGe(t,e){try{return vl.parse(t,!0),`[${e}](${t})`}catch{return t}}class u9{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` -`)}return r}}class Pse{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function wW(t){return t.endsWith(` +`)}return r}}class Bse{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function TW(t){return t.endsWith(` `)?` `:` -`}class JGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&zGe(r))return $Ge(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Su(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class eUe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return qVe(e)?e.$comment:PFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class tUe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class rUe{constructor(){this.previousTokenSource=new si.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=kVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=si.CancellationToken.None){const i=new JM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){WS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class nUe{constructor(e){this.grammarElementIdMap=new LH,this.tokenTypeIdMap=new LH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Eu(e))r.set(i,{});if(e.$cstNode)for(const i of UL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else qa(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return lae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Sb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):oae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Eu(e))r.set(a,{});let i;if(e.$cstNode)for(const a of UL(e.$cstNode)){let s;"fullText"in a?(s=new gse(a.fullText),i=s):"content"in a?s=new KM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)qa(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else qa(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Sb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new n9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Eu(this.grammar))pFe(r)&&this.grammarElementIdMap.set(r,e++)}}function vc(t){return{documentation:{CommentProvider:e=>new eUe(e),DocumentationProvider:e=>new JGe(e)},parser:{AsyncParser:e=>new tUe(e),GrammarConfig:e=>u$e(e),LangiumParser:e=>wVe(e),CompletionParser:e=>TVe(e),ValueConverter:()=>new Sse,TokenBuilder:()=>new Cse,Lexer:e=>new PGe(e),ParserErrorMessageProvider:()=>new vse,LexerErrorMessageProvider:()=>new IGe},workspace:{AstNodeLocator:()=>new ZVe,AstNodeDescriptionProvider:e=>new XVe(e),ReferenceDescriptionProvider:e=>new KVe(e)},references:{Linker:e=>new DVe(e),NameProvider:()=>new MVe,ScopeProvider:e=>new zVe(e),ScopeComputation:e=>new IVe(e),References:e=>new OVe(e)},serializer:{Hydrator:e=>new nUe(e),JsonSerializer:e=>new VVe(e)},validation:{DocumentValidator:e=>new WVe(e),ValidationRegistry:e=>new UVe(e)},shared:()=>t.shared}}function bc(t){return{ServiceRegistry:e=>new GVe(e),workspace:{LangiumDocuments:e=>new RVe(e),LangiumDocumentFactory:e=>new LVe(e),DocumentBuilder:e=>new NGe(e),IndexManager:e=>new MGe(e),WorkspaceManager:e=>new OGe(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new rUe,ConfigurationProvider:e=>new JVe(e)},profilers:{}}}var CW;(function(t){t.merge=(e,r)=>Ib(Ib({},e),r)})(CW||(CW={}));function Gi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ib,{});return Fse(u)}const iUe=Symbol("isProxy");function Fse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===iUe?!0:EW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(EW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const SW=Symbol();function EW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===SW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=SW;try{t[e]=typeof i=="function"?i(n):Fse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ib(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ib(i,n):t[r]=Ib({},n)}else t[r]=n}return t}class aUe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const xc={fileSystemProvider:()=>new aUe},sUe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},oUe={AstReflection:()=>new pae};function lUe(){const t=Gi(bc(xc),oUe),e=Gi(vc({shared:t}),sUe);return t.ServiceRegistry.register(e),e}function Zu(t){const e=lUe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,bl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var cUe=Object.defineProperty,Ft=(t,e)=>cUe(t,"name",{value:e,configurable:!0}),d9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(b9||(b9={}));var x9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(x9||(x9={}));({...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...y9.Terminals,...b9.Terminals,...v9.Terminals,...x9.Terminals});var $T={$type:"Accelerator",name:"name",x:"x",y:"y"},zT={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Gv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},yA={$type:"Annotations",x:"x",y:"y"},nu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function uUe(t){return Yo.isInstance(t,nu.$type)}Ft(uUe,"isArchitecture");var qT={$type:"Axis",label:"label",name:"name"},K3={$type:"Branch",name:"name",order:"order"};function hUe(t){return Yo.isInstance(t,K3.$type)}Ft(hUe,"isBranch");var kW={$type:"Checkout",branch:"branch"},VT={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ug={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function dUe(t){return Yo.isInstance(t,ug.$type)}Ft(dUe,"isCommit");var vf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},GT={$type:"Curve",entries:"entries",label:"label",name:"name"},UT={$type:"Deaccelerator",name:"name",x:"x",y:"y"},_W={$type:"Decorator",strategy:"strategy"},Hp={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ol={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},bA={$type:"Entry",axis:"axis",value:"value"},AW={$type:"Evolution",stages:"stages"},HT={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},xA={$type:"Evolve",component:"component",target:"target"},Df={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function fUe(t){return Yo.isInstance(t,Df.$type)}Ft(fUe,"isGitGraph");var Uv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},y2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function pUe(t){return Yo.isInstance(t,y2.$type)}Ft(pUe,"isInfo");var Hv={$type:"Item",classSelector:"classSelector",name:"name"},TA={$type:"Junction",id:"id",in:"in"},Wv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},WT={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},bf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},hg={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function gUe(t){return Yo.isInstance(t,hg.$type)}Ft(gUe,"isMerge");var YT={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},wA={$type:"Option",name:"name",value:"value"},dg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function mUe(t){return Yo.isInstance(t,dg.$type)}Ft(mUe,"isPacket");var fg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function yUe(t){return Yo.isInstance(t,fg.$type)}Ft(yUe,"isPacketBlock");var Nf={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function vUe(t){return Yo.isInstance(t,Nf.$type)}Ft(vUe,"isPie");var Z3={$type:"PieSection",label:"label",value:"value"};function bUe(t){return Yo.isInstance(t,Z3.$type)}Ft(bUe,"isPieSection");var CA={$type:"Pipeline",components:"components",parent:"parent"},jT={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},xf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},SA={$type:"Section",classSelector:"classSelector",name:"name"},Wp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},EA={$type:"Size",height:"height",width:"width"},Yp={$type:"Statement"},pg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function xUe(t){return Yo.isInstance(t,pg.$type)}Ft(xUe,"isTreemap");var kA={$type:"TreemapRow",indent:"indent",item:"item"},_A={$type:"TreeNode",indent:"indent",name:"name"},Yv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},wa={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function TUe(t){return Yo.isInstance(t,wa.$type)}Ft(TUe,"isWardley");var h1,$se=(h1=class extends sae{constructor(){super(...arguments),this.types={Accelerator:{name:$T.$type,properties:{name:{name:$T.name},x:{name:$T.x},y:{name:$T.y}},superTypes:[]},Anchor:{name:zT.$type,properties:{evolution:{name:zT.evolution},name:{name:zT.name},visibility:{name:zT.visibility}},superTypes:[]},Annotation:{name:Gv.$type,properties:{number:{name:Gv.number},text:{name:Gv.text},x:{name:Gv.x},y:{name:Gv.y}},superTypes:[]},Annotations:{name:yA.$type,properties:{x:{name:yA.x},y:{name:yA.y}},superTypes:[]},Architecture:{name:nu.$type,properties:{accDescr:{name:nu.accDescr},accTitle:{name:nu.accTitle},edges:{name:nu.edges,defaultValue:[]},groups:{name:nu.groups,defaultValue:[]},junctions:{name:nu.junctions,defaultValue:[]},services:{name:nu.services,defaultValue:[]},title:{name:nu.title}},superTypes:[]},Axis:{name:qT.$type,properties:{label:{name:qT.label},name:{name:qT.name}},superTypes:[]},Branch:{name:K3.$type,properties:{name:{name:K3.name},order:{name:K3.order}},superTypes:[Yp.$type]},Checkout:{name:kW.$type,properties:{branch:{name:kW.branch}},superTypes:[Yp.$type]},CherryPicking:{name:VT.$type,properties:{id:{name:VT.id},parent:{name:VT.parent},tags:{name:VT.tags,defaultValue:[]}},superTypes:[Yp.$type]},ClassDefStatement:{name:vA.$type,properties:{className:{name:vA.className},styleText:{name:vA.styleText}},superTypes:[]},Commit:{name:ug.$type,properties:{id:{name:ug.id},message:{name:ug.message},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Yp.$type]},Component:{name:vf.$type,properties:{decorator:{name:vf.decorator},evolution:{name:vf.evolution},inertia:{name:vf.inertia,defaultValue:!1},label:{name:vf.label},name:{name:vf.name},visibility:{name:vf.visibility}},superTypes:[]},Curve:{name:GT.$type,properties:{entries:{name:GT.entries,defaultValue:[]},label:{name:GT.label},name:{name:GT.name}},superTypes:[]},Deaccelerator:{name:UT.$type,properties:{name:{name:UT.name},x:{name:UT.x},y:{name:UT.y}},superTypes:[]},Decorator:{name:_W.$type,properties:{strategy:{name:_W.strategy}},superTypes:[]},Direction:{name:Hp.$type,properties:{accDescr:{name:Hp.accDescr},accTitle:{name:Hp.accTitle},dir:{name:Hp.dir},statements:{name:Hp.statements,defaultValue:[]},title:{name:Hp.title}},superTypes:[Df.$type]},Edge:{name:Ol.$type,properties:{lhsDir:{name:Ol.lhsDir},lhsGroup:{name:Ol.lhsGroup,defaultValue:!1},lhsId:{name:Ol.lhsId},lhsInto:{name:Ol.lhsInto,defaultValue:!1},rhsDir:{name:Ol.rhsDir},rhsGroup:{name:Ol.rhsGroup,defaultValue:!1},rhsId:{name:Ol.rhsId},rhsInto:{name:Ol.rhsInto,defaultValue:!1},title:{name:Ol.title}},superTypes:[]},Entry:{name:bA.$type,properties:{axis:{name:bA.axis,referenceType:qT.$type},value:{name:bA.value}},superTypes:[]},Evolution:{name:AW.$type,properties:{stages:{name:AW.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:HT.$type,properties:{boundary:{name:HT.boundary},name:{name:HT.name},secondName:{name:HT.secondName}},superTypes:[]},Evolve:{name:xA.$type,properties:{component:{name:xA.component},target:{name:xA.target}},superTypes:[]},GitGraph:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},statements:{name:Df.statements,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Group:{name:Uv.$type,properties:{icon:{name:Uv.icon},id:{name:Uv.id},in:{name:Uv.in},title:{name:Uv.title}},superTypes:[]},Info:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},title:{name:y2.title}},superTypes:[]},Item:{name:Hv.$type,properties:{classSelector:{name:Hv.classSelector},name:{name:Hv.name}},superTypes:[]},Junction:{name:TA.$type,properties:{id:{name:TA.id},in:{name:TA.in}},superTypes:[]},Label:{name:Wv.$type,properties:{negX:{name:Wv.negX,defaultValue:!1},negY:{name:Wv.negY,defaultValue:!1},offsetX:{name:Wv.offsetX},offsetY:{name:Wv.offsetY}},superTypes:[]},Leaf:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name},value:{name:WT.value}},superTypes:[Hv.$type]},Link:{name:bf.$type,properties:{arrow:{name:bf.arrow},from:{name:bf.from},fromPort:{name:bf.fromPort},linkLabel:{name:bf.linkLabel},to:{name:bf.to},toPort:{name:bf.toPort}},superTypes:[]},Merge:{name:hg.$type,properties:{branch:{name:hg.branch},id:{name:hg.id},tags:{name:hg.tags,defaultValue:[]},type:{name:hg.type}},superTypes:[Yp.$type]},Note:{name:YT.$type,properties:{evolution:{name:YT.evolution},text:{name:YT.text},visibility:{name:YT.visibility}},superTypes:[]},Option:{name:wA.$type,properties:{name:{name:wA.name},value:{name:wA.value,defaultValue:!1}},superTypes:[]},Packet:{name:dg.$type,properties:{accDescr:{name:dg.accDescr},accTitle:{name:dg.accTitle},blocks:{name:dg.blocks,defaultValue:[]},title:{name:dg.title}},superTypes:[]},PacketBlock:{name:fg.$type,properties:{bits:{name:fg.bits},end:{name:fg.end},label:{name:fg.label},start:{name:fg.start}},superTypes:[]},Pie:{name:Nf.$type,properties:{accDescr:{name:Nf.accDescr},accTitle:{name:Nf.accTitle},sections:{name:Nf.sections,defaultValue:[]},showData:{name:Nf.showData,defaultValue:!1},title:{name:Nf.title}},superTypes:[]},PieSection:{name:Z3.$type,properties:{label:{name:Z3.label},value:{name:Z3.value}},superTypes:[]},Pipeline:{name:CA.$type,properties:{components:{name:CA.components,defaultValue:[]},parent:{name:CA.parent}},superTypes:[]},PipelineComponent:{name:jT.$type,properties:{evolution:{name:jT.evolution},label:{name:jT.label},name:{name:jT.name}},superTypes:[]},Radar:{name:xf.$type,properties:{accDescr:{name:xf.accDescr},accTitle:{name:xf.accTitle},axes:{name:xf.axes,defaultValue:[]},curves:{name:xf.curves,defaultValue:[]},options:{name:xf.options,defaultValue:[]},title:{name:xf.title}},superTypes:[]},Section:{name:SA.$type,properties:{classSelector:{name:SA.classSelector},name:{name:SA.name}},superTypes:[Hv.$type]},Service:{name:Wp.$type,properties:{icon:{name:Wp.icon},iconText:{name:Wp.iconText},id:{name:Wp.id},in:{name:Wp.in},title:{name:Wp.title}},superTypes:[]},Size:{name:EA.$type,properties:{height:{name:EA.height},width:{name:EA.width}},superTypes:[]},Statement:{name:Yp.$type,properties:{},superTypes:[]},TreeNode:{name:_A.$type,properties:{indent:{name:_A.indent},name:{name:_A.name}},superTypes:[]},TreeView:{name:Yv.$type,properties:{accDescr:{name:Yv.accDescr},accTitle:{name:Yv.accTitle},nodes:{name:Yv.nodes,defaultValue:[]},title:{name:Yv.title}},superTypes:[]},Treemap:{name:pg.$type,properties:{accDescr:{name:pg.accDescr},accTitle:{name:pg.accTitle},title:{name:pg.title},TreemapRows:{name:pg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:kA.$type,properties:{indent:{name:kA.indent},item:{name:kA.item}},superTypes:[]},Wardley:{name:wa.$type,properties:{accDescr:{name:wa.accDescr},accelerators:{name:wa.accelerators,defaultValue:[]},accTitle:{name:wa.accTitle},anchors:{name:wa.anchors,defaultValue:[]},annotation:{name:wa.annotation,defaultValue:[]},annotations:{name:wa.annotations,defaultValue:[]},components:{name:wa.components,defaultValue:[]},deaccelerators:{name:wa.deaccelerators,defaultValue:[]},evolution:{name:wa.evolution},evolves:{name:wa.evolves,defaultValue:[]},links:{name:wa.links,defaultValue:[]},notes:{name:wa.notes,defaultValue:[]},pipelines:{name:wa.pipelines,defaultValue:[]},size:{name:wa.size},title:{name:wa.title}},superTypes:[]}}}},Ft(h1,"MermaidAstReflection"),h1),Yo=new $se,LW,wUe=Ft(()=>LW??(LW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),RW,CUe=Ft(()=>RW??(RW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),DW,SUe=Ft(()=>DW??(DW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),NW,EUe=Ft(()=>NW??(NW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),MW,kUe=Ft(()=>MW??(MW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),OW,_Ue=Ft(()=>OW??(OW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),IW,AUe=Ft(()=>IW??(IW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),BW,LUe=Ft(()=>BW??(BW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),PW,RUe=Ft(()=>PW??(PW=Zu(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),DUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},NUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},OUe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},IUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},BUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},FUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$Ue={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qu={AstReflection:Ft(()=>new $se,"AstReflection")},zUe={Grammar:Ft(()=>wUe(),"Grammar"),LanguageMetaData:Ft(()=>DUe,"LanguageMetaData"),parser:{}},qUe={Grammar:Ft(()=>CUe(),"Grammar"),LanguageMetaData:Ft(()=>NUe,"LanguageMetaData"),parser:{}},VUe={Grammar:Ft(()=>SUe(),"Grammar"),LanguageMetaData:Ft(()=>MUe,"LanguageMetaData"),parser:{}},GUe={Grammar:Ft(()=>EUe(),"Grammar"),LanguageMetaData:Ft(()=>OUe,"LanguageMetaData"),parser:{}},UUe={Grammar:Ft(()=>kUe(),"Grammar"),LanguageMetaData:Ft(()=>IUe,"LanguageMetaData"),parser:{}},HUe={Grammar:Ft(()=>_Ue(),"Grammar"),LanguageMetaData:Ft(()=>BUe,"LanguageMetaData"),parser:{}},WUe={Grammar:Ft(()=>AUe(),"Grammar"),LanguageMetaData:Ft(()=>PUe,"LanguageMetaData"),parser:{}},YUe={Grammar:Ft(()=>LUe(),"Grammar"),LanguageMetaData:Ft(()=>FUe,"LanguageMetaData"),parser:{}},jUe={Grammar:Ft(()=>RUe(),"Grammar"),LanguageMetaData:Ft(()=>$Ue,"LanguageMetaData"),parser:{}},XUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,KUe=/accTitle[\t ]*:([^\n\r]*)/,ZUe=/title([\t ][^\n\r]*|)/,QUe={ACC_DESCR:XUe,ACC_TITLE:KUe,TITLE:ZUe},d1,ly=(d1=class extends Sse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=QUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},Ft(d1,"AbstractMermaidValueConverter"),d1),f1,YS=(f1=class extends ly{runCustomConverter(e,r,n){}},Ft(f1,"CommonValueConverter"),f1),p1,Ju=(p1=class extends Cse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(p1,"AbstractMermaidTokenBuilder"),p1),g1;g1=class extends Ju{},Ft(g1,"CommonTokenBuilder");var m1,JUe=(m1=class extends Ju{constructor(){super(["treemap"])}},Ft(m1,"TreemapTokenBuilder"),m1),eHe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,y1,tHe=(y1=class extends ly{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=eHe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(y1,"TreemapValueConverter"),y1);function zse(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft(zse,"registerValidationChecks");var v1,rHe=(v1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(v1,"TreemapValidator"),v1),qse={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new tHe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new rHe,"TreemapValidator")}};function Vse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),WUe,qse);return e.ServiceRegistry.register(r),zse(r),{shared:e,Treemap:r}}Ft(Vse,"createTreemapServices");var b1,nHe=(b1=class extends ly{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(b1,"WardleyValueConverter"),b1),Gse={parser:{ValueConverter:Ft(()=>new nHe,"ValueConverter")}};function Use(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),jUe,Gse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Use,"createWardleyServices");var x1,iHe=(x1=class extends Ju{constructor(){super(["gitGraph"])}},Ft(x1,"GitGraphTokenBuilder"),x1),Hse={parser:{TokenBuilder:Ft(()=>new iHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Wse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),qUe,Hse);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Wse,"createGitGraphServices");var T1,aHe=(T1=class extends Ju{constructor(){super(["info","showInfo"])}},Ft(T1,"InfoTokenBuilder"),T1),Yse={parser:{TokenBuilder:Ft(()=>new aHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function jse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),VUe,Yse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(jse,"createInfoServices");var w1,sHe=(w1=class extends Ju{constructor(){super(["packet"])}},Ft(w1,"PacketTokenBuilder"),w1),Xse={parser:{TokenBuilder:Ft(()=>new sHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function Kse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),GUe,Xse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(Kse,"createPacketServices");var C1,oHe=(C1=class extends Ju{constructor(){super(["pie","showData"])}},Ft(C1,"PieTokenBuilder"),C1),S1,lHe=(S1=class extends ly{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(S1,"PieValueConverter"),S1),Zse={parser:{TokenBuilder:Ft(()=>new oHe,"TokenBuilder"),ValueConverter:Ft(()=>new lHe,"ValueConverter")}};function Qse(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),UUe,Zse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Qse,"createPieServices");var E1,cHe=(E1=class extends ly{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(E1,"TreeViewValueConverter"),E1),k1,uHe=(k1=class extends Ju{constructor(){super(["treeView-beta"])}},Ft(k1,"TreeViewTokenBuilder"),k1),Jse={parser:{TokenBuilder:Ft(()=>new uHe,"TokenBuilder"),ValueConverter:Ft(()=>new cHe,"ValueConverter")}};function eoe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),YUe,Jse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(eoe,"createTreeViewServices");var _1,hHe=(_1=class extends Ju{constructor(){super(["architecture"])}},Ft(_1,"ArchitectureTokenBuilder"),_1),A1,dHe=(A1=class extends ly{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(A1,"ArchitectureValueConverter"),A1),toe={parser:{TokenBuilder:Ft(()=>new hHe,"TokenBuilder"),ValueConverter:Ft(()=>new dHe,"ValueConverter")}};function roe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),zUe,toe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(roe,"createArchitectureServices");var L1,fHe=(L1=class extends Ju{constructor(){super(["radar-beta"])}},Ft(L1,"RadarTokenBuilder"),L1),noe={parser:{TokenBuilder:Ft(()=>new fHe,"TokenBuilder"),ValueConverter:Ft(()=>new YS,"ValueConverter")}};function ioe(t=xc){const e=Gi(bc(t),Qu),r=Gi(vc({shared:e}),HUe,noe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(ioe,"createRadarServices");var rl={},pHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>hnt);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>dnt);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>fnt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>pnt);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>gnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>mnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>ynt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>vnt);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>bnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function Tc(t,e){const r=pHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new gHe(i);return i.value}Ft(Tc,"parse");var R1,gHe=(R1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` +`}class WGe{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&MGe(r))return NGe(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Cu(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class YGe{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return OVe(e)?e.$comment:RFe(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class XGe{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class jGe{constructor(){this.previousTokenSource=new si.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=bVe();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=si.CancellationToken.None){const i=new QM,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){HS(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class KGe{constructor(e){this.grammarElementIdMap=new AH,this.tokenTypeIdMap=new AH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Su(e))r.set(i,{});if(e.$cstNode)for(const i of GL(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.dehydrateAstNode(o,r)):ul(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else za(a)?n[i]=this.dehydrateAstNode(a,r):ul(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return oae(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Cb(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):sae(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of Su(e))r.set(a,{});let i;if(e.$cstNode)for(const a of GL(e.$cstNode)){let s;"fullText"in a?(s=new pse(a.fullText),i=s):"content"in a?s=new jM:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)za(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ul(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else za(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ul(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Cb(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new r9(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Su(this.grammar))oFe(r)&&this.grammarElementIdMap.set(r,e++)}}function yc(t){return{documentation:{CommentProvider:e=>new YGe(e),DocumentationProvider:e=>new WGe(e)},parser:{AsyncParser:e=>new XGe(e),GrammarConfig:e=>n$e(e),LangiumParser:e=>gVe(e),CompletionParser:e=>pVe(e),ValueConverter:()=>new Cse,TokenBuilder:()=>new wse,Lexer:e=>new RGe(e),ParserErrorMessageProvider:()=>new yse,LexerErrorMessageProvider:()=>new AGe},workspace:{AstNodeLocator:()=>new UVe,AstNodeDescriptionProvider:e=>new VVe(e),ReferenceDescriptionProvider:e=>new GVe(e)},references:{Linker:e=>new SVe(e),NameProvider:()=>new kVe,ScopeProvider:e=>new MVe(e),ScopeComputation:e=>new AVe(e),References:e=>new _Ve(e)},serializer:{Hydrator:e=>new KGe(e),JsonSerializer:e=>new IVe(e)},validation:{DocumentValidator:e=>new $Ve(e),ValidationRegistry:e=>new PVe(e)},shared:()=>t.shared}}function vc(t){return{ServiceRegistry:e=>new BVe(e),workspace:{LangiumDocuments:e=>new CVe(e),LangiumDocumentFactory:e=>new wVe(e),DocumentBuilder:e=>new EGe(e),IndexManager:e=>new kGe(e),WorkspaceManager:e=>new _Ge(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new jGe,ConfigurationProvider:e=>new WVe(e)},profilers:{}}}var wW;(function(t){t.merge=(e,r)=>Ob(Ob({},e),r)})(wW||(wW={}));function Gi(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(Ob,{});return Pse(u)}const ZGe=Symbol("isProxy");function Pse(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===ZGe?!0:SW(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(SW(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const CW=Symbol();function SW(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===CW)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=CW;try{t[e]=typeof i=="function"?i(n):Pse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Ob(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=Ob(i,n):t[r]=Ob({},n)}else t[r]=n}return t}class QGe{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const bc={fileSystemProvider:()=>new QGe},JGe={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},eUe={AstReflection:()=>new fae};function tUe(){const t=Gi(vc(bc),eUe),e=Gi(yc({shared:t}),JGe);return t.ServiceRegistry.register(e),e}function Ku(t){const e=tUe(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,vl.parse(`memory:/${r.name??"grammar"}.langium`)),r}var rUe=Object.defineProperty,Ft=(t,e)=>rUe(t,"name",{value:e,configurable:!0}),h9;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(h9||(h9={}));var d9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(d9||(d9={}));var f9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(f9||(f9={}));var p9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(p9||(p9={}));var g9;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g9||(g9={}));var m9;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m9||(m9={}));var y9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(y9||(y9={}));var v9;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(v9||(v9={}));var b9;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(b9||(b9={}));({...h9.Terminals,...d9.Terminals,...f9.Terminals,...p9.Terminals,...g9.Terminals,...m9.Terminals,...v9.Terminals,...y9.Terminals,...b9.Terminals});var F4={$type:"Accelerator",name:"name",x:"x",y:"y"},$4={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Vv={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},mA={$type:"Annotations",x:"x",y:"y"},ru={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function nUe(t){return Yo.isInstance(t,ru.$type)}Ft(nUe,"isArchitecture");var z4={$type:"Axis",label:"label",name:"name"},j3={$type:"Branch",name:"name",order:"order"};function iUe(t){return Yo.isInstance(t,j3.$type)}Ft(iUe,"isBranch");var EW={$type:"Checkout",branch:"branch"},q4={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},yA={$type:"ClassDefStatement",className:"className",styleText:"styleText"},cg={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function aUe(t){return Yo.isInstance(t,cg.$type)}Ft(aUe,"isCommit");var yf={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},V4={$type:"Curve",entries:"entries",label:"label",name:"name"},G4={$type:"Deaccelerator",name:"name",x:"x",y:"y"},kW={$type:"Decorator",strategy:"strategy"},Up={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ml={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},vA={$type:"Entry",axis:"axis",value:"value"},_W={$type:"Evolution",stages:"stages"},U4={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},bA={$type:"Evolve",component:"component",target:"target"},Rf={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function sUe(t){return Yo.isInstance(t,Rf.$type)}Ft(sUe,"isGitGraph");var Gv={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},m2={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function oUe(t){return Yo.isInstance(t,m2.$type)}Ft(oUe,"isInfo");var Uv={$type:"Item",classSelector:"classSelector",name:"name"},xA={$type:"Junction",id:"id",in:"in"},Hv={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},H4={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},vf={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},ug={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function lUe(t){return Yo.isInstance(t,ug.$type)}Ft(lUe,"isMerge");var W4={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},TA={$type:"Option",name:"name",value:"value"},hg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function cUe(t){return Yo.isInstance(t,hg.$type)}Ft(cUe,"isPacket");var dg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function uUe(t){return Yo.isInstance(t,dg.$type)}Ft(uUe,"isPacketBlock");var Df={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function hUe(t){return Yo.isInstance(t,Df.$type)}Ft(hUe,"isPie");var K3={$type:"PieSection",label:"label",value:"value"};function dUe(t){return Yo.isInstance(t,K3.$type)}Ft(dUe,"isPieSection");var wA={$type:"Pipeline",components:"components",parent:"parent"},Y4={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},bf={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},CA={$type:"Section",classSelector:"classSelector",name:"name"},Hp={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},SA={$type:"Size",height:"height",width:"width"},Wp={$type:"Statement"},fg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function fUe(t){return Yo.isInstance(t,fg.$type)}Ft(fUe,"isTreemap");var EA={$type:"TreemapRow",indent:"indent",item:"item"},kA={$type:"TreeNode",indent:"indent",name:"name"},Wv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},wa={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function pUe(t){return Yo.isInstance(t,wa.$type)}Ft(pUe,"isWardley");var u1,Fse=(u1=class extends aae{constructor(){super(...arguments),this.types={Accelerator:{name:F4.$type,properties:{name:{name:F4.name},x:{name:F4.x},y:{name:F4.y}},superTypes:[]},Anchor:{name:$4.$type,properties:{evolution:{name:$4.evolution},name:{name:$4.name},visibility:{name:$4.visibility}},superTypes:[]},Annotation:{name:Vv.$type,properties:{number:{name:Vv.number},text:{name:Vv.text},x:{name:Vv.x},y:{name:Vv.y}},superTypes:[]},Annotations:{name:mA.$type,properties:{x:{name:mA.x},y:{name:mA.y}},superTypes:[]},Architecture:{name:ru.$type,properties:{accDescr:{name:ru.accDescr},accTitle:{name:ru.accTitle},edges:{name:ru.edges,defaultValue:[]},groups:{name:ru.groups,defaultValue:[]},junctions:{name:ru.junctions,defaultValue:[]},services:{name:ru.services,defaultValue:[]},title:{name:ru.title}},superTypes:[]},Axis:{name:z4.$type,properties:{label:{name:z4.label},name:{name:z4.name}},superTypes:[]},Branch:{name:j3.$type,properties:{name:{name:j3.name},order:{name:j3.order}},superTypes:[Wp.$type]},Checkout:{name:EW.$type,properties:{branch:{name:EW.branch}},superTypes:[Wp.$type]},CherryPicking:{name:q4.$type,properties:{id:{name:q4.id},parent:{name:q4.parent},tags:{name:q4.tags,defaultValue:[]}},superTypes:[Wp.$type]},ClassDefStatement:{name:yA.$type,properties:{className:{name:yA.className},styleText:{name:yA.styleText}},superTypes:[]},Commit:{name:cg.$type,properties:{id:{name:cg.id},message:{name:cg.message},tags:{name:cg.tags,defaultValue:[]},type:{name:cg.type}},superTypes:[Wp.$type]},Component:{name:yf.$type,properties:{decorator:{name:yf.decorator},evolution:{name:yf.evolution},inertia:{name:yf.inertia,defaultValue:!1},label:{name:yf.label},name:{name:yf.name},visibility:{name:yf.visibility}},superTypes:[]},Curve:{name:V4.$type,properties:{entries:{name:V4.entries,defaultValue:[]},label:{name:V4.label},name:{name:V4.name}},superTypes:[]},Deaccelerator:{name:G4.$type,properties:{name:{name:G4.name},x:{name:G4.x},y:{name:G4.y}},superTypes:[]},Decorator:{name:kW.$type,properties:{strategy:{name:kW.strategy}},superTypes:[]},Direction:{name:Up.$type,properties:{accDescr:{name:Up.accDescr},accTitle:{name:Up.accTitle},dir:{name:Up.dir},statements:{name:Up.statements,defaultValue:[]},title:{name:Up.title}},superTypes:[Rf.$type]},Edge:{name:Ml.$type,properties:{lhsDir:{name:Ml.lhsDir},lhsGroup:{name:Ml.lhsGroup,defaultValue:!1},lhsId:{name:Ml.lhsId},lhsInto:{name:Ml.lhsInto,defaultValue:!1},rhsDir:{name:Ml.rhsDir},rhsGroup:{name:Ml.rhsGroup,defaultValue:!1},rhsId:{name:Ml.rhsId},rhsInto:{name:Ml.rhsInto,defaultValue:!1},title:{name:Ml.title}},superTypes:[]},Entry:{name:vA.$type,properties:{axis:{name:vA.axis,referenceType:z4.$type},value:{name:vA.value}},superTypes:[]},Evolution:{name:_W.$type,properties:{stages:{name:_W.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:U4.$type,properties:{boundary:{name:U4.boundary},name:{name:U4.name},secondName:{name:U4.secondName}},superTypes:[]},Evolve:{name:bA.$type,properties:{component:{name:bA.component},target:{name:bA.target}},superTypes:[]},GitGraph:{name:Rf.$type,properties:{accDescr:{name:Rf.accDescr},accTitle:{name:Rf.accTitle},statements:{name:Rf.statements,defaultValue:[]},title:{name:Rf.title}},superTypes:[]},Group:{name:Gv.$type,properties:{icon:{name:Gv.icon},id:{name:Gv.id},in:{name:Gv.in},title:{name:Gv.title}},superTypes:[]},Info:{name:m2.$type,properties:{accDescr:{name:m2.accDescr},accTitle:{name:m2.accTitle},title:{name:m2.title}},superTypes:[]},Item:{name:Uv.$type,properties:{classSelector:{name:Uv.classSelector},name:{name:Uv.name}},superTypes:[]},Junction:{name:xA.$type,properties:{id:{name:xA.id},in:{name:xA.in}},superTypes:[]},Label:{name:Hv.$type,properties:{negX:{name:Hv.negX,defaultValue:!1},negY:{name:Hv.negY,defaultValue:!1},offsetX:{name:Hv.offsetX},offsetY:{name:Hv.offsetY}},superTypes:[]},Leaf:{name:H4.$type,properties:{classSelector:{name:H4.classSelector},name:{name:H4.name},value:{name:H4.value}},superTypes:[Uv.$type]},Link:{name:vf.$type,properties:{arrow:{name:vf.arrow},from:{name:vf.from},fromPort:{name:vf.fromPort},linkLabel:{name:vf.linkLabel},to:{name:vf.to},toPort:{name:vf.toPort}},superTypes:[]},Merge:{name:ug.$type,properties:{branch:{name:ug.branch},id:{name:ug.id},tags:{name:ug.tags,defaultValue:[]},type:{name:ug.type}},superTypes:[Wp.$type]},Note:{name:W4.$type,properties:{evolution:{name:W4.evolution},text:{name:W4.text},visibility:{name:W4.visibility}},superTypes:[]},Option:{name:TA.$type,properties:{name:{name:TA.name},value:{name:TA.value,defaultValue:!1}},superTypes:[]},Packet:{name:hg.$type,properties:{accDescr:{name:hg.accDescr},accTitle:{name:hg.accTitle},blocks:{name:hg.blocks,defaultValue:[]},title:{name:hg.title}},superTypes:[]},PacketBlock:{name:dg.$type,properties:{bits:{name:dg.bits},end:{name:dg.end},label:{name:dg.label},start:{name:dg.start}},superTypes:[]},Pie:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},sections:{name:Df.sections,defaultValue:[]},showData:{name:Df.showData,defaultValue:!1},title:{name:Df.title}},superTypes:[]},PieSection:{name:K3.$type,properties:{label:{name:K3.label},value:{name:K3.value}},superTypes:[]},Pipeline:{name:wA.$type,properties:{components:{name:wA.components,defaultValue:[]},parent:{name:wA.parent}},superTypes:[]},PipelineComponent:{name:Y4.$type,properties:{evolution:{name:Y4.evolution},label:{name:Y4.label},name:{name:Y4.name}},superTypes:[]},Radar:{name:bf.$type,properties:{accDescr:{name:bf.accDescr},accTitle:{name:bf.accTitle},axes:{name:bf.axes,defaultValue:[]},curves:{name:bf.curves,defaultValue:[]},options:{name:bf.options,defaultValue:[]},title:{name:bf.title}},superTypes:[]},Section:{name:CA.$type,properties:{classSelector:{name:CA.classSelector},name:{name:CA.name}},superTypes:[Uv.$type]},Service:{name:Hp.$type,properties:{icon:{name:Hp.icon},iconText:{name:Hp.iconText},id:{name:Hp.id},in:{name:Hp.in},title:{name:Hp.title}},superTypes:[]},Size:{name:SA.$type,properties:{height:{name:SA.height},width:{name:SA.width}},superTypes:[]},Statement:{name:Wp.$type,properties:{},superTypes:[]},TreeNode:{name:kA.$type,properties:{indent:{name:kA.indent},name:{name:kA.name}},superTypes:[]},TreeView:{name:Wv.$type,properties:{accDescr:{name:Wv.accDescr},accTitle:{name:Wv.accTitle},nodes:{name:Wv.nodes,defaultValue:[]},title:{name:Wv.title}},superTypes:[]},Treemap:{name:fg.$type,properties:{accDescr:{name:fg.accDescr},accTitle:{name:fg.accTitle},title:{name:fg.title},TreemapRows:{name:fg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:EA.$type,properties:{indent:{name:EA.indent},item:{name:EA.item}},superTypes:[]},Wardley:{name:wa.$type,properties:{accDescr:{name:wa.accDescr},accelerators:{name:wa.accelerators,defaultValue:[]},accTitle:{name:wa.accTitle},anchors:{name:wa.anchors,defaultValue:[]},annotation:{name:wa.annotation,defaultValue:[]},annotations:{name:wa.annotations,defaultValue:[]},components:{name:wa.components,defaultValue:[]},deaccelerators:{name:wa.deaccelerators,defaultValue:[]},evolution:{name:wa.evolution},evolves:{name:wa.evolves,defaultValue:[]},links:{name:wa.links,defaultValue:[]},notes:{name:wa.notes,defaultValue:[]},pipelines:{name:wa.pipelines,defaultValue:[]},size:{name:wa.size},title:{name:wa.title}},superTypes:[]}}}},Ft(u1,"MermaidAstReflection"),u1),Yo=new Fse,AW,gUe=Ft(()=>AW??(AW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),LW,mUe=Ft(()=>LW??(LW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),RW,yUe=Ft(()=>RW??(RW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),DW,vUe=Ft(()=>DW??(DW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),NW,bUe=Ft(()=>NW??(NW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),MW,xUe=Ft(()=>MW??(MW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),OW,TUe=Ft(()=>OW??(OW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),IW,wUe=Ft(()=>IW??(IW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),BW,CUe=Ft(()=>BW??(BW=Ku(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),SUe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EUe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kUe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},_Ue={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AUe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},LUe={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RUe={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},DUe={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},NUe={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Zu={AstReflection:Ft(()=>new Fse,"AstReflection")},MUe={Grammar:Ft(()=>gUe(),"Grammar"),LanguageMetaData:Ft(()=>SUe,"LanguageMetaData"),parser:{}},OUe={Grammar:Ft(()=>mUe(),"Grammar"),LanguageMetaData:Ft(()=>EUe,"LanguageMetaData"),parser:{}},IUe={Grammar:Ft(()=>yUe(),"Grammar"),LanguageMetaData:Ft(()=>kUe,"LanguageMetaData"),parser:{}},BUe={Grammar:Ft(()=>vUe(),"Grammar"),LanguageMetaData:Ft(()=>_Ue,"LanguageMetaData"),parser:{}},PUe={Grammar:Ft(()=>bUe(),"Grammar"),LanguageMetaData:Ft(()=>AUe,"LanguageMetaData"),parser:{}},FUe={Grammar:Ft(()=>xUe(),"Grammar"),LanguageMetaData:Ft(()=>LUe,"LanguageMetaData"),parser:{}},$Ue={Grammar:Ft(()=>TUe(),"Grammar"),LanguageMetaData:Ft(()=>RUe,"LanguageMetaData"),parser:{}},zUe={Grammar:Ft(()=>wUe(),"Grammar"),LanguageMetaData:Ft(()=>DUe,"LanguageMetaData"),parser:{}},qUe={Grammar:Ft(()=>CUe(),"Grammar"),LanguageMetaData:Ft(()=>NUe,"LanguageMetaData"),parser:{}},VUe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,GUe=/accTitle[\t ]*:([^\n\r]*)/,UUe=/title([\t ][^\n\r]*|)/,HUe={ACC_DESCR:VUe,ACC_TITLE:GUe,TITLE:UUe},h1,oy=(h1=class extends Cse{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=HUe[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},Ft(h1,"AbstractMermaidValueConverter"),h1),d1,WS=(d1=class extends oy{runCustomConverter(e,r,n){}},Ft(d1,"CommonValueConverter"),d1),f1,Qu=(f1=class extends wse{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},Ft(f1,"AbstractMermaidTokenBuilder"),f1),p1;p1=class extends Qu{},Ft(p1,"CommonTokenBuilder");var g1,WUe=(g1=class extends Qu{constructor(){super(["treemap"])}},Ft(g1,"TreemapTokenBuilder"),g1),YUe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,m1,XUe=(m1=class extends oy{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=YUe.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},Ft(m1,"TreemapValueConverter"),m1);function $se(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}Ft($se,"registerValidationChecks");var y1,jUe=(y1=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},Ft(y1,"TreemapValidator"),y1),zse={parser:{TokenBuilder:Ft(()=>new WUe,"TokenBuilder"),ValueConverter:Ft(()=>new XUe,"ValueConverter")},validation:{TreemapValidator:Ft(()=>new jUe,"TreemapValidator")}};function qse(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),$Ue,zse);return e.ServiceRegistry.register(r),$se(r),{shared:e,Treemap:r}}Ft(qse,"createTreemapServices");var v1,KUe=(v1=class extends oy{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},Ft(v1,"WardleyValueConverter"),v1),Vse={parser:{ValueConverter:Ft(()=>new KUe,"ValueConverter")}};function Gse(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),qUe,Vse);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}Ft(Gse,"createWardleyServices");var b1,ZUe=(b1=class extends Qu{constructor(){super(["gitGraph"])}},Ft(b1,"GitGraphTokenBuilder"),b1),Use={parser:{TokenBuilder:Ft(()=>new ZUe,"TokenBuilder"),ValueConverter:Ft(()=>new WS,"ValueConverter")}};function Hse(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),OUe,Use);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}Ft(Hse,"createGitGraphServices");var x1,QUe=(x1=class extends Qu{constructor(){super(["info","showInfo"])}},Ft(x1,"InfoTokenBuilder"),x1),Wse={parser:{TokenBuilder:Ft(()=>new QUe,"TokenBuilder"),ValueConverter:Ft(()=>new WS,"ValueConverter")}};function Yse(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),IUe,Wse);return e.ServiceRegistry.register(r),{shared:e,Info:r}}Ft(Yse,"createInfoServices");var T1,JUe=(T1=class extends Qu{constructor(){super(["packet"])}},Ft(T1,"PacketTokenBuilder"),T1),Xse={parser:{TokenBuilder:Ft(()=>new JUe,"TokenBuilder"),ValueConverter:Ft(()=>new WS,"ValueConverter")}};function jse(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),BUe,Xse);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}Ft(jse,"createPacketServices");var w1,eHe=(w1=class extends Qu{constructor(){super(["pie","showData"])}},Ft(w1,"PieTokenBuilder"),w1),C1,tHe=(C1=class extends oy{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},Ft(C1,"PieValueConverter"),C1),Kse={parser:{TokenBuilder:Ft(()=>new eHe,"TokenBuilder"),ValueConverter:Ft(()=>new tHe,"ValueConverter")}};function Zse(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),PUe,Kse);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}Ft(Zse,"createPieServices");var S1,rHe=(S1=class extends oy{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},Ft(S1,"TreeViewValueConverter"),S1),E1,nHe=(E1=class extends Qu{constructor(){super(["treeView-beta"])}},Ft(E1,"TreeViewTokenBuilder"),E1),Qse={parser:{TokenBuilder:Ft(()=>new nHe,"TokenBuilder"),ValueConverter:Ft(()=>new rHe,"ValueConverter")}};function Jse(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),zUe,Qse);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}Ft(Jse,"createTreeViewServices");var k1,iHe=(k1=class extends Qu{constructor(){super(["architecture"])}},Ft(k1,"ArchitectureTokenBuilder"),k1),_1,aHe=(_1=class extends oy{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},Ft(_1,"ArchitectureValueConverter"),_1),eoe={parser:{TokenBuilder:Ft(()=>new iHe,"TokenBuilder"),ValueConverter:Ft(()=>new aHe,"ValueConverter")}};function toe(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),MUe,eoe);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}Ft(toe,"createArchitectureServices");var A1,sHe=(A1=class extends Qu{constructor(){super(["radar-beta"])}},Ft(A1,"RadarTokenBuilder"),A1),roe={parser:{TokenBuilder:Ft(()=>new sHe,"TokenBuilder"),ValueConverter:Ft(()=>new WS,"ValueConverter")}};function noe(t=bc){const e=Gi(vc(t),Zu),r=Gi(yc({shared:e}),FUe,roe);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}Ft(noe,"createRadarServices");var rl={},oHe={info:Ft(async()=>{const{createInfoServices:t}=await Nr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>int);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rl.info=e},"info"),packet:Ft(async()=>{const{createPacketServices:t}=await Nr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>ant);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rl.packet=e},"packet"),pie:Ft(async()=>{const{createPieServices:t}=await Nr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>snt);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rl.pie=e},"pie"),treeView:Ft(async()=>{const{createTreeViewServices:t}=await Nr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>ont);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;rl.treeView=e},"treeView"),architecture:Ft(async()=>{const{createArchitectureServices:t}=await Nr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>lnt);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rl.architecture=e},"architecture"),gitGraph:Ft(async()=>{const{createGitGraphServices:t}=await Nr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>cnt);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rl.gitGraph=e},"gitGraph"),radar:Ft(async()=>{const{createRadarServices:t}=await Nr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>unt);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rl.radar=e},"radar"),treemap:Ft(async()=>{const{createTreemapServices:t}=await Nr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>hnt);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rl.treemap=e},"treemap"),wardley:Ft(async()=>{const{createWardleyServices:t}=await Nr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>dnt);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;rl.wardley=e},"wardley")};async function xc(t,e){const r=oHe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rl[t]||await r();const i=rl[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new lHe(i);return i.value}Ft(xc,"parse");var L1,lHe=(L1=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(` -`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(R1,"MermaidParseError"),R1),_n={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},mHe=Vr.gitGraph,H0=S(()=>ea({...mHe,...gr().gitGraph}),"getConfig"),Kt=new MM(()=>{const t=H0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function jS(){return qZ({length:7})}S(jS,"getID");function aoe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(aoe,"uniqBy");var yHe=S(function(t){Kt.records.direction=t},"setDirection"),vHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{Kt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),bHe=S(function(){return Kt.records.options},"getOptions"),xHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=H0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||Kt.records.seq+"-"+jS(),message:e,seq:Kt.records.seq++,type:n??_n.NORMAL,tags:i??[],parents:Kt.records.head==null?[]:[Kt.records.head.id],branch:Kt.records.currBranch};Kt.records.head=s,oe.info("main branch",a.mainBranchName),Kt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),Kt.records.commits.set(s.id,s),Kt.records.branches.set(Kt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),THe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,H0()),Kt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Kt.records.branches.set(e,Kt.records.head!=null?Kt.records.head.id:null),Kt.records.branchConfig.set(e,{name:e,order:r}),soe(e),oe.debug("in createBranch")},"branch"),wHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=H0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=Kt.records.branches.get(Kt.records.currBranch),o=Kt.records.branches.get(e),l=s?Kt.records.commits.get(s):void 0,u=o?Kt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Kt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${Kt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!Kt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&Kt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${Kt.records.seq}-${jS()}`,message:`merged branch ${e} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,h],branch:Kt.records.currBranch,type:_n.MERGE,customType:n,customId:!!r,tags:i??[]};Kt.records.head=d,Kt.records.commits.set(d.id,d),Kt.records.branches.set(Kt.records.currBranch,d.id),oe.debug(Kt.records.branches),oe.debug("in mergeBranch")},"merge"),CHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=H0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!Kt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=Kt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===_n.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Kt.records.commits.has(r)){if(o===Kt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=Kt.records.branches.get(Kt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=Kt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Kt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:Kt.records.seq+"-"+jS(),message:`cherry-picked ${s?.message} into ${Kt.records.currBranch}`,seq:Kt.records.seq++,parents:Kt.records.head==null?[]:[Kt.records.head.id,s.id],branch:Kt.records.currBranch,type:_n.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===_n.MERGE?`|parent:${i}`:""}`]};Kt.records.head=h,Kt.records.commits.set(h.id,h),Kt.records.branches.set(Kt.records.currBranch,h.id),oe.debug(Kt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),soe=S(function(t){if(t=$t.sanitizeText(t,H0()),Kt.records.branches.has(t)){Kt.records.currBranch=t;const e=Kt.records.branches.get(Kt.records.currBranch);e===void 0||!e?Kt.records.head=null:Kt.records.head=Kt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(T9,"upsert");function nO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in Kt.records.branches)Kt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i),e.parents[1]&&t.push(Kt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=Kt.records.commits.get(e.parents[0]);T9(t,e,i)}}t=aoe(t,i=>i.id),nO(t)}S(nO,"prettyPrintCommitHistory");var SHe=S(function(){oe.debug(Kt.records.commits);const t=ooe()[0];nO([t])},"prettyPrint"),EHe=S(function(){Kt.reset(),Kn()},"clear"),kHe=S(function(){return[...Kt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),_He=S(function(){return Kt.records.branches},"getBranches"),AHe=S(function(){return Kt.records.commits},"getCommits"),ooe=S(function(){const t=[...Kt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),LHe=S(function(){return Kt.records.currBranch},"getCurrentBranch"),RHe=S(function(){return Kt.records.direction},"getDirection"),DHe=S(function(){return Kt.records.head},"getHead"),loe={commitType:_n,getConfig:H0,setDirection:yHe,setOptions:vHe,getOptions:bHe,commit:xHe,branch:THe,merge:wHe,cherryPick:CHe,checkout:soe,prettyPrint:SHe,clear:EHe,getBranchesAsObjArray:kHe,getBranches:_He,getCommits:AHe,getCommitsArray:ooe,getCurrentBranch:LHe,getDirection:RHe,getHead:DHe,setAccTitle:Xn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,setDiagramTitle:li,getDiagramTitle:Zn},NHe=S((t,e)=>{ju(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)MHe(r,e)},"populate"),MHe=S((t,e)=>{const n={Commit:S(i=>e.commit(OHe(i)),"Commit"),Branch:S(i=>e.branch(IHe(i)),"Branch"),Merge:S(i=>e.merge(BHe(i)),"Merge"),Checkout:S(i=>e.checkout(PHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(FHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),OHe=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?_n[t.type]:_n.NORMAL,tags:t.tags??void 0}),"parseCommit"),IHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),BHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?_n[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),PHe=S(t=>t.branch,"parseCheckout"),FHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),$He={parse:S(async t=>{const e=await Tc("gitGraph",t);oe.debug(e),NHe(e,loe)},"parse")},Hh=10,Wh=40,zl=4,cu=2,Pf=8,XS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),w9=12,iO=new Set(["redux-color","redux-dark-color"]),zHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Ff=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Is=new Map,$s=new Map,Jw=30,v2=new Map,eC=[],uu=0,Gr="LR",qHe=S(()=>{Is.clear(),$s.clear(),v2.clear(),uu=0,eC=[],Gr="LR"},"clear"),coe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),uoe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?$s.get(i)?.y:$s.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),VHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=$s.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),GHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=HHe(o),i=Math.max(n,i)):a.push(o),WHe(o,n)}),n=i,a.forEach(s=>{YHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=VHe(o.parents);n=$s.get(l).y-Wh,n<=i&&(i=n);const u=Is.get(o.branch).pos,h=n-Hh;$s.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),UHe=S(t=>{const e=uoe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=$s.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),HHe=S(t=>UHe(t)+Wh,"calculateCommitPosition"),WHe=S((t,e)=>{const r=Is.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Hh;return $s.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),YHe=S((t,e,r)=>{const n=Is.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;$s.set(t.id,{x:a,y:i})},"setRootPosition"),jHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=XS.has(s??""),l=iO.has(s??""),u=zHe.has(s??"");if(a===_n.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Ff(i,Pf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Ff(i,Pf,l)} ${n}-inner`);else if(a===_n.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Ff(i,Pf,l)}`),a===_n.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}if(a===_n.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Ff(i,Pf,l)}`)}}},"drawCommitBullet"),XHe=S((t,e,r,n,i)=>{if(e.type!==_n.CHERRY_PICK&&(e.customId&&e.type===_n.MERGE||e.type!==_n.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-cu).attr("y",r.y+13.5).attr("width",l.width+2*cu).attr("height",l.height+2*cu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*zl+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*zl)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),KHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` - ${n-a/2-zl/2},${p+cu} - ${n-a/2-zl/2},${p-cu} - ${r.posWithOffset-a/2-zl},${p-f-cu} - ${r.posWithOffset+a/2+zl},${p-f-cu} - ${r.posWithOffset+a/2+zl},${p+f+cu} - ${r.posWithOffset-a/2-zl},${p+f+cu}`),u.attr("cy",p).attr("cx",n-a/2+zl/2).attr("r",1.5).attr("class","tag-hole"),Gr==="TB"||Gr==="BT"){const m=n+d;h.attr("class","tag-label-bkg").attr("points",` +`);super(`Parsing failed: ${r} ${n}`),this.result=e}},Ft(L1,"MermaidParseError"),L1),_n={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},cHe=Vr.gitGraph,U0=S(()=>ea({...cHe,...gr().gitGraph}),"getConfig"),jt=new NM(()=>{const t=U0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function YS(){return zZ({length:7})}S(YS,"getID");function ioe(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}S(ioe,"uniqBy");var uHe=S(function(t){jt.records.direction=t},"setDirection"),hHe=S(function(t){oe.debug("options str",t),t=t?.trim(),t=t||"{}";try{jt.records.options=JSON.parse(t)}catch(e){oe.error("error while parsing gitGraph options",e.message)}},"setOptions"),dHe=S(function(){return jt.records.options},"getOptions"),fHe=S(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;oe.info("commit",e,r,n,i),oe.debug("Entering commit:",e,r,n,i);const a=U0();r=$t.sanitizeText(r,a),e=$t.sanitizeText(e,a),i=i?.map(o=>$t.sanitizeText(o,a));const s={id:r||jt.records.seq+"-"+YS(),message:e,seq:jt.records.seq++,type:n??_n.NORMAL,tags:i??[],parents:jt.records.head==null?[]:[jt.records.head.id],branch:jt.records.currBranch};jt.records.head=s,oe.info("main branch",a.mainBranchName),jt.records.commits.has(s.id)&&oe.warn(`Commit ID ${s.id} already exists`),jt.records.commits.set(s.id,s),jt.records.branches.set(jt.records.currBranch,s.id),oe.debug("in pushCommit "+s.id)},"commit"),pHe=S(function(t){let e=t.name;const r=t.order;if(e=$t.sanitizeText(e,U0()),jt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);jt.records.branches.set(e,jt.records.head!=null?jt.records.head.id:null),jt.records.branchConfig.set(e,{name:e,order:r}),aoe(e),oe.debug("in createBranch")},"branch"),gHe=S(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=U0();e=$t.sanitizeText(e,a),r&&(r=$t.sanitizeText(r,a));const s=jt.records.branches.get(jt.records.currBranch),o=jt.records.branches.get(e),l=s?jt.records.commits.get(s):void 0,u=o?jt.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(jt.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${jt.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!jt.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&jt.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},f}const h=o||"",d={id:r||`${jt.records.seq}-${YS()}`,message:`merged branch ${e} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,h],branch:jt.records.currBranch,type:_n.MERGE,customType:n,customId:!!r,tags:i??[]};jt.records.head=d,jt.records.commits.set(d.id,d),jt.records.branches.set(jt.records.currBranch,d.id),oe.debug(jt.records.branches),oe.debug("in mergeBranch")},"merge"),mHe=S(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;oe.debug("Entering cherryPick:",e,r,n);const a=U0();if(e=$t.sanitizeText(e,a),r=$t.sanitizeText(r,a),n=n?.map(l=>$t.sanitizeText(l,a)),i=$t.sanitizeText(i,a),!e||!jt.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=jt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===_n.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!jt.records.commits.has(r)){if(o===jt.records.currBranch){const d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const l=jt.records.branches.get(jt.records.currBranch);if(l===void 0||!l){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const u=jt.records.commits.get(l);if(u===void 0||!u){const d=new Error(`Incorrect usage of "cherry-pick". Current branch (${jt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}const h={id:jt.records.seq+"-"+YS(),message:`cherry-picked ${s?.message} into ${jt.records.currBranch}`,seq:jt.records.seq++,parents:jt.records.head==null?[]:[jt.records.head.id,s.id],branch:jt.records.currBranch,type:_n.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===_n.MERGE?`|parent:${i}`:""}`]};jt.records.head=h,jt.records.commits.set(h.id,h),jt.records.branches.set(jt.records.currBranch,h.id),oe.debug(jt.records.branches),oe.debug("in cherryPick")}},"cherryPick"),aoe=S(function(t){if(t=$t.sanitizeText(t,U0()),jt.records.branches.has(t)){jt.records.currBranch=t;const e=jt.records.branches.get(jt.records.currBranch);e===void 0||!e?jt.records.head=null:jt.records.head=jt.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function x9(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}S(x9,"upsert");function rO(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in jt.records.branches)jt.records.branches.get(i)===e.id&&n.push(i);if(oe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=jt.records.commits.get(e.parents[0]);x9(t,e,i),e.parents[1]&&t.push(jt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=jt.records.commits.get(e.parents[0]);x9(t,e,i)}}t=ioe(t,i=>i.id),rO(t)}S(rO,"prettyPrintCommitHistory");var yHe=S(function(){oe.debug(jt.records.commits);const t=soe()[0];rO([t])},"prettyPrint"),vHe=S(function(){jt.reset(),Kn()},"clear"),bHe=S(function(){return[...jt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),xHe=S(function(){return jt.records.branches},"getBranches"),THe=S(function(){return jt.records.commits},"getCommits"),soe=S(function(){const t=[...jt.records.commits.values()];return t.forEach(function(e){oe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),wHe=S(function(){return jt.records.currBranch},"getCurrentBranch"),CHe=S(function(){return jt.records.direction},"getDirection"),SHe=S(function(){return jt.records.head},"getHead"),ooe={commitType:_n,getConfig:U0,setDirection:uHe,setOptions:hHe,getOptions:dHe,commit:fHe,branch:pHe,merge:gHe,cherryPick:mHe,checkout:aoe,prettyPrint:yHe,clear:vHe,getBranchesAsObjArray:bHe,getBranches:xHe,getCommits:THe,getCommitsArray:soe,getCurrentBranch:wHe,getDirection:CHe,getHead:SHe,setAccTitle:jn,getAccTitle:ci,getAccDescription:hi,setAccDescription:ui,setDiagramTitle:li,getDiagramTitle:Zn},EHe=S((t,e)=>{Yu(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)kHe(r,e)},"populate"),kHe=S((t,e)=>{const n={Commit:S(i=>e.commit(_He(i)),"Commit"),Branch:S(i=>e.branch(AHe(i)),"Branch"),Merge:S(i=>e.merge(LHe(i)),"Merge"),Checkout:S(i=>e.checkout(RHe(i)),"Checkout"),CherryPicking:S(i=>e.cherryPick(DHe(i)),"CherryPicking")}[t.$type];n?n(t):oe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),_He=S(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?_n[t.type]:_n.NORMAL,tags:t.tags??void 0}),"parseCommit"),AHe=S(t=>({name:t.name,order:t.order??0}),"parseBranch"),LHe=S(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?_n[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),RHe=S(t=>t.branch,"parseCheckout"),DHe=S(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),NHe={parse:S(async t=>{const e=await xc("gitGraph",t);oe.debug(e),EHe(e,ooe)},"parse")},Gh=10,Uh=40,$l=4,lu=2,Bf=8,XS=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),T9=12,nO=new Set(["redux-color","redux-dark-color"]),MHe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Pf=S((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Is=new Map,$s=new Map,Qw=30,y2=new Map,Jw=[],cu=0,Gr="LR",OHe=S(()=>{Is.clear(),$s.clear(),y2.clear(),cu=0,Jw=[],Gr="LR"},"clear"),loe=S(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),coe=S(t=>{let e,r,n;return Gr==="BT"?(r=S((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=S((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{const a=Gr==="TB"||Gr=="BT"?$s.get(i)?.y:$s.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),IHe=S(t=>{let e="",r=1/0;return t.forEach(n=>{const i=$s.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),BHe=S((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=FHe(o),i=Math.max(n,i)):a.push(o),$He(o,n)}),n=i,a.forEach(s=>{zHe(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o?.parents.length){const l=IHe(o.parents);n=$s.get(l).y-Uh,n<=i&&(i=n);const u=Is.get(o.branch).pos,h=n-Gh;$s.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),PHe=S(t=>{const e=coe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=$s.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),FHe=S(t=>PHe(t)+Uh,"calculateCommitPosition"),$He=S((t,e)=>{const r=Is.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+Gh;return $s.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),zHe=S((t,e,r)=>{const n=Is.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;$s.set(t.id,{x:a,y:i})},"setRootPosition"),qHe=S((t,e,r,n,i,a)=>{const{theme:s}=Pe(),o=XS.has(s??""),l=nO.has(s??""),u=MHe.has(s??"");if(a===_n.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${Pf(i,Bf,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${Pf(i,Bf,l)} ${n}-inner`);else if(a===_n.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${Pf(i,Bf,l)}`),a===_n.MERGE){const d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?5:6),d.attr("class",`commit ${n} ${e.id} commit${Pf(i,Bf,l)}`)}if(a===_n.REVERSE){const d=t.append("path"),f=o?4:5;d.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${Pf(i,Bf,l)}`)}}},"drawCommitBullet"),VHe=S((t,e,r,n,i)=>{if(e.type!==_n.CHERRY_PICK&&(e.customId&&e.type===_n.MERGE||e.type!==_n.MERGE)&&i.showCommitLabel){const a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),o=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(s.attr("x",r.posWithOffset-l.width/2-lu).attr("y",r.y+13.5).attr("width",l.width+2*lu).attr("height",l.height+2*lu),Gr==="TB"||Gr==="BT"?(s.attr("x",r.x-(l.width+4*$l+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*$l)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),i.rotateCommitLabel))if(Gr==="TB"||Gr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;a.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),GHe=S((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const l of e.tags.reverse()){const u=t.insert("polygon"),h=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(l),f=d.node()?.getBBox();if(!f)throw new Error("Tag bbox not found");a=Math.max(a,f.width),s=Math.max(s,f.height),d.attr("x",r.posWithOffset-f.width/2),o.push({tag:d,hole:h,rect:u,yOffset:i}),i+=20}for(const{tag:l,hole:u,rect:h,yOffset:d}of o){const f=s/2,p=r.y-19.2-d;if(h.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-$l/2},${p+lu} + ${n-a/2-$l/2},${p-lu} + ${r.posWithOffset-a/2-$l},${p-f-lu} + ${r.posWithOffset+a/2+$l},${p-f-lu} + ${r.posWithOffset+a/2+$l},${p+f+lu} + ${r.posWithOffset-a/2-$l},${p+f+lu}`),u.attr("cy",p).attr("cx",n-a/2+$l/2).attr("r",1.5).attr("class","tag-hole"),Gr==="TB"||Gr==="BT"){const m=n+d;h.attr("class","tag-label-bkg").attr("points",` ${r.x},${m+2} ${r.x},${m-2} - ${r.x+Hh},${m-f-2} - ${r.x+Hh+a+4},${m-f-2} - ${r.x+Hh+a+4},${m+f+2} - ${r.x+Hh},${m+f+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("cx",r.x+zl/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),l.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),ZHe=S(t=>{switch(t.customType??t.type){case _n.NORMAL:return"commit-normal";case _n.REVERSE:return"commit-reverse";case _n.HIGHLIGHT:return"commit-highlight";case _n.MERGE:return"commit-merge";case _n.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),QHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=uoe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Wh:e==="BT"?(n.get(t.id)??i).y-Wh:s.x+Wh}}else return e==="TB"?Jw:e==="BT"?(n.get(t.id)??i).y-Wh:0;return 0},"calculatePosition"),JHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Hh,i=Is.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Is.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=XS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?w9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),FW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Jw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&GHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=QHe(f,Gr,s,$s));const p=JHe(f,s,l);if(r){const m=ZHe(f),v=f.customType??f.type,b=Is.get(f.branch)?.index??0;jHe(i,f,p,m,b,v),XHe(a,f,p,s,n),KHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?$s.set(f.id,{x:p.x,y:p.posWithOffset}):$s.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Wh:s+Wh+Hh,s>uu&&(uu=s)})},"drawCommits"),eWe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),b2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(eC.every(s=>Math.abs(s-n)>=10))return eC.push(n),n;const a=Math.abs(t-e);return b2(t,e-a/5,r+1)},"findLane"),tWe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=iO.has(i??""),s=$s.get(e.id),o=$s.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=eWe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Is.get(r.branch)?.index;r.type===_n.MERGE&&e.id!==r.parents[0]&&(p=Is.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Ff(p,Pf,a))},"drawArrow"),rWe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{tWe(r,e.get(a),i,e)})})},"drawArrows"),nWe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=XS.has(a??""),h=iO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Ff(p,u?l:Pf,h),v=Is.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+w9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",uu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Jw),x.attr("x1",v),x.attr("y2",uu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",uu),x.attr("x1",v),x.attr("y2",Jw),x.attr("x2",v)),eC.push(b);const C=f.name,T=coe(C),E=d.insert("rect"),A=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);A.node().appendChild(T);const k=T.getBBox(),R=u?0:4,O=u?16:0,F=u?w9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",R).attr("ry",R).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),A.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),A.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",uu),A.attr("transform","translate("+(v-k.width/2-5)+", "+uu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),A.attr("transform","translate("+(v-k.width/2-5)+", "+(uu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),iWe=S(function(t,e,r,n,i){return Is.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),aWe=S(function(t,e,r,n){qHe(),oe.debug("in gitgraph renderer",t+` -`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;v2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&XS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=coe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),A=_.insert("g").attr("class","label branch-label");A.node()?.appendChild(T);const k=T.getBBox();b=iWe(x.name,b,C,k,s),A.remove(),_.remove(),E.remove()}),FW(l,v2,!1,a),a.showBranches&&nWe(l,o,a,e),rWe(l,v2),FW(l,v2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),gj(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),sWe={draw:aWe},hoe=8,doe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),oWe=new Set(["redux-color","redux-dark-color"]),lWe=new Set(["neo","neo-dark"]),cWe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),uWe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),hWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{switch(t.customType??t.type){case _n.NORMAL:return"commit-normal";case _n.REVERSE:return"commit-reverse";case _n.HIGHLIGHT:return"commit-highlight";case _n.MERGE:return"commit-merge";case _n.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),HHe=S((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=coe(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+Uh:e==="BT"?(n.get(t.id)??i).y-Uh:s.x+Uh}}else return e==="TB"?Qw:e==="BT"?(n.get(t.id)??i).y-Uh:0;return 0},"calculatePosition"),WHe=S((t,e,r)=>{const n=Gr==="BT"&&r?e:e+Gh,i=Is.get(t.branch)?.pos,a=Gr==="TB"||Gr==="BT"?Is.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=XS.has(Pe().theme??""),o=Gr==="TB"||Gr==="BT"?n:i+(s?T9/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),PW=S((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Gr==="TB"||Gr==="BT"?Qw:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=S((d,f)=>{const p=e.get(d)?.seq,m=e.get(f)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys");let h=o.sort(u);Gr==="BT"&&(l&&BHe(h,e,s),h=h.reverse()),h.forEach(d=>{const f=e.get(d);if(!f)throw new Error(`Commit not found for key ${d}`);l&&(s=HHe(f,Gr,s,$s));const p=WHe(f,s,l);if(r){const m=UHe(f),v=f.customType??f.type,b=Is.get(f.branch)?.index??0;qHe(i,f,p,m,b,v),VHe(a,f,p,s,n),GHe(a,f,p,s)}Gr==="TB"||Gr==="BT"?$s.set(f.id,{x:p.x,y:p.posWithOffset}):$s.set(f.id,{x:p.posWithOffset,y:p.y}),s=Gr==="BT"&&l?s+Uh:s+Uh+Gh,s>cu&&(cu=s)})},"drawCommits"),YHe=S((t,e,r,n,i)=>{const s=(Gr==="TB"||Gr==="BT"?r.xu.branch===s,"isOnBranchToGetCurve"),l=S(u=>u.seq>t.seq&&u.seql(u)&&o(u))},"shouldRerouteArrow"),v2=S((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(Jw.every(s=>Math.abs(s-n)>=10))return Jw.push(n),n;const a=Math.abs(t-e);return v2(t,e-a/5,r+1)},"findLane"),XHe=S((t,e,r,n)=>{const{theme:i}=Pe(),a=nO.has(i??""),s=$s.get(e.id),o=$s.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=YHe(e,r,s,o,n);let u="",h="",d=0,f=0,p=Is.get(r.branch)?.index;r.type===_n.MERGE&&e.id!==r.parents[0]&&(p=Is.get(e.branch)?.index);let m;if(l){u="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",d=10,f=10;const v=s.yo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y-d} ${h} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Gr==="BT"?(s.xo.x&&(u="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",d=20,f=20,r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${o.x+d} ${s.y} ${h} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.yo.y&&(r.type===_n.MERGE&&e.id!==r.parents[0]?m=`M ${s.x} ${s.y} L ${o.x-d} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:m=`M ${s.x} ${s.y} L ${s.x} ${o.y+d} ${h} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(m=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(m===void 0)throw new Error("Line definition not found");t.append("path").attr("d",m).attr("class","arrow arrow"+Pf(p,Bf,a))},"drawArrow"),jHe=S((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{XHe(r,e.get(a),i,e)})})},"drawArrows"),KHe=S((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Pe(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=XS.has(a??""),h=nO.has(a??""),d=t.append("g");e.forEach((f,p)=>{const m=Pf(p,u?l:Bf,h),v=Is.get(f.name)?.pos;if(v===void 0)throw new Error(`Position not found for branch ${f.name}`);const b=Gr==="TB"||Gr==="BT"?v:u?v+T9/2+1:v-2,x=d.append("line");x.attr("x1",0),x.attr("y1",b),x.attr("x2",cu),x.attr("y2",b),x.attr("class","branch branch"+m),Gr==="TB"?(x.attr("y1",Qw),x.attr("x1",v),x.attr("y2",cu),x.attr("x2",v)):Gr==="BT"&&(x.attr("y1",cu),x.attr("x1",v),x.attr("y2",Qw),x.attr("x2",v)),Jw.push(b);const C=f.name,T=loe(C),E=d.insert("rect"),R=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+m);R.node().appendChild(T);const k=T.getBBox(),L=u?0:4,O=u?16:0,F=u?T9:0;i==="neo"&&E.attr("data-look","neo"),E.attr("class","branchLabelBkg label"+m).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",L).attr("ry",L).attr("x",-k.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-k.height/2+10).attr("width",k.width+18+O).attr("height",k.height+4+F),R.attr("transform","translate("+(-k.width-14-(r.rotateCommitLabel===!0?30:0)+O/2)+", "+(b-k.height/2-2)+")"),Gr==="TB"?(E.attr("x",v-k.width/2-10).attr("y",0),R.attr("transform","translate("+(v-k.width/2-5)+", 0)"),u&&(E.attr("transform",`translate(${-O/2-3}, ${-F-10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(-F*2+7)+")"))):Gr==="BT"?(E.attr("x",v-k.width/2-10).attr("y",cu),R.attr("transform","translate("+(v-k.width/2-5)+", "+cu+")"),u&&(E.attr("transform",`translate(${-O/2-3}, ${F+10})`),R.attr("transform","translate("+(v-k.width/2-5)+", "+(cu+F*2+4)+")"))):E.attr("transform","translate(-19, "+(b-12-F/2)+")")})},"drawBranches"),ZHe=S(function(t,e,r,n,i){return Is.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Gr==="TB"||Gr==="BT"?n.width/2:0),e},"setBranchPosition"),QHe=S(function(t,e,r,n){OHe(),oe.debug("in gitgraph renderer",t+` +`,"id:",e,r);const i=n.db;if(!i.getConfig){oe.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;y2=i.getCommits();const o=i.getBranchesAsObjArray();Gr=i.getDirection();const l=kt(`[id="${e}"]`),{look:u,theme:h,themeVariables:d}=Pe(),{useGradient:f,gradientStart:p,gradientStop:m,filterColor:v}=d;if(f){const x=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}u==="neo"&&XS.has(h??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",v);let b=0;o.forEach((x,C)=>{const T=loe(x.name),E=l.append("g"),_=E.insert("g").attr("class","branchLabel"),R=_.insert("g").attr("class","label branch-label");R.node()?.appendChild(T);const k=T.getBBox();b=ZHe(x.name,b,C,k,s),R.remove(),_.remove(),E.remove()}),PW(l,y2,!1,a),a.showBranches&&KHe(l,o,a,e),jHe(l,y2),PW(l,y2,!0,a),Lr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),pX(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),JHe={draw:QHe},uoe=8,hoe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),eWe=new Set(["redux-color","redux-dark-color"]),tWe=new Set(["neo","neo-dark"]),rWe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),nWe=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),iWe=S(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=doe.has(r);if(lWe.has(r)){let s="";for(let o=0;o{const e=gr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=hoe.has(r);if(tWe.has(r)){let s="";for(let o=0;o`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%hoe;return` + `;return s}},"genColor"),sWe=S(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%uoe;return` .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } .label${e} { fill: ${t["git"+r]}; } .arrow${e} { stroke: ${t["git"+r]}; } `}).join(` -`)}`,"normalTheme"),pWe=S(t=>{const e=gr(),{theme:r}=e,n=uWe.has(r);return` +`)}`,"normalTheme"),oWe=S(t=>{const e=gr(),{theme:r}=e,n=nWe.has(r);return` .commit-id, .commit-msg, .branch-label { @@ -1419,7 +1419,7 @@ ${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="link font-family: var(--mermaid-font-family); } - ${n?dWe(t):fWe(t)} + ${n?aWe(t):sWe(t)} .branch { stroke-width: ${t.strokeWidth}; @@ -1450,7 +1450,7 @@ ${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="link .arrow { /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */ - stroke-width: ${doe.has(r)?t.strokeWidth:8}; + stroke-width: ${hoe.has(r)?t.strokeWidth:8}; stroke-linecap: round; fill: none } @@ -1459,12 +1459,12 @@ ${r}`),this.inline?`{${i}}`:i}}function ZGe(t,e,r){if(t==="linkplain"||t==="link font-size: 18px; fill: ${t.textColor}; } -`},"getStyles"),gWe=pWe,mWe={parser:$He,db:loe,renderer:sWe,styles:gWe};const yWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:mWe},Symbol.toStringTag,{value:"Module"}));var Q3={exports:{}},vWe=Q3.exports,$W;function bWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(vWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Q3)),Q3.exports}var xWe=bWe();const TWe=k0(xWe);var J3={exports:{}},wWe=J3.exports,zW;function CWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(wWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,j=P.month,Z=P.day,X=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||j?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!j||(pe=j>0?j-1:ie.getMonth());var Me,$e=X||0,He=ee||0,Le=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Le,Oe)):(Me=new Date(me,pe,ne,$e,He,Le,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(A,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&A!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){R[1]=O[I-1];var N=C.apply(this,R);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(J3)),J3.exports}var SWe=CWe();const EWe=k0(SWe);var e5={exports:{}},kWe=e5.exports,qW;function _We(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(kWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(e5)),e5.exports}var AWe=_We();const LWe=k0(AWe);var t5={exports:{}},RWe=t5.exports,VW;function DWe(){return VW||(VW=1,(function(t,e){(function(r,n){t.exports=n()})(RWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(A){return A instanceof E},m=function(A,k,R){return new E(A,R,k.$l)},v=function(A){return n.p(A)+"s"},b=function(A){return A<0},x=function(A){return b(A)?Math.ceil(A):Math.floor(A)},C=function(A){return Math.abs(A)},T=function(A,k){return A?b(A)?{negative:!0,format:""+C(A)+k}:{negative:!1,format:""+A+k}:{negative:!1,format:""}},E=(function(){function A(R,O,F){var $=this;if(this.$d={},this.$l=F,R===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(R*f[v(O)],this);if(typeof R=="number")return this.$ms=R,this.parseFromMilliseconds(),this;if(typeof R=="object")return Object.keys(R).forEach((function(D){$.$d[v(D)]=R[D]})),this.calMilliseconds(),this;if(typeof R=="string"){var q=R.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=A.prototype;return k.calMilliseconds=function(){var R=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(R.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var R=this.$ms;this.$d.years=x(R/u),R%=u,this.$d.months=x(R/h),R%=h,this.$d.days=x(R/o),R%=o,this.$d.hours=x(R/s),R%=s,this.$d.minutes=x(R/a),R%=a,this.$d.seconds=x(R/i),R%=i,this.$d.milliseconds=R},k.toISOString=function(){var R=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=R.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+R.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(R){var O=R||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(R){return this.$ms/f[v(R)]},k.get=function(R){var O=this.$ms,F=v(R);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(R,O,F){var $;return $=O?R*f[v(O)]:p(R)?R.$ms:m(R,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(R,O){return this.add(R,O,!0)},k.locale=function(R){var O=this.clone();return O.$l=R,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(R){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!R)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},A})(),_=function(A,k,R){return A.add(k.years()*R,"y").add(k.months()*R,"M").add(k.days()*R,"d").add(k.hours()*R,"h").add(k.minutes()*R,"m").add(k.seconds()*R,"s").add(k.milliseconds()*R,"ms")};return function(A,k,R){r=R,n=R().$utils(),R.duration=function($,q){var z=R.locale();return m($,{$l:z},q)},R.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(t5)),t5.exports}var NWe=DWe();const MWe=k0(NWe);var C9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],A=[1,22],k=[1,23],R=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:A,36:k,37:24,38:R,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:A,36:k,37:24,38:R,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,j=0,Z=2,X=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||X,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Le={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var De="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?De="Parse error on line "+(H+1)+`: +`},"getStyles"),lWe=oWe,cWe={parser:NHe,db:ooe,renderer:JHe,styles:lWe};const uWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:cWe},Symbol.toStringTag,{value:"Module"}));var Z3={exports:{}},hWe=Z3.exports,FW;function dWe(){return FW||(FW=1,(function(t,e){(function(r,n){t.exports=n()})(hWe,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var h,d,f,p,m=s(this),v=(h=this.isoWeekYear(),d=this.$u,f=(d?a.utc:a)().year(h).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return m.diff(v,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,h){var d=this.$utils(),f=!!d.u(h)||h;return d.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,h)}}}))})(Z3)),Z3.exports}var fWe=dWe();const pWe=E0(fWe);var Q3={exports:{}},gWe=Q3.exports,$W;function mWe(){return $W||($W=1,(function(t,e){(function(r,n){t.exports=n()})(gWe,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(b){return(b=+b)+(b>68?1900:2e3)},h=function(b){return function(x){this[b]=+x}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var C=x.match(/([+-]|\d\d)/g),T=60*C[1]+(+C[2]||0);return T===0?0:C[0]==="+"?-T:T})(b)}],f=function(b){var x=l[b];return x&&(x.indexOf?x:x.s.concat(x.f))},p=function(b,x){var C,T=l.meridiem;if(T){for(var E=1;E<=24;E+=1)if(b.indexOf(T(E,0,x))>-1){C=E>12;break}}else C=b===(x?"pm":"PM");return C},m={A:[o,function(b){this.afternoon=p(b,!1)}],a:[o,function(b){this.afternoon=p(b,!0)}],Q:[i,function(b){this.month=3*(b-1)+1}],S:[i,function(b){this.milliseconds=100*+b}],SS:[a,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[a,h("day")],Do:[o,function(b){var x=l.ordinal,C=b.match(/\d+/);if(this.day=C[0],x)for(var T=1;T<=31;T+=1)x(T).replace(/\[|\]/g,"")===b&&(this.day=T)}],w:[s,h("week")],ww:[a,h("week")],M:[s,h("month")],MM:[a,h("month")],MMM:[o,function(b){var x=f("months"),C=(f("monthsShort")||x.map((function(T){return T.slice(0,3)}))).indexOf(b)+1;if(C<1)throw new Error;this.month=C%12||C}],MMMM:[o,function(b){var x=f("months").indexOf(b)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,h("year")],YY:[a,function(b){this.year=u(b)}],YYYY:[/\d{4}/,h("year")],Z:d,ZZ:d};function v(b){var x,C;x=b,C=l&&l.formats;for(var T=(b=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(F,$,q){var z=q&&q.toUpperCase();return $||C[q]||r[q]||C[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(D,I,N){return I||N.slice(1)}))}))).match(n),E=T.length,_=0;_-1)return new Date((M==="X"?1e3:1)*B);var P=v(M)(B),H=P.year,X=P.month,Z=P.day,j=P.hours,ee=P.minutes,Q=P.seconds,he=P.milliseconds,te=P.zone,ae=P.week,ie=new Date,ne=Z||(H||X?1:ie.getDate()),me=H||ie.getFullYear(),pe=0;H&&!X||(pe=X>0?X-1:ie.getMonth());var Me,$e=j||0,He=ee||0,Ae=Q||0,Oe=he||0;return te?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe+60*te.offset*1e3)):V?new Date(Date.UTC(me,pe,ne,$e,He,Ae,Oe)):(Me=new Date(me,pe,ne,$e,He,Ae,Oe),ae&&(Me=U(Me).week(ae).toDate()),Me)}catch{return new Date("")}})(R,O,k,C),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),q&&R!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var D=O.length,I=1;I<=D;I+=1){L[1]=O[I-1];var N=C.apply(this,L);if(N.isValid()){this.$d=N.$d,this.$L=N.$L,this.init();break}I===D&&(this.$d=new Date(""))}else E.call(this,_)}}}))})(Q3)),Q3.exports}var yWe=mWe();const vWe=E0(yWe);var J3={exports:{}},bWe=J3.exports,zW;function xWe(){return zW||(zW=1,(function(t,e){(function(r,n){t.exports=n()})(bWe,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),h=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}}));return a.bind(this)(h)}}}))})(J3)),J3.exports}var TWe=xWe();const wWe=E0(TWe);var e5={exports:{}},CWe=e5.exports,qW;function SWe(){return qW||(qW=1,(function(t,e){(function(r,n){t.exports=n()})(CWe,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:u,months:h,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(R){return R instanceof E},m=function(R,k,L){return new E(R,L,k.$l)},v=function(R){return n.p(R)+"s"},b=function(R){return R<0},x=function(R){return b(R)?Math.ceil(R):Math.floor(R)},C=function(R){return Math.abs(R)},T=function(R,k){return R?b(R)?{negative:!0,format:""+C(R)+k}:{negative:!1,format:""+R+k}:{negative:!1,format:""}},E=(function(){function R(L,O,F){var $=this;if(this.$d={},this.$l=F,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return m(L*f[v(O)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach((function(D){$.$d[v(D)]=L[D]})),this.calMilliseconds(),this;if(typeof L=="string"){var q=L.match(d);if(q){var z=q.slice(2).map((function(D){return D!=null?Number(D):0}));return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var k=R.prototype;return k.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce((function(O,F){return O+(L.$d[F]||0)*f[F]}),0)},k.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=x(L/u),L%=u,this.$d.months=x(L/h),L%=h,this.$d.days=x(L/o),L%=o,this.$d.hours=x(L/s),L%=s,this.$d.minutes=x(L/a),L%=a,this.$d.seconds=x(L/i),L%=i,this.$d.milliseconds=L},k.toISOString=function(){var L=T(this.$d.years,"Y"),O=T(this.$d.months,"M"),F=+this.$d.days||0;this.$d.weeks&&(F+=7*this.$d.weeks);var $=T(F,"D"),q=T(this.$d.hours,"H"),z=T(this.$d.minutes,"M"),D=this.$d.seconds||0;this.$d.milliseconds&&(D+=this.$d.milliseconds/1e3,D=Math.round(1e3*D)/1e3);var I=T(D,"S"),N=L.negative||O.negative||$.negative||q.negative||z.negative||I.negative,B=q.format||z.format||I.format?"T":"",M=(N?"-":"")+"P"+L.format+O.format+$.format+B+q.format+z.format+I.format;return M==="P"||M==="-P"?"P0D":M},k.toJSON=function(){return this.toISOString()},k.format=function(L){var O=L||"YYYY-MM-DDTHH:mm:ss",F={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return O.replace(l,(function($,q){return q||String(F[$])}))},k.as=function(L){return this.$ms/f[v(L)]},k.get=function(L){var O=this.$ms,F=v(L);return F==="milliseconds"?O%=1e3:O=F==="weeks"?x(O/f[F]):this.$d[F],O||0},k.add=function(L,O,F){var $;return $=O?L*f[v(O)]:p(L)?L.$ms:m(L,this).$ms,m(this.$ms+$*(F?-1:1),this)},k.subtract=function(L,O){return this.add(L,O,!0)},k.locale=function(L){var O=this.clone();return O.$l=L,O},k.clone=function(){return m(this.$ms,this)},k.humanize=function(L){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},R})(),_=function(R,k,L){return R.add(k.years()*L,"y").add(k.months()*L,"M").add(k.days()*L,"d").add(k.hours()*L,"h").add(k.minutes()*L,"m").add(k.seconds()*L,"s").add(k.milliseconds()*L,"ms")};return function(R,k,L){r=L,n=L().$utils(),L.duration=function($,q){var z=L.locale();return m($,{$l:z},q)},L.isDuration=p;var O=k.prototype.add,F=k.prototype.subtract;k.prototype.add=function($,q){return p($)?_(this,$,1):O.bind(this)($,q)},k.prototype.subtract=function($,q){return p($)?_(this,$,-1):F.bind(this)($,q)}}}))})(e5)),e5.exports}var EWe=SWe();const kWe=E0(EWe);var w9=(function(){var t=S(function(z,D,I,N){for(I=I||{},N=z.length;N--;I[z[N]]=D);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],h=[1,34],d=[1,9],f=[1,10],p=[1,11],m=[1,12],v=[1,13],b=[1,14],x=[1,15],C=[1,16],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,23],L=[1,25],O=[1,35],F={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:S(function(D,I,N,B,M,V,U){var P=V.length-1;switch(M){case 1:return V[P-1];case 2:this.$=[];break;case 3:V[P-1].push(V[P]),this.$=V[P-1];break;case 4:case 5:this.$=V[P];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=V[P].substr(18);break;case 19:B.TopAxis(),this.$=V[P].substr(8);break;case 20:B.setAxisFormat(V[P].substr(11)),this.$=V[P].substr(11);break;case 21:B.setTickInterval(V[P].substr(13)),this.$=V[P].substr(13);break;case 22:B.setExcludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 23:B.setIncludes(V[P].substr(9)),this.$=V[P].substr(9);break;case 24:B.setTodayMarker(V[P].substr(12)),this.$=V[P].substr(12);break;case 27:B.setDiagramTitle(V[P].substr(6)),this.$=V[P].substr(6);break;case 28:this.$=V[P].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=V[P].trim(),B.setAccDescription(this.$);break;case 31:B.addSection(V[P].substr(8)),this.$=V[P].substr(8);break;case 33:B.addTask(V[P-1],V[P]),this.$="task";break;case 34:this.$=V[P-1],B.setClickEvent(V[P-1],V[P],null);break;case 35:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],V[P]);break;case 36:this.$=V[P-2],B.setClickEvent(V[P-2],V[P-1],null),B.setLink(V[P-2],V[P]);break;case 37:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-2],V[P-1]),B.setLink(V[P-3],V[P]);break;case 38:this.$=V[P-2],B.setClickEvent(V[P-2],V[P],null),B.setLink(V[P-2],V[P-1]);break;case 39:this.$=V[P-3],B.setClickEvent(V[P-3],V[P-1],V[P]),B.setLink(V[P-3],V[P-2]);break;case 40:this.$=V[P-1],B.setLink(V[P-1],V[P]);break;case 41:case 47:this.$=V[P-1]+" "+V[P];break;case 42:case 43:case 45:this.$=V[P-2]+" "+V[P-1]+" "+V[P];break;case 44:case 46:this.$=V[P-3]+" "+V[P-2]+" "+V[P-1]+" "+V[P];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:h,22:d,23:f,24:p,25:m,26:v,27:b,28:x,29:C,30:T,31:E,33:_,35:R,36:k,37:24,38:L,40:O},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:S(function(D,I){if(I.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=I,N}},"parseError"),parse:S(function(D){var I=this,N=[0],B=[],M=[null],V=[],U=this.table,P="",H=0,X=0,Z=2,j=1,ee=V.slice.call(arguments,1),Q=Object.create(this.lexer),he={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(he.yy[te]=this.yy[te]);Q.setInput(D,he.yy),he.yy.lexer=Q,he.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ae=Q.yylloc;V.push(ae);var ie=Q.options&&Q.options.ranges;typeof he.yy.parseError=="function"?this.parseError=he.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Ge){N.length=N.length-2*Ge,M.length=M.length-Ge,V.length=V.length-Ge}S(ne,"popStack");function me(){var Ge;return Ge=B.pop()||Q.lex()||j,typeof Ge!="number"&&(Ge instanceof Array&&(B=Ge,Ge=B.pop()),Ge=I.symbols_[Ge]||Ge),Ge}S(me,"lex");for(var pe,Me,$e,He,Ae={},Oe,We,Te,ot;;){if(Me=N[N.length-1],this.defaultActions[Me]?$e=this.defaultActions[Me]:((pe===null||typeof pe>"u")&&(pe=me()),$e=U[Me]&&U[Me][pe]),typeof $e>"u"||!$e.length||!$e[0]){var Re="";ot=[];for(Oe in U[Me])this.terminals_[Oe]&&Oe>Z&&ot.push("'"+this.terminals_[Oe]+"'");Q.showPosition?Re="Parse error on line "+(H+1)+`: `+Q.showPosition()+` -Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse error on line "+(H+1)+": Unexpected "+(pe==X?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(De,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,j=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Le.$=M[M.length-We],Le._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Le._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Le,[P,j,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Le.$),V.push(Le._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":Re="Parse error on line "+(H+1)+": Unexpected "+(pe==j?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(Re,{text:Q.match,token:this.terminals_[pe]||pe,line:Q.yylineno,loc:ae,expected:ot})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+pe);switch($e[0]){case 1:N.push(pe),M.push(Q.yytext),V.push(Q.yylloc),N.push($e[1]),pe=null,X=Q.yyleng,P=Q.yytext,H=Q.yylineno,ae=Q.yylloc;break;case 2:if(We=this.productions_[$e[1]][1],Ae.$=M[M.length-We],Ae._$={first_line:V[V.length-(We||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(We||1)].first_column,last_column:V[V.length-1].last_column},ie&&(Ae._$.range=[V[V.length-(We||1)].range[0],V[V.length-1].range[1]]),He=this.performAction.apply(Ae,[P,X,H,he.yy,$e[1],M,V].concat(ee)),typeof He<"u")return He;We&&(N=N.slice(0,-1*We*2),M=M.slice(0,-1*We),V=V.slice(0,-1*We)),N.push(this.productions_[$e[1]][0]),M.push(Ae.$),V.push(Ae._$),Te=U[N[N.length-2]][N[N.length-1]],N.push(Te);break;case 3:return!0}}return!0},"parse")},$=(function(){var z={EOF:1,parseError:S(function(I,N){if(this.yy.parser)this.yy.parser.parseError(I,N);else throw new Error(I)},"parseError"),setInput:S(function(D,I){return this.yy=I||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var I=D.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:S(function(D){var I=D.length,N=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===B.length?this.yylloc.first_column:0)+B[B.length-N.length].length-N[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(D){this.unput(this.match.slice(D))},"less"),pastInput:S(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var D=this.pastInput(),I=new Array(D.length+1).join("-");return D+this.upcomingInput()+` `+I+"^"},"showPosition"),test_match:S(function(D,I){var N,B,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],N=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var V in M)this[V]=M[V];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,I,N,B;this._more||(this.yytext="",this.match="");for(var M=this._currentRules(),V=0;VI[0].length)){if(I=N,B=V,this.options.backtrack_lexer){if(D=this.test_match(N,M[V]),D!==!1)return D;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(D=this.test_match(I,M[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();C9.parser=C9;var OWe=C9;oa.extend(TWe);oa.extend(EWe);oa.extend(LWe);var GW={friday:5,saturday:6},Ql="",aO="",sO=void 0,oO="",Lx=[],Rx=[],lO=new Map,cO=[],tC=[],Rm="",uO="",foe=["active","done","crit","milestone","vert"],hO=[],_g="",Dx=!1,dO=!1,fO="sunday",rC="saturday",S9=0,IWe=S(function(){cO=[],tC=[],Rm="",hO=[],r5=0,k9=void 0,n5=void 0,ji=[],Ql="",aO="",uO="",sO=void 0,oO="",Lx=[],Rx=[],Dx=!1,dO=!1,S9=0,lO=new Map,_g="",Kn(),fO="sunday",rC="saturday"},"clear"),BWe=S(function(t){_g=t},"setDiagramId"),PWe=S(function(t){aO=t},"setAxisFormat"),FWe=S(function(){return aO},"getAxisFormat"),$We=S(function(t){sO=t},"setTickInterval"),zWe=S(function(){return sO},"getTickInterval"),qWe=S(function(t){oO=t},"setTodayMarker"),VWe=S(function(){return oO},"getTodayMarker"),GWe=S(function(t){Ql=t},"setDateFormat"),UWe=S(function(){Dx=!0},"enableInclusiveEndDates"),HWe=S(function(){return Dx},"endDatesAreInclusive"),WWe=S(function(){dO=!0},"enableTopAxis"),YWe=S(function(){return dO},"topAxisEnabled"),jWe=S(function(t){uO=t},"setDisplayMode"),XWe=S(function(){return uO},"getDisplayMode"),KWe=S(function(){return Ql},"getDateFormat"),ZWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),QWe=S(function(){return Lx},"getIncludes"),JWe=S(function(t){Rx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),eYe=S(function(){return Rx},"getExcludes"),tYe=S(function(){return lO},"getLinks"),rYe=S(function(t){Rm=t,cO.push(t)},"addSection"),nYe=S(function(){return cO},"getSections"),iYe=S(function(){let t=UW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=W0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=oa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),moe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),yoe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=W0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),lO.set(n,r))}),boe(t,"clickable")},"setLink"),boe=S(function(t,e){t.split(",").forEach(function(r){let n=W0(r);n!==void 0&&n.classes.push(e)})},"setClass"),pYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),xoe=S(function(t,e){hO.push(function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=_g?`${_g}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),gYe=S(function(t,e,r){t.split(",").forEach(function(n){pYe(n,e,r)}),boe(t,"clickable")},"setClickEvent"),mYe=S(function(t){hO.forEach(function(e){e(t)})},"bindFunctions"),yYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:IWe,setDateFormat:GWe,getDateFormat:KWe,enableInclusiveEndDates:UWe,endDatesAreInclusive:HWe,enableTopAxis:WWe,topAxisEnabled:YWe,setAxisFormat:PWe,getAxisFormat:FWe,setTickInterval:$We,getTickInterval:zWe,setTodayMarker:qWe,getTodayMarker:VWe,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,setDiagramId:BWe,setDisplayMode:jWe,getDisplayMode:XWe,setAccDescription:ui,getAccDescription:hi,addSection:rYe,getSections:nYe,getTasks:iYe,addTask:hYe,findTaskById:W0,addTaskOrg:dYe,setIncludes:ZWe,getIncludes:QWe,setExcludes:JWe,getExcludes:eYe,setClickEvent:gYe,setLink:fYe,getLinks:tYe,bindFunctions:mYe,parseDuration:moe,isInvalidDate:poe,setWeekday:aYe,getWeekday:sYe,setWeekend:oYe};function pO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(pO,"getTaskTags");oa.extend(MWe);var vYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),HW={monday:U2,tuesday:eX,wednesday:tX,thursday:i0,friday:rX,saturday:nX,sunday:Xb},bYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Qc,AA=1e4,xYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Qc=u.parentElement.offsetWidth,Qc===void 0&&(Qc=1200),i.useWidth!==void 0&&(Qc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=R(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=bYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Qc+" "+p);const m=o.select(`[id="${e}"]`),v=q2e().domain([jpe(h,function(O){return O.startTime}),Ype(h,function(O){return O.endTime})]).rangeRound([0,Qc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,j]of d.entries())if(P.type===j)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let j="";P.classes.length>0&&(j=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let X="";return P.active?P.crit?X+=" activeCrit":X=" active":P.done?P.crit?X=" doneCrit":X=" done":P.crit&&(X+=" crit"),X.length===0&&(X=" task"),P.milestone&&(X=" milestone "+X),P.vert&&(X=" vert "+X),X+=Z,X+=" "+j,H+X}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),j=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,j=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>j-H?j+Z+1.5*i.leftPadding>I?H+q-5:j+q+5:(j-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let j=v(P.endTime);P.milestone&&(j=H+z);const Z=this.getBBox().width;let X="";P.classes.length>0&&(X=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>j-H?j+Z+1.5*i.leftPadding>I?X+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:X+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:X+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(j){return V.has(j.id)}).each(function(j){var Z=H.querySelector("#"+CSS.escape(e+"-"+j.id)),X=H.querySelector("#"+CSS.escape(e+"-"+j.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(j.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(X)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:X}of D)(B===void 0||ZM)&&(M=X);if(!B||!M)return;if(oa(M).diff(oa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=oa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,X){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(X*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=oa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=nge(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),j=H[0],Z=H[1],X=E(j,Z,V,U);if(X>AA)oe.warn(`The tick interval "${V}${U}" would generate ${X} ticks, which exceeds the maximum allowed (${AA}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(sm.every(V));break;case"second":N.ticks(Fh.every(V));break;case"minute":N.ticks(V2.every(V));break;case"hour":N.ticks(G2.every(V));break;case"day":N.ticks(n0.every(V));break;case"week":N.ticks(HW[P].every(V));break;case"month":N.ticks(H2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=rge(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(R5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,j=v.domain(),Z=j[0],X=j[1];if(E(Z,X,U,P)<=AA)switch(P){case"millisecond":V.ticks(sm.every(U));break;case"second":V.ticks(Fh.every(U));break;case"minute":V.ticks(V2.every(U));break;case"hour":V.ticks(G2.every(U));break;case"day":V.ticks(n0.every(U));break;case"week":V.ticks(HW[H].every(U));break;case"month":V.ticks(H2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function A(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var I=this.next();return I||this.lex()},"lex"),begin:S(function(I){this.conditionStack.push(I)},"begin"),popState:S(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:S(function(I){this.begin(I)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(I,N,B,M){switch(B){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return z})();F.lexer=$;function q(){this.yy={}}return S(q,"Parser"),q.prototype=F,F.Parser=q,new q})();w9.parser=w9;var _We=w9;oa.extend(pWe);oa.extend(vWe);oa.extend(wWe);var VW={friday:5,saturday:6},Zl="",iO="",aO=void 0,sO="",Ax=[],Lx=[],oO=new Map,lO=[],eC=[],Lm="",cO="",doe=["active","done","crit","milestone","vert"],uO=[],kg="",Rx=!1,hO=!1,dO="sunday",tC="saturday",C9=0,AWe=S(function(){lO=[],eC=[],Lm="",uO=[],t5=0,E9=void 0,r5=void 0,Xi=[],Zl="",iO="",cO="",aO=void 0,sO="",Ax=[],Lx=[],Rx=!1,hO=!1,C9=0,oO=new Map,kg="",Kn(),dO="sunday",tC="saturday"},"clear"),LWe=S(function(t){kg=t},"setDiagramId"),RWe=S(function(t){iO=t},"setAxisFormat"),DWe=S(function(){return iO},"getAxisFormat"),NWe=S(function(t){aO=t},"setTickInterval"),MWe=S(function(){return aO},"getTickInterval"),OWe=S(function(t){sO=t},"setTodayMarker"),IWe=S(function(){return sO},"getTodayMarker"),BWe=S(function(t){Zl=t},"setDateFormat"),PWe=S(function(){Rx=!0},"enableInclusiveEndDates"),FWe=S(function(){return Rx},"endDatesAreInclusive"),$We=S(function(){hO=!0},"enableTopAxis"),zWe=S(function(){return hO},"topAxisEnabled"),qWe=S(function(t){cO=t},"setDisplayMode"),VWe=S(function(){return cO},"getDisplayMode"),GWe=S(function(){return Zl},"getDateFormat"),UWe=S(function(t){Ax=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),HWe=S(function(){return Ax},"getIncludes"),WWe=S(function(t){Lx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),YWe=S(function(){return Lx},"getExcludes"),XWe=S(function(){return oO},"getLinks"),jWe=S(function(t){Lm=t,lO.push(t)},"addSection"),KWe=S(function(){return lO},"getSections"),ZWe=S(function(){let t=GW();const e=10;let r=0;for(;!t&&r{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let h=H0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=oa(r,e.trim(),!0);if(s.isValid())return s.toDate();{oe.debug("Invalid date:"+r),oe.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),goe=S(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),moe=S(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let h=null;for(const f of a.groups.ids.split(" ")){let p=H0(f);p!==void 0&&(!h||p.startTime{window.open(r,"_self")}),oO.set(n,r))}),voe(t,"clickable")},"setLink"),voe=S(function(t,e){t.split(",").forEach(function(r){let n=H0(r);n!==void 0&&n.classes.push(e)})},"setClass"),oYe=S(function(t,e,r){if(Pe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lr.runFunc(e,...n)})},"setClickFun"),boe=S(function(t,e){uO.push(function(){const r=kg?`${kg}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=kg?`${kg}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),lYe=S(function(t,e,r){t.split(",").forEach(function(n){oYe(n,e,r)}),voe(t,"clickable")},"setClickEvent"),cYe=S(function(t){uO.forEach(function(e){e(t)})},"bindFunctions"),uYe={getConfig:S(()=>Pe().gantt,"getConfig"),clear:AWe,setDateFormat:BWe,getDateFormat:GWe,enableInclusiveEndDates:PWe,endDatesAreInclusive:FWe,enableTopAxis:$We,topAxisEnabled:zWe,setAxisFormat:RWe,getAxisFormat:DWe,setTickInterval:NWe,getTickInterval:MWe,setTodayMarker:OWe,getTodayMarker:IWe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,setDiagramId:LWe,setDisplayMode:qWe,getDisplayMode:VWe,setAccDescription:ui,getAccDescription:hi,addSection:jWe,getSections:KWe,getTasks:ZWe,addTask:iYe,findTaskById:H0,addTaskOrg:aYe,setIncludes:UWe,getIncludes:HWe,setExcludes:WWe,getExcludes:YWe,setClickEvent:lYe,setLink:sYe,getLinks:XWe,bindFunctions:cYe,parseDuration:goe,isInvalidDate:foe,setWeekday:QWe,getWeekday:JWe,setWeekend:eYe};function fO(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}S(fO,"getTaskTags");oa.extend(kWe);var hYe=S(function(){oe.debug("Something is calling, setConf, remove the call")},"setConf"),UW={monday:G2,tuesday:JX,wednesday:ej,thursday:n0,friday:tj,saturday:rj,sunday:Xb},dYe=S((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Zc,_A=1e4,fYe=S(function(t,e,r,n){const i=Pe().gantt;n.db.setDiagramId(e);const a=Pe().securityLevel;let s;a==="sandbox"&&(s=kt("#i"+e));const o=kt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);Zc=u.parentElement.offsetWidth,Zc===void 0&&(Zc=1200),i.useWidth!==void 0&&(Zc=i.useWidth);const h=n.db.getTasks();let d=[];for(const O of h)d.push(O.type);d=L(d);const f={};let p=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const O={};for(const $ of h)O[$.section]===void 0?O[$.section]=[$]:O[$.section].push($);let F=0;for(const $ of Object.keys(O)){const q=dYe(O[$],F)+1;F+=q,p+=q*(i.barHeight+i.barGap),f[$]=q}}else{p+=h.length*(i.barHeight+i.barGap);for(const O of d)f[O]=h.filter(F=>F.type===O).length}u.setAttribute("viewBox","0 0 "+Zc+" "+p);const m=o.select(`[id="${e}"]`),v=O2e().domain([qpe(h,function(O){return O.startTime}),zpe(h,function(O){return O.endTime})]).rangeRound([0,Zc-i.leftPadding-i.rightPadding]);function b(O,F){const $=O.startTime,q=F.startTime;let z=0;return $>q?z=1:$P.vert===H.vert?0:P.vert?1:-1);const B=[...new Set(O.map(P=>P.order))].map(P=>O.find(H=>H.order===P));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(P,H){return H=P.order,H*F+$-2}).attr("width",function(){return I-i.rightPadding/2}).attr("height",F).attr("class",function(P){for(const[H,X]of d.entries())if(P.type===X)return"section section"+H%i.numberSectionStyles;return"section section0"}).enter();const M=m.append("g").selectAll("rect").data(O).enter(),V=n.db.getLinks();if(M.append("rect").attr("id",function(P){return e+"-"+P.id}).attr("rx",3).attr("ry",3).attr("x",function(P){return P.milestone?v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))-.5*z:v(P.startTime)+q}).attr("y",function(P,H){return H=P.order,P.vert?i.gridLineStartPadding:H*F+$}).attr("width",function(P){return P.milestone?z:P.vert?.08*z:v(P.renderEndTime||P.endTime)-v(P.startTime)}).attr("height",function(P){return P.vert?h.length*(i.barHeight+i.barGap)+i.barHeight*2:z}).attr("transform-origin",function(P,H){return H=P.order,(v(P.startTime)+q+.5*(v(P.endTime)-v(P.startTime))).toString()+"px "+(H*F+$+.5*z).toString()+"px"}).attr("class",function(P){const H="task";let X="";P.classes.length>0&&(X=P.classes.join(" "));let Z=0;for(const[ee,Q]of d.entries())P.type===Q&&(Z=ee%i.numberSectionStyles);let j="";return P.active?P.crit?j+=" activeCrit":j=" active":P.done?P.crit?j=" doneCrit":j=" done":P.crit&&(j+=" crit"),j.length===0&&(j=" task"),P.milestone&&(j=" milestone "+j),P.vert&&(j=" vert "+j),j+=Z,j+=" "+X,H+j}),M.append("text").attr("id",function(P){return e+"-"+P.id+"-text"}).text(function(P){return P.task}).attr("font-size",i.fontSize).attr("x",function(P){let H=v(P.startTime),X=v(P.renderEndTime||P.endTime);if(P.milestone&&(H+=.5*(v(P.endTime)-v(P.startTime))-.5*z,X=H+z),P.vert)return v(P.startTime)+q;const Z=this.getBBox().width;return Z>X-H?X+Z+1.5*i.leftPadding>I?H+q-5:X+q+5:(X-H)/2+H+q}).attr("y",function(P,H){return P.vert?i.gridLineStartPadding+h.length*(i.barHeight+i.barGap)+60:(H=P.order,H*F+i.barHeight/2+(i.fontSize/2-2)+$)}).attr("text-height",z).attr("class",function(P){const H=v(P.startTime);let X=v(P.endTime);P.milestone&&(X=H+z);const Z=this.getBBox().width;let j="";P.classes.length>0&&(j=P.classes.join(" "));let ee=0;for(const[he,te]of d.entries())P.type===te&&(ee=he%i.numberSectionStyles);let Q="";return P.active&&(P.crit?Q="activeCritText"+ee:Q="activeText"+ee),P.done?P.crit?Q=Q+" doneCritText"+ee:Q=Q+" doneText"+ee:P.crit&&(Q=Q+" critText"+ee),P.milestone&&(Q+=" milestoneText"),P.vert&&(Q+=" vertText"),Z>X-H?X+Z+1.5*i.leftPadding>I?j+" taskTextOutsideLeft taskTextOutside"+ee+" "+Q:j+" taskTextOutsideRight taskTextOutside"+ee+" "+Q+" width-"+Z:j+" taskText taskText"+ee+" "+Q+" width-"+Z}),Pe().securityLevel==="sandbox"){let P;P=kt("#i"+e);const H=P.nodes()[0].contentDocument;M.filter(function(X){return V.has(X.id)}).each(function(X){var Z=H.querySelector("#"+CSS.escape(e+"-"+X.id)),j=H.querySelector("#"+CSS.escape(e+"-"+X.id+"-text"));const ee=Z.parentNode;var Q=H.createElement("a");Q.setAttribute("xlink:href",V.get(X.id)),Q.setAttribute("target","_top"),ee.appendChild(Q),Q.appendChild(Z),Q.appendChild(j)})}}S(C,"drawRects");function T(O,F,$,q,z,D,I,N){if(I.length===0&&N.length===0)return;let B,M;for(const{startTime:Z,endTime:j}of D)(B===void 0||ZM)&&(M=j);if(!B||!M)return;if(oa(M).diff(oa(B),"year")>5){oe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const V=n.db.getDateFormat(),U=[];let P=null,H=oa(B);for(;H.valueOf()<=M;)n.db.isInvalidDate(H,V,I,N)?P?P.end=H:P={start:H,end:H}:P&&(U.push(P),P=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(U).enter().append("rect").attr("id",Z=>e+"-exclude-"+Z.start.format("YYYY-MM-DD")).attr("x",Z=>v(Z.start.startOf("day"))+$).attr("y",i.gridLineStartPadding).attr("width",Z=>v(Z.end.endOf("day"))-v(Z.start.startOf("day"))).attr("height",z-F-i.gridLineStartPadding).attr("transform-origin",function(Z,j){return(v(Z.start)+$+.5*(v(Z.end)-v(Z.start))).toString()+"px "+(j*O+.5*z).toString()+"px"}).attr("class","exclude-range")}S(T,"drawExcludeDays");function E(O,F,$,q){if($<=0||O>F)return 1/0;const z=F-O,D=oa.duration({[q??"day"]:$}).asMilliseconds();return D<=0?1/0:Math.ceil(z/D)}S(E,"getEstimatedTickCount");function _(O,F,$,q){const z=n.db.getDateFormat(),D=n.db.getAxisFormat();let I;D?I=D:z==="D"?I="%d":I=i.axisFormat??"%Y-%m-%d";let N=Kpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(L5(I));const M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){const V=parseInt(M[1],10);if(isNaN(V)||V<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const U=M[2],P=n.db.getWeekday()||i.weekday,H=v.domain(),X=H[0],Z=H[1],j=E(X,Z,V,U);if(j>_A)oe.warn(`The tick interval "${V}${U}" would generate ${j} ticks, which exceeds the maximum allowed (${_A}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(U){case"millisecond":N.ticks(am.every(V));break;case"second":N.ticks(Bh.every(V));break;case"minute":N.ticks(q2.every(V));break;case"hour":N.ticks(V2.every(V));break;case"day":N.ticks(r0.every(V));break;case"week":N.ticks(UW[P].every(V));break;case"month":N.ticks(U2.every(V));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+O+", "+(q-50)+")").call(N).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let V=jpe(v).tickSize(-q+F+i.gridLineStartPadding).tickFormat(L5(I));if(M!==null){const U=parseInt(M[1],10);if(isNaN(U)||U<=0)oe.warn(`Invalid tick interval value: "${M[1]}". Skipping custom tick interval.`);else{const P=M[2],H=n.db.getWeekday()||i.weekday,X=v.domain(),Z=X[0],j=X[1];if(E(Z,j,U,P)<=_A)switch(P){case"millisecond":V.ticks(am.every(U));break;case"second":V.ticks(Bh.every(U));break;case"minute":V.ticks(q2.every(U));break;case"hour":V.ticks(V2.every(U));break;case"day":V.ticks(r0.every(U));break;case"week":V.ticks(UW[H].every(U));break;case"month":V.ticks(U2.every(U));break}}}m.append("g").attr("class","grid").attr("transform","translate("+O+", "+F+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}S(_,"makeGrid");function R(O,F){let $=0;const q=Object.keys(f).map(z=>[z,f[z]]);m.append("g").selectAll("text").data(q).enter().append(function(z){const D=z[0].split($t.lineBreakRegex),I=-(D.length-1)/2,N=l.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",I+"em");for(const[B,M]of D.entries()){const V=l.createElementNS("http://www.w3.org/2000/svg","tspan");V.setAttribute("alignment-baseline","central"),V.setAttribute("x","10"),B>0&&V.setAttribute("dy","1em"),V.textContent=M,N.appendChild(V)}return N}).attr("x",10).attr("y",function(z,D){if(D>0)for(let I=0;I` .mermaid-main-font { font-family: ${t.fontFamily}; } @@ -1750,8 +1750,8 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro fill: ${t.titleColor||t.textColor}; font-family: ${t.fontFamily}; } -`,"getStyles"),CYe=wYe,SYe={parser:OWe,db:yYe,renderer:TYe,styles:CYe};const EYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:SYe},Symbol.toStringTag,{value:"Module"}));var kYe={parse:S(async t=>{const e=await Tc("info",t);oe.debug(e)},"parse")},_Ye={version:"11.14.0"},AYe=S(()=>_Ye.version,"getVersion"),LYe={getVersion:AYe},RYe=S((t,e,r)=>{oe.debug(`rendering info diagram -`+t);const n=Vs(e);Ui(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),DYe={draw:RYe},NYe={parser:kYe,db:LYe,renderer:DYe};const MYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:NYe},Symbol.toStringTag,{value:"Module"}));var OYe=Vr.pie,gO={sections:new Map,showData:!1},nC=gO.sections,mO=gO.showData,IYe=structuredClone(OYe),BYe=S(()=>structuredClone(IYe),"getConfig"),PYe=S(()=>{nC=new Map,mO=gO.showData,Kn()},"clear"),FYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);nC.has(t)||(nC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),$Ye=S(()=>nC,"getSections"),zYe=S(t=>{mO=t},"setShowData"),qYe=S(()=>mO,"getShowData"),Toe={getConfig:BYe,clear:PYe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:Xn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:FYe,getSections:$Ye,setShowData:zYe,getShowData:qYe},VYe=S((t,e)=>{ju(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),GYe={parse:S(async t=>{const e=await Tc("pie",t);oe.debug(e),VYe(e,Toe)},"parse")},UYe=S(t=>` +`,"getStyles"),mYe=gYe,yYe={parser:_We,db:uYe,renderer:pYe,styles:mYe};const vYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:yYe},Symbol.toStringTag,{value:"Module"}));var bYe={parse:S(async t=>{const e=await xc("info",t);oe.debug(e)},"parse")},xYe={version:"11.14.0"},TYe=S(()=>xYe.version,"getVersion"),wYe={getVersion:TYe},CYe=S((t,e,r)=>{oe.debug(`rendering info diagram +`+t);const n=Vs(e);Ui(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),SYe={draw:CYe},EYe={parser:bYe,db:wYe,renderer:SYe};const kYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:EYe},Symbol.toStringTag,{value:"Module"}));var _Ye=Vr.pie,pO={sections:new Map,showData:!1},rC=pO.sections,gO=pO.showData,AYe=structuredClone(_Ye),LYe=S(()=>structuredClone(AYe),"getConfig"),RYe=S(()=>{rC=new Map,gO=pO.showData,Kn()},"clear"),DYe=S(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);rC.has(t)||(rC.set(t,e),oe.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),NYe=S(()=>rC,"getSections"),MYe=S(t=>{gO=t},"setShowData"),OYe=S(()=>gO,"getShowData"),xoe={getConfig:LYe,clear:RYe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:jn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:DYe,getSections:NYe,setShowData:MYe,getShowData:OYe},IYe=S((t,e)=>{Yu(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),BYe={parse:S(async t=>{const e=await xc("pie",t);oe.debug(e),IYe(e,xoe)},"parse")},PYe=S(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1779,25 +1779,25 @@ Expecting `+ot.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":De="Parse erro font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),HYe=UYe,WYe=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return rbe().value(i=>i.value).sort(null)(r)},"createPieArcs"),YYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart -`+t);const i=n.db,a=Pe(),s=ea(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Vs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=zu(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=lm().innerRadius(0).outerRadius(x),T=lm().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=WYe(E),A=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const R=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=Xf(A).domain([...E.keys()]);p.selectAll("mySlices").data(R).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(R).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const j=l+u,Z=j*$.length/2,X=12*l,ee=H*j-Z;return"translate("+X+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Ui(f,h,U,s.useMaxWidth)},"draw"),jYe={draw:YYe},XYe={parser:GYe,db:Toe,renderer:jYe,styles:HYe};const KYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:XYe},Symbol.toStringTag,{value:"Module"}));var _9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],A=[1,22],k=[1,24],R=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],j=[1,65],Z=[1,66],X=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Le=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],De=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],je=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:A,48:k,50:R,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:j,5:Z,6:X,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(je,[2,27],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it}),{4:$e,5:He,6:Le,8:Oe,11:We,13:Te,16:89,17:ot,18:De,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(je,[2,28],{16:103,4:$e,5:He,6:Le,8:Oe,11:We,13:Te,17:ot,18:De,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: +`,"getStyles"),FYe=PYe,$Ye=S(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return j2e().value(i=>i.value).sort(null)(r)},"createPieArcs"),zYe=S((t,e,r,n)=>{oe.debug(`rendering pie chart +`+t);const i=n.db,a=Pe(),s=ea(i.getConfig(),a.pie),o=40,l=18,u=4,h=450,d=h,f=Vs(e),p=f.append("g");p.attr("transform","translate("+d/2+","+h/2+")");const{themeVariables:m}=a;let[v]=$u(m.pieOuterStrokeWidth);v??=2;const b=s.textPosition,x=Math.min(d,h)/2-o,C=om().innerRadius(0).outerRadius(x),T=om().innerRadius(x*b).outerRadius(x*b);p.append("circle").attr("cx",0).attr("cy",0).attr("r",x+v/2).attr("class","pieOuterCircle");const E=i.getSections(),_=$Ye(E),R=[m.pie1,m.pie2,m.pie3,m.pie4,m.pie5,m.pie6,m.pie7,m.pie8,m.pie9,m.pie10,m.pie11,m.pie12];let k=0;E.forEach(P=>{k+=P});const L=_.filter(P=>(P.data.value/k*100).toFixed(0)!=="0"),O=Xf(R).domain([...E.keys()]);p.selectAll("mySlices").data(L).enter().append("path").attr("d",C).attr("fill",P=>O(P.data.label)).attr("class","pieCircle"),p.selectAll("mySlices").data(L).enter().append("text").text(P=>(P.data.value/k*100).toFixed(0)+"%").attr("transform",P=>"translate("+T.centroid(P)+")").style("text-anchor","middle").attr("class","slice");const F=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),$=[...E.entries()].map(([P,H])=>({label:P,value:H})),q=p.selectAll(".legend").data($).enter().append("g").attr("class","legend").attr("transform",(P,H)=>{const X=l+u,Z=X*$.length/2,j=12*l,ee=H*X-Z;return"translate("+j+","+ee+")"});q.append("rect").attr("width",l).attr("height",l).style("fill",P=>O(P.label)).style("stroke",P=>O(P.label)),q.append("text").attr("x",l+u).attr("y",l-u).text(P=>i.getShowData()?`${P.label} [${P.value}]`:P.label);const z=Math.max(...q.selectAll("text").nodes().map(P=>P?.getBoundingClientRect().width??0)),D=d+o+l+u+z,I=F.node()?.getBoundingClientRect().width??0,N=d/2-I/2,B=d/2+I/2,M=Math.min(0,N),U=Math.max(D,B)-M;f.attr("viewBox",`${M} 0 ${U} ${h}`),Ui(f,h,U,s.useMaxWidth)},"draw"),qYe={draw:zYe},VYe={parser:BYe,db:xoe,renderer:qYe,styles:FYe};const GYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:VYe},Symbol.toStringTag,{value:"Module"}));var k9=(function(){var t=S(function(be,Y,de,fe){for(de=de||{},fe=be.length;fe--;de[be[fe]]=Y);return de},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],h=[1,37],d=[1,36],f=[1,38],p=[1,35],m=[1,43],v=[1,41],b=[1,14],x=[1,23],C=[1,18],T=[1,19],E=[1,20],_=[1,21],R=[1,22],k=[1,24],L=[1,25],O=[1,26],F=[1,27],$=[1,28],q=[1,29],z=[1,32],D=[1,33],I=[1,34],N=[1,39],B=[1,40],M=[1,42],V=[1,44],U=[1,62],P=[1,61],H=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Z=[1,66],j=[1,67],ee=[1,68],Q=[1,69],he=[1,70],te=[1,71],ae=[1,72],ie=[1,73],ne=[1,74],me=[1,75],pe=[1,76],Me=[4,5,6,7,8,9,10,11,12,13,14,15,18],$e=[1,90],He=[1,91],Ae=[1,92],Oe=[1,99],We=[1,93],Te=[1,96],ot=[1,94],Re=[1,95],Ge=[1,97],it=[1,98],Ye=[1,102],Xe=[10,55,56,57],at=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],xe={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:S(function(Y,de,fe,we,Ee,Ie,Ue){var _e=Ie.length-1;switch(Ee){case 23:this.$=Ie[_e];break;case 24:this.$=Ie[_e-1]+""+Ie[_e];break;case 26:this.$=Ie[_e-1]+Ie[_e];break;case 27:this.$=[Ie[_e].trim()];break;case 28:Ie[_e-2].push(Ie[_e].trim()),this.$=Ie[_e-2];break;case 29:this.$=Ie[_e-4],we.addClass(Ie[_e-2],Ie[_e]);break;case 37:this.$=[];break;case 42:this.$=Ie[_e].trim(),we.setDiagramTitle(this.$);break;case 43:this.$=Ie[_e].trim(),we.setAccTitle(this.$);break;case 44:case 45:this.$=Ie[_e].trim(),we.setAccDescription(this.$);break;case 46:we.addSection(Ie[_e].substr(8)),this.$=Ie[_e].substr(8);break;case 47:we.addPoint(Ie[_e-3],"",Ie[_e-1],Ie[_e],[]);break;case 48:we.addPoint(Ie[_e-4],Ie[_e-3],Ie[_e-1],Ie[_e],[]);break;case 49:we.addPoint(Ie[_e-4],"",Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 50:we.addPoint(Ie[_e-5],Ie[_e-4],Ie[_e-2],Ie[_e-1],Ie[_e]);break;case 51:we.setXAxisLeftText(Ie[_e-2]),we.setXAxisRightText(Ie[_e]);break;case 52:Ie[_e-1].text+=" ⟶ ",we.setXAxisLeftText(Ie[_e-1]);break;case 53:we.setXAxisLeftText(Ie[_e]);break;case 54:we.setYAxisBottomText(Ie[_e-2]),we.setYAxisTopText(Ie[_e]);break;case 55:Ie[_e-1].text+=" ⟶ ",we.setYAxisBottomText(Ie[_e-1]);break;case 56:we.setYAxisBottomText(Ie[_e]);break;case 57:we.setQuadrant1Text(Ie[_e]);break;case 58:we.setQuadrant2Text(Ie[_e]);break;case 59:we.setQuadrant3Text(Ie[_e]);break;case 60:we.setQuadrant4Text(Ie[_e]);break;case 64:this.$={text:Ie[_e],type:"text"};break;case 65:this.$={text:Ie[_e-1].text+""+Ie[_e],type:Ie[_e-1].type};break;case 66:this.$={text:Ie[_e],type:"text"};break;case 67:this.$={text:Ie[_e],type:"markdown"};break;case 68:this.$=Ie[_e];break;case 69:this.$=Ie[_e-1]+""+Ie[_e];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:d,10:f,12:p,13:m,14:v,18:b,25:x,35:C,37:T,39:E,41:_,42:R,48:k,50:L,51:O,52:F,53:$,54:q,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:d,10:f,12:p,13:m,14:v,43:51,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:52,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:53,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:54,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:55,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,10:f,12:p,13:m,14:v,43:56,58:31,60:z,61:D,63:I,64:N,65:B,66:M,67:V},{4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,44:[1,57],47:[1,58],58:60,59:59,63:I,64:N,65:B,66:M,67:V},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,21:63},t(l,[2,53],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,77],63:I,64:N,65:B,66:M,67:V}),t(l,[2,56],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,49:[1,78],63:I,64:N,65:B,66:M,67:V}),t(l,[2,57],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,58],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,59],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,60],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),{45:[1,79]},{44:[1,80]},t(H,[2,65]),t(H,[2,81]),t(H,[2,82]),t(H,[2,83]),{3:82,4:X,5:Z,6:j,7:ee,8:Q,9:he,10:te,11:ae,12:ie,13:ne,14:me,15:pe,18:[1,81]},t(Me,[2,23]),t(Me,[2,1]),t(Me,[2,2]),t(Me,[2,3]),t(Me,[2,4]),t(Me,[2,5]),t(Me,[2,6]),t(Me,[2,7]),t(Me,[2,8]),t(Me,[2,9]),t(Me,[2,10]),t(Me,[2,11]),t(Me,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),t(l,[2,55],{58:31,43:84,4:h,5:d,10:f,12:p,13:m,14:v,60:z,61:D,63:I,64:N,65:B,66:M,67:V}),{46:[1,85]},{45:[1,86]},{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:Re,19:Ge,20:it,22:88,23:87},t(Me,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,54],{59:59,58:60,4:h,5:d,8:U,10:f,12:p,13:m,14:v,18:P,63:I,64:N,65:B,66:M,67:V}),t(l,[2,47],{22:88,16:89,23:100,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:Re,19:Ge,20:it}),{46:[1,101]},t(l,[2,29],{10:Ye}),t(Xe,[2,27],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:Re,19:Ge,20:it}),t(at,[2,25]),t(at,[2,13]),t(at,[2,14]),t(at,[2,15]),t(at,[2,16]),t(at,[2,17]),t(at,[2,18]),t(at,[2,19]),t(at,[2,20]),t(at,[2,21]),t(at,[2,22]),t(l,[2,49],{10:Ye}),t(l,[2,48],{22:88,16:89,23:104,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:Re,19:Ge,20:it}),{4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,16:89,17:ot,18:Re,19:Ge,20:it,22:105},t(at,[2,26]),t(l,[2,50],{10:Ye}),t(Xe,[2,28],{16:103,4:$e,5:He,6:Ae,8:Oe,11:We,13:Te,17:ot,18:Re,19:Ge,20:it})],defaultActions:{8:[2,30],9:[2,31]},parseError:S(function(Y,de){if(de.recoverable)this.trace(Y);else{var fe=new Error(Y);throw fe.hash=de,fe}},"parseError"),parse:S(function(Y){var de=this,fe=[0],we=[],Ee=[null],Ie=[],Ue=this.table,_e="",ze=0,et=0,qe=2,lt=1,ve=Ie.slice.call(arguments,1),Qe=Object.create(this.lexer),Se={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(Se.yy[Nt]=this.yy[Nt]);Qe.setInput(Y,Se.yy),Se.yy.lexer=Qe,Se.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var At=Qe.yylloc;Ie.push(At);var Et=Qe.options&&Qe.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(Ut){fe.length=fe.length-2*Ut,Ee.length=Ee.length-Ut,Ie.length=Ie.length-Ut}S(zt,"popStack");function St(){var Ut;return Ut=we.pop()||Qe.lex()||lt,typeof Ut!="number"&&(Ut instanceof Array&&(we=Ut,Ut=we.pop()),Ut=de.symbols_[Ut]||Ut),Ut}S(St,"lex");for(var gt,ue,Mt,xt,bt={},Ce,nt,st,It;;){if(ue=fe[fe.length-1],this.defaultActions[ue]?Mt=this.defaultActions[ue]:((gt===null||typeof gt>"u")&&(gt=St()),Mt=Ue[ue]&&Ue[ue][gt]),typeof Mt>"u"||!Mt.length||!Mt[0]){var Wt="";It=[];for(Ce in Ue[ue])this.terminals_[Ce]&&Ce>qe&&It.push("'"+this.terminals_[Ce]+"'");Qe.showPosition?Wt="Parse error on line "+(ze+1)+`: `+Qe.showPosition()+` Expecting `+It.join(", ")+", got '"+(this.terminals_[gt]||gt)+"'":Wt="Parse error on line "+(ze+1)+": Unexpected "+(gt==lt?"end of input":"'"+(this.terminals_[gt]||gt)+"'"),this.parseError(Wt,{text:Qe.match,token:this.terminals_[gt]||gt,line:Qe.yylineno,loc:At,expected:It})}if(Mt[0]instanceof Array&&Mt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+gt);switch(Mt[0]){case 1:fe.push(gt),Ee.push(Qe.yytext),Ie.push(Qe.yylloc),fe.push(Mt[1]),gt=null,et=Qe.yyleng,_e=Qe.yytext,ze=Qe.yylineno,At=Qe.yylloc;break;case 2:if(nt=this.productions_[Mt[1]][1],bt.$=Ee[Ee.length-nt],bt._$={first_line:Ie[Ie.length-(nt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(nt||1)].first_column,last_column:Ie[Ie.length-1].last_column},Et&&(bt._$.range=[Ie[Ie.length-(nt||1)].range[0],Ie[Ie.length-1].range[1]]),xt=this.performAction.apply(bt,[_e,et,ze,Se.yy,Mt[1],Ee,Ie].concat(ve)),typeof xt<"u")return xt;nt&&(fe=fe.slice(0,-1*nt*2),Ee=Ee.slice(0,-1*nt),Ie=Ie.slice(0,-1*nt)),fe.push(this.productions_[Mt[1]][0]),Ee.push(bt.$),Ie.push(bt._$),st=Ue[fe[fe.length-2]][fe[fe.length-1]],fe.push(st);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var be={EOF:1,parseError:S(function(de,fe){if(this.yy.parser)this.yy.parser.parseError(de,fe);else throw new Error(de)},"parseError"),setInput:S(function(Y,de){return this.yy=de||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var de=Y.match(/(?:\r\n?|\n).*/g);return de?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:S(function(Y){var de=Y.length,fe=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-de),this.offset-=de;var we=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var Ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===we.length?this.yylloc.first_column:0)+we[we.length-fe.length].length-fe[0].length:this.yylloc.first_column-de},this.options.ranges&&(this.yylloc.range=[Ee[0],Ee[0]+this.yyleng-de]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:S(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Y=this.pastInput(),de=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+` `+de+"^"},"showPosition"),test_match:S(function(Y,de){var fe,we,Ee;if(this.options.backtrack_lexer&&(Ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ee.yylloc.range=this.yylloc.range.slice(0))),we=Y[0].match(/(?:\r\n?|\n).*/g),we&&(this.yylineno+=we.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:we?we[we.length-1].length-we[we.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Y[0].length),this.matched+=Y[0],fe=this.performAction.call(this,this.yy,this,de,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var Ie in Ee)this[Ie]=Ee[Ie];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,de,fe,we;this._more||(this.yytext="",this.match="");for(var Ee=this._currentRules(),Ie=0;Iede[0].length)){if(de=fe,we=Ie,this.options.backtrack_lexer){if(Y=this.test_match(fe,Ee[Ie]),Y!==!1)return Y;if(this._backtrack){de=!1;continue}else return!1}else if(!this.options.flex)break}return de?(Y=this.test_match(de,Ee[we]),Y!==!1?Y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();_9.parser=_9;var ZYe=_9,ts=Hb(),D1,QYe=(D1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ts.quadrant1Fill,quadrant2Fill:ts.quadrant2Fill,quadrant3Fill:ts.quadrant3Fill,quadrant4Fill:ts.quadrant4Fill,quadrant1TextFill:ts.quadrant1TextFill,quadrant2TextFill:ts.quadrant2TextFill,quadrant3TextFill:ts.quadrant3TextFill,quadrant4TextFill:ts.quadrant4TextFill,quadrantPointFill:ts.quadrantPointFill,quadrantPointTextFill:ts.quadrantPointTextFill,quadrantXAxisTextFill:ts.quadrantXAxisTextFill,quadrantYAxisTextFill:ts.quadrantYAxisTextFill,quadrantTitleFill:ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=am().domain([0,1]).range([i,s+i]),l=am().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(D1,"QuadrantBuilder"),D1),N1,XT=(N1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(N1,"InvalidStyleError"),N1);function A9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(A9,"validateHexCode");function woe(t){return!/^\d+$/.test(t)}S(woe,"validateNumber");function Coe(t){return!/^\d+px$/.test(t)}S(Coe,"validateSizeInPixels");var JYe=Pe();function wc(t){return Jr(t.trim(),JYe)}S(wc,"textSanitizer");var _a=new QYe;function Soe(t){_a.setData({quadrant1Text:wc(t.text)})}S(Soe,"setQuadrant1Text");function Eoe(t){_a.setData({quadrant2Text:wc(t.text)})}S(Eoe,"setQuadrant2Text");function koe(t){_a.setData({quadrant3Text:wc(t.text)})}S(koe,"setQuadrant3Text");function _oe(t){_a.setData({quadrant4Text:wc(t.text)})}S(_oe,"setQuadrant4Text");function Aoe(t){_a.setData({xAxisLeftText:wc(t.text)})}S(Aoe,"setXAxisLeftText");function Loe(t){_a.setData({xAxisRightText:wc(t.text)})}S(Loe,"setXAxisRightText");function Roe(t){_a.setData({yAxisTopText:wc(t.text)})}S(Roe,"setYAxisTopText");function Doe(t){_a.setData({yAxisBottomText:wc(t.text)})}S(Doe,"setYAxisBottomText");function KS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(woe(i))throw new XT(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(A9(i))throw new XT(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(A9(i))throw new XT(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Coe(i))throw new XT(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(KS,"parseStyles");function Noe(t,e,r,n,i){const a=KS(i);_a.addPoints([{x:r,y:n,text:wc(t.text),className:e,...a}])}S(Noe,"addPoint");function Moe(t,e){_a.addClass(t,KS(e))}S(Moe,"addClass");function Ooe(t){_a.setConfig({chartWidth:t})}S(Ooe,"setWidth");function Ioe(t){_a.setConfig({chartHeight:t})}S(Ioe,"setHeight");function Boe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&_a.setConfig(r),_a.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),_a.setData({titleText:Zn()}),_a.build()}S(Boe,"getQuadrantData");var eje=S(function(){_a.clear(),Kn()},"clear"),tje={setWidth:Ooe,setHeight:Ioe,setQuadrant1Text:Soe,setQuadrant2Text:Eoe,setQuadrant3Text:koe,setQuadrant4Text:_oe,setXAxisLeftText:Aoe,setXAxisRightText:Loe,setYAxisTopText:Roe,setYAxisBottomText:Doe,parseStyles:KS,addPoint:Noe,addClass:Moe,getQuadrantData:Boe,clear:eje,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},rje=S((t,e,r,n)=>{function i(R){return R==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(R){return R==="left"?"start":"middle"}S(a,"getTextAnchor");function s(R){return`translate(${R.x}, ${R.y}) rotate(${R.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart -`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Ui(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",R=>R.x1).attr("y1",R=>R.y1).attr("x2",R=>R.x2).attr("y2",R=>R.y2).style("stroke",R=>R.strokeFill).style("stroke-width",R=>R.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",R=>R.x).attr("y",R=>R.y).attr("width",R=>R.width).attr("height",R=>R.height).attr("fill",R=>R.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",R=>R.text.fill).attr("font-size",R=>R.text.fontSize).attr("dominant-baseline",R=>i(R.text.horizontalPos)).attr("text-anchor",R=>a(R.text.verticalPos)).attr("transform",R=>s(R.text)).text(R=>R.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(R=>R.text).attr("fill",R=>R.fill).attr("font-size",R=>R.fontSize).attr("dominant-baseline",R=>i(R.horizontalPos)).attr("text-anchor",R=>a(R.verticalPos)).attr("transform",R=>s(R));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",R=>R.x).attr("cy",R=>R.y).attr("r",R=>R.radius).attr("fill",R=>R.fill).attr("stroke",R=>R.strokeColor).attr("stroke-width",R=>R.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(R=>R.text.text).attr("fill",R=>R.text.fill).attr("font-size",R=>R.text.fontSize).attr("dominant-baseline",R=>i(R.text.horizontalPos)).attr("text-anchor",R=>a(R.text.verticalPos)).attr("transform",R=>s(R.text))},"draw"),nje={draw:rje},ije={parser:ZYe,db:tje,renderer:nje,styles:S(()=>"","styles")};const aje=Object.freeze(Object.defineProperty({__proto__:null,diagram:ije},Symbol.toStringTag,{value:"Module"}));var L9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],A=[1,47],k=[1,50],R=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var j=P.length-1;switch(U){case 5:V.setOrientation(P[j]);break;case 9:V.setDiagramTitle(P[j].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[j]);break;case 13:V.setLineData(P[j-1],P[j]);break;case 14:V.setBarData({text:"",type:"text"},P[j]);break;case 15:V.setBarData(P[j-1],P[j]);break;case 16:this.$=P[j].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[j].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[j-1];break;case 20:this.$=[Number(P[j-2]),...P[j]];break;case 21:this.$=[Number(P[j])];break;case 22:V.setXAxisTitle(P[j]);break;case 23:V.setXAxisTitle(P[j-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[j]);break;case 26:V.setXAxisRangeData(Number(P[j-2]),Number(P[j]));break;case 27:this.$=P[j-1];break;case 28:this.$=[P[j-2],...P[j]];break;case 29:this.$=[P[j]];break;case 30:V.setYAxisTitle(P[j]);break;case 31:V.setYAxisTitle(P[j-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[j-2]),Number(P[j]));break;case 37:this.$={text:P[j],type:"text"};break;case 38:this.$={text:P[j],type:"text"};break;case 39:this.$={text:P[j],type:"markdown"};break;case 40:this.$=P[j];break;case 41:this.$=P[j-1]+""+P[j];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:A,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(R,[2,18]),{1:[2,2]},t(R,[2,8]),t(R,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(R,[2,10]),t(R,[2,22],{30:41,29:56,24:E,27:_}),t(R,[2,24]),t(R,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(R,[2,11]),t(R,[2,30],{33:60,27:A}),t(R,[2,32]),{31:[1,61]},t(R,[2,12]),{17:62,24:k},{25:63,27:$},t(R,[2,14]),{17:65,24:k},t(R,[2,16]),t(R,[2,17]),t(F,[2,41]),t(R,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(R,[2,31]),{27:[1,69]},t(R,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(R,[2,15]),t(R,[2,26]),t(R,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(R,[2,33]),t(R,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,j="",Z=0,X=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Le,Oe,We={},Te,ot,De,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Le=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Le=H[He]&&H[He][$e]),typeof Le>"u"||!Le.length||!Le[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var de=this.next();return de||this.lex()},"lex"),begin:S(function(de){this.conditionStack.push(de)},"begin"),popState:S(function(){var de=this.conditionStack.length-1;return de>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(de){return de=this.conditionStack.length-1-Math.abs(de||0),de>=0?this.conditionStack[de]:"INITIAL"},"topState"),pushState:S(function(de){this.begin(de)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(de,fe,we,Ee){switch(we){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return be})();xe.lexer=Ze;function se(){this.yy={}}return S(se,"Parser"),se.prototype=xe,xe.Parser=se,new se})();k9.parser=k9;var UYe=k9,ts=Ub(),R1,HYe=(R1=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Vr.quadrantChart?.chartWidth||500,chartWidth:Vr.quadrantChart?.chartHeight||500,titlePadding:Vr.quadrantChart?.titlePadding||10,titleFontSize:Vr.quadrantChart?.titleFontSize||20,quadrantPadding:Vr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Vr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Vr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Vr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Vr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Vr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Vr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Vr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Vr.quadrantChart?.pointLabelFontSize||12,pointRadius:Vr.quadrantChart?.pointRadius||5,xAxisPosition:Vr.quadrantChart?.xAxisPosition||"top",yAxisPosition:Vr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Vr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Vr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ts.quadrant1Fill,quadrant2Fill:ts.quadrant2Fill,quadrant3Fill:ts.quadrant3Fill,quadrant4Fill:ts.quadrant4Fill,quadrant1TextFill:ts.quadrant1TextFill,quadrant2TextFill:ts.quadrant2TextFill,quadrant3TextFill:ts.quadrant3TextFill,quadrant4TextFill:ts.quadrant4TextFill,quadrantPointFill:ts.quadrantPointFill,quadrantPointTextFill:ts.quadrantPointTextFill,quadrantXAxisTextFill:ts.quadrantXAxisTextFill,quadrantYAxisTextFill:ts.quadrantYAxisTextFill,quadrantTitleFill:ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,oe.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){oe.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){oe.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,h={top:i?u:0},d=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+h.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,m=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-h.top,v=p/2,b=m/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:d,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:v,quadrantHeight:m,quadrantHalfHeight:b}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:h,quadrantTop:d,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,m=!!this.data.yAxisTopText,v=[];return this.data.xAxisLeftText&&r&&v.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&v.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+h+(p?h/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&v.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+l-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&v.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:d+o-(m?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:-90}),v}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=im().domain([0,1]).range([i,s+i]),l=im().domain([0,1]).range([n+a,a]);return this.data.points.map(h=>{const d=this.classes.get(h.className);return d&&(h={...d,...h}),{x:o(h.x),y:l(h.y),fill:h.color??this.themeConfig.quadrantPointFill,radius:h.radius??this.config.pointRadius,text:{text:h.text,fill:this.themeConfig.quadrantPointTextFill,x:o(h.x),y:l(h.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:h.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:h.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},S(R1,"QuadrantBuilder"),R1),D1,X4=(D1=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},S(D1,"InvalidStyleError"),D1);function _9(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}S(_9,"validateHexCode");function Toe(t){return!/^\d+$/.test(t)}S(Toe,"validateNumber");function woe(t){return!/^\d+px$/.test(t)}S(woe,"validateSizeInPixels");var WYe=Pe();function Tc(t){return Jr(t.trim(),WYe)}S(Tc,"textSanitizer");var _a=new HYe;function Coe(t){_a.setData({quadrant1Text:Tc(t.text)})}S(Coe,"setQuadrant1Text");function Soe(t){_a.setData({quadrant2Text:Tc(t.text)})}S(Soe,"setQuadrant2Text");function Eoe(t){_a.setData({quadrant3Text:Tc(t.text)})}S(Eoe,"setQuadrant3Text");function koe(t){_a.setData({quadrant4Text:Tc(t.text)})}S(koe,"setQuadrant4Text");function _oe(t){_a.setData({xAxisLeftText:Tc(t.text)})}S(_oe,"setXAxisLeftText");function Aoe(t){_a.setData({xAxisRightText:Tc(t.text)})}S(Aoe,"setXAxisRightText");function Loe(t){_a.setData({yAxisTopText:Tc(t.text)})}S(Loe,"setYAxisTopText");function Roe(t){_a.setData({yAxisBottomText:Tc(t.text)})}S(Roe,"setYAxisBottomText");function jS(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(Toe(i))throw new X4(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(_9(i))throw new X4(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(_9(i))throw new X4(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(woe(i))throw new X4(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}S(jS,"parseStyles");function Doe(t,e,r,n,i){const a=jS(i);_a.addPoints([{x:r,y:n,text:Tc(t.text),className:e,...a}])}S(Doe,"addPoint");function Noe(t,e){_a.addClass(t,jS(e))}S(Noe,"addClass");function Moe(t){_a.setConfig({chartWidth:t})}S(Moe,"setWidth");function Ooe(t){_a.setConfig({chartHeight:t})}S(Ooe,"setHeight");function Ioe(){const t=Pe(),{themeVariables:e,quadrantChart:r}=t;return r&&_a.setConfig(r),_a.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),_a.setData({titleText:Zn()}),_a.build()}S(Ioe,"getQuadrantData");var YYe=S(function(){_a.clear(),Kn()},"clear"),XYe={setWidth:Moe,setHeight:Ooe,setQuadrant1Text:Coe,setQuadrant2Text:Soe,setQuadrant3Text:Eoe,setQuadrant4Text:koe,setXAxisLeftText:_oe,setXAxisRightText:Aoe,setYAxisTopText:Loe,setYAxisBottomText:Roe,parseStyles:jS,addPoint:Doe,addClass:Noe,getQuadrantData:Ioe,clear:YYe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},jYe=S((t,e,r,n)=>{function i(L){return L==="top"?"hanging":"middle"}S(i,"getDominantBaseLine");function a(L){return L==="left"?"start":"middle"}S(a,"getTextAnchor");function s(L){return`translate(${L.x}, ${L.y}) rotate(${L.rotation||0})`}S(s,"getTransformation");const o=Pe();oe.debug(`Rendering quadrant chart +`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const d=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=d.append("g").attr("class","main"),p=o.quadrantChart?.chartWidth??500,m=o.quadrantChart?.chartHeight??500;Ui(d,m,p,o.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+p+" "+m),n.db.setHeight(m),n.db.setWidth(p);const v=n.db.getQuadrantData(),b=f.append("g").attr("class","quadrants"),x=f.append("g").attr("class","border"),C=f.append("g").attr("class","data-points"),T=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");v.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",v.title.fill).attr("font-size",v.title.fontSize).attr("dominant-baseline",i(v.title.horizontalPos)).attr("text-anchor",a(v.title.verticalPos)).attr("transform",s(v.title)).text(v.title.text),v.borderLines&&x.selectAll("line").data(v.borderLines).enter().append("line").attr("x1",L=>L.x1).attr("y1",L=>L.y1).attr("x2",L=>L.x2).attr("y2",L=>L.y2).style("stroke",L=>L.strokeFill).style("stroke-width",L=>L.strokeWidth);const _=b.selectAll("g.quadrant").data(v.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",L=>L.x).attr("y",L=>L.y).attr("width",L=>L.width).attr("height",L=>L.height).attr("fill",L=>L.fill),_.append("text").attr("x",0).attr("y",0).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text)).text(L=>L.text.text),T.selectAll("g.label").data(v.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(L=>L.text).attr("fill",L=>L.fill).attr("font-size",L=>L.fontSize).attr("dominant-baseline",L=>i(L.horizontalPos)).attr("text-anchor",L=>a(L.verticalPos)).attr("transform",L=>s(L));const k=C.selectAll("g.data-point").data(v.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",L=>L.x).attr("cy",L=>L.y).attr("r",L=>L.radius).attr("fill",L=>L.fill).attr("stroke",L=>L.strokeColor).attr("stroke-width",L=>L.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(L=>L.text.text).attr("fill",L=>L.text.fill).attr("font-size",L=>L.text.fontSize).attr("dominant-baseline",L=>i(L.text.horizontalPos)).attr("text-anchor",L=>a(L.text.verticalPos)).attr("transform",L=>s(L.text))},"draw"),KYe={draw:jYe},ZYe={parser:UYe,db:XYe,renderer:KYe,styles:S(()=>"","styles")};const QYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:ZYe},Symbol.toStringTag,{value:"Module"}));var A9=(function(){var t=S(function(I,N,B,M){for(B=B||{},M=I.length;M--;B[I[M]]=N);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],u=[1,26],h=[1,28],d=[1,29],f=[1,30],p=[1,31],m=[1,32],v=[1,33],b=[1,34],x=[1,35],C=[1,36],T=[1,37],E=[1,43],_=[1,42],R=[1,47],k=[1,50],L=[1,10,12,14,16,18,19,21,23,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],F=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],$=[1,64],q={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:S(function(N,B,M,V,U,P,H){var X=P.length-1;switch(U){case 5:V.setOrientation(P[X]);break;case 9:V.setDiagramTitle(P[X].text.trim());break;case 12:V.setLineData({text:"",type:"text"},P[X]);break;case 13:V.setLineData(P[X-1],P[X]);break;case 14:V.setBarData({text:"",type:"text"},P[X]);break;case 15:V.setBarData(P[X-1],P[X]);break;case 16:this.$=P[X].trim(),V.setAccTitle(this.$);break;case 17:case 18:this.$=P[X].trim(),V.setAccDescription(this.$);break;case 19:this.$=P[X-1];break;case 20:this.$=[Number(P[X-2]),...P[X]];break;case 21:this.$=[Number(P[X])];break;case 22:V.setXAxisTitle(P[X]);break;case 23:V.setXAxisTitle(P[X-1]);break;case 24:V.setXAxisTitle({type:"text",text:""});break;case 25:V.setXAxisBand(P[X]);break;case 26:V.setXAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 27:this.$=P[X-1];break;case 28:this.$=[P[X-2],...P[X]];break;case 29:this.$=[P[X]];break;case 30:V.setYAxisTitle(P[X]);break;case 31:V.setYAxisTitle(P[X-1]);break;case 32:V.setYAxisTitle({type:"text",text:""});break;case 33:V.setYAxisRangeData(Number(P[X-2]),Number(P[X]));break;case 37:this.$={text:P[X],type:"text"};break;case 38:this.$={text:P[X],type:"text"};break;case 39:this.$={text:P[X],type:"markdown"};break;case 40:this.$=P[X];break;case 41:this.$=P[X-1]+""+P[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:39,13:38,24:E,27:_,29:40,30:41,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:45,15:44,27:R,33:46,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:49,17:48,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{11:52,17:51,24:k,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},{20:[1,53]},{22:[1,54]},t(L,[2,18]),{1:[2,2]},t(L,[2,8]),t(L,[2,9]),t(O,[2,37],{40:55,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T}),t(O,[2,38]),t(O,[2,39]),t(F,[2,40]),t(F,[2,42]),t(F,[2,43]),t(F,[2,44]),t(F,[2,45]),t(F,[2,46]),t(F,[2,47]),t(F,[2,48]),t(F,[2,49]),t(F,[2,50]),t(F,[2,51]),t(L,[2,10]),t(L,[2,22],{30:41,29:56,24:E,27:_}),t(L,[2,24]),t(L,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,11]),t(L,[2,30],{33:60,27:R}),t(L,[2,32]),{31:[1,61]},t(L,[2,12]),{17:62,24:k},{25:63,27:$},t(L,[2,14]),{17:65,24:k},t(L,[2,16]),t(L,[2,17]),t(F,[2,41]),t(L,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(L,[2,31]),{27:[1,69]},t(L,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(L,[2,15]),t(L,[2,26]),t(L,[2,27]),{11:59,32:72,37:24,38:l,39:u,40:27,41:h,42:d,43:f,44:p,45:m,46:v,47:b,48:x,49:C,50:T},t(L,[2,33]),t(L,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:S(function(N,B){if(B.recoverable)this.trace(N);else{var M=new Error(N);throw M.hash=B,M}},"parseError"),parse:S(function(N){var B=this,M=[0],V=[],U=[null],P=[],H=this.table,X="",Z=0,j=0,ee=2,Q=1,he=P.slice.call(arguments,1),te=Object.create(this.lexer),ae={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ae.yy[ie]=this.yy[ie]);te.setInput(N,ae.yy),ae.yy.lexer=te,ae.yy.parser=this,typeof te.yylloc>"u"&&(te.yylloc={});var ne=te.yylloc;P.push(ne);var me=te.options&&te.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(Ye){M.length=M.length-2*Ye,U.length=U.length-Ye,P.length=P.length-Ye}S(pe,"popStack");function Me(){var Ye;return Ye=V.pop()||te.lex()||Q,typeof Ye!="number"&&(Ye instanceof Array&&(V=Ye,Ye=V.pop()),Ye=B.symbols_[Ye]||Ye),Ye}S(Me,"lex");for(var $e,He,Ae,Oe,We={},Te,ot,Re,Ge;;){if(He=M[M.length-1],this.defaultActions[He]?Ae=this.defaultActions[He]:(($e===null||typeof $e>"u")&&($e=Me()),Ae=H[He]&&H[He][$e]),typeof Ae>"u"||!Ae.length||!Ae[0]){var it="";Ge=[];for(Te in H[He])this.terminals_[Te]&&Te>ee&&Ge.push("'"+this.terminals_[Te]+"'");te.showPosition?it="Parse error on line "+(Z+1)+`: `+te.showPosition()+` -Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Le[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Le[1]),$e=null,X=te.yyleng,j=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Le[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[j,X,Z,ae.yy,Le[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Le[1]][0]),U.push(We.$),P.push(We._$),De=H[M[M.length-2]][M[M.length-1]],M.push(De);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Ge.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":it="Parse error on line "+(Z+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(it,{text:te.match,token:this.terminals_[$e]||$e,line:te.yylineno,loc:ne,expected:Ge})}if(Ae[0]instanceof Array&&Ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+$e);switch(Ae[0]){case 1:M.push($e),U.push(te.yytext),P.push(te.yylloc),M.push(Ae[1]),$e=null,j=te.yyleng,X=te.yytext,Z=te.yylineno,ne=te.yylloc;break;case 2:if(ot=this.productions_[Ae[1]][1],We.$=U[U.length-ot],We._$={first_line:P[P.length-(ot||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ot||1)].first_column,last_column:P[P.length-1].last_column},me&&(We._$.range=[P[P.length-(ot||1)].range[0],P[P.length-1].range[1]]),Oe=this.performAction.apply(We,[X,j,Z,ae.yy,Ae[1],U,P].concat(he)),typeof Oe<"u")return Oe;ot&&(M=M.slice(0,-1*ot*2),U=U.slice(0,-1*ot),P=P.slice(0,-1*ot)),M.push(this.productions_[Ae[1]][0]),U.push(We.$),P.push(We._$),Re=H[M[M.length-2]][M[M.length-1]],M.push(Re);break;case 3:return!0}}return!0},"parse")},z=(function(){var I={EOF:1,parseError:S(function(B,M){if(this.yy.parser)this.yy.parser.parseError(B,M);else throw new Error(B)},"parseError"),setInput:S(function(N,B){return this.yy=B||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var B=N.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:S(function(N){var B=N.length,M=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===V.length?this.yylloc.first_column:0)+V[V.length-M.length].length-M[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(N){this.unput(this.match.slice(N))},"less"),pastInput:S(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var N=this.pastInput(),B=new Array(N.length+1).join("-");return N+this.upcomingInput()+` `+B+"^"},"showPosition"),test_match:S(function(N,B){var M,V,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),V=N[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],M=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var P in U)this[P]=U[P];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,B,M,V;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),P=0;PB[0].length)){if(B=M,V=P,this.options.backtrack_lexer){if(N=this.test_match(M,U[P]),N!==!1)return N;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(N=this.test_match(B,U[V]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();L9.parser=L9;var sje=L9;function R9(t){return t.type==="bar"}S(R9,"isBarPlot");function yO(t){return t.type==="band"}S(yO,"isBandAxisData");function Gg(t){return t.type==="linear"}S(Gg,"isLinearAxisData");var M1,Poe=(M1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=yQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(M1,"TextDimensionCalculatorWithFont"),M1),WW=.7,YW=.2,O1,Foe=(O1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){WW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(WW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=YW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(O1,"BaseAxis"),O1),I1,oje=(I1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=l8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=l8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(I1,"BandAxis"),I1),B1,lje=(B1=class extends Foe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=am().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=am().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(B1,"LinearAxis"),B1);function D9(t,e,r,n){const i=new Poe(n);return yO(t)?new oje(e,r,t.categories,t.title,i):new lje(e,r,[t.min,t.max],t.title,i)}S(D9,"getAxis");var P1,cje=(P1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(P1,"ChartTitle"),P1);function $oe(t,e,r,n){const i=new Poe(n);return new cje(i,t,e,r)}S($oe,"getChartTitleComponent");var F1,uje=(F1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=Y2().y(n=>n[0]).x(n=>n[1])(e):r=Y2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(F1,"LinePlot"),F1),$1,hje=($1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S($1,"BarPlot"),$1),z1,dje=(z1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new uje(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new hje(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S(z1,"BasePlot"),z1);function zoe(t,e,r){return new dje(t,e,r)}S(zoe,"getPlotComponent");var q1,fje=(q1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:$oe(e,r,n,i),plot:zoe(e,r,n),xAxis:D9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:D9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>R9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>R9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(q1,"Orchestrator"),q1),V1,pje=(V1=class{static build(e,r,n,i){return new fje(e,r,n,i).getDrawableElement()}},S(V1,"XYChartBuilder"),V1),Bb=0,qoe,Pb=xO(),Fb=bO(),pn=TO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1;function bO(){const t=Hb(),e=gr();return ea(t.xyChart,e.themeVariables.xyChart)}S(bO,"getChartDefaultThemeConfig");function xO(){const t=gr();return ea(Vr.xyChart,t.xyChart)}S(xO,"getChartDefaultConfig");function TO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(TO,"getChartDefaultData");function QS(t){const e=gr();return Jr(t.trim(),e)}S(QS,"textSanitizer");function Voe(t){qoe=t}S(Voe,"setTmpSVGG");function Goe(t){t==="horizontal"?Pb.chartOrientation="horizontal":Pb.chartOrientation="vertical"}S(Goe,"setOrientation");function Uoe(t){pn.xAxis.title=QS(t.text)}S(Uoe,"setXAxisTitle");function wO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},ZS=!0}S(wO,"setXAxisRangeData");function Hoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>QS(e.text))},ZS=!0}S(Hoe,"setXAxisBand");function Woe(t){pn.yAxis.title=QS(t.text)}S(Woe,"setYAxisTitle");function Yoe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},vO=!0}S(Yoe,"setYAxisRangeData");function joe(t){const e=Math.min(...t),r=Math.max(...t),n=Gg(pn.yAxis)?pn.yAxis.min:1/0,i=Gg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(joe,"setYAxisRangeFromPlotData");function CO(t){let e=[];if(t.length===0)return e;if(!ZS){const r=Gg(pn.xAxis)?pn.xAxis.min:1/0,n=Gg(pn.xAxis)?pn.xAxis.max:-1/0;wO(Math.min(r,1),Math.max(n,t.length))}if(vO||joe(t),yO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Gg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(CO,"transformDataWithoutCategory");function SO(t){return N9[t===0?0:t%N9.length]}S(SO,"getPlotColorFromPalette");function Xoe(t,e){const r=CO(e);pn.plots.push({type:"line",strokeFill:SO(Bb),strokeWidth:2,data:r}),Bb++}S(Xoe,"setLineData");function Koe(t,e){const r=CO(e);pn.plots.push({type:"bar",fill:SO(Bb),data:r}),Bb++}S(Koe,"setBarData");function Zoe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Zn(),pje.build(Pb,pn,Fb,qoe)}S(Zoe,"getDrawableElem");function Qoe(){return Fb}S(Qoe,"getChartThemeConfig");function Joe(){return Pb}S(Joe,"getChartConfig");function ele(){return pn}S(ele,"getXYChartData");var gje=S(function(){Kn(),Bb=0,Pb=xO(),pn=TO(),Fb=bO(),N9=Fb.plotColorPalette.split(",").map(t=>t.trim()),ZS=!1,vO=!1},"clear"),mje={getDrawableElem:Zoe,clear:gje,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,setOrientation:Goe,setXAxisTitle:Uoe,setXAxisRangeData:wO,setXAxisBand:Hoe,setYAxisTitle:Woe,setYAxisRangeData:Yoe,setLineData:Xoe,setBarData:Koe,setTmpSVGG:Voe,getChartThemeConfig:Qoe,getChartConfig:Joe,getXYChartData:ele},yje=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart -`+t);const d=Vs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Ui(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-A};S(E,"fitsHorizontally");const _=.7,A=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),R=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...R)),F=S($=>T?$.data.x+$.data.width+A:$.data.x+$.data.width-A,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,A=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=A.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),R=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(A).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${R}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),vje={draw:yje},bje={parser:sje,db:mje,renderer:vje};const xje=Object.freeze(Object.defineProperty({__proto__:null,diagram:bje},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],A=[1,39],k=[1,40],R=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],j=[1,85],Z=[1,86],X=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Le=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],De=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:A,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),{30:60,33:62,75:O,89:A,90:k},{30:63,33:62,75:O,89:A,90:k},{30:64,33:62,75:O,89:A,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:A,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:A,90:k},{5:[1,95]},{30:96,33:62,75:O,89:A,90:k},{5:[1,97]},{30:98,33:62,75:O,89:A,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(R,[2,59],{76:P}),t(R,[2,64],{76:me}),{33:103,75:[1,102],89:A,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(R,[2,57],{76:me}),t(R,[2,58],{76:P}),{5:$e,28:105,31:He,34:Le,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:De,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:A,90:k},{33:120,89:A,90:k},{75:U,78:121,79:82,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(R,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Le,36:Oe,38:We,40:Te},t(R,[2,28]),{5:[1,127]},t(R,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:De,56:130,57:Ge,59:it},t(R,[2,47]),{5:[1,131]},t(R,[2,48]),t(R,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:j,82:Z,83:X,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:A,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(R,[2,27]),{5:$e,28:145,31:He,34:Le,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(R,[2,46]),{5:ot,40:De,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(R,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(R,[2,43]),{5:$e,28:159,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Le,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Le,36:Oe,38:We,40:Te},{5:ot,40:De,56:163,57:Ge,59:it},{5:ot,40:De,56:164,57:Ge,59:it},t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),t(R,[2,44]),t(R,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var B=this.next();return B||this.lex()},"lex"),begin:S(function(B){this.conditionStack.push(B)},"begin"),popState:S(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:S(function(B){this.begin(B)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(B,M,V,U){switch(V){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();q.lexer=z;function D(){this.yy={}}return S(D,"Parser"),D.prototype=q,q.Parser=D,new D})();A9.parser=A9;var JYe=A9;function L9(t){return t.type==="bar"}S(L9,"isBarPlot");function mO(t){return t.type==="band"}S(mO,"isBandAxisData");function Vg(t){return t.type==="linear"}S(Vg,"isLinearAxisData");var N1,Boe=(N1=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=mQ(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},S(N1,"TextDimensionCalculatorWithFont"),N1),HW=.7,WW=.2,M1,Poe=(M1=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){HW*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(HW*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=WW*e.width;this.outerPadding=Math.min(n.width/2,i);const a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=WW*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},S(M1,"BaseAxis"),M1),O1,eXe=(O1=class extends Poe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=o8().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=o8().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),oe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},S(O1,"BandAxis"),O1),I1,tXe=(I1=class extends Poe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=im().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=im().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},S(I1,"LinearAxis"),I1);function R9(t,e,r,n){const i=new Boe(n);return mO(t)?new eXe(e,r,t.categories,t.title,i):new tXe(e,r,[t.min,t.max],t.title,i)}S(R9,"getAxis");var B1,rXe=(B1=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}},S(B1,"ChartTitle"),B1);function Foe(t,e,r,n){const i=new Boe(n);return new rXe(i,t,e,r)}S(Foe,"getChartTitleComponent");var P1,nXe=(P1=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]);let r;return this.orientation==="horizontal"?r=W2().y(n=>n[0]).x(n=>n[1])(e):r=W2().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S(P1,"LinePlot"),P1),F1,iXe=(F1=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},S(F1,"BarPlot"),F1),$1,aXe=($1=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new nXe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new iXe(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},S($1,"BasePlot"),$1);function $oe(t,e,r){return new aXe(t,e,r)}S($oe,"getPlotComponent");var z1,sXe=(z1=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:Foe(e,r,n,i),plot:$oe(e,r,n),xAxis:R9(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:R9(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>L9(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>L9(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},S(z1,"Orchestrator"),z1),q1,oXe=(q1=class{static build(e,r,n,i){return new sXe(e,r,n,i).getDrawableElement()}},S(q1,"XYChartBuilder"),q1),Ib=0,zoe,Bb=bO(),Pb=vO(),pn=xO(),D9=Pb.plotColorPalette.split(",").map(t=>t.trim()),KS=!1,yO=!1;function vO(){const t=Ub(),e=gr();return ea(t.xyChart,e.themeVariables.xyChart)}S(vO,"getChartDefaultThemeConfig");function bO(){const t=gr();return ea(Vr.xyChart,t.xyChart)}S(bO,"getChartDefaultConfig");function xO(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}S(xO,"getChartDefaultData");function ZS(t){const e=gr();return Jr(t.trim(),e)}S(ZS,"textSanitizer");function qoe(t){zoe=t}S(qoe,"setTmpSVGG");function Voe(t){t==="horizontal"?Bb.chartOrientation="horizontal":Bb.chartOrientation="vertical"}S(Voe,"setOrientation");function Goe(t){pn.xAxis.title=ZS(t.text)}S(Goe,"setXAxisTitle");function TO(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},KS=!0}S(TO,"setXAxisRangeData");function Uoe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>ZS(e.text))},KS=!0}S(Uoe,"setXAxisBand");function Hoe(t){pn.yAxis.title=ZS(t.text)}S(Hoe,"setYAxisTitle");function Woe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},yO=!0}S(Woe,"setYAxisRangeData");function Yoe(t){const e=Math.min(...t),r=Math.max(...t),n=Vg(pn.yAxis)?pn.yAxis.min:1/0,i=Vg(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}S(Yoe,"setYAxisRangeFromPlotData");function wO(t){let e=[];if(t.length===0)return e;if(!KS){const r=Vg(pn.xAxis)?pn.xAxis.min:1/0,n=Vg(pn.xAxis)?pn.xAxis.max:-1/0;TO(Math.min(r,1),Math.max(n,t.length))}if(yO||Yoe(t),mO(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),Vg(pn.xAxis)){const r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,o)=>[s,t[o]])}return e}S(wO,"transformDataWithoutCategory");function CO(t){return D9[t===0?0:t%D9.length]}S(CO,"getPlotColorFromPalette");function Xoe(t,e){const r=wO(e);pn.plots.push({type:"line",strokeFill:CO(Ib),strokeWidth:2,data:r}),Ib++}S(Xoe,"setLineData");function joe(t,e){const r=wO(e);pn.plots.push({type:"bar",fill:CO(Ib),data:r}),Ib++}S(joe,"setBarData");function Koe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Zn(),oXe.build(Bb,pn,Pb,zoe)}S(Koe,"getDrawableElem");function Zoe(){return Pb}S(Zoe,"getChartThemeConfig");function Qoe(){return Bb}S(Qoe,"getChartConfig");function Joe(){return pn}S(Joe,"getXYChartData");var lXe=S(function(){Kn(),Ib=0,Bb=bO(),pn=xO(),Pb=vO(),D9=Pb.plotColorPalette.split(",").map(t=>t.trim()),KS=!1,yO=!1},"clear"),cXe={getDrawableElem:Koe,clear:lXe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,setOrientation:Voe,setXAxisTitle:Goe,setXAxisRangeData:TO,setXAxisBand:Uoe,setYAxisTitle:Hoe,setYAxisRangeData:Woe,setLineData:Xoe,setBarData:joe,setTmpSVGG:qoe,getChartThemeConfig:Zoe,getChartConfig:Qoe,getXYChartData:Joe},uXe=S((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(x=>x[1]);function l(x){return x==="top"?"text-before-edge":"middle"}S(l,"getDominantBaseLine");function u(x){return x==="left"?"start":x==="right"?"end":"middle"}S(u,"getTextAnchor");function h(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}S(h,"getTextTransformation"),oe.debug(`Rendering xychart chart +`+t);const d=Vs(e),f=d.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Ui(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const m=i.getDrawableElem(),v={};function b(x){let C=f,T="";for(const[E]of x.entries()){let _=f;E>0&&v[T]&&(_=v[T]),T+=x[E],C=v[T],C||(C=v[T]=_.append("g").attr("class",x[E]))}return C}S(b,"getGroup");for(const x of m){if(x.data.length===0)continue;const C=b(x.groupTexts);switch(x.type){case"rect":if(C.selectAll("rect").data(x.data).enter().append("rect").attr("x",T=>T.x).attr("y",T=>T.y).attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",T=>T.fill).attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth),s.showDataLabel){const T=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let E=function($,q){const{data:z,label:D}=$;return q*D.length*_<=z.width-R};S(E,"fitsHorizontally");const _=.7,R=10,k=x.data.map(($,q)=>({data:$,label:o[q].toString()})).filter($=>$.data.width>0&&$.data.height>0),L=k.map($=>{const{data:q}=$;let z=q.height*.7;for(;!E($,z)&&z>0;)z-=1;return z}),O=Math.floor(Math.min(...L)),F=S($=>T?$.data.x+$.data.width+R:$.data.x+$.data.width-R,"determineLabelXPosition");C.selectAll("text").data(k).enter().append("text").attr("x",F).attr("y",$=>$.data.y+$.data.height/2).attr("text-anchor",T?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${O}px`).text($=>$.label)}else{let E=function(F,$,q){const{data:z,label:D}=F,N=$*D.length*.7,B=z.x+z.width/2,M=B-N/2,V=B+N/2,U=M>=z.x&&V<=z.x+z.width,P=z.y+q+$<=z.y+z.height;return U&&P};S(E,"fitsInBar");const _=10,R=x.data.map((F,$)=>({data:F,label:o[$].toString()})).filter(F=>F.data.width>0&&F.data.height>0),k=R.map(F=>{const{data:$,label:q}=F;let z=$.width/(q.length*.7);for(;!E(F,z,_)&&z>0;)z-=1;return z}),L=Math.floor(Math.min(...k)),O=S(F=>T?F.data.y-_:F.data.y+_,"determineLabelYPosition");C.selectAll("text").data(R).enter().append("text").attr("x",F=>F.data.x+F.data.width/2).attr("y",O).attr("text-anchor","middle").attr("dominant-baseline",T?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${L}px`).text(F=>F.label)}}break;case"text":C.selectAll("text").data(x.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",T=>T.fill).attr("font-size",T=>T.fontSize).attr("dominant-baseline",T=>l(T.verticalPos)).attr("text-anchor",T=>u(T.horizontalPos)).attr("transform",T=>h(T)).text(T=>T.text);break;case"path":C.selectAll("path").data(x.data).enter().append("path").attr("d",T=>T.path).attr("fill",T=>T.fill?T.fill:"none").attr("stroke",T=>T.strokeFill).attr("stroke-width",T=>T.strokeWidth);break}}},"draw"),hXe={draw:uXe},dXe={parser:JYe,db:cXe,renderer:hXe};const fXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:dXe},Symbol.toStringTag,{value:"Module"}));var N9=(function(){var t=S(function(xe,Ze,se,be){for(se=se||{},be=xe.length;be--;se[xe[be]]=Ze);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],h=[1,28],d=[1,29],f=[1,33],p=[1,34],m=[1,35],v=[1,36],b=[1,37],x=[1,38],C=[1,24],T=[1,31],E=[1,32],_=[1,30],R=[1,39],k=[1,40],L=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],O=[1,61],F=[89,90],$=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],q=[27,29],z=[1,70],D=[1,71],I=[1,72],N=[1,73],B=[1,74],M=[1,75],V=[1,76],U=[1,83],P=[1,80],H=[1,84],X=[1,85],Z=[1,86],j=[1,87],ee=[1,88],Q=[1,89],he=[1,90],te=[1,91],ae=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ne=[63,64],me=[1,101],pe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$e=[1,110],He=[1,106],Ae=[1,107],Oe=[1,108],We=[1,109],Te=[1,111],ot=[1,116],Re=[1,117],Ge=[1,114],it=[1,115],Ye={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:S(function(Ze,se,be,Y,de,fe,we){var Ee=fe.length-1;switch(de){case 4:this.$=fe[Ee].trim(),Y.setAccTitle(this.$);break;case 5:case 6:this.$=fe[Ee].trim(),Y.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:Y.setDirection("TB");break;case 18:Y.setDirection("BT");break;case 19:Y.setDirection("RL");break;case 20:Y.setDirection("LR");break;case 21:Y.addRequirement(fe[Ee-3],fe[Ee-4]);break;case 22:Y.addRequirement(fe[Ee-5],fe[Ee-6]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 23:Y.setNewReqId(fe[Ee-2]);break;case 24:Y.setNewReqText(fe[Ee-2]);break;case 25:Y.setNewReqRisk(fe[Ee-2]);break;case 26:Y.setNewReqVerifyMethod(fe[Ee-2]);break;case 29:this.$=Y.RequirementType.REQUIREMENT;break;case 30:this.$=Y.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=Y.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=Y.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=Y.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=Y.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=Y.RiskLevel.LOW_RISK;break;case 36:this.$=Y.RiskLevel.MED_RISK;break;case 37:this.$=Y.RiskLevel.HIGH_RISK;break;case 38:this.$=Y.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=Y.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=Y.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=Y.VerifyType.VERIFY_TEST;break;case 42:Y.addElement(fe[Ee-3]);break;case 43:Y.addElement(fe[Ee-5]),Y.setClass([fe[Ee-5]],fe[Ee-3]);break;case 44:Y.setNewElementType(fe[Ee-2]);break;case 45:Y.setNewElementDocRef(fe[Ee-2]);break;case 48:Y.addRelationship(fe[Ee-2],fe[Ee],fe[Ee-4]);break;case 49:Y.addRelationship(fe[Ee-2],fe[Ee-4],fe[Ee]);break;case 50:this.$=Y.Relationships.CONTAINS;break;case 51:this.$=Y.Relationships.COPIES;break;case 52:this.$=Y.Relationships.DERIVES;break;case 53:this.$=Y.Relationships.SATISFIES;break;case 54:this.$=Y.Relationships.VERIFIES;break;case 55:this.$=Y.Relationships.REFINES;break;case 56:this.$=Y.Relationships.TRACES;break;case 57:this.$=fe[Ee-2],Y.defineClass(fe[Ee-1],fe[Ee]);break;case 58:Y.setClass(fe[Ee-1],fe[Ee]);break;case 59:Y.setClass([fe[Ee-2]],fe[Ee]);break;case 60:case 62:this.$=[fe[Ee]];break;case 61:case 63:this.$=fe[Ee-2].concat([fe[Ee]]);break;case 64:this.$=fe[Ee-2],Y.setCssStyle(fe[Ee-1],fe[Ee]);break;case 65:this.$=[fe[Ee]];break;case 66:fe[Ee-2].push(fe[Ee]),this.$=fe[Ee-2];break;case 68:this.$=fe[Ee-1]+fe[Ee];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:h,24:d,25:23,33:25,41:f,42:p,43:m,44:v,45:b,46:x,54:C,72:T,74:E,77:_,89:R,90:k},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(L,[2,17]),t(L,[2,18]),t(L,[2,19]),t(L,[2,20]),{30:60,33:62,75:O,89:R,90:k},{30:63,33:62,75:O,89:R,90:k},{30:64,33:62,75:O,89:R,90:k},t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),t(F,[2,33]),t(F,[2,34]),t($,[2,81]),t($,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(q,[2,79]),t(q,[2,80]),{27:[1,67],29:[1,68]},t(q,[2,85]),t(q,[2,86]),{62:69,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{62:77,65:z,66:D,67:I,68:N,69:B,70:M,71:V},{30:78,33:62,75:O,89:R,90:k},{73:79,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,60]),t(ie,[2,62]),{73:93,75:U,76:P,78:81,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},{30:94,33:62,75:O,76:P,89:R,90:k},{5:[1,95]},{30:96,33:62,75:O,89:R,90:k},{5:[1,97]},{30:98,33:62,75:O,89:R,90:k},{63:[1,99]},t(ne,[2,50]),t(ne,[2,51]),t(ne,[2,52]),t(ne,[2,53]),t(ne,[2,54]),t(ne,[2,55]),t(ne,[2,56]),{64:[1,100]},t(L,[2,59],{76:P}),t(L,[2,64],{76:me}),{33:103,75:[1,102],89:R,90:k},t(pe,[2,65],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),t(Me,[2,67]),t(Me,[2,69]),t(Me,[2,70]),t(Me,[2,71]),t(Me,[2,72]),t(Me,[2,73]),t(Me,[2,74]),t(Me,[2,75]),t(Me,[2,76]),t(Me,[2,77]),t(Me,[2,78]),t(L,[2,57],{76:me}),t(L,[2,58],{76:P}),{5:$e,28:105,31:He,34:Ae,36:Oe,38:We,40:Te},{27:[1,112],76:P},{5:ot,40:Re,56:113,57:Ge,59:it},{27:[1,118],76:P},{33:119,89:R,90:k},{33:120,89:R,90:k},{75:U,78:121,79:82,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae},t(ie,[2,61]),t(ie,[2,63]),t(Me,[2,68]),t(L,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$e,28:126,31:He,34:Ae,36:Oe,38:We,40:Te},t(L,[2,28]),{5:[1,127]},t(L,[2,42]),{32:[1,128]},{32:[1,129]},{5:ot,40:Re,56:130,57:Ge,59:it},t(L,[2,47]),{5:[1,131]},t(L,[2,48]),t(L,[2,49]),t(pe,[2,66],{79:104,75:U,80:H,81:X,82:Z,83:j,84:ee,85:Q,86:he,87:te,88:ae}),{33:132,89:R,90:k},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(L,[2,27]),{5:$e,28:145,31:He,34:Ae,36:Oe,38:We,40:Te},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(L,[2,46]),{5:ot,40:Re,56:152,57:Ge,59:it},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(L,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(L,[2,43]),{5:$e,28:159,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:160,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:161,31:He,34:Ae,36:Oe,38:We,40:Te},{5:$e,28:162,31:He,34:Ae,36:Oe,38:We,40:Te},{5:ot,40:Re,56:163,57:Ge,59:it},{5:ot,40:Re,56:164,57:Ge,59:it},t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,44]),t(L,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:S(function(Ze,se){if(se.recoverable)this.trace(Ze);else{var be=new Error(Ze);throw be.hash=se,be}},"parseError"),parse:S(function(Ze){var se=this,be=[0],Y=[],de=[null],fe=[],we=this.table,Ee="",Ie=0,Ue=0,_e=2,ze=1,et=fe.slice.call(arguments,1),qe=Object.create(this.lexer),lt={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(lt.yy[ve]=this.yy[ve]);qe.setInput(Ze,lt.yy),lt.yy.lexer=qe,lt.yy.parser=this,typeof qe.yylloc>"u"&&(qe.yylloc={});var Qe=qe.yylloc;fe.push(Qe);var Se=qe.options&&qe.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(st){be.length=be.length-2*st,de.length=de.length-st,fe.length=fe.length-st}S(Nt,"popStack");function At(){var st;return st=Y.pop()||qe.lex()||ze,typeof st!="number"&&(st instanceof Array&&(Y=st,st=Y.pop()),st=se.symbols_[st]||st),st}S(At,"lex");for(var Et,zt,St,gt,ue={},Mt,xt,bt,Ce;;){if(zt=be[be.length-1],this.defaultActions[zt]?St=this.defaultActions[zt]:((Et===null||typeof Et>"u")&&(Et=At()),St=we[zt]&&we[zt][Et]),typeof St>"u"||!St.length||!St[0]){var nt="";Ce=[];for(Mt in we[zt])this.terminals_[Mt]&&Mt>_e&&Ce.push("'"+this.terminals_[Mt]+"'");qe.showPosition?nt="Parse error on line "+(Ie+1)+`: `+qe.showPosition()+` -Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},je=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse error on line "+(Ie+1)+": Unexpected "+(Et==ze?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(nt,{text:qe.match,token:this.terminals_[Et]||Et,line:qe.yylineno,loc:Qe,expected:Ce})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zt+", token: "+Et);switch(St[0]){case 1:be.push(Et),de.push(qe.yytext),fe.push(qe.yylloc),be.push(St[1]),Et=null,Ue=qe.yyleng,Ee=qe.yytext,Ie=qe.yylineno,Qe=qe.yylloc;break;case 2:if(xt=this.productions_[St[1]][1],ue.$=de[de.length-xt],ue._$={first_line:fe[fe.length-(xt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(xt||1)].first_column,last_column:fe[fe.length-1].last_column},Se&&(ue._$.range=[fe[fe.length-(xt||1)].range[0],fe[fe.length-1].range[1]]),gt=this.performAction.apply(ue,[Ee,Ue,Ie,lt.yy,St[1],de,fe].concat(et)),typeof gt<"u")return gt;xt&&(be=be.slice(0,-1*xt*2),de=de.slice(0,-1*xt),fe=fe.slice(0,-1*xt)),be.push(this.productions_[St[1]][0]),de.push(ue.$),fe.push(ue._$),bt=we[be[be.length-2]][be[be.length-1]],be.push(bt);break;case 3:return!0}}return!0},"parse")},Xe=(function(){var xe={EOF:1,parseError:S(function(se,be){if(this.yy.parser)this.yy.parser.parseError(se,be);else throw new Error(se)},"parseError"),setInput:S(function(Ze,se){return this.yy=se||this.yy||{},this._input=Ze,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ze=this._input[0];this.yytext+=Ze,this.yyleng++,this.offset++,this.match+=Ze,this.matched+=Ze;var se=Ze.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ze},"input"),unput:S(function(Ze){var se=Ze.length,be=Ze.split(/(?:\r\n?|\n)/g);this._input=Ze+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),be.length-1&&(this.yylineno-=be.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:be?(be.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-be.length].length-be[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ze){this.unput(this.match.slice(Ze))},"less"),pastInput:S(function(){var Ze=this.matched.substr(0,this.matched.length-this.match.length);return(Ze.length>20?"...":"")+Ze.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ze=this.match;return Ze.length<20&&(Ze+=this._input.substr(0,20-Ze.length)),(Ze.substr(0,20)+(Ze.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ze=this.pastInput(),se=new Array(Ze.length+1).join("-");return Ze+this.upcomingInput()+` `+se+"^"},"showPosition"),test_match:S(function(Ze,se){var be,Y,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),Y=Ze[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ze[0].length},this.yytext+=Ze[0],this.match+=Ze[0],this.matches=Ze,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ze[0].length),this.matched+=Ze[0],be=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),be)return be;if(this._backtrack){for(var fe in de)this[fe]=de[fe];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ze,se,be,Y;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),fe=0;fese[0].length)){if(se=be,Y=fe,this.options.backtrack_lexer){if(Ze=this.test_match(be,de[fe]),Ze!==!1)return Ze;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(Ze=this.test_match(se,de[Y]),Ze!==!1?Ze:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var se=this.next();return se||this.lex()},"lex"),begin:S(function(se){this.conditionStack.push(se)},"begin"),popState:S(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=je;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();M9.parser=M9;var Tje=M9,G1,wje=(G1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=Xn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Kn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(G1,"RequirementDB"),G1),Cje=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:S(function(se){this.begin(se)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(se,be,Y,de){switch(Y){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return be.yytext=be.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return xe})();Ye.lexer=Xe;function at(){this.yy={}}return S(at,"Parser"),at.prototype=Ye,Ye.Parser=at,new at})();N9.parser=N9;var pXe=N9,V1,gXe=(V1=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),oe.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Kn()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(i)for(const a of r){i.classes.push(a);const s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){const e=Pe(),r=[],n=[];for(const i of this.requirements.values()){const a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(const i of this.elements.values()){const a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(const i of this.relations){let a=0;const s=i.type===this.Relationships.CONTAINS,o={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(o),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},S(V1,"RequirementDB"),V1),mXe=S(t=>{const e=gr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let o=0;o{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` - ${Cje(t)} + `;return s},"genColor"),yXe=S(t=>{const e=gr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return` + ${mXe(t)} marker { fill: ${t.relationColor}; stroke: ${t.relationColor}; @@ -1875,16 +1875,16 @@ Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":nt="Parse erro background-color: ${i??t.edgeLabelBackground}; } -`},"getStyles"),Eje=Sje,tle={};fC(tle,{draw:()=>kje});var kje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ty(e,i);l.type=n.type,l.layoutAlgorithm=rx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await Vm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),_je={parser:Tje,get db(){return new wje},renderer:tle,styles:Eje};const Aje=Object.freeze(Object.defineProperty({__proto__:null,diagram:_je},Symbol.toStringTag,{value:"Module"}));var O9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],A=[1,34],k=[1,35],R=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],j=[1,82],Z=[1,83],X=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Le=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],De=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],je=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:j,81:Z,82:X,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],je),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,je,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:j,81:Z,82:X,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Le,96:Oe,97:We,98:Te,99:ot,100:De,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:A,44:k,45:R,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Zt){et.length=et.length-2*Zt,lt.length=lt.length-Zt,ve.length=ve.length-Zt}S(Ce,"popStack");function nt(){var Zt;return Zt=qe.pop()||gt.lex()||zt,typeof Zt!="number"&&(Zt instanceof Array&&(qe=Zt,Zt=qe.pop()),Zt=ze.symbols_[Zt]||Zt),Zt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: +`},"getStyles"),vXe=yXe,ele={};dC(ele,{draw:()=>bXe});var bXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Pe(),l=n.db.getData(),u=ey(e,i);l.type=n.type,l.layoutAlgorithm=tx(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await qm(l,u);const h=8;Lr.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),q0(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw"),xXe={parser:pXe,get db(){return new gXe},renderer:ele,styles:vXe};const TXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:xXe},Symbol.toStringTag,{value:"Module"}));var M9=(function(){var t=S(function(Ue,_e,ze,et){for(ze=ze||{},et=Ue.length;et--;ze[Ue[et]]=_e);return ze},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],h=[1,17],d=[1,18],f=[1,19],p=[1,25],m=[1,26],v=[1,27],b=[1,28],x=[1,29],C=[1,30],T=[1,31],E=[1,32],_=[1,33],R=[1,34],k=[1,35],L=[1,36],O=[1,37],F=[1,38],$=[1,39],q=[1,40],z=[1,42],D=[1,43],I=[1,44],N=[1,45],B=[1,46],M=[1,47],V=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],U=[1,74],P=[1,80],H=[1,81],X=[1,82],Z=[1,83],j=[1,84],ee=[1,85],Q=[1,86],he=[1,87],te=[1,88],ae=[1,89],ie=[1,90],ne=[1,91],me=[1,92],pe=[1,93],Me=[1,94],$e=[1,95],He=[1,96],Ae=[1,97],Oe=[1,98],We=[1,99],Te=[1,100],ot=[1,101],Re=[1,102],Ge=[1,103],it=[1,104],Ye=[1,105],Xe=[2,78],at=[4,5,17,51,53,54],xe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Ze=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],be=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Y=[5,52],de=[70,71,72,73],fe=[1,151],we={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:S(function(_e,ze,et,qe,lt,ve,Qe){var Se=ve.length-1;switch(lt){case 3:return qe.apply(ve[Se]),ve[Se];case 4:case 10:this.$=[];break;case 5:case 11:ve[Se-1].push(ve[Se]),this.$=ve[Se-1];break;case 6:case 7:case 12:case 13:this.$=ve[Se];break;case 8:case 9:case 14:this.$=[];break;case 16:ve[Se].type="createParticipant",this.$=ve[Se];break;case 17:ve[Se-1].unshift({type:"boxStart",boxData:qe.parseBoxData(ve[Se-2])}),ve[Se-1].push({type:"boxEnd",boxText:ve[Se-2]}),this.$=ve[Se-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-2]),sequenceIndexStep:Number(ve[Se-1]),sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ve[Se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:qe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:qe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor};break;case 24:this.$={type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-1].actor};break;case 30:qe.setDiagramTitle(ve[Se].substring(6)),this.$=ve[Se].substring(6);break;case 31:qe.setDiagramTitle(ve[Se].substring(7)),this.$=ve[Se].substring(7);break;case 32:this.$=ve[Se].trim(),qe.setAccTitle(this.$);break;case 33:case 34:this.$=ve[Se].trim(),qe.setAccDescription(this.$);break;case 35:ve[Se-1].unshift({type:"loopStart",loopText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.LOOP_START}),ve[Se-1].push({type:"loopEnd",loopText:ve[Se-2],signalType:qe.LINETYPE.LOOP_END}),this.$=ve[Se-1];break;case 36:ve[Se-1].unshift({type:"rectStart",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_START}),ve[Se-1].push({type:"rectEnd",color:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.RECT_END}),this.$=ve[Se-1];break;case 37:ve[Se-1].unshift({type:"optStart",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_START}),ve[Se-1].push({type:"optEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.OPT_END}),this.$=ve[Se-1];break;case 38:ve[Se-1].unshift({type:"altStart",altText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.ALT_START}),ve[Se-1].push({type:"altEnd",signalType:qe.LINETYPE.ALT_END}),this.$=ve[Se-1];break;case 39:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 40:ve[Se-1].unshift({type:"parStart",parText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.PAR_OVER_START}),ve[Se-1].push({type:"parEnd",signalType:qe.LINETYPE.PAR_END}),this.$=ve[Se-1];break;case 41:ve[Se-1].unshift({type:"criticalStart",criticalText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.CRITICAL_START}),ve[Se-1].push({type:"criticalEnd",signalType:qe.LINETYPE.CRITICAL_END}),this.$=ve[Se-1];break;case 42:ve[Se-1].unshift({type:"breakStart",breakText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_START}),ve[Se-1].push({type:"breakEnd",optText:qe.parseMessage(ve[Se-2]),signalType:qe.LINETYPE.BREAK_END}),this.$=ve[Se-1];break;case 44:this.$=ve[Se-3].concat([{type:"option",optionText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.CRITICAL_OPTION},ve[Se]]);break;case 46:this.$=ve[Se-3].concat([{type:"and",parText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.PAR_AND},ve[Se]]);break;case 48:this.$=ve[Se-3].concat([{type:"else",altText:qe.parseMessage(ve[Se-1]),signalType:qe.LINETYPE.ALT_ELSE},ve[Se]]);break;case 49:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 50:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 51:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 52:case 57:ve[Se-1].draw="actor",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 53:ve[Se-1].type="destroyParticipant",this.$=ve[Se-1];break;case 54:ve[Se-3].draw="participant",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 55:ve[Se-1].draw="participant",ve[Se-1].type="addParticipant",this.$=ve[Se-1];break;case 56:ve[Se-3].draw="actor",ve[Se-3].type="addParticipant",ve[Se-3].description=qe.parseMessage(ve[Se-1]),this.$=ve[Se-3];break;case 58:this.$=[ve[Se-1],{type:"addNote",placement:ve[Se-2],actor:ve[Se-1].actor,text:ve[Se]}];break;case 59:ve[Se-2]=[].concat(ve[Se-1],ve[Se-1]).slice(0,2),ve[Se-2][0]=ve[Se-2][0].actor,ve[Se-2][1]=ve[Se-2][1].actor,this.$=[ve[Se-1],{type:"addNote",placement:qe.PLACEMENT.OVER,actor:ve[Se-2].slice(0,2),text:ve[Se]}];break;case 60:this.$=[ve[Se-1],{type:"addLinks",actor:ve[Se-1].actor,text:ve[Se]}];break;case 61:this.$=[ve[Se-1],{type:"addALink",actor:ve[Se-1].actor,text:ve[Se]}];break;case 62:this.$=[ve[Se-1],{type:"addProperties",actor:ve[Se-1].actor,text:ve[Se]}];break;case 63:this.$=[ve[Se-1],{type:"addDetails",actor:ve[Se-1].actor,text:ve[Se]}];break;case 66:this.$=[ve[Se-2],ve[Se]];break;case 67:this.$=ve[Se];break;case 68:this.$=qe.PLACEMENT.LEFTOF;break;case 69:this.$=qe.PLACEMENT.RIGHTOF;break;case 70:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0},{type:"activeStart",signalType:qe.LINETYPE.ACTIVE_START,actor:ve[Se-1].actor}];break;case 71:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se]},{type:"activeEnd",signalType:qe.LINETYPE.ACTIVE_END,actor:ve[Se-4].actor}];break;case 72:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor}];break;case 73:this.$=[ve[Se-4],ve[Se-1],{type:"addMessage",from:ve[Se-4].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se],activate:!1,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-4].actor}];break;case 74:this.$=[ve[Se-5],ve[Se-1],{type:"addMessage",from:ve[Se-5].actor,to:ve[Se-1].actor,signalType:ve[Se-3],msg:ve[Se],activate:!0,centralConnection:qe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:qe.LINETYPE.CENTRAL_CONNECTION,actor:ve[Se-1].actor},{type:"centralConnectionReverse",signalType:qe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ve[Se-5].actor}];break;case 75:this.$=[ve[Se-3],ve[Se-1],{type:"addMessage",from:ve[Se-3].actor,to:ve[Se-1].actor,signalType:ve[Se-2],msg:ve[Se]}];break;case 76:this.$={type:"addParticipant",actor:ve[Se-1],config:ve[Se]};break;case 77:this.$=ve[Se-1].trim();break;case 78:this.$={type:"addParticipant",actor:ve[Se]};break;case 79:this.$=qe.LINETYPE.SOLID_OPEN;break;case 80:this.$=qe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=qe.LINETYPE.SOLID;break;case 82:this.$=qe.LINETYPE.SOLID_TOP;break;case 83:this.$=qe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=qe.LINETYPE.STICK_TOP;break;case 85:this.$=qe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=qe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=qe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=qe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=qe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=qe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=qe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=qe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=qe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=qe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=qe.LINETYPE.DOTTED;break;case 100:this.$=qe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=qe.LINETYPE.SOLID_CROSS;break;case 102:this.$=qe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=qe.LINETYPE.SOLID_POINT;break;case 104:this.$=qe.LINETYPE.DOTTED_POINT;break;case 105:this.$=qe.parseMessage(ve[Se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,15]),{13:49,51:F,53:$,54:q},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:M},{23:56,73:M},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(V,[2,30]),t(V,[2,31]),{33:[1,62]},{35:[1,63]},t(V,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:U},{23:75,55:76,73:U},{23:77,73:M},{69:78,72:[1,79],78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:Re,101:Ge,102:it,103:Ye},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:M},{23:111,73:M},{23:112,73:M},{23:113,73:M},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Xe),t(V,[2,6]),t(V,[2,16]),t(at,[2,10],{11:114}),t(V,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(V,[2,22]),{5:[1,118]},{5:[1,119]},t(V,[2,25]),t(V,[2,26]),t(V,[2,27]),t(V,[2,28]),t(V,[2,29]),t(V,[2,32]),t(V,[2,33]),t(xe,i,{7:120}),t(xe,i,{7:121}),t(xe,i,{7:122}),t(Ze,i,{41:123,7:124}),t(se,i,{43:125,7:126}),t(se,i,{7:126,43:127}),t(be,i,{46:128,7:129}),t(xe,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(Y,Xe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:M},{69:146,78:P,79:H,80:X,81:Z,82:j,83:ee,84:Q,85:he,86:te,87:ae,88:ie,89:ne,90:me,91:pe,92:Me,93:$e,94:He,95:Ae,96:Oe,97:We,98:Te,99:ot,100:Re,101:Ge,102:it,103:Ye},t(de,[2,79]),t(de,[2,80]),t(de,[2,81]),t(de,[2,82]),t(de,[2,83]),t(de,[2,84]),t(de,[2,85]),t(de,[2,86]),t(de,[2,87]),t(de,[2,88]),t(de,[2,89]),t(de,[2,90]),t(de,[2,91]),t(de,[2,92]),t(de,[2,93]),t(de,[2,94]),t(de,[2,95]),t(de,[2,96]),t(de,[2,97]),t(de,[2,98]),t(de,[2,99]),t(de,[2,100]),t(de,[2,101]),t(de,[2,102]),t(de,[2,103]),t(de,[2,104]),{23:147,73:M},{23:149,60:148,73:M},{73:[2,68]},{73:[2,69]},{58:150,104:fe},{58:152,104:fe},{58:153,104:fe},{58:154,104:fe},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:F,53:$,54:q},{5:[1,160]},t(V,[2,20]),t(V,[2,21]),t(V,[2,23]),t(V,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,50:[1,165],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,49:[1,167],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,48:[1,170],51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:h,22:d,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:m,32:v,34:b,36:x,37:C,38:T,39:E,40:_,42:R,44:k,45:L,47:O,51:F,53:$,54:q,56:z,61:D,62:I,63:N,64:B,73:M},{16:[1,172]},t(V,[2,50]),{16:[1,173]},t(V,[2,55]),t(Y,[2,76]),{76:[1,174]},{16:[1,175]},t(V,[2,52]),{16:[1,176]},t(V,[2,57]),t(V,[2,53]),{23:177,73:M},{23:178,73:M},{23:179,73:M},{58:180,104:fe},{23:181,72:[1,182],73:M},{58:183,104:fe},{58:184,104:fe},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(V,[2,17]),t(at,[2,11]),{13:186,51:F,53:$,54:q},t(at,[2,13]),t(at,[2,14]),t(V,[2,19]),t(V,[2,35]),t(V,[2,36]),t(V,[2,37]),t(V,[2,38]),{16:[1,187]},t(V,[2,39]),{16:[1,188]},t(V,[2,40]),t(V,[2,41]),{16:[1,189]},t(V,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:fe},{58:196,104:fe},{58:197,104:fe},{5:[2,75]},{58:198,104:fe},{23:199,73:M},{5:[2,58]},{5:[2,59]},{23:200,73:M},t(at,[2,12]),t(Ze,i,{7:124,41:201}),t(se,i,{7:126,43:202}),t(be,i,{7:129,46:203}),t(V,[2,49]),t(V,[2,54]),t(Y,[2,77]),t(V,[2,51]),t(V,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:fe},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:S(function(_e,ze){if(ze.recoverable)this.trace(_e);else{var et=new Error(_e);throw et.hash=ze,et}},"parseError"),parse:S(function(_e){var ze=this,et=[0],qe=[],lt=[null],ve=[],Qe=this.table,Se="",Nt=0,At=0,Et=2,zt=1,St=ve.slice.call(arguments,1),gt=Object.create(this.lexer),ue={yy:{}};for(var Mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Mt)&&(ue.yy[Mt]=this.yy[Mt]);gt.setInput(_e,ue.yy),ue.yy.lexer=gt,ue.yy.parser=this,typeof gt.yylloc>"u"&&(gt.yylloc={});var xt=gt.yylloc;ve.push(xt);var bt=gt.options&>.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(Kt){et.length=et.length-2*Kt,lt.length=lt.length-Kt,ve.length=ve.length-Kt}S(Ce,"popStack");function nt(){var Kt;return Kt=qe.pop()||gt.lex()||zt,typeof Kt!="number"&&(Kt instanceof Array&&(qe=Kt,Kt=qe.pop()),Kt=ze.symbols_[Kt]||Kt),Kt}S(nt,"lex");for(var st,It,Wt,Ut,rr={},pr,vt,Ne,ft;;){if(It=et[et.length-1],this.defaultActions[It]?Wt=this.defaultActions[It]:((st===null||typeof st>"u")&&(st=nt()),Wt=Qe[It]&&Qe[It][st]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Rt="";ft=[];for(pr in Qe[It])this.terminals_[pr]&&pr>Et&&ft.push("'"+this.terminals_[pr]+"'");gt.showPosition?Rt="Parse error on line "+(Nt+1)+`: `+gt.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse error on line "+(Nt+1)+": Unexpected "+(st==zt?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(Rt,{text:gt.match,token:this.terminals_[st]||st,line:gt.yylineno,loc:xt,expected:ft})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+It+", token: "+st);switch(Wt[0]){case 1:et.push(st),lt.push(gt.yytext),ve.push(gt.yylloc),et.push(Wt[1]),st=null,At=gt.yyleng,Se=gt.yytext,Nt=gt.yylineno,xt=gt.yylloc;break;case 2:if(vt=this.productions_[Wt[1]][1],rr.$=lt[lt.length-vt],rr._$={first_line:ve[ve.length-(vt||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(vt||1)].first_column,last_column:ve[ve.length-1].last_column},bt&&(rr._$.range=[ve[ve.length-(vt||1)].range[0],ve[ve.length-1].range[1]]),Ut=this.performAction.apply(rr,[Se,At,Nt,ue.yy,Wt[1],lt,ve].concat(St)),typeof Ut<"u")return Ut;vt&&(et=et.slice(0,-1*vt*2),lt=lt.slice(0,-1*vt),ve=ve.slice(0,-1*vt)),et.push(this.productions_[Wt[1]][0]),lt.push(rr.$),ve.push(rr._$),Ne=Qe[et[et.length-2]][et[et.length-1]],et.push(Ne);break;case 3:return!0}}return!0},"parse")},Ee=(function(){var Ue={EOF:1,parseError:S(function(ze,et){if(this.yy.parser)this.yy.parser.parseError(ze,et);else throw new Error(ze)},"parseError"),setInput:S(function(_e,ze){return this.yy=ze||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var ze=_e.match(/(?:\r\n?|\n).*/g);return ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:S(function(_e){var ze=_e.length,et=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ze),this.offset-=ze;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),et.length-1&&(this.yylineno-=et.length-1);var lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:et?(et.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-et.length].length-et[0].length:this.yylloc.first_column-ze},this.options.ranges&&(this.yylloc.range=[lt[0],lt[0]+this.yyleng-ze]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:S(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _e=this.pastInput(),ze=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` `+ze+"^"},"showPosition"),test_match:S(function(_e,ze){var et,qe,lt;if(this.options.backtrack_lexer&&(lt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(lt.yylloc.range=this.yylloc.range.slice(0))),qe=_e[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],et=this.performAction.call(this,this.yy,this,ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),et)return et;if(this._backtrack){for(var ve in lt)this[ve]=lt[ve];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,ze,et,qe;this._more||(this.yytext="",this.match="");for(var lt=this._currentRules(),ve=0;veze[0].length)){if(ze=et,qe=ve,this.options.backtrack_lexer){if(_e=this.test_match(et,lt[ve]),_e!==!1)return _e;if(this._backtrack){ze=!1;continue}else return!1}else if(!this.options.flex)break}return ze?(_e=this.test_match(ze,lt[qe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();O9.parser=O9;var Lje=O9,Rje={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},Dje={FILLED:0,OPEN:1},Nje={LEFTOF:0,RIGHTOF:1,OVER:2},KT={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},U1,Mje=(U1=class{constructor(){this.state=new MM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=Xn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=Rje,this.ARROWTYPE=Dje,this.PLACEMENT=Nje}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var ze=this.next();return ze||this.lex()},"lex"),begin:S(function(ze){this.conditionStack.push(ze)},"begin"),popState:S(function(){var ze=this.conditionStack.length-1;return ze>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(ze){return ze=this.conditionStack.length-1-Math.abs(ze||0),ze>=0?this.conditionStack[ze]:"INITIAL"},"topState"),pushState:S(function(ze){this.begin(ze)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(ze,et,qe,lt){switch(qe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return et.yytext=et.yytext.trim(),73;case 12:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 13:return et.yytext=et.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return et.yytext=et.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return et.yytext=et.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Ue})();we.lexer=Ee;function Ie(){this.yy={}}return S(Ie,"Parser"),Ie.prototype=we,we.Parser=Ie,new Ie})();M9.parser=M9;var wXe=M9,CXe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},SXe={FILLED:0,OPEN:1},EXe={LEFTOF:0,RIGHTOF:1,OVER:2},j4={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},G1,kXe=(G1=class{constructor(){this.state=new NM(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=jn,this.setAccDescription=ui,this.setDiagramTitle=li,this.getAccTitle=ci,this.getAccDescription=hi,this.getDiagramTitle=Zn,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Pe().wrap),this.LINETYPE=CXe,this.ARROWTYPE=SXe,this.PLACEMENT=EXe}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(` `)?u=a+` `:u=`{ `+a+` -}`,o=LC(u,{schema:AC})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),Kn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Xn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(U1,"SequenceDB"),U1),Oje=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { +}`,o=AC(u,{schema:_C})}i=o?.type??i,o?.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n?.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:Pe().sequence?.wrap??!1}clear(){this.state.reset(),Kn()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return oe.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?Jr(s,Pe()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=Jr(r.text,Pe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){oe.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=Jr(r.text,Pe());const s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){oe.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=Jr(r.text,Pe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){oe.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){oe.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":jn(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Pe().sequence}},S(G1,"SequenceDB"),G1),_Xe=S(t=>{const e=t.dropShadow??"none",{look:r}=Pe();return`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; stroke-width: ${t.strokeWidth??1}; @@ -2018,25 +2018,25 @@ Expecting `+ft.join(", ")+", got '"+(this.terminals_[st]||st)+"'":Rt="Parse erro filter: ${e}; stroke: ${t.nodeBorder}; } -`},"getStyles"),Ije=Oje,Yf=36,Ld="actor-top",Rd="actor-bottom",JS="actor-box",S0="actor-man",eh=new Set(["redux-color","redux-dark-color"]),$b=S(function(t,e){const r=NS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),Bje=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=R0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),aXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),eE=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),iC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await yC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Dm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=zu(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||MZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),rle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Dm(t,e),n},"drawLabel"),Yr=-1,nle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),Pje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=$b(m,v),C=i.get(e.name)??0;if(eh.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,E.substr(1)):EM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),Fje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=$b(m,v),E=$b(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?kM(m,v.x+v.width-20,v.y+10,k.substr(1)):EM(m,v.x+v.width-20,v.y+10,k)}th(r,Ri(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${JS}`},r);let A=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,A=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),A},"drawActorTypeCollections"),$je=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Rd}`:b+=` ${Ld}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} +`},"getStyles"),AXe=_Xe,Wf=36,Ad="actor-top",Ld="actor-bottom",QS="actor-box",C0="actor-man",Ju=new Set(["redux-color","redux-dark-color"]),Fb=S(function(t,e){const r=DS(t,e);return gr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),LXe=S(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var h="";o.class!==void 0&&(h=" "+o.class);let d=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+h),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let b in a){var m=u.append("a"),v=L0.sanitizeUrl(a[b]);m.attr("xlink:href",v),m.attr("target","_blank"),QXe(n)(b,m,o.x+10,o.height+p,d,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},"drawPopup"),JS=S(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),nC=S(async function(t,e,r=null){let n=t.append("foreignObject");const i=await mC(e.text,gr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const h=o;o=l,l=h}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),Rm=S(function(t,e){let r=0,n=0;const i=e.text.split($t.lineBreakRegex),[a,s]=$u(e.fontSize);let o=[],l=0,u=S(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=S(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=S(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=S(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[h,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=h*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=d||NZ;if(e.tspan){const m=f.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),tle=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Rm(t,e),n},"drawLabel"),Yr=-1,rle=S((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),RXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",JS(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Ld}`:b+=` ${Ad}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.rx=3,v.ry=3,v.name=e.name,l==="neo"&&(v.rx=6,v.ry=6);const x=Fb(m,v),C=i.get(e.name)??0;if(Ju.has(u)&&(x.style("stroke",f[C%f.length]),x.style("fill",d[C%f.length])),l==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=v,e.properties?.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?EM(m,v.x+v.width-20,v.y+10,E.substr(1)):SM(m,v.x+v.width-20,v.y+10,E)}n||(m.attr("data-et","participant"),m.attr("data-type","participant"),m.attr("data-id",e.name)),eh(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${QS}`},r);let T=e.height;if(x.node){const E=x.node().getBBox();e.height=E.height,T=E.height}return T},"drawActorTypeParticipant"),DXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();var m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",JS(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();var b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Ld}`:b+=` ${Ad}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=b,v.name=e.name;const x=6,C={...v,x:v.x+-x,y:v.y+ +x,class:"actor"},T=Fb(m,v),E=Fb(m,C);e.rectData=v,l==="neo"&&m.attr("filter","url(#drop-shadow)");const _=i.get(e.name)??0;if(Ju.has(u)&&(T.style("stroke",f[_%f.length]),T.style("fill",d[_%f.length]),E.style("stroke",f[_%f.length]),E.style("fill",d[_%f.length])),e.properties?.icon){const k=e.properties.icon.trim();k.charAt(0)==="@"?EM(m,v.x+v.width-20,v.y+10,k.substr(1)):SM(m,v.x+v.width-20,v.y+10,k)}eh(r,Ri(e.description))(e.description,m,v.x-x,v.y+x,v.width,v.height,{class:`actor ${QS}`},r);let R=e.height;if(T.node){const k=T.node().getBBox();e.height=k.height,R=k.height}return n||(m.attr("data-et","participant"),m.attr("data-type","collections"),m.attr("data-id",e.name)),R},"drawActorTypeCollections"),NXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower();let m=p;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",JS(`actor${Yr}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=p.append("g"),e.actorCnt=Yr,e.links!=null&&m.attr("id","root-"+Yr),l==="neo"&&m.attr("data-look","neo"));const v=vo();let b="actor";e.properties?.class?b=e.properties.class:v.fill="#eaeaea",n?b+=` ${Ld}`:b+=` ${Ad}`,m.attr("class",b),v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.name=e.name;const x=v.height/2,C=x/(2.5+v.height/50),T=m.append("g"),E=m.append("g"),_=`M ${v.x},${v.y+x} a ${C},${x} 0 0 0 0,${v.height} h ${v.width-2*C} a ${C},${x} 0 0 0 0,-${v.height} Z `;T.append("path").attr("d",_),E.append("path").attr("d",`M ${v.x},${v.y+x} - a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const A=i.get(e.name)??0;if(eh.has(u)&&(T.style("stroke",f[A%f.length]),T.style("fill",d[A%f.length]),E.style("stroke",f[A%f.length]),E.style("fill",d[A%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?kM(m,F,$,O.substr(1)):EM(m,F,$,O)}th(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${JS}`},r);let k=e.height;const R=T.select("path:last-child");if(R.node()){const O=R.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),zje=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=S0;n?C+=` ${Rd}`:C+=` ${Ld}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,A=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",A).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-A})`);const k=a.get(e.name)??0;eh.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const R=x.node().getBBox();return e.height=R.height+2*(r?.sequence?.labelBoxHeight??0),th(r,Ri(e.description))(e.description,x,T.x,T.y+A+(n?5:12),T.width,T.height,{class:`actor ${S0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),qje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Rd}`:v+=` ${Ld}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;eh.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),th(r,Ri(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${S0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),Vje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",eE(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Rd}`:x+=` ${Ld}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),A=v.append("g");A.attr("class",x);const k=` + a ${C},${x} 0 0 0 0,${v.height}`),T.attr("transform",`translate(${C}, ${-(v.height/2)})`),E.attr("transform",`translate(${v.width-C}, ${-v.height/2})`),e.rectData=v,l==="neo"&&T.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;if(Ju.has(u)&&(T.style("stroke",f[R%f.length]),T.style("fill",d[R%f.length]),E.style("stroke",f[R%f.length]),E.style("fill",d[R%f.length])),e.properties?.icon){const O=e.properties.icon.trim(),F=v.x+v.width-20,$=v.y+10;O.charAt(0)==="@"?EM(m,F,$,O.substr(1)):SM(m,F,$,O)}eh(r,Ri(e.description))(e.description,m,v.x,v.y,v.width,v.height,{class:`actor ${QS}`},r);let k=e.height;const L=T.select("path:last-child");if(L.node()){const O=L.node().getBBox();e.height=O.height,k=O.height}return n||(m.attr("data-et","participant"),m.attr("data-type","queue"),m.attr("data-id",e.name)),k},"drawActorTypeQueue"),MXe=S(function(t,e,r,n,i,a){const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m,actorBkg:v}=d,b=t.append("g").lower();n||(Yr++,b.append("line").attr("id","actor"+Yr).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const x=t.append("g");let C=C0;n?C+=` ${Ld}`:C+=` ${Ad}`,x.attr("class",C),x.attr("name",e.name);const T=vo();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";const E=e.x+e.width/2,_=s+32,R=22;x.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",E).attr("cy",_).attr("r",R).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${E}, ${_-R})`);const k=a.get(e.name)??0;Ju.has(h)?(x.style("stroke",p[k%p.length]),x.style("fill",f[k%p.length])):(x.style("stroke",m),x.style("fill",v));const L=x.node().getBBox();return e.height=L.height+2*(r?.sequence?.labelBoxHeight??0),eh(r,Ri(e.description))(e.description,x,T.x,T.y+R+(n?5:12),T.width,T.height,{class:`actor ${C0}`},r),n||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),OXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f}=h,p=t.append("g").lower(),m=t.append("g");let v="actor";n?v+=` ${Ld}`:v+=` ${Ad}`,m.attr("class",v),m.attr("name",e.name);const b=vo();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor";const x=e.x+e.width/2,C=a+(n?10:25),T=22;m.append("circle").attr("cx",x).attr("cy",C).attr("r",T).attr("width",e.width).attr("height",e.height),m.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",C+T).attr("y2",C+T).attr("stroke-width",2),l==="neo"&&m.attr("filter","url(#drop-shadow)");const E=i.get(e.name)??0;Ju.has(u)&&(m.style("stroke",f[E%f.length]),m.style("fill",d[E%f.length]));const _=m.node().getBBox();return e.height=_.height+(r?.sequence?.labelBoxHeight??0),n||(Yr++,p.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr),eh(r,Ri(e.description))(e.description,m,b.x,b.y+(n?15:30),b.width,b.height,{class:`actor ${C0}`},r),n?m.attr("transform",`translate(0, ${T})`):(m.attr("transform",`translate(0, ${T/2-5})`),m.attr("data-et","participant"),m.attr("data-type","entity"),m.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),IXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=u,m=t.append("g").lower();let v=m;n||(Yr++,Object.keys(e.links||{}).length&&!r.forceMenus&&v.attr("onclick",JS(`actor${Yr}_popup`)).attr("cursor","pointer"),v.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),v=m.append("g"),e.actorCnt=Yr,e.links!=null&&v.attr("id","root-"+Yr),h==="neo"&&v.attr("data-look","neo"));const b=vo();let x="actor";e.properties?.class?x=e.properties.class:b.fill="#eaeaea",n?x+=` ${Ld}`:x+=` ${Ad}`,b.x=e.x,b.y=a,b.width=e.width,b.height=e.height,b.class=x,b.name=e.name,b.x=e.x,b.y=a;const C=b.width/3,T=b.width/3,E=C/2,_=E/(2.5+C/50),R=v.append("g");R.attr("class",x);const k=` M ${b.x},${b.y+_} a ${E},${_} 0 0 0 ${C},0 a ${E},${_} 0 0 0 -${C},0 l 0,${T-2*_} a ${E},${_} 0 0 0 ${C},0 l 0,-${T-2*_} -`;A.append("path").attr("d",k),h==="neo"&&A.attr("filter","url(#drop-shadow)");const R=i.get(e.name)??0;eh.has(l)?(A.style("stroke",f[R%f.length]),A.style("fill",d[R%f.length])):A.style("stroke",p),A.attr("transform",`translate(${C}, ${_})`),e.rectData=b,th(r,Ri(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${JS}`},r);const O=A.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),Gje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=S0;n?x+=` ${Rd}`:x+=` ${Ld}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;eh.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),th(r,Ri(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${S0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),Uje=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=S0;n?b+=` ${Rd}`:b+=` ${Ld}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Yf/2*x).attr("y1",C+33*x).attr("x2",s+Yf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Yf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Yf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const A=i.get(e.name)??0;return eh.has(u)?(v.style("stroke",f[A%f.length]),v.style("fill",d[A%f.length])):v.style("stroke",p),th(r,Ri(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${S0}`},r),e.height},"drawActorTypeActor"),Hje=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await Uje(t,e,r,n,o);case"participant":return await Pje(t,e,r,n,o);case"boundary":return await Gje(t,e,r,n,o);case"control":return await zje(t,e,r,n,i,o);case"entity":return await qje(t,e,r,n,o);case"database":return await Vje(t,e,r,n,o);case"collections":return await Fje(t,e,r,n,o);case"queue":return await $je(t,e,r,n,o)}},"drawActor"),Wje=S(function(t,e,r){const i=t.append("g");ile(i,e),e.name&&th(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),Yje=S(function(t){return t.append("g")},"anchorElement"),jje=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=$b(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;eh.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),Xje=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=_M();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",rle(f,m),m=ale(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Ri(m.text)?await iC(f,m,e):Dm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Ri(m.text)?(e.starty=e.sections[b].y,await iC(f,m,e)):Dm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),ile=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Kje=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),Zje=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Qje=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),Jje=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),eXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),tXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),rXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),nXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ale=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),iXe=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),th=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=zu(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lle(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=tE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:In.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},uXe=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=In.drawRect(i,n),s=_M();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Ri(s.text)?await iC(i,s):Dm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),jW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=dle(e,n),v=t.append("g"),b=16.5,x=S((A,k)=>{const R=A?b:-b;return k?-R:R},"getCircleOffset"),C=S(A=>{v.append("circle").attr("cx",A).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),E0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),gg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),I9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function sle(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Ri(i),o=s?await Wb(i,Pe()):Lr.calculateTextDimensions(i,E0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(sle,"boundMessage");var hXe=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,E0(Je)),m=_M();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Ri(m.text)?await iC(t,m,{startx:s,stopx:o,starty:r}):Dm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=dle(i,n),E=vXe(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),LA(i,n)&&jW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),LA(i,n)&&jW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=mC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=LA(i,n);let A=s,k=o;C?(ss?k=o-2*E:(k=o-E,A+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",A)):b.attr("x1",s+E);let R=0;const O=s===o,F=s<=o;O?R=e.fromBounds+1:T?R=F?e.toBounds-1:e.fromBounds+1:R=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",R).attr("y1",r).attr("x2",R).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",R).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),dXe=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),B9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await In.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await In.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),ole=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=pXe(o),u=In.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),lle=S(function(t){_i(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),tE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),XW=S(function(t,e){const r=e.get(t),n=tE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=E0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function cle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));dXe(h,d,f,v,0,b,!1);const A=await xXe(b,d,E,n);In.insertArrowHead(h,e),In.insertArrowCrossHead(h,e),In.insertArrowFilledHead(h,e),In.insertSequenceNumber(h,e),In.insertSolidTopArrowHead(h,e),In.insertSolidBottomArrowHead(h,e),In.insertStickTopArrowHead(h,e),In.insertStickBottomArrowHead(h,e),s==="neo"&&In.insertDropShadow(h,Je);function k(P,H){const j=Dt.endActivation(P);j.starty+18>H&&(j.starty=H-6,H+=12),In.drawActivation(h,j,H,Je,tE(P.from).length,n,_),Dt.insert(j.startx,H-10,j.stopx,H)}S(k,"activeEnd");let R=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,j,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),j=P.noteModel,await uXe(h,j,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await In.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(A,P,Je.boxMargin,Je.boxMargin,X=>Dt.newLoop(void 0,X.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await In.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.ALT_ELSE:el(A,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,X=>Dt.addSectionToLoop(X));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await In.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(A,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,X=>Dt.addSectionToLoop(X));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await In.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:R=P.message.start||R,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.CRITICAL_OPTION:el(A,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,X=>Dt.addSectionToLoop(X));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await In.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(A,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,X=>Dt.newLoop(X));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await In.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=R,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const X=await sle(h,Z);cle(P,Z,X,q,d,f,p),F.push({messageModel:Z,lineStartY:X,msg:P}),Dt.models.addMessage(Z)}catch(X){oe.error("error while drawing message",X)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(R=R+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await B9(h,d,v,!1,e,n,_);for(const P of F)await hXe(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await B9(h,d,v,!0,e,n,_),$.forEach(P=>In.drawBackgroundRect(h,P)),nle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",In.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=ole(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=E0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(hle,"calculateActorMargins");var gXe=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Ri(t.message)?await Wb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,gg(Je)):t.message,gg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),gg(Je)):t.message,gg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),E0(Je)));const v=Lr.calculateTextDimensions(t.message,E0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),xXe=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=tE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await gXe(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=bXe(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),TXe={bounds:Dt,drawActors:B9,drawActorsPopup:ole,setConf:lle,draw:fXe},wXe={parser:Lje,get db(){return new Mje},renderer:TXe,styles:Ije,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,YA({sequence:{wrap:t.wrap}}))},"init")};const CXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:wXe},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(it,Ye,je,at){for(je=je||{},at=it.length;at--;je[it[at]]=Ye);return je},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],A=[1,44],k=[1,46],R=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],j=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],X=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Le=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,je,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:A,100:k,102:R,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:A,100:k,102:R},{16:39,17:40,19:70,60:f,86:A,100:k,102:R,103:O},{16:39,17:40,19:71,60:f,86:A,100:k,102:R,103:O},{16:39,17:40,19:72,60:f,86:A,100:k,102:R,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:A,100:k,102:R,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:A,100:k,102:R,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:A,100:k,102:R,103:O},{16:39,17:40,19:87,60:f,86:A,100:k,102:R,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:A,100:k,102:R,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:A,100:k,102:R,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:A,100:k,102:R,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(j,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(X,[2,85]),t(X,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:A,100:k,102:R},{41:[1,101],45:100,51:ee},{16:103,60:f,86:A,100:k,102:R},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:A,100:k,102:R,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:A,100:k,102:R,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Le,[2,63]),{16:39,17:40,19:131,60:f,86:A,100:k,102:R,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:A,100:k,102:R,103:O},t(j,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(j,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:A,100:k,102:R,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:A,100:k,102:R,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Le,[2,65]),t(Le,[2,64]),{16:39,17:40,19:155,60:f,86:A,100:k,102:R,103:O},t(j,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Le,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,je){if(je.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=je,at}},"parseError"),parse:S(function(Ye){var je=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=je.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: +`;R.append("path").attr("d",k),h==="neo"&&R.attr("filter","url(#drop-shadow)");const L=i.get(e.name)??0;Ju.has(l)?(R.style("stroke",f[L%f.length]),R.style("fill",d[L%f.length])):R.style("stroke",p),R.attr("transform",`translate(${C}, ${_})`),e.rectData=b,eh(r,Ri(e.description))(e.description,v,b.x,b.y+35,b.width,b.height,{class:`actor ${QS}`},r);const O=R.select("path:last-child");if(O.node()){const F=O.node().getBBox();e.height=F.height+(r.sequence.labelBoxHeight??0)}return n||(v.attr("data-et","participant"),v.attr("data-type","database"),v.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),BXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:v}=f;n||(Yr++,u.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const b=t.append("g");let x=C0;n?x+=` ${Ld}`:x+=` ${Ad}`,b.attr("class",x),b.attr("name",e.name);const C=vo();C.x=e.x,C.y=a,C.fill="#eaeaea",C.width=e.width,C.height=e.height,C.class="actor",b.append("line").attr("id","actor-man-torso"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),b.append("line").attr("id","actor-man-arms"+Yr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),b.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),h==="neo"&&b.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;Ju.has(d)?(b.style("stroke",m[T%m.length]),b.style("fill",p[T%m.length])):b.style("stroke",v);const E=b.node().getBBox();return e.height=E.height+(r.sequence.labelBoxHeight??0),eh(r,Ri(e.description))(e.description,b,C.x,C.y+15,C.width,C.height,{class:`actor ${C0}`},r),b.attr("transform",`translate(0,${l/2+10})`),n||(b.attr("data-et","participant"),b.attr("data-type","boundary"),b.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),PXe=S(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:h}=r,{bkgColorArray:d,borderColorArray:f,actorBorder:p}=h,m=t.append("g").lower();n||(Yr++,m.append("line").attr("id","actor"+Yr).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Yr);const v=t.append("g");let b=C0;n?b+=` ${Ld}`:b+=` ${Ad}`,v.attr("class",b),v.attr("name",e.name),n||v.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const x=l==="neo"?.5:1,C=l==="neo"?a+(1-x)*30:a;v.append("line").attr("id","actor-man-torso"+Yr).attr("x1",s).attr("y1",C+25*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("id","actor-man-arms"+Yr).attr("x1",s-Wf/2*x).attr("y1",C+33*x).attr("x2",s+Wf/2*x).attr("y2",C+33*x),v.append("line").attr("x1",s-Wf/2*x).attr("y1",C+60*x).attr("x2",s).attr("y2",C+45*x),v.append("line").attr("x1",s).attr("y1",C+45*x).attr("x2",s+(Wf/2-2)*x).attr("y2",C+60*x);const T=v.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",C+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);const E=v.node().getBBox();e.height=E.height;const _=vo();_.x=e.x,_.y=C,_.fill="#eaeaea",_.width=e.width,_.height=e.height/x,_.class="actor",_.rx=3,_.ry=3;const R=i.get(e.name)??0;return Ju.has(u)?(v.style("stroke",f[R%f.length]),v.style("fill",d[R%f.length])):v.style("stroke",p),eh(r,Ri(e.description))(e.description,v,_.x,C+35*x-(l==="neo"?10:0),_.width,_.height,{class:`actor ${C0}`},r),e.height},"drawActorTypeActor"),FXe=S(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await PXe(t,e,r,n,o);case"participant":return await RXe(t,e,r,n,o);case"boundary":return await BXe(t,e,r,n,o);case"control":return await MXe(t,e,r,n,i,o);case"entity":return await OXe(t,e,r,n,o);case"database":return await IXe(t,e,r,n,o);case"collections":return await DXe(t,e,r,n,o);case"queue":return await NXe(t,e,r,n,o)}},"drawActor"),$Xe=S(function(t,e,r){const i=t.append("g");nle(i,e),e.name&&eh(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),zXe=S(function(t){return t.append("g")},"anchorElement"),qXe=S(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:h,mainBkg:d}=l,f=vo(),p=e.anchored,m=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const v=Fb(p,f),x=(s??new Map([...a.db.getActors().values()].map((C,T)=>[C.name,T]))).get(m)??0;Ju.has(o)&&(v.style("stroke",h[x%h.length]),v.style("fill",u[x%h.length]??d))},"drawActivation"),VXe=S(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:d}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=S(function(b,x,C,T){return f.append("line").attr("x1",b).attr("y1",x).attr("x2",C).attr("y2",T).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(b){p(e.startx,b.y,e.stopx,b.y).style("stroke-dasharray","3, 3")});let m=kM();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=Math.max(l??0,50),m.height=o+(n.look==="neo"?15:0)||20,m.textMargin=s,m.class="labelText",tle(f,m),m=ile(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+a+s,m.anchor="middle",m.valign="middle",m.textMargin=s,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=!0;let v=Ri(m.text)?await nC(f,m,e):Rm(f,m);if(e.sectionTitles!==void 0){for(const[b,x]of Object.entries(e.sectionTitles))if(x.message){m.text=x.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[b].y+a+s,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=d,m.wrap=e.wrap,Ri(m.text)?(e.starty=e.sections[b].y,await nC(f,m,e)):Rm(f,m);let C=Math.round(v.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,E)=>T+E));e.sections[b].height+=C-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),nle=S(function(t,e){Wie(t,e)},"drawBackgroundRect"),GXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),UXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),HXe=S(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),WXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),YXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),XXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),jXe=S(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),KXe=S(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),ile=S(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),ZXe=S(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),eh=(function(){function t(a,s,o,l,u,h,d){const f=s.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(a);i(f,d)}S(t,"byText");function e(a,s,o,l,u,h,d,f){const{actorFontSize:p,actorFontFamily:m,actorFontWeight:v}=f,[b,x]=$u(p),C=a.split($t.lineBreakRegex);for(let T=0;Tt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:S(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:S(function(t){this.boxes.push(t)},"addBox"),addActor:S(function(t){this.actors.push(t)},"addActor"),addLoop:S(function(t){this.loops.push(t)},"addLoop"),addMessage:S(function(t){this.messages.push(t)},"addMessage"),addNote:S(function(t){this.notes.push(t)},"addNote"),lastActor:S(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:S(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:S(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:S(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:S(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ole(Pe())},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=this;let a=0;function s(o){return S(function(u){a++;const h=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(u,"stopy",n+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopx",r+h*Je.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-h*Je.boxMargin,Math.min),i.updateVal(u,"stopx",r+h*Je.boxMargin,Math.max),i.updateVal(Dt.data,"starty",e-h*Je.boxMargin,Math.min),i.updateVal(Dt.data,"stopy",n+h*Je.boxMargin,Math.max))},"updateItemBounds")}S(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:S(function(t,e,r,n){const i=$t.getMin(t,r),a=$t.getMax(t,r),s=$t.getMin(e,n),o=$t.getMax(e,n);this.updateVal(Dt.data,"startx",i,Math.min),this.updateVal(Dt.data,"starty",s,Math.min),this.updateVal(Dt.data,"stopx",a,Math.max),this.updateVal(Dt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:S(function(t,e,r){const n=r.get(t.from),i=eE(t.from).length||0,a=n.x+n.width/2+(i-1)*Je.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Je.activationWidth,stopy:void 0,actor:t.from,anchored:In.anchorElement(e)})},"newActivation"),endActivation:S(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:S(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:S(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:S(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:S(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Dt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:S(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:S(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$t.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return{bounds:this.data,models:this.models}},"getBounds")},nje=S(async function(t,e,r){Dt.bumpVerticalPos(Je.boxMargin),e.height=Je.boxMargin,e.starty=Dt.getVerticalPos();const n=vo();n.x=e.startx,n.y=e.starty,n.width=e.width||Je.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=In.drawRect(i,n),s=kM();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Je.noteFontFamily,s.fontSize=Je.noteFontSize,s.fontWeight=Je.noteFontWeight,s.anchor=Je.noteAlign,s.textMargin=Je.noteMargin,s.valign="center";const o=Ri(s.text)?await nC(i,s):Rm(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));a.attr("height",l+2*Je.noteMargin),e.height+=l+2*Je.noteMargin,Dt.bumpVerticalPos(l+2*Je.noteMargin),e.stopy=e.starty+l+2*Je.noteMargin,e.stopx=e.startx+n.width,Dt.insert(e.startx,e.starty,e.stopx,e.stopy),Dt.models.addNote(e)},"drawNote"),YW=S(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),h=r.sequenceVisible;let d=l.x+l.width/2,f=u.x+u.width/2;const p=d<=f,m=hle(e,n),v=t.append("g"),b=16.5,x=S((R,k)=>{const L=R?b:-b;return k?-L:L},"getCircleOffset"),C=S(R=>{v.append("circle").attr("cx",R).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:_}=n.db.LINETYPE;if(h)switch(e.centralConnection){case T:m&&(f+=x(p,!0));break;case E:m||(d+=x(p,!1));break;case _:m?f+=x(p,!0):d+=x(p,!1);break}switch(e.centralConnection){case T:C(f);break;case E:C(d);break;case _:C(d),C(f);break}},"drawCentralConnection"),S0=S(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),pg=S(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),O9=S(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function ale(t,e){Dt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=$t.splitBreaks(i).length,s=Ri(i),o=s?await Hb(i,Pe()):Lr.calculateTextDimensions(i,S0(Je));if(!s){const d=o.height/a;e.height+=d,Dt.bumpVerticalPos(d)}let l,u=o.height-10;const h=o.width;if(r===n){l=Dt.getVerticalPos()+u,Je.rightAngles||(u+=Je.boxMargin,l=Dt.getVerticalPos()+u),u+=30;const d=$t.getMax(h/2,Je.width/2);Dt.insert(r-d,Dt.getVerticalPos()-10+u,n+d,Dt.getVerticalPos()+30+u)}else u+=Je.boxMargin,l=Dt.getVerticalPos()+u,Dt.insert(r,l-10,n,l);return Dt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Dt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}S(ale,"boundMessage");var ije=S(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:h,sequenceIndex:d,sequenceVisible:f}=e,p=Lr.calculateTextDimensions(u,S0(Je)),m=kM();m.x=s,m.y=l+10,m.width=o-s,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Je.messageFontFamily,m.fontSize=Je.messageFontSize,m.fontWeight=Je.messageFontWeight,m.anchor=Je.messageAlign,m.valign="center",m.textMargin=Je.wrapPadding,m.tspan=!1,Ri(m.text)?await nC(t,m,{startx:s,stopx:o,starty:r}):Rm(t,m);const v=p.width;let b;if(s===o){const C=f||Je.showSequenceNumbers,T=hle(i,n),E=hje(i,n),_=s+(C&&(T||E)?10:0);Je.rightAngles?b=t.append("path").attr("d",`M ${_},${r} H ${s+$t.getMax(Je.width/2,v/2)} V ${r+25} H ${s}`):b=t.append("path").attr("d","M "+_+","+r+" C "+(_+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),AA(i,n)&&YW(t,i,e,n,s,o,r)}else b=t.append("line"),b.attr("x1",s),b.attr("y1",r),b.attr("x2",o),b.attr("y2",r),AA(i,n)&&YW(t,i,e,n,s,o,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0"),b.attr("data-et","message"),b.attr("data-id","i"+e.id),b.attr("data-from",e.from),b.attr("data-to",e.to);let x="";if(Je.arrowMarkerAbsolute&&(x=gC(!0)),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&b.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(b.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),b.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+x+"#"+a+"-crosshead)"),f||Je.showSequenceNumbers){const C=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E=6,_=AA(i,n);let R=s,k=o;C?(ss?k=o-2*E:(k=o-E,R+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=_?15:0,b.attr("x2",k),b.attr("x1",R)):b.attr("x1",s+E);let L=0;const O=s===o,F=s<=o;O?L=e.fromBounds+1:T?L=F?e.toBounds-1:e.fromBounds+1:L=F?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",L).attr("y1",r).attr("x2",L).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",L).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),aje=S(function(t,e,r,n,i,a,s){let o=0,l=0,u,h=0;for(const d of n){const f=e.get(d),p=f.box;u&&u!=p&&(s||Dt.models.addBox(u),l+=Je.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=$t.getMax(f.width||Je.width,Je.width),f.height=$t.getMax(f.height||Je.height,Je.height),f.margin=f.margin||Je.actorMargin,h=$t.getMax(h,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Dt.getVerticalPos(),Dt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Dt.models.addActor(f)}u&&!s&&Dt.models.addBox(u),Dt.bumpVerticalPos(h)},"addActorRenderingData"),I9=S(async function(t,e,r,n,i,a,s){if(n){let o=0;Dt.bumpVerticalPos(Je.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Dt.getVerticalPos());const h=await In.drawActor(t,u,Je,!0,i,a,s);o=$t.getMax(o,h)}Dt.bumpVerticalPos(o+Je.boxMargin)}else for(const o of r){const l=e.get(o);await In.drawActor(t,l,Je,!1,i,a,s)}},"drawActors"),sle=S(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=oje(o),u=In.drawPopup(t,o,l,Je,Je.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),ole=S(function(t){_i(Je,t),t.fontFamily&&(Je.actorFontFamily=Je.noteFontFamily=Je.messageFontFamily=t.fontFamily),t.fontSize&&(Je.actorFontSize=Je.noteFontSize=Je.messageFontSize=t.fontSize),t.fontWeight&&(Je.actorFontWeight=Je.noteFontWeight=Je.messageFontWeight=t.fontWeight)},"setConf"),eE=S(function(t){return Dt.activations.filter(function(e){return e.actor===t})},"actorActivations"),XW=S(function(t,e){const r=e.get(t),n=eE(t),i=n.reduce(function(s,o){return $t.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return $t.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function el(t,e,r,n,i){Dt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=S0(Je);e.message=Lr.wrapLabel(`[${e.message}]`,s-2*Je.wrapPadding,o),e.width=s,e.wrap=!0;const l=Lr.calculateTextDimensions(e.message,o),u=$t.getMax(l.height,Je.labelBoxHeight);a=n+u,oe.debug(`${u} - ${e.message}`)}i(e),Dt.bumpVerticalPos(a)}S(el,"adjustLoopHeightForWrap");function lle(t,e,r,n,i,a,s){function o(h,d){h.x{P.add(H.from),P.add(H.to)}),v=v.filter(H=>P.has(H))}const _=new Map(v.map((P,H)=>[d.get(P)?.name??P,H]));aje(h,d,f,v,0,b,!1);const R=await fje(b,d,E,n);In.insertArrowHead(h,e),In.insertArrowCrossHead(h,e),In.insertArrowFilledHead(h,e),In.insertSequenceNumber(h,e),In.insertSolidTopArrowHead(h,e),In.insertSolidBottomArrowHead(h,e),In.insertStickTopArrowHead(h,e),In.insertStickBottomArrowHead(h,e),s==="neo"&&In.insertDropShadow(h,Je);function k(P,H){const X=Dt.endActivation(P);X.starty+18>H&&(X.starty=H-6,H+=12),In.drawActivation(h,X,H,Je,eE(P.from).length,n,_),Dt.insert(X.startx,H-10,X.stopx,H)}S(k,"activeEnd");let L=1,O=1;const F=[],$=[];let q=0;for(const P of b){let H,X,Z;switch(P.type){case n.db.LINETYPE.NOTE:Dt.resetVerticalPos(),X=P.noteModel,await nje(h,X,P.id);break;case n.db.LINETYPE.ACTIVE_START:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Dt.newActivation(P,h,d);break;case n.db.LINETYPE.ACTIVE_END:k(P,Dt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.LOOP_END:H=Dt.endLoop(),await In.drawLoop(h,H,"loop",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:el(R,P,Je.boxMargin,Je.boxMargin,j=>Dt.newLoop(void 0,j.message));break;case n.db.LINETYPE.RECT_END:H=Dt.endLoop(),$.push(H),Dt.models.addLoop(H),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.OPT_END:H=Dt.endLoop(),await In.drawLoop(h,H,"opt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.ALT_ELSE:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.ALT_END:H=Dt.endLoop(),await In.drawLoop(h,H,"alt",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j)),Dt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.PAR_END:H=Dt.endLoop(),await In.drawLoop(h,H,"par",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:L=P.message.start||L,O=P.message.step||O,P.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.CRITICAL_OPTION:el(R,P,Je.boxMargin+Je.boxTextMargin,Je.boxMargin,j=>Dt.addSectionToLoop(j));break;case n.db.LINETYPE.CRITICAL_END:H=Dt.endLoop(),await In.drawLoop(h,H,"critical",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:el(R,P,Je.boxMargin,Je.boxMargin+Je.boxTextMargin,j=>Dt.newLoop(j));break;case n.db.LINETYPE.BREAK_END:H=Dt.endLoop(),await In.drawLoop(h,H,"break",Je,P),Dt.bumpVerticalPos(H.stopy-Dt.getVerticalPos()),Dt.models.addLoop(H);break;default:try{Z=P.msgModel,Z.starty=Dt.getVerticalPos(),Z.sequenceIndex=L,Z.sequenceVisible=n.db.showSequenceNumbers(),Z.id=P.id,Z.from=P.from,Z.to=P.to;const j=await ale(h,Z);lle(P,Z,j,q,d,f,p),F.push({messageModel:Z,lineStartY:j,msg:P}),Dt.models.addMessage(Z)}catch(j){oe.error("error while drawing message",j)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(P.type)&&(L=L+O),q++}oe.debug("createdActors",f),oe.debug("destroyedActors",p),await I9(h,d,v,!1,e,n,_);for(const P of F)await ije(h,P.messageModel,P.lineStartY,n,P.msg,e);Je.mirrorActors&&await I9(h,d,v,!0,e,n,_),$.forEach(P=>In.drawBackgroundRect(h,P)),rle(h,d,v,Je);for(const P of Dt.models.boxes){P.height=Dt.getVerticalPos()-P.y,Dt.insert(P.x,P.y,P.x+P.width,P.height);const H=Je.boxMargin*2;P.startx=P.x-H,P.starty=P.y-H*.25,P.stopx=P.startx+P.width+2*H,P.stopy=P.starty+P.height+H*.75,P.stroke="rgb(0,0,0, 0.5)",In.drawBox(h,P,Je)}C&&Dt.bumpVerticalPos(Je.boxMargin);const z=sle(h,d,v,u),{bounds:D}=Dt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let I=D.stopy-D.starty;I{const s=S0(Je);let o=a.actorKeys.reduce((d,f)=>d+=t.get(f).width+(t.get(f).margin||0),0);const l=Je.boxMargin*8;o+=l,o-=2*Je.boxTextMargin,a.wrap&&(a.name=Lr.wrapLabel(a.name,o-2*Je.wrapPadding,s));const u=Lr.calculateTextDimensions(a.name,s);i=$t.getMax(u.height,i);const h=$t.getMax(o,u.width+2*Je.wrapPadding);if(a.margin=Je.boxTextMargin,oa.textMaxHeight=i),$t.getMax(n,Je.height)}S(ule,"calculateActorMargins");var lje=S(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=Ri(t.message)?await Hb(t.message,Pe()):Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,Je.width,pg(Je)):t.message,pg(Je));const u={width:o?Je.width:$t.getMax(Je.width,l.width+2*Je.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?$t.getMax(Je.width,l.width):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a+(n.width+Je.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?$t.getMax(Je.width,l.width+2*Je.noteMargin):$t.getMax(n.width/2+i.width/2,l.width+2*Je.noteMargin),u.startx=a-u.width+(n.width-Je.actorMargin)/2):t.to===t.from?(l=Lr.calculateTextDimensions(o?Lr.wrapLabel(t.message,$t.getMax(Je.width,n.width),pg(Je)):t.message,pg(Je)),u.width=o?$t.getMax(Je.width,n.width):$t.getMax(n.width,Je.width,l.width+2*Je.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+Je.actorMargin,u.startx=a2,f=S(b=>l?-b:b,"adjustValue");t.from===t.to?h=u:(t.activate&&!d&&(h+=f(Je.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lr.wrapLabel(t.message,$t.getMax(m+2*Je.wrapPadding,Je.width),S0(Je)));const v=Lr.calculateTextDimensions(t.message,S0(Je));return{width:$t.getMax(t.wrap?0:v.width+2*Je.wrapPadding,m+2*Je.wrapPadding,Je.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),fje=S(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const d=e.get(u.from?u.from:u.to.actor),f=eE(u.from?u.from:u.to.actor).length,p=d.x+d.width/2+(f-1)*Je.activationWidth/2,m={startx:p,stopx:p+Je.activationWidth,actor:u.from,enabled:!0};Dt.activations.push(m)}break;case n.db.LINETYPE.ACTIVE_END:{const d=Dt.activations.map(f=>f.actor).lastIndexOf(u.from);Dt.activations.splice(d,1).splice(0,1)}break}u.placement!==void 0?(o=await lje(u,e,n),u.noteModel=o,a.forEach(d=>{s=d,s.from=$t.getMin(s.from,o.startx),s.to=$t.getMax(s.to,o.startx+o.width),s.width=$t.getMax(s.width,Math.abs(s.from-s.to))-Je.labelBoxWidth})):(l=dje(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(d=>{if(s=d,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=$t.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=$t.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=$t.getMax(s.width,Math.abs(s.to-s.from))-Je.labelBoxWidth}else s.from=$t.getMin(l.startx,s.from),s.to=$t.getMax(l.stopx,s.to),s.width=$t.getMax(s.width,l.width)-Je.labelBoxWidth}))}return Dt.activations=[],oe.debug("Loop type widths:",i),i},"calculateLoopBounds"),pje={bounds:Dt,drawActors:I9,drawActorsPopup:sle,setConf:ole,draw:sje},gje={parser:wXe,get db(){return new kXe},renderer:pje,styles:AXe,init:S(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,WA({sequence:{wrap:t.wrap}}))},"init")};const mje=Object.freeze(Object.defineProperty({__proto__:null,diagram:gje},Symbol.toStringTag,{value:"Module"}));var B9=(function(){var t=S(function(it,Ye,Xe,at){for(Xe=Xe||{},at=it.length;at--;Xe[it[at]]=Ye);return Xe},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],h=[1,33],d=[1,34],f=[1,45],p=[1,35],m=[1,36],v=[1,37],b=[1,38],x=[1,27],C=[1,28],T=[1,29],E=[1,30],_=[1,31],R=[1,44],k=[1,46],L=[1,43],O=[1,47],F=[1,9],$=[1,8,9],q=[1,58],z=[1,59],D=[1,60],I=[1,61],N=[1,62],B=[1,63],M=[1,64],V=[1,8,9,41],U=[1,77],P=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],H=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],j=[13,60,68,69,70,71,72,86,100,102,103],ee=[1,102],Q=[1,120],he=[1,116],te=[1,112],ae=[1,118],ie=[1,113],ne=[1,114],me=[1,115],pe=[1,117],Me=[1,119],$e=[22,50,60,61,82,86,87,88,89,90],He=[1,8,9,39,41,44,46],Ae=[1,8,9,22],Oe=[1,150],We=[1,8,9,61],Te=[1,8,9,22,50,60,61,82,86,87,88,89,90],ot={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:S(function(Ye,Xe,at,xe,Ze,se,be){var Y=se.length-1;switch(Ze){case 8:this.$=se[Y-1];break;case 9:case 10:case 13:case 15:this.$=se[Y];break;case 11:case 14:this.$=se[Y-2]+"."+se[Y];break;case 12:case 16:this.$=se[Y-1]+se[Y];break;case 17:case 18:this.$=se[Y-1]+"~"+se[Y]+"~";break;case 19:xe.addRelation(se[Y]);break;case 20:se[Y-1].title=xe.cleanupLabel(se[Y]),xe.addRelation(se[Y-1]);break;case 31:this.$=se[Y].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=se[Y].trim(),xe.setAccDescription(this.$);break;case 34:xe.addClassesToNamespace(se[Y-3],se[Y-1][0],se[Y-1][1]);break;case 35:xe.addClassesToNamespace(se[Y-4],se[Y-1][0],se[Y-1][1]);break;case 36:this.$=se[Y],xe.addNamespace(se[Y]);break;case 37:this.$=[[se[Y]],[]];break;case 38:this.$=[[se[Y-1]],[]];break;case 39:se[Y][0].unshift(se[Y-2]),this.$=se[Y];break;case 40:this.$=[[],[se[Y]]];break;case 41:this.$=[[],[se[Y-1]]];break;case 42:se[Y][1].unshift(se[Y-2]),this.$=se[Y];break;case 44:xe.setCssClass(se[Y-2],se[Y]);break;case 45:xe.addMembers(se[Y-3],se[Y-1]);break;case 47:xe.setCssClass(se[Y-5],se[Y-3]),xe.addMembers(se[Y-5],se[Y-1]);break;case 48:xe.addAnnotation(se[Y-3],se[Y-1]);break;case 49:xe.addAnnotation(se[Y-6],se[Y-4]),xe.addMembers(se[Y-6],se[Y-1]);break;case 50:xe.addAnnotation(se[Y-5],se[Y-3]);break;case 51:this.$=se[Y],xe.addClass(se[Y]);break;case 52:this.$=se[Y-1],xe.addClass(se[Y-1]),xe.setClassLabel(se[Y-1],se[Y]);break;case 56:xe.addAnnotation(se[Y],se[Y-2]);break;case 57:case 70:this.$=[se[Y]];break;case 58:se[Y].push(se[Y-1]),this.$=se[Y];break;case 59:break;case 60:xe.addMember(se[Y-1],xe.cleanupLabel(se[Y]));break;case 61:break;case 62:break;case 63:this.$={id1:se[Y-2],id2:se[Y],relation:se[Y-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-1],relationTitle1:se[Y-2],relationTitle2:"none"};break;case 65:this.$={id1:se[Y-3],id2:se[Y],relation:se[Y-2],relationTitle1:"none",relationTitle2:se[Y-1]};break;case 66:this.$={id1:se[Y-4],id2:se[Y],relation:se[Y-2],relationTitle1:se[Y-3],relationTitle2:se[Y-1]};break;case 67:this.$=xe.addNote(se[Y],se[Y-1]);break;case 68:this.$=xe.addNote(se[Y]);break;case 69:this.$=se[Y-2],xe.defineClass(se[Y-1],se[Y]);break;case 71:this.$=se[Y-2].concat([se[Y]]);break;case 72:xe.setDirection("TB");break;case 73:xe.setDirection("BT");break;case 74:xe.setDirection("RL");break;case 75:xe.setDirection("LR");break;case 76:this.$={type1:se[Y-2],type2:se[Y],lineType:se[Y-1]};break;case 77:this.$={type1:"none",type2:se[Y],lineType:se[Y-1]};break;case 78:this.$={type1:se[Y-1],type2:"none",lineType:se[Y]};break;case 79:this.$={type1:"none",type2:"none",lineType:se[Y]};break;case 80:this.$=xe.relationType.AGGREGATION;break;case 81:this.$=xe.relationType.EXTENSION;break;case 82:this.$=xe.relationType.COMPOSITION;break;case 83:this.$=xe.relationType.DEPENDENCY;break;case 84:this.$=xe.relationType.LOLLIPOP;break;case 85:this.$=xe.lineType.LINE;break;case 86:this.$=xe.lineType.DOTTED_LINE;break;case 87:case 93:this.$=se[Y-2],xe.setClickEvent(se[Y-1],se[Y]);break;case 88:case 94:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 89:this.$=se[Y-2],xe.setLink(se[Y-1],se[Y]);break;case 90:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1],se[Y]);break;case 91:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y-1]),xe.setTooltip(se[Y-2],se[Y]);break;case 92:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-2],se[Y]),xe.setTooltip(se[Y-3],se[Y-1]);break;case 95:this.$=se[Y-3],xe.setClickEvent(se[Y-2],se[Y-1],se[Y]);break;case 96:this.$=se[Y-4],xe.setClickEvent(se[Y-3],se[Y-2],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 97:this.$=se[Y-3],xe.setLink(se[Y-2],se[Y]);break;case 98:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1],se[Y]);break;case 99:this.$=se[Y-4],xe.setLink(se[Y-3],se[Y-1]),xe.setTooltip(se[Y-3],se[Y]);break;case 100:this.$=se[Y-5],xe.setLink(se[Y-4],se[Y-2],se[Y]),xe.setTooltip(se[Y-4],se[Y-1]);break;case 101:this.$=se[Y-2],xe.setCssStyle(se[Y-1],se[Y]);break;case 102:xe.setCssClass(se[Y-1],se[Y]);break;case 103:this.$=[se[Y]];break;case 104:se[Y-2].push(se[Y]),this.$=se[Y-2];break;case 106:this.$=se[Y-1]+se[Y];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(F,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:q,69:z,70:D,71:I,72:N,73:B,74:M}),{39:[1,65]},t(V,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,61]),t($,[2,62]),{16:69,60:f,86:R,100:k,102:L},{16:39,17:40,19:70,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:71,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:72,60:f,86:R,100:k,102:L,103:O},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:R,100:k,102:L,103:O},{13:U,55:76},{58:78,60:[1,79]},t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t(P,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:R,100:k,102:L,103:O}),t(P,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{16:39,17:40,19:87,60:f,86:R,100:k,102:L,103:O},t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(F,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:h,57:d,60:f,62:p,63:m,64:v,65:b,75:x,76:C,78:T,82:E,83:_,86:R,100:k,102:L,103:O},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:R,100:k,102:L,103:O},{53:92,66:56,67:57,68:q,69:z,70:D,71:I,72:N,73:B,74:M},t($,[2,60]),{67:93,73:B,74:M},t(X,[2,79],{66:94,68:q,69:z,70:D,71:I,72:N}),t(Z,[2,80]),t(Z,[2,81]),t(Z,[2,82]),t(Z,[2,83]),t(Z,[2,84]),t(j,[2,85]),t(j,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:u,56:h},{16:99,60:f,86:R,100:k,102:L},{41:[1,101],45:100,51:ee},{16:103,60:f,86:R,100:k,102:L},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Q,50:he,59:109,60:te,82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},{60:[1,121]},{13:U,55:122},t(V,[2,68]),t(V,[2,134]),{22:Q,50:he,59:123,60:te,61:[1,124],82:ae,84:110,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t($e,[2,70]),{16:39,17:40,19:125,60:f,86:R,100:k,102:L,103:O},t(P,[2,16]),t(P,[2,17]),t(P,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:f,86:R,100:k,102:L,103:O},{39:[2,10]},t(He,[2,51],{11:128,12:[1,129]}),t(F,[2,7]),{9:[1,130]},t(Ae,[2,63]),{16:39,17:40,19:131,60:f,86:R,100:k,102:L,103:O},{13:[1,133],16:39,17:40,19:132,60:f,86:R,100:k,102:L,103:O},t(X,[2,78],{66:134,68:q,69:z,70:D,71:I,72:N}),t(X,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:u,56:h},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t(V,[2,44],{39:[1,139]}),{41:[1,140]},t(V,[2,46]),{41:[2,57],45:141,51:ee},{47:[1,142]},{16:39,17:40,19:143,60:f,86:R,100:k,102:L,103:O},t($,[2,87],{13:[1,144]}),t($,[2,89],{13:[1,146],77:[1,145]}),t($,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t($,[2,101],{61:Oe}),t(We,[2,103],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(Te,[2,105]),t(Te,[2,107]),t(Te,[2,108]),t(Te,[2,109]),t(Te,[2,110]),t(Te,[2,111]),t(Te,[2,112]),t(Te,[2,113]),t(Te,[2,114]),t(Te,[2,115]),t($,[2,102]),t(V,[2,67]),t($,[2,69],{61:Oe}),{60:[1,152]},t(P,[2,14]),{15:153,16:85,17:86,60:f,86:R,100:k,102:L,103:O},{39:[2,12]},t(He,[2,52]),{13:[1,154]},{1:[2,4]},t(Ae,[2,65]),t(Ae,[2,64]),{16:39,17:40,19:155,60:f,86:R,100:k,102:L,103:O},t(X,[2,76]),t($,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:u,56:h},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:u,56:h},{45:159,51:ee},t(V,[2,45]),{41:[2,58]},t(V,[2,48],{39:[1,160]}),t($,[2,56]),t($,[2,88]),t($,[2,90]),t($,[2,91],{77:[1,161]}),t($,[2,94]),t($,[2,95],{13:[1,162]}),t($,[2,97],{13:[1,164],77:[1,163]}),{22:Q,50:he,60:te,82:ae,84:165,85:111,86:ie,87:ne,88:me,89:pe,90:Me},t(Te,[2,106]),t($e,[2,71]),{39:[2,11]},{14:[1,166]},t(Ae,[2,66]),t($,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:ee},t($,[2,92]),t($,[2,96]),t($,[2,98]),t($,[2,99],{77:[1,170]}),t(We,[2,104],{85:151,22:Q,50:he,60:te,82:ae,86:ie,87:ne,88:me,89:pe,90:Me}),t(He,[2,8]),t(V,[2,47]),{41:[1,171]},t(V,[2,50]),t($,[2,100]),t(V,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:S(function(Ye,Xe){if(Xe.recoverable)this.trace(Ye);else{var at=new Error(Ye);throw at.hash=Xe,at}},"parseError"),parse:S(function(Ye){var Xe=this,at=[0],xe=[],Ze=[null],se=[],be=this.table,Y="",de=0,fe=0,we=2,Ee=1,Ie=se.slice.call(arguments,1),Ue=Object.create(this.lexer),_e={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(_e.yy[ze]=this.yy[ze]);Ue.setInput(Ye,_e.yy),_e.yy.lexer=Ue,_e.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var et=Ue.yylloc;se.push(et);var qe=Ue.options&&Ue.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(xt){at.length=at.length-2*xt,Ze.length=Ze.length-xt,se.length=se.length-xt}S(lt,"popStack");function ve(){var xt;return xt=xe.pop()||Ue.lex()||Ee,typeof xt!="number"&&(xt instanceof Array&&(xe=xt,xt=xe.pop()),xt=Xe.symbols_[xt]||xt),xt}S(ve,"lex");for(var Qe,Se,Nt,At,Et={},zt,St,gt,ue;;){if(Se=at[at.length-1],this.defaultActions[Se]?Nt=this.defaultActions[Se]:((Qe===null||typeof Qe>"u")&&(Qe=ve()),Nt=be[Se]&&be[Se][Qe]),typeof Nt>"u"||!Nt.length||!Nt[0]){var Mt="";ue=[];for(zt in be[Se])this.terminals_[zt]&&zt>we&&ue.push("'"+this.terminals_[zt]+"'");Ue.showPosition?Mt="Parse error on line "+(de+1)+`: `+Ue.showPosition()+` -Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},De=(function(){var it={EOF:1,parseError:S(function(je,at){if(this.yy.parser)this.yy.parser.parseError(je,at);else throw new Error(je)},"parseError"),setInput:S(function(Ye,je){return this.yy=je||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var je=Ye.match(/(?:\r\n?|\n).*/g);return je?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:S(function(Ye){var je=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-je),this.offset-=je;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-je},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-je]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:S(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ye=this.pastInput(),je=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` -`+je+"^"},"showPosition"),test_match:S(function(Ye,je){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,je,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,je,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seje[0].length)){if(je=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){je=!1;continue}else return!1}else if(!this.options.flex)break}return je?(Ye=this.test_match(je,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var je=this.next();return je||this.lex()},"lex"),begin:S(function(je){this.conditionStack.push(je)},"begin"),popState:S(function(){var je=this.conditionStack.length-1;return je>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(je){return je=this.conditionStack.length-1-Math.abs(je||0),je>=0?this.conditionStack[je]:"INITIAL"},"topState"),pushState:S(function(je){this.begin(je)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(je,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=De;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();P9.parser=P9;var fle=P9,KW=["#","+","~","-",""],H1,ZW=(H1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Mh(this.id);this.memberType==="method"&&(e+=`(${Mh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Mh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(KW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);KW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Mh(this.id)}${this.memberType==="method"?`(${Mh(this.parameters)})${this.returnType?" : "+Mh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(H1,"ClassMember"),H1),ZT="classId-",QW=0,Tf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),W1,ple=(W1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=jie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Qh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=Xn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=Tf(a[0]),n=Tf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=Tf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ZT+a+"-"+QW}),QW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",Kn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Tf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new ZW(a,"method")):a&&i.members.push(new ZW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Tf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=ZT+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Tf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=ZT+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=Tf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:ZT+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Ng(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(W1,"ClassDB"),W1),SXe=S(t=>`g.classGroup text { +Expecting `+ue.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Mt="Parse error on line "+(de+1)+": Unexpected "+(Qe==Ee?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Mt,{text:Ue.match,token:this.terminals_[Qe]||Qe,line:Ue.yylineno,loc:et,expected:ue})}if(Nt[0]instanceof Array&&Nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Qe);switch(Nt[0]){case 1:at.push(Qe),Ze.push(Ue.yytext),se.push(Ue.yylloc),at.push(Nt[1]),Qe=null,fe=Ue.yyleng,Y=Ue.yytext,de=Ue.yylineno,et=Ue.yylloc;break;case 2:if(St=this.productions_[Nt[1]][1],Et.$=Ze[Ze.length-St],Et._$={first_line:se[se.length-(St||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(St||1)].first_column,last_column:se[se.length-1].last_column},qe&&(Et._$.range=[se[se.length-(St||1)].range[0],se[se.length-1].range[1]]),At=this.performAction.apply(Et,[Y,fe,de,_e.yy,Nt[1],Ze,se].concat(Ie)),typeof At<"u")return At;St&&(at=at.slice(0,-1*St*2),Ze=Ze.slice(0,-1*St),se=se.slice(0,-1*St)),at.push(this.productions_[Nt[1]][0]),Ze.push(Et.$),se.push(Et._$),gt=be[at[at.length-2]][at[at.length-1]],at.push(gt);break;case 3:return!0}}return!0},"parse")},Re=(function(){var it={EOF:1,parseError:S(function(Xe,at){if(this.yy.parser)this.yy.parser.parseError(Xe,at);else throw new Error(Xe)},"parseError"),setInput:S(function(Ye,Xe){return this.yy=Xe||this.yy||{},this._input=Ye,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var Ye=this._input[0];this.yytext+=Ye,this.yyleng++,this.offset++,this.match+=Ye,this.matched+=Ye;var Xe=Ye.match(/(?:\r\n?|\n).*/g);return Xe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ye},"input"),unput:S(function(Ye){var Xe=Ye.length,at=Ye.split(/(?:\r\n?|\n)/g);this._input=Ye+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xe),this.offset-=Xe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),at.length-1&&(this.yylineno-=at.length-1);var Ze=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:at?(at.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-at.length].length-at[0].length:this.yylloc.first_column-Xe},this.options.ranges&&(this.yylloc.range=[Ze[0],Ze[0]+this.yyleng-Xe]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(Ye){this.unput(this.match.slice(Ye))},"less"),pastInput:S(function(){var Ye=this.matched.substr(0,this.matched.length-this.match.length);return(Ye.length>20?"...":"")+Ye.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var Ye=this.match;return Ye.length<20&&(Ye+=this._input.substr(0,20-Ye.length)),(Ye.substr(0,20)+(Ye.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var Ye=this.pastInput(),Xe=new Array(Ye.length+1).join("-");return Ye+this.upcomingInput()+` +`+Xe+"^"},"showPosition"),test_match:S(function(Ye,Xe){var at,xe,Ze;if(this.options.backtrack_lexer&&(Ze={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ze.yylloc.range=this.yylloc.range.slice(0))),xe=Ye[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ye[0].length},this.yytext+=Ye[0],this.match+=Ye[0],this.matches=Ye,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ye[0].length),this.matched+=Ye[0],at=this.performAction.call(this,this.yy,this,Xe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),at)return at;if(this._backtrack){for(var se in Ze)this[se]=Ze[se];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ye,Xe,at,xe;this._more||(this.yytext="",this.match="");for(var Ze=this._currentRules(),se=0;seXe[0].length)){if(Xe=at,xe=se,this.options.backtrack_lexer){if(Ye=this.test_match(at,Ze[se]),Ye!==!1)return Ye;if(this._backtrack){Xe=!1;continue}else return!1}else if(!this.options.flex)break}return Xe?(Ye=this.test_match(Xe,Ze[xe]),Ye!==!1?Ye:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var Xe=this.next();return Xe||this.lex()},"lex"),begin:S(function(Xe){this.conditionStack.push(Xe)},"begin"),popState:S(function(){var Xe=this.conditionStack.length-1;return Xe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(Xe){return Xe=this.conditionStack.length-1-Math.abs(Xe||0),Xe>=0?this.conditionStack[Xe]:"INITIAL"},"topState"),pushState:S(function(Xe){this.begin(Xe)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(Xe,at,xe,Ze){switch(xe){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return it})();ot.lexer=Re;function Ge(){this.yy={}}return S(Ge,"Parser"),Ge.prototype=ot,ot.Parser=Ge,new Ge})();B9.parser=B9;var dle=B9,jW=["#","+","~","-",""],U1,KW=(U1=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=Jr(e,Pe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+Dh(this.id);this.memberType==="method"&&(e+=`(${Dh(this.parameters.trim())})`,this.returnType&&(e+=" : "+Dh(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(jW.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);jW.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${Dh(this.id)}${this.memberType==="method"?`(${Dh(this.parameters)})${this.returnType?" : "+Dh(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},S(U1,"ClassMember"),U1),K4="classId-",ZW=0,xf=S(t=>$t.sanitizeText(t,Pe()),"sanitizeText"),H1,fle=(H1=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=S(e=>{const r=Yie();kt(e).select("svg").selectAll("g").filter(function(){return kt(this).attr("title")!==null}).on("mouseover",a=>{const s=kt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Zh.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),kt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=jn,this.getAccTitle=ci,this.setAccDescription=ui,this.getAccDescription=hi,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getConfig=S(()=>Pe().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=$t.sanitizeText(e,Pe());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=xf(a[0]),n=xf(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=$t.sanitizeText(e,Pe());r&&(r=xf(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=$t.sanitizeText(e,Pe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=$t.sanitizeText(n,Pe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:K4+a+"-"+ZW}),ZW++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=$t.sanitizeText(e,Pe());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",Kn()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){oe.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=$t.sanitizeText(e.relationTitle1.trim(),Pe()),e.relationTitle2=$t.sanitizeText(e.relationTitle2.trim(),Pe()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(xf(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new KW(a,"method")):a&&i.members.push(new KW(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),xf(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=K4+i);const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=xf(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Pe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=K4+s);const o=this.classes.get(s);o&&(o.link=Lr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=xf(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=$t.sanitizeText(e,Pe());if(Pe().securityLevel!=="loose"||r===void 0)return;const s=i;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Lr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:K4+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){const e=[],r=[],n=Pe();for(const a of this.namespaces.values()){const s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(const a of this.classes.values()){const s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(const a of this.notes.values()){const s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);const o=this.classes.get(a.class)?.id;if(o){const l={id:`edgeNote${a.index}`,start:a.id,end:o,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(l)}}for(const a of this.interfaces){const s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(const a of this.relations){i++;const s={id:Dg(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},S(H1,"ClassDB"),H1),yje=S(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -2235,13 +2235,13 @@ g.classGroup line { } text-align: center; } - ${bx()} -`,"getStyles"),gle=SXe,EXe=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),kXe=S(function(t,e){return e.db.getClasses()},"getClasses"),_Xe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=rx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await Vm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),mle={getClasses:kXe,draw:_Xe,getDir:EXe},AXe={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const LXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:AXe},Symbol.toStringTag,{value:"Module"}));var RXe={parser:fle,get db(){return new ple},renderer:mle,styles:gle,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const DXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:RXe},Symbol.toStringTag,{value:"Module"}));var F9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],A=[1,31],k=[1,32],R=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,j,Z,X,ee){var Q=X.length-1;switch(Z){case 3:return j.setRootDoc(X[Q]),X[Q];case 4:this.$=[];break;case 5:X[Q]!="nl"&&(X[Q-1].push(X[Q]),this.$=X[Q-1]);break;case 6:case 7:this.$=X[Q];break;case 8:this.$="nl";break;case 12:this.$=X[Q];break;case 13:const ie=X[Q-1];ie.description=j.trimColon(X[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:X[Q-2],state2:X[Q]};break;case 15:const ne=j.trimColon(X[Q]);this.$={stmt:"relation",state1:X[Q-3],state2:X[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:X[Q-3],type:"default",description:"",doc:X[Q-1]};break;case 20:var he=X[Q],te=X[Q-2].trim();if(X[Q].match(":")){var ae=X[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:X[Q-3],type:"default",description:X[Q-5],doc:X[Q-1]};break;case 22:this.$={stmt:"state",id:X[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:X[Q],type:"join"};break;case 24:this.$={stmt:"state",id:X[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:j.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:X[Q-1].trim(),note:{position:X[Q-2].trim(),text:X[Q].trim()}};break;case 29:this.$=X[Q].trim(),j.setAccTitle(this.$);break;case 30:case 31:this.$=X[Q].trim(),j.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:X[Q-3],url:X[Q-2],tooltip:X[Q-1]};break;case 33:this.$={stmt:"click",id:X[Q-3],url:X[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:X[Q-1].trim(),classes:X[Q].trim()};break;case 36:this.$={stmt:"style",id:X[Q-1].trim(),styleClass:X[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:X[Q-1].trim(),styleClass:X[Q].trim()};break;case 38:j.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:j.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:j.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:j.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:X[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:X[Q-2].trim(),classes:[X[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:X[Q-2].trim(),classes:[X[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:A,48:k,51:R,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],j=[],Z=[null],X=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=X.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;X.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,X.length=X.length-Ze}S(Le,"popStack");function Oe(){var Ze;return Ze=j.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(j=Ze,Ze=j.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,De,Ge={},it,Ye,je,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: + ${vx()} +`,"getStyles"),ple=yje,vje=S((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),bje=S(function(t,e){return e.db.getClasses()},"getClasses"),xje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.setDiagramId(e);const o=n.db.getData(),l=ey(e,i);o.type=n.type,o.layoutAlgorithm=tx(s),o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await qm(o,l);const u=8;Lr.insertTitle(l,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),q0(l,u,"classDiagram",a?.useMaxWidth??!0)},"draw"),gle={getClasses:bje,draw:xje,getDir:vje},Tje={parser:dle,get db(){return new fle},renderer:gle,styles:ple,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const wje=Object.freeze(Object.defineProperty({__proto__:null,diagram:Tje},Symbol.toStringTag,{value:"Module"}));var Cje={parser:dle,get db(){return new fle},renderer:gle,styles:ple,init:S(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const Sje=Object.freeze(Object.defineProperty({__proto__:null,diagram:Cje},Symbol.toStringTag,{value:"Module"}));var P9=(function(){var t=S(function(V,U,P,H){for(P=P||{},H=V.length;H--;P[V[H]]=U);return P},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],h=[1,19],d=[1,33],f=[1,20],p=[1,21],m=[1,22],v=[1,23],b=[1,24],x=[1,26],C=[1,27],T=[1,28],E=[1,29],_=[1,30],R=[1,31],k=[1,32],L=[1,35],O=[1,36],F=[1,37],$=[1,38],q=[1,34],z=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],N={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(U,P,H,X,Z,j,ee){var Q=j.length-1;switch(Z){case 3:return X.setRootDoc(j[Q]),j[Q];case 4:this.$=[];break;case 5:j[Q]!="nl"&&(j[Q-1].push(j[Q]),this.$=j[Q-1]);break;case 6:case 7:this.$=j[Q];break;case 8:this.$="nl";break;case 12:this.$=j[Q];break;case 13:const ie=j[Q-1];ie.description=X.trimColon(j[Q]),this.$=ie;break;case 14:this.$={stmt:"relation",state1:j[Q-2],state2:j[Q]};break;case 15:const ne=X.trimColon(j[Q]);this.$={stmt:"relation",state1:j[Q-3],state2:j[Q-1],description:ne};break;case 19:this.$={stmt:"state",id:j[Q-3],type:"default",description:"",doc:j[Q-1]};break;case 20:var he=j[Q],te=j[Q-2].trim();if(j[Q].match(":")){var ae=j[Q].split(":");he=ae[0],te=[te,ae[1]]}this.$={stmt:"state",id:he,type:"default",description:te};break;case 21:this.$={stmt:"state",id:j[Q-3],type:"default",description:j[Q-5],doc:j[Q-1]};break;case 22:this.$={stmt:"state",id:j[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:j[Q],type:"join"};break;case 24:this.$={stmt:"state",id:j[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:j[Q-1].trim(),note:{position:j[Q-2].trim(),text:j[Q].trim()}};break;case 29:this.$=j[Q].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=j[Q].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:j[Q-3],url:j[Q-2],tooltip:j[Q-1]};break;case 33:this.$={stmt:"click",id:j[Q-3],url:j[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:j[Q-1].trim(),classes:j[Q].trim()};break;case 36:this.$={stmt:"style",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:j[Q-1].trim(),styleClass:j[Q].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:j[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:j[Q-2].trim(),classes:[j[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12],{14:[1,40],15:[1,41]}),t(z,[2,16]),{18:[1,42]},t(z,[2,18],{20:[1,43]}),{23:[1,44]},t(z,[2,22]),t(z,[2,23]),t(z,[2,24]),t(z,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(z,[2,28]),{34:[1,49]},{36:[1,50]},t(z,[2,31]),{13:51,24:d,57:q},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(z,[2,38]),t(z,[2,39]),t(z,[2,40]),t(z,[2,41]),t(z,[2,6]),t(z,[2,13]),{13:58,24:d,57:q},t(z,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(z,[2,29]),t(z,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(z,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(D,[2,46]),t(D,[2,47]),t(z,[2,15]),t(z,[2,19]),t(I,i,{7:78}),t(z,[2,26]),t(z,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:h,24:d,25:f,26:p,27:m,28:v,29:b,32:25,33:x,35:C,37:T,38:E,41:_,45:R,48:k,51:L,52:O,53:F,54:$,57:q},t(z,[2,32]),t(z,[2,33]),t(z,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(U,P){if(P.recoverable)this.trace(U);else{var H=new Error(U);throw H.hash=P,H}},"parseError"),parse:S(function(U){var P=this,H=[0],X=[],Z=[null],j=[],ee=this.table,Q="",he=0,te=0,ae=2,ie=1,ne=j.slice.call(arguments,1),me=Object.create(this.lexer),pe={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(pe.yy[Me]=this.yy[Me]);me.setInput(U,pe.yy),pe.yy.lexer=me,pe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var $e=me.yylloc;j.push($e);var He=me.options&&me.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(Ze){H.length=H.length-2*Ze,Z.length=Z.length-Ze,j.length=j.length-Ze}S(Ae,"popStack");function Oe(){var Ze;return Ze=X.pop()||me.lex()||ie,typeof Ze!="number"&&(Ze instanceof Array&&(X=Ze,Ze=X.pop()),Ze=P.symbols_[Ze]||Ze),Ze}S(Oe,"lex");for(var We,Te,ot,Re,Ge={},it,Ye,Xe,at;;){if(Te=H[H.length-1],this.defaultActions[Te]?ot=this.defaultActions[Te]:((We===null||typeof We>"u")&&(We=Oe()),ot=ee[Te]&&ee[Te][We]),typeof ot>"u"||!ot.length||!ot[0]){var xe="";at=[];for(it in ee[Te])this.terminals_[it]&&it>ae&&at.push("'"+this.terminals_[it]+"'");me.showPosition?xe="Parse error on line "+(he+1)+`: `+me.showPosition()+` -Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),X.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:X[X.length-(Ye||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(Ye||1)].first_column,last_column:X[X.length-1].last_column},He&&(Ge._$.range=[X[X.length-(Ye||1)].range[0],X[X.length-1].range[1]]),De=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,X].concat(ne)),typeof De<"u")return De;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),X=X.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),X.push(Ge._$),je=ee[H[H.length-2]][H[H.length-1]],H.push(je);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:S(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:S(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:S(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var j=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===j.length?this.yylloc.first_column:0)+j[j.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+at.join(", ")+", got '"+(this.terminals_[We]||We)+"'":xe="Parse error on line "+(he+1)+": Unexpected "+(We==ie?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(xe,{text:me.match,token:this.terminals_[We]||We,line:me.yylineno,loc:$e,expected:at})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+We);switch(ot[0]){case 1:H.push(We),Z.push(me.yytext),j.push(me.yylloc),H.push(ot[1]),We=null,te=me.yyleng,Q=me.yytext,he=me.yylineno,$e=me.yylloc;break;case 2:if(Ye=this.productions_[ot[1]][1],Ge.$=Z[Z.length-Ye],Ge._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},He&&(Ge._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),Re=this.performAction.apply(Ge,[Q,te,he,pe.yy,ot[1],Z,j].concat(ne)),typeof Re<"u")return Re;Ye&&(H=H.slice(0,-1*Ye*2),Z=Z.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),H.push(this.productions_[ot[1]][0]),Z.push(Ge.$),j.push(Ge._$),Xe=ee[H[H.length-2]][H[H.length-1]],H.push(Xe);break;case 3:return!0}}return!0},"parse")},B=(function(){var V={EOF:1,parseError:S(function(P,H){if(this.yy.parser)this.yy.parser.parseError(P,H);else throw new Error(P)},"parseError"),setInput:S(function(U,P){return this.yy=P||this.yy||{},this._input=U,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var P=U.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),U},"input"),unput:S(function(U){var P=U.length,H=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),H.length-1&&(this.yylineno-=H.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:H?(H.length===X.length?this.yylloc.first_column:0)+X[X.length-H.length].length-H[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(U){this.unput(this.match.slice(U))},"less"),pastInput:S(function(){var U=this.matched.substr(0,this.matched.length-this.match.length);return(U.length>20?"...":"")+U.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var U=this.match;return U.length<20&&(U+=this._input.substr(0,20-U.length)),(U.substr(0,20)+(U.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var U=this.pastInput(),P=new Array(U.length+1).join("-");return U+this.upcomingInput()+` -`+P+"^"},"showPosition"),test_match:S(function(U,P){var H,j,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),j=U[0].match(/(?:\r\n?|\n).*/g),j&&(this.yylineno+=j.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:j?j[j.length-1].length-j[j.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var X in Z)this[X]=Z[X];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,j;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),X=0;XP[0].length)){if(P=H,j=X,this.options.backtrack_lexer){if(U=this.test_match(H,Z[X]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[j]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,j,Z){switch(j){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();F9.parser=F9;var yle=F9,NXe="TB",vle="TB",JW="dir",mg="state",jp="root",$9="relation",MXe="classDef",OXe="style",IXe="applyClass",P2="default",ble="divider",xle="fill:none",Tle="fill: #333",wle="c",Cle="markdown",Sle="normal",RA="rect",DA="rectWithTitle",BXe="stateStart",PXe="stateEnd",eY="divider",tY="roundedWithTitle",FXe="note",$Xe="noteGroup",Nx="statediagram",zXe="state",qXe=`${Nx}-${zXe}`,Ele="transition",VXe="note",GXe="note-edge",UXe=`${Ele} ${GXe}`,HXe=`${Nx}-${VXe}`,WXe="cluster",YXe=`${Nx}-${WXe}`,jXe="cluster-alt",XXe=`${Nx}-${jXe}`,kle="parent",_le="note",KXe="state",EO="----",ZXe=`${EO}${_le}`,rY=`${EO}${kle}`,Ale=S((t,e=vle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),QXe=S(function(t,e){return e.db.getClasses()},"getClasses"),JXe=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ty(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await Vm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in
    tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),V0(l,h,Nx,a?.useMaxWidth??!0)},"draw"),eKe={getClasses:QXe,draw:JXe,getDir:Ale},i5=new Map,Ph=0;function a5(t="",e=0,r="",n=EO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${KXe}-${t}${i}-${e}`}S(a5,"stateDomId");var tKe=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case mg:T2(t,l,r,n,i,a,s,o);break;case P2:T2(t,l,r,n,i,a,s,o);break;case $9:{T2(t,l.state1,r,n,i,a,s,o),T2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ph,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:xle,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,classes:Ele,look:s};i.push(h),Ph++}break}})},"setupDoc"),nY=S((t,e=vle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function x2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(x2,"insertOrUpdateNode");function Lle(t){return t?.classes?.join(" ")??""}S(Lle,"getClassesFromDbInfo");function Rle(t){return t?.styles??[]}S(Rle,"getStylesFromDbInfo");var T2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Lle(u),d=Rle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=RA;e.start===!0?p=BXe:e.start===!1&&(p=PXe),e.type!==P2&&(p=e.type),i5.get(l)||i5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${qXe}`,cssStyles:d});const m=i5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=DA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=DA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=RA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===DA&&(m.type==="group"?m.shape=tY:m.shape=RA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,nY(e)),m.type="group",m.isGroup=!0,m.dir=nY(e),m.shape=e.type===ble?eY:tY,m.cssClasses=`${m.cssClasses} ${YXe} ${a?XXe:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:a5(l,Ph),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===eY&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:FXe,label:e.note.text,labelType:"markdown",cssClasses:HXe,cssStyles:[],cssCompiledStyles:[],id:l+ZXe+"-"+Ph,domId:a5(l,Ph,_le),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+rY,C={labelStyle:"",shape:$Xe,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+rY,domId:a5(l,Ph,kle),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ph++,C.id=x,b.parentId=x,x2(n,C,o),x2(n,b,o),x2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:xle,labelStyle:"",classes:UXe,arrowheadStyle:Tle,labelpos:wle,labelType:Cle,thickness:Sle,look:s})}else x2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),tKe(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),rKe=S(()=>{i5.clear(),Ph=0},"reset"),rs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},iY=S(()=>new Map,"newClassesList"),aY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),QT=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Qf,$f=(Qf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=iY(),this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=ci,this.setAccTitle=Xn,this.getAccDescription=hi,this.setAccDescription=ui,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case mg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case $9:this.addRelation(i.state1,i.state2,i.description);break;case MXe:this.addStyleClass(i.id.trim(),i.classes);break;case OXe:this.handleStyleDef(i);break;case IXe:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();rKe(),T2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===$9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===mg&&(r.id===rs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==jp&&r.stmt!==mg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===ble){const o=QT(s);o.doc=QT(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:mg,id:$Z(),type:"divider",doc:QT(a)};i.push(QT(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:jp,stmt:jp},{id:jp,stmt:jp,doc:this.rootDoc},!0),{id:jp,doc:this.rootDoc}}addState(e,r=P2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:mg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:aY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=iY(),e||(this.links=new Map,Kn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===rs.START_NODE?(this.startEndCount++,`${rs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=P2){return e===rs.START_NODE?rs.START_TYPE:r}endIdIfNeeded(e=""){return e===rs.END_NODE?(this.startEndCount++,`${rs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=P2){return e===rs.END_NODE?rs.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(rs.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(rs.COLOR_KEYWORD).exec(i)){const o=a.replace(rs.FILL_KEYWORD,rs.BG_FILL).replace(rs.COLOR_KEYWORD,rs.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===JW)}getDirection(){return this.getDirectionStatement()?.value??NXe}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:JW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Ale(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Qf,"StateDB"),Qf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Qf),nKe=S(t=>` +`+P+"^"},"showPosition"),test_match:S(function(U,P){var H,X,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),X=U[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],H=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),H)return H;if(this._backtrack){for(var j in Z)this[j]=Z[j];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var U,P,H,X;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),j=0;jP[0].length)){if(P=H,X=j,this.options.backtrack_lexer){if(U=this.test_match(H,Z[j]),U!==!1)return U;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(U=this.test_match(P,Z[X]),U!==!1?U:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var P=this.next();return P||this.lex()},"lex"),begin:S(function(P){this.conditionStack.push(P)},"begin"),popState:S(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:S(function(P){this.begin(P)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(P,H,X,Z){switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),H.yytext=H.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),H.yytext=H.yytext.substr(2).trim(),31;case 70:return this.popState(),H.yytext=H.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return H.yytext=H.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return V})();N.lexer=B;function M(){this.yy={}}return S(M,"Parser"),M.prototype=N,N.Parser=M,new M})();P9.parser=P9;var mle=P9,Eje="TB",yle="TB",QW="dir",gg="state",Yp="root",F9="relation",kje="classDef",_je="style",Aje="applyClass",B2="default",vle="divider",ble="fill:none",xle="fill: #333",Tle="c",wle="markdown",Cle="normal",LA="rect",RA="rectWithTitle",Lje="stateStart",Rje="stateEnd",JW="divider",eY="roundedWithTitle",Dje="note",Nje="noteGroup",Dx="statediagram",Mje="state",Oje=`${Dx}-${Mje}`,Sle="transition",Ije="note",Bje="note-edge",Pje=`${Sle} ${Bje}`,Fje=`${Dx}-${Ije}`,$je="cluster",zje=`${Dx}-${$je}`,qje="cluster-alt",Vje=`${Dx}-${qje}`,Ele="parent",kle="note",Gje="state",SO="----",Uje=`${SO}${kle}`,tY=`${SO}${Ele}`,_le=S((t,e=yle)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Hje=S(function(t,e){return e.db.getClasses()},"getClasses"),Wje=S(async function(t,e,r,n){oe.info("REF0:"),oe.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Pe();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=ey(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=a?.nodeSpacing||50,o.rankSpacing=a?.rankSpacing||50,Pe().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await qm(o,l);const h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{const m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){oe.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const v=l.node()?.querySelectorAll("g");let b;if(v?.forEach(E=>{E.textContent?.trim()===m&&(b=E)}),!b){oe.warn("⚠️ Could not find node matching text:",m);return}const x=b.parentNode;if(!x){oe.warn("⚠️ Node has no parent, cannot wrap:",m);return}const C=document.createElementNS("http://www.w3.org/2000/svg","a"),T=f.url.replace(/^"+|"+$/g,"");if(C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),C.setAttribute("target","_blank"),f.tooltip){const E=f.tooltip.replace(/^"+|"+$/g,"");C.setAttribute("title",E)}x.replaceChild(C,b),C.appendChild(b),oe.info("🔗 Wrapped node in tag for:",m,f.url)})}catch(d){oe.error("❌ Error injecting clickable links:",d)}Lr.insertTitle(l,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),q0(l,h,Dx,a?.useMaxWidth??!0)},"draw"),Yje={getClasses:Hje,draw:Wje,getDir:_le},n5=new Map,Ih=0;function i5(t="",e=0,r="",n=SO){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${Gje}-${t}${i}-${e}`}S(i5,"stateDomId");var Xje=S((t,e,r,n,i,a,s,o)=>{oe.trace("items",e),e.forEach(l=>{switch(l.stmt){case gg:x2(t,l,r,n,i,a,s,o);break;case B2:x2(t,l,r,n,i,a,s,o);break;case F9:{x2(t,l.state1,r,n,i,a,s,o),x2(t,l.state2,r,n,i,a,s,o);const u=s==="neo",h={id:"edge"+Ih,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:ble,labelStyle:"",label:$t.sanitizeText(l.description??"",Pe()),arrowheadStyle:xle,labelpos:Tle,labelType:wle,thickness:Cle,classes:Sle,look:s};i.push(h),Ih++}break}})},"setupDoc"),rY=S((t,e=yle)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function b2(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}S(b2,"insertOrUpdateNode");function Ale(t){return t?.classes?.join(" ")??""}S(Ale,"getClassesFromDbInfo");function Lle(t){return t?.styles??[]}S(Lle,"getStylesFromDbInfo");var x2=S((t,e,r,n,i,a,s,o)=>{const l=e.id,u=r.get(l),h=Ale(u),d=Lle(u),f=Pe();if(oe.info("dataFetcher parsedItem",e,u,d),l!=="root"){let p=LA;e.start===!0?p=Lje:e.start===!1&&(p=Rje),e.type!==B2&&(p=e.type),n5.get(l)||n5.set(l,{id:l,shape:p,description:$t.sanitizeText(l,f),cssClasses:`${h} ${Oje}`,cssStyles:d});const m=n5.get(l);e.description&&(Array.isArray(m.description)?(m.shape=RA,m.description.push(e.description)):m.description?.length&&m.description.length>0?(m.shape=RA,m.description===l?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=LA,m.description=e.description),m.description=$t.sanitizeTextOrArray(m.description,f)),m.description?.length===1&&m.shape===RA&&(m.type==="group"?m.shape=eY:m.shape=LA),!m.type&&e.doc&&(oe.info("Setting cluster for XCX",l,rY(e)),m.type="group",m.isGroup=!0,m.dir=rY(e),m.shape=e.type===vle?JW:eY,m.cssClasses=`${m.cssClasses} ${zje} ${a?Vje:""}`);const v={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:l,dir:m.dir,domId:i5(l,Ih),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(v.shape===JW&&(v.label=""),t&&t.id!=="root"&&(oe.trace("Setting node ",l," to be child of its parent ",t.id),v.parentId=t.id),v.centerLabel=!0,e.note){const b={labelStyle:"",shape:Dje,label:e.note.text,labelType:"markdown",cssClasses:Fje,cssStyles:[],cssCompiledStyles:[],id:l+Uje+"-"+Ih,domId:i5(l,Ih,kle),type:m.type,isGroup:m.type==="group",padding:f.flowchart?.padding,look:s,position:e.note.position},x=l+tY,C={labelStyle:"",shape:Nje,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:l+tY,domId:i5(l,Ih,Ele),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Ih++,C.id=x,b.parentId=x,b2(n,C,o),b2(n,b,o),b2(n,v,o);let T=l,E=b.id;e.note.position==="left of"&&(T=b.id,E=l),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:ble,labelStyle:"",classes:Pje,arrowheadStyle:xle,labelpos:Tle,labelType:wle,thickness:Cle,look:s})}else b2(n,v,o)}e.doc&&(oe.trace("Adding nodes children "),Xje(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),jje=S(()=>{n5.clear(),Ih=0},"reset"),rs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},nY=S(()=>new Map,"newClassesList"),iY=S(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),Z4=S(t=>JSON.parse(JSON.stringify(t)),"clone"),Zf,Ff=(Zf=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=nY(),this.documents={root:iY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=ci,this.setAccTitle=jn,this.getAccDescription=hi,this.setAccDescription=ui,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case gg:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case F9:this.addRelation(i.state1,i.state2,i.description);break;case kje:this.addStyleClass(i.id.trim(),i.classes);break;case _je:this.handleStyleDef(i);break;case Aje:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Pe();jje(),x2(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){oe.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===F9){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===gg&&(r.id===rs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Yp&&r.stmt!==gg||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===vle){const o=Z4(s);o.doc=Z4(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:gg,id:FZ(),type:"divider",doc:Z4(a)};i.push(Z4(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Yp,stmt:Yp},{id:Yp,stmt:Yp,doc:this.rootDoc},!0),{id:Yp,doc:this.rootDoc}}addState(e,r=B2,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e?.trim();if(!this.currentDocument.states.has(u))oe.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:gg,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.doc||(h.doc=n),h.type||(h.type=r)}if(i&&(oe.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(u,d.trim()))),a){const h=this.currentDocument.states.get(u);if(!h)throw new Error(`State not found: ${u}`);h.note=a,h.note.text=$t.sanitizeText(h.note.text,Pe())}s&&(oe.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(u,d.trim()))),o&&(oe.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(d=>this.setStyle(u,d.trim()))),l&&(oe.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(d=>this.setTextStyle(u,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:iY()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=nY(),e||(this.links=new Map,Kn())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){oe.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),oe.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===rs.START_NODE?(this.startEndCount++,`${rs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=B2){return e===rs.START_NODE?rs.START_TYPE:r}endIdIfNeeded(e=""){return e===rs.END_NODE?(this.startEndCount++,`${rs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=B2){return e===rs.END_NODE?rs.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:$t.sanitizeText(n,Pe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?$t.sanitizeText(n,Pe()):void 0})}}addDescription(e,r){const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push($t.sanitizeText(i,Pe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(rs.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(rs.COLOR_KEYWORD).exec(i)){const o=a.replace(rs.FILL_KEYWORD,rs.BG_FILL).replace(rs.COLOR_KEYWORD,rs.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){const a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===QW)}getDirection(){return this.getDirectionStatement()?.value??Eje}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:QW,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Pe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:_le(this.getRootDocV2())}}getConfig(){return Pe().state}},S(Zf,"StateDB"),Zf.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Zf),Kje=S(t=>` defs [id$="-barbEnd"] { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -2466,12 +2466,12 @@ g.stateGroup line { ry: ${t.radius}px; filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} } -`,"getStyles"),Dle=nKe,iKe=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),aKe=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),sKe=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),oKe=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),lKe=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),cKe=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),uKe=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),hKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),dKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=hKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),sY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&iKe(i),e.type==="end"&&cKe(i),(e.type==="fork"||e.type==="join")&&uKe(i,e),e.type==="note"&&dKe(e.note.text,i),e.type==="divider"&&aKe(i),e.type==="default"&&e.descriptions.length===0&&sKe(i,e),e.type==="default"&&e.descriptions.length>0&&oKe(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),oY=0,fKe=S(function(t,e,r){const n=S(function(l){switch(l){case $f.relationType.AGGREGATION:return"aggregation";case $f.relationType.EXTENSION:return"extension";case $f.relationType.COMPOSITION:return"composition";case $f.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=Y2().x(function(l){return l.x}).y(function(l){return l.y}).curve(j2),s=t.append("path").attr("d",a(i)).attr("id","edge"+oY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=mC(!0)),s.attr("marker-end","url("+o+"#"+n($f.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}oY++},"drawEdge"),ao,NA={},pKe=S(function(){},"setConf"),gKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),mKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);gKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Nle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Ui(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),yKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Nle=S((t,e,r,n,i,a,s)=>{const o=new Gs({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,A=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),A=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(A)&&(A=0)),T.setAttribute("x1",0-A+8),T.setAttribute("x2",_-A-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),fKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),vKe={setConf:pKe,draw:mKe},bKe={parser:yle,get db(){return new $f(1)},renderer:vKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const xKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:bKe},Symbol.toStringTag,{value:"Module"}));var TKe={parser:yle,get db(){return new $f(2)},renderer:eKe,styles:Dle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const wKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:TKe},Symbol.toStringTag,{value:"Module"}));var z9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,A=2,k=1,R=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,j,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var X="";Z=[];for(P in C[B])this.terminals_[P]&&P>A&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?X="Parse error on line "+(E+1)+`: +`,"getStyles"),Rle=Kje,Zje=S(t=>t.append("circle").attr("class","start-state").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit).attr("cy",Pe().state.padding+Pe().state.sizeUnit),"drawStartState"),Qje=S(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Pe().state.textHeight).attr("class","divider").attr("x2",Pe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Jje=S((t,e)=>{const r=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+2*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",n.width+2*Pe().state.padding).attr("height",n.height+2*Pe().state.padding).attr("rx",Pe().state.radius),r},"drawSimpleState"),eKe=S((t,e)=>{const r=S(function(f,p,m){const v=f.append("tspan").attr("x",2*Pe().state.padding).text(p);m||v.attr("dy",Pe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Pe().state.padding).attr("y",Pe().state.textHeight+1.3*Pe().state.padding).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Pe().state.padding).attr("y",a+Pe().state.padding*.4+Pe().state.dividerMargin+Pe().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Pe().state.padding).attr("y1",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("y2",Pe().state.padding+a+Pe().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),d=Math.max(h.width,i.width);return u.attr("x2",d+3*Pe().state.padding),t.insert("rect",":first-child").attr("x",Pe().state.padding).attr("y",Pe().state.padding).attr("width",d+2*Pe().state.padding).attr("height",h.height+a+2*Pe().state.padding).attr("rx",Pe().state.radius),t},"drawDescrState"),tKe=S((t,e,r)=>{const n=Pe().state.padding,i=2*Pe().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Pe().state.titleShift).attr("font-size",Pe().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+i;let d=Math.max(h,s);d===s&&(d=d+i);let f;const p=t.node().getBBox();e.doc,f=o-n,h>s&&(f=(s-d)/2+n),Math.abs(o-p.x)s&&(f=o-(h-s)/2);const m=1-Pe().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",p.height+Pe().state.textHeight+Pe().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),h<=s&&l.attr("x",o+(d-i)/2-h/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",Pe().state.textHeight*3).attr("rx",Pe().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Pe().state.titleShift-Pe().state.textHeight-Pe().state.padding).attr("width",d).attr("height",p.height+3+2*Pe().state.textHeight).attr("rx",Pe().state.radius),t},"addTitleAndBox"),rKe=S(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Pe().state.sizeUnit+Pe().state.miniPadding).attr("cx",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding).attr("cy",Pe().state.padding+Pe().state.sizeUnit+Pe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Pe().state.sizeUnit).attr("cx",Pe().state.padding+Pe().state.sizeUnit+2).attr("cy",Pe().state.padding+Pe().state.sizeUnit+2)),"drawEndState"),nKe=S((t,e)=>{let r=Pe().state.forkWidth,n=Pe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Pe().state.padding).attr("y",Pe().state.padding)},"drawForkJoinState"),iKe=S((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split($t.lineBreakRegex);let l=1.25*Pe().state.noteMargin;for(const u of o){const h=u.trim();if(h.length>0){const d=a.append("tspan");if(d.text(h),l===0){const f=d.node().getBBox();l+=f.height}i+=l,d.attr("x",e+Pe().state.noteMargin),d.attr("y",r+i+1.25*Pe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),aKe=S((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Pe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=iKe(t,0,0,n);return r.attr("height",a+2*Pe().state.noteMargin),r.attr("width",i+Pe().state.noteMargin*2),r},"drawNote"),aY=S(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&Zje(i),e.type==="end"&&rKe(i),(e.type==="fork"||e.type==="join")&&nKe(i,e),e.type==="note"&&aKe(e.note.text,i),e.type==="divider"&&Qje(i),e.type==="default"&&e.descriptions.length===0&&Jje(i,e),e.type==="default"&&e.descriptions.length>0&&eKe(i,e);const a=i.node().getBBox();return n.width=a.width+2*Pe().state.padding,n.height=a.height+2*Pe().state.padding,n},"drawState"),sY=0,sKe=S(function(t,e,r){const n=S(function(l){switch(l){case Ff.relationType.AGGREGATION:return"aggregation";case Ff.relationType.EXTENSION:return"extension";case Ff.relationType.COMPOSITION:return"composition";case Ff.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=W2().x(function(l){return l.x}).y(function(l){return l.y}).curve(Y2),s=t.append("path").attr("d",a(i)).attr("id","edge"+sY).attr("class","transition");let o="";if(Pe().state.arrowMarkerAbsolute&&(o=gC(!0)),s.attr("marker-end","url("+o+"#"+n(Ff.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:h}=Lr.calcLabelPosition(e.points),d=$t.getRows(r.title);let f=0;const p=[];let m=0,v=0;for(let C=0;C<=d.length;C++){const T=l.append("text").attr("text-anchor","middle").text(d[C]).attr("x",u).attr("y",h+f),E=T.node().getBBox();m=Math.max(m,E.width),v=Math.min(v,E.x),oe.info(E.x,u,h+f),f===0&&(f=T.node().getBBox().height,oe.info("Title height",f,h)),p.push(T)}let b=f*d.length;if(d.length>1){const C=(d.length-1)*f*.5;p.forEach((T,E)=>T.attr("y",h+E*f-C)),b=f*d.length}const x=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-m/2-Pe().state.padding/2).attr("y",h-b/2-Pe().state.padding/2-3.5).attr("width",m+Pe().state.padding).attr("height",b+Pe().state.padding),oe.info(x)}sY++},"drawEdge"),ao,DA={},oKe=S(function(){},"setConf"),lKe=S(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),cKe=S(function(t,e,r,n){ao=Pe().state;const i=Pe().securityLevel;let a;i==="sandbox"&&(a=kt("#i"+e));const s=kt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;oe.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);lKe(l);const u=n.db.getRootDoc(),h=l.append("g").attr("id",e+"-root");Dle(u,h,void 0,!1,s,o,n);const d=ao.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,v=p*1.75;Ui(l,m,v,ao.useMaxWidth),l.attr("viewBox",`${f.x-ao.padding} ${f.y-ao.padding} `+p+" "+m)},"draw"),uKe=S(t=>t?t.length*ao.fontSizeFactor:1,"getLabelWidth"),Dle=S((t,e,r,n,i,a,s)=>{const o=new Gs({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l{const E=T.parentElement;let _=0,R=0;E&&(E.parentElement&&(_=E.parentElement.getBBox().width),R=parseInt(E.getAttribute("data-x-shift"),10),Number.isNaN(R)&&(R=0)),T.setAttribute("x1",0-R+8),T.setAttribute("x2",_-R-8)})):oe.debug("No Node "+x+": "+JSON.stringify(o.node(x)))});let v=m.getBBox();o.edges().forEach(function(x){x!==void 0&&o.edge(x)!==void 0&&(oe.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(o.edge(x))),sKe(e,o.edge(x),o.edge(x).relation))}),v=m.getBBox();const b={id:r||"root",label:r||"root",width:0,height:0};return b.width=v.width+2*ao.padding,b.height=v.height+2*ao.padding,oe.debug("Doc rendered",b,o),b},"renderDoc"),hKe={setConf:oKe,draw:cKe},dKe={parser:mle,get db(){return new Ff(1)},renderer:hKe,styles:Rle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const fKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:dKe},Symbol.toStringTag,{value:"Module"}));var pKe={parser:mle,get db(){return new Ff(2)},renderer:Yje,styles:Rle,init:S(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const gKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:pKe},Symbol.toStringTag,{value:"Module"}));var $9=(function(){var t=S(function(d,f,p,m){for(p=p||{},m=d.length;m--;p[d[m]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:S(function(f,p,m,v,b,x,C){var T=x.length-1;switch(b){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:v.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),v.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),v.setAccDescription(this.$);break;case 12:v.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:v.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:S(function(f,p){if(p.recoverable)this.trace(f);else{var m=new Error(f);throw m.hash=p,m}},"parseError"),parse:S(function(f){var p=this,m=[0],v=[],b=[null],x=[],C=this.table,T="",E=0,_=0,R=2,k=1,L=x.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(F.yy[$]=this.yy[$]);O.setInput(f,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var q=O.yylloc;x.push(q);var z=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ee){m.length=m.length-2*ee,b.length=b.length-ee,x.length=x.length-ee}S(D,"popStack");function I(){var ee;return ee=v.pop()||O.lex()||k,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=p.symbols_[ee]||ee),ee}S(I,"lex");for(var N,B,M,V,U={},P,H,X,Z;;){if(B=m[m.length-1],this.defaultActions[B]?M=this.defaultActions[B]:((N===null||typeof N>"u")&&(N=I()),M=C[B]&&C[B][N]),typeof M>"u"||!M.length||!M[0]){var j="";Z=[];for(P in C[B])this.terminals_[P]&&P>R&&Z.push("'"+this.terminals_[P]+"'");O.showPosition?j="Parse error on line "+(E+1)+`: `+O.showPosition()+` -Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":X="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(X,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(R)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),j=C[m[m.length-2]][m[m.length-1]],m.push(j);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":j="Parse error on line "+(E+1)+": Unexpected "+(N==k?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(j,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:q,expected:Z})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+N);switch(M[0]){case 1:m.push(N),b.push(O.yytext),x.push(O.yylloc),m.push(M[1]),N=null,_=O.yyleng,T=O.yytext,E=O.yylineno,q=O.yylloc;break;case 2:if(H=this.productions_[M[1]][1],U.$=b[b.length-H],U._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},z&&(U._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(U,[T,_,E,F.yy,M[1],b,x].concat(L)),typeof V<"u")return V;H&&(m=m.slice(0,-1*H*2),b=b.slice(0,-1*H),x=x.slice(0,-1*H)),m.push(this.productions_[M[1]][0]),b.push(U.$),x.push(U._$),X=C[m[m.length-2]][m[m.length-1]],m.push(X);break;case 3:return!0}}return!0},"parse")},u=(function(){var d={EOF:1,parseError:S(function(p,m){if(this.yy.parser)this.yy.parser.parseError(p,m);else throw new Error(p)},"parseError"),setInput:S(function(f,p){return this.yy=p||this.yy||{},this._input=f,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:S(function(f){var p=f.length,m=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===v.length?this.yylloc.first_column:0)+v[v.length-m.length].length-m[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(f){this.unput(this.match.slice(f))},"less"),pastInput:S(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+` `+p+"^"},"showPosition"),test_match:S(function(f,p){var m,v,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),v=f[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(f[0].length),this.matched+=f[0],m=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var x in b)this[x]=b[x];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var f,p,m,v;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),x=0;xp[0].length)){if(p=m,v=x,this.options.backtrack_lexer){if(f=this.test_match(m,b[x]),f!==!1)return f;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(f=this.test_match(p,b[v]),f!==!1?f:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();z9.parser=z9;var CKe=z9,Nm="",kO=[],zb=[],qb=[],SKe=S(function(){kO.length=0,zb.length=0,Nm="",qb.length=0,Kn()},"clear"),EKe=S(function(t){Nm=t,kO.push(t)},"addSection"),kKe=S(function(){return kO},"getSections"),_Ke=S(function(){let t=lY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),LKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Nm,type:Nm,people:a,task:t,score:n};qb.push(s)},"addTask"),RKe=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};zb.push(e)},"addTaskOrg"),lY=S(function(){const t=S(function(r){return qb[r].processed},"compileTask");let e=!0;for(const[r,n]of qb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),DKe=S(function(){return AKe()},"getActors"),cY={getConfig:S(()=>Pe().journey,"getConfig"),clear:SKe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:Xn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:EKe,getSections:kKe,getTasks:_Ke,addTask:LKe,addTaskOrg:RKe,getActors:DKe},NKe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var p=this.next();return p||this.lex()},"lex"),begin:S(function(p){this.conditionStack.push(p)},"begin"),popState:S(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:S(function(p){this.begin(p)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(p,m,v,b){switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();l.lexer=u;function h(){this.yy={}}return S(h,"Parser"),h.prototype=l,l.Parser=h,new h})();$9.parser=$9;var mKe=$9,Dm="",EO=[],$b=[],zb=[],yKe=S(function(){EO.length=0,$b.length=0,Dm="",zb.length=0,Kn()},"clear"),vKe=S(function(t){Dm=t,EO.push(t)},"addSection"),bKe=S(function(){return EO},"getSections"),xKe=S(function(){let t=oY();const e=100;let r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),wKe=S(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:Dm,type:Dm,people:a,task:t,score:n};zb.push(s)},"addTask"),CKe=S(function(t){const e={section:Dm,type:Dm,description:t,task:t,classes:[]};$b.push(e)},"addTaskOrg"),oY=S(function(){const t=S(function(r){return zb[r].processed},"compileTask");let e=!0;for(const[r,n]of zb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),SKe=S(function(){return TKe()},"getActors"),lY={getConfig:S(()=>Pe().journey,"getConfig"),clear:yKe,setDiagramTitle:li,getDiagramTitle:Zn,setAccTitle:jn,getAccTitle:ci,setAccDescription:ui,getAccDescription:hi,addSection:vKe,getSections:bKe,getTasks:xKe,addTask:wKe,addTaskOrg:CKe,getActors:SKe},EKe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.textColor}; } @@ -2603,13 +2603,13 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[N]||N)+"'":X="Parse error on .actor-5 { ${t.actor5?`fill: ${t.actor5}`:""}; } - ${bx()} -`,"getStyles"),MKe=NKe,_O=S(function(t,e){return NS(t,e)},"drawRect"),OKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Mle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Ole=S(function(t,e){return KBe(t,e)},"drawText"),IKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Ole(t,e)},"drawLabel"),BKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,_O(n,i),Ile(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),q9=-1,PKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");q9++,a.append("line").attr("id",n+"-task"+q9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),OKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,_O(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Mle(a,d),l+=10}),Ile(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),FKe=S(function(t,e){Yie(t,e)},"drawBackgroundRect"),Ile=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=vu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:vu[i].position};Vb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=Vb.drawText(t,f).node().getBoundingClientRect().width;m>s5&&m>e.leftMargin-m&&(s5=m)}),n+=Math.max(20,u.length*20)})}S(Ble,"drawActorLegend");var nl=Pe().journey,Ih=0,qKe=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);Vb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in vu)delete vu[E];let v=0;m.forEach(E=>{vu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ble(d),Ih=nl.leftMargin+s5,Io.insert(0,0,Ih,Object.keys(vu).length*50),VKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Ih).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Ih+b.stopx+2*nl.diagramMarginX;Ui(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Ih).attr("y1",nl.height*4).attr("x2",C-Ih-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},MA=nl.sectionFills,uY=nl.sectionColours,VKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=MA[l%MA.length],d=l%MA.length,h=uY[l%uY.length];let v=0;const b=p.section;for(let C=f;C(vu[b]&&(v[b]=vu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Ih,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,Vb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),hY={setConf:zKe,draw:qKe},GKe={parser:CKe,db:cY,renderer:hY,styles:MKe,init:S(t=>{hY.setConf(t.journey),cY.clear()},"init")};const UKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:GKe},Symbol.toStringTag,{value:"Module"}));var V9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,A=0,k=2,R=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||R,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,j,Z,X;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";X=[];for(H in T[M])this.terminals_[H]&&H>k&&X.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: + ${vx()} +`,"getStyles"),kKe=EKe,kO=S(function(t,e){return DS(t,e)},"drawRect"),_Ke=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=om().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=om().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Nle=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Mle=S(function(t,e){return GBe(t,e)},"drawText"),AKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Mle(t,e)},"drawLabel"),LKe=S(function(t,e,r){const n=t.append("g"),i=vo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,kO(n,i),Ole(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),z9=-1,RKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");z9++,a.append("line").attr("id",n+"-task"+z9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),_Ke(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=vo();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,kO(a,o);let l=e.x+14;e.people.forEach(u=>{const h=e.actors[u].color,d={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Nle(a,d),l+=10}),Ole(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),DKe=S(function(t,e){Wie(t,e)},"drawBackgroundRect"),Ole=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b{const a=yu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:yu[i].position};qb.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const h=i.split(" ");let d="";o=t.append("text").attr("visibility","hidden"),h.forEach(f=>{const p=d?`${d} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(d&&u.push(d),d=f,o.text(f),o.node().getBoundingClientRect().width>r){let v="";for(const b of f)v+=b,o.text(v+"-"),o.node().getBoundingClientRect().width>r&&(u.push(v.slice(0,-1)+"-"),v=b);d=v}}else d=p}),d&&u.push(d),o.remove()}u.forEach((h,d)=>{const f={x:40,y:n+7+d*20,fill:"#666",text:h,textMargin:e.boxTextMargin??5},m=qb.drawText(t,f).node().getBoundingClientRect().width;m>a5&&m>e.leftMargin-m&&(a5=m)}),n+=Math.max(20,u.length*20)})}S(Ile,"drawActorLegend");var nl=Pe().journey,Mh=0,OKe=S(function(t,e,r,n){const i=Pe(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=kt("#i"+e));const h=kt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Io.init();const d=h.select("#"+e);qb.initGraphics(d,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),m=n.db.getActors();for(const E in yu)delete yu[E];let v=0;m.forEach(E=>{yu[E]={color:nl.actorColours[v%nl.actorColours.length],position:v},v++}),Ile(d),Mh=nl.leftMargin+a5,Io.insert(0,0,Mh,Object.keys(yu).length*50),IKe(d,f,0,e);const b=Io.getBounds();p&&d.append("text").text(p).attr("x",Mh).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const x=b.stopy-b.starty+2*nl.diagramMarginY,C=Mh+b.stopx+2*nl.diagramMarginX;Ui(d,x,C,nl.useMaxWidth),d.append("line").attr("x1",Mh).attr("y1",nl.height*4).attr("x2",C-Mh-4).attr("y2",nl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const T=p?70:0;d.attr("viewBox",`${b.startx} -25 ${C} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Io={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:S(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:S(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:S(function(t,e,r,n){const i=Pe().journey,a=this;let s=0;function o(l){return S(function(h){s++;const d=a.sequenceItems.length-s+1;a.updateVal(h,"starty",e-d*i.boxMargin,Math.min),a.updateVal(h,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Io.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopx",r+d*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(h,"startx",t-d*i.boxMargin,Math.min),a.updateVal(h,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Io.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Io.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}S(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:S(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Io.data,"startx",i,Math.min),this.updateVal(Io.data,"starty",s,Math.min),this.updateVal(Io.data,"stopx",a,Math.max),this.updateVal(Io.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:S(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:S(function(){return this.verticalPos},"getVerticalPos"),getBounds:S(function(){return this.data},"getBounds")},NA=nl.sectionFills,cY=nl.sectionColours,IKe=S(function(t,e,r,n){const i=Pe().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",h="black",d=0;for(const[f,p]of e.entries()){if(a!==p.section){u=NA[l%NA.length],d=l%NA.length,h=cY[l%cY.length];let v=0;const b=p.section;for(let C=f;C(yu[b]&&(v[b]=yu[b]),v),{});p.x=f*i.taskMargin+f*i.width+Mh,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=h,p.fill=u,p.num=d,p.actors=m,qb.drawTask(t,p,i,n),Io.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),uY={setConf:MKe,draw:OKe},BKe={parser:mKe,db:lY,renderer:uY,styles:kKe,init:S(t=>{uY.setConf(t.journey),lY.clear()},"init")};const PKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:BKe},Symbol.toStringTag,{value:"Module"}));var q9=(function(){var t=S(function(f,p,m,v){for(m=m||{},v=f.length;v--;m[f[v]]=p);return m},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:S(function(p,m,v,b,x,C,T){var E=C.length-1;switch(x){case 1:return C[E-1];case 3:b.setDirection("LR");break;case 4:b.setDirection("TD");break;case 5:this.$=[];break;case 6:C[E-1].push(C[E]),this.$=C[E-1];break;case 7:case 8:this.$=C[E];break;case 9:case 10:this.$=[];break;case 11:b.getCommonDb().setDiagramTitle(C[E].substr(6)),this.$=C[E].substr(6);break;case 12:this.$=C[E].trim(),b.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=C[E].trim(),b.getCommonDb().setAccDescription(this.$);break;case 15:b.addSection(C[E].substr(8)),this.$=C[E].substr(8);break;case 18:b.addTask(C[E],0,""),this.$=C[E];break;case 19:b.addEvent(C[E].substr(2)),this.$=C[E];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:S(function(p,m){if(m.recoverable)this.trace(p);else{var v=new Error(p);throw v.hash=m,v}},"parseError"),parse:S(function(p){var m=this,v=[0],b=[],x=[null],C=[],T=this.table,E="",_=0,R=0,k=2,L=1,O=C.slice.call(arguments,1),F=Object.create(this.lexer),$={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&($.yy[q]=this.yy[q]);F.setInput(p,$.yy),$.yy.lexer=F,$.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;C.push(z);var D=F.options&&F.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){v.length=v.length-2*Q,x.length=x.length-Q,C.length=C.length-Q}S(I,"popStack");function N(){var Q;return Q=b.pop()||F.lex()||L,typeof Q!="number"&&(Q instanceof Array&&(b=Q,Q=b.pop()),Q=m.symbols_[Q]||Q),Q}S(N,"lex");for(var B,M,V,U,P={},H,X,Z,j;;){if(M=v[v.length-1],this.defaultActions[M]?V=this.defaultActions[M]:((B===null||typeof B>"u")&&(B=N()),V=T[M]&&T[M][B]),typeof V>"u"||!V.length||!V[0]){var ee="";j=[];for(H in T[M])this.terminals_[H]&&H>k&&j.push("'"+this.terminals_[H]+"'");F.showPosition?ee="Parse error on line "+(_+1)+`: `+F.showPosition()+` -Expecting `+X.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==R?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:X})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,A=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(j=this.productions_[V[1]][1],P.$=x[x.length-j],P._$={first_line:C[C.length-(j||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(j||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(j||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,A,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;j&&(v=v.slice(0,-1*j*2),x=x.slice(0,-1*j),C=C.slice(0,-1*j)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+j.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(_+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:F.match,token:this.terminals_[B]||B,line:F.yylineno,loc:z,expected:j})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(V[0]){case 1:v.push(B),x.push(F.yytext),C.push(F.yylloc),v.push(V[1]),B=null,R=F.yyleng,E=F.yytext,_=F.yylineno,z=F.yylloc;break;case 2:if(X=this.productions_[V[1]][1],P.$=x[x.length-X],P._$={first_line:C[C.length-(X||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(X||1)].first_column,last_column:C[C.length-1].last_column},D&&(P._$.range=[C[C.length-(X||1)].range[0],C[C.length-1].range[1]]),U=this.performAction.apply(P,[E,R,_,$.yy,V[1],x,C].concat(O)),typeof U<"u")return U;X&&(v=v.slice(0,-1*X*2),x=x.slice(0,-1*X),C=C.slice(0,-1*X)),v.push(this.productions_[V[1]][0]),x.push(P.$),C.push(P._$),Z=T[v[v.length-2]][v[v.length-1]],v.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:S(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:S(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:S(function(p){var m=p.length,v=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(p){this.unput(this.match.slice(p))},"less"),pastInput:S(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:S(function(p,m){var v,b,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),b=p[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var C in x)this[C]=x[C];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,v,b;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),C=0;Cm[0].length)){if(m=v,b=C,this.options.backtrack_lexer){if(p=this.test_match(v,x[C]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,x[b]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var m=this.next();return m||this.lex()},"lex"),begin:S(function(m){this.conditionStack.push(m)},"begin"),popState:S(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();V9.parser=V9;var HKe=V9,Ple={};fC(Ple,{addEvent:()=>Yle,addSection:()=>Gle,addTask:()=>Wle,addTaskOrg:()=>jle,clear:()=>zle,default:()=>WKe,getCommonDb:()=>$le,getDirection:()=>Vle,getSections:()=>Ule,getTasks:()=>Hle,setDirection:()=>qle});var Mm="",Fle=0,AO="LR",LO=[],aC=[],Om=[],$le=S(()=>yD,"getCommonDb"),zle=S(function(){LO.length=0,aC.length=0,Mm="",Om.length=0,AO="LR",Kn()},"clear"),qle=S(function(t){AO=t},"setDirection"),Vle=S(function(){return AO},"getDirection"),Gle=S(function(t){Mm=t,LO.push(t)},"addSection"),Ule=S(function(){return LO},"getSections"),Hle=S(function(){let t=dY();const e=100;let r=0;for(;!t&&rr.id===Fle-1).events.push(t)},"addEvent"),jle=S(function(t){const e={section:Mm,type:Mm,description:t,task:t,classes:[]};aC.push(e)},"addTaskOrg"),dY=S(function(){const t=S(function(r){return Om[r].processed},"compileTask");let e=!0;for(const[r,n]of Om.entries())t(r),e=e&&n.processed;return e},"compileTasks"),WKe={clear:zle,getCommonDb:$le,getDirection:Vle,setDirection:qle,addSection:Gle,getSections:Ule,getTasks:Hle,addTask:Wle,addTaskOrg:jle,addEvent:Yle},Xle=0,rE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),YKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=lm().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=lm().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),jKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Kle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),XKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Kle(t,e)},"drawLabel"),KKe=S(function(t,e,r){const n=t.append("g"),i=RO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,rE(n,i),Zle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),G9=-1,ZKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");G9++,a.append("line").attr("id",n+"-task"+G9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),YKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=RO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,rE(a,o),Zle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),QKe=S(function(t,e){rE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),JKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),RO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Zle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(DO,"wrap");var tZe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),nZe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const A=T.select("defs");(A.empty()?T.append("defs"):A).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),rZe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(DO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),nZe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+Xle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Bs={drawRect:rE,drawCircle:jKe,drawSection:KKe,drawText:Kle,drawLabel:XKe,drawTask:ZKe,drawBackgroundRect:QKe,getTextObj:JKe,getNoteRect:RO,initGraphics:eZe,drawNode:tZe,getVirtualNodeHeight:rZe},iZe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Bs.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,A=0,k=50+d,R=50;A=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Bs.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Bs.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Bs.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Bs.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${A})`),R+=T+50,N.length>0&&fY(v,N,O,k,R,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),R=A,O++}):(F=!1,fY(v,b,O,k,R,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Pm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),fY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Bs.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+aZe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),aZe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Bs.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),sZe={setConf:S(()=>{},"setConf"),draw:iZe},nE=200,hu=5,oZe=nE+hu*2,NO=nE+100,lZe=NO+hu*2,Qle=10,cZe=0,pY=20,Jle=20,gY=30,ece=50,uZe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Vs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Bs.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=oZe+Jle,x=lZe+ece,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,A=Math.max(50,b+x-hu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h},B=Bs.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:nE,padding:hu,maxHeight:d},M=Bs.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:NO,padding:hu,maxHeight:50};V+=Bs.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Qle),k=Math.max(k,V)+cZe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+gY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:A,padding:hu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Bs.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+pY;N.length>0&&mY(s,N,T,_,P,d,i,O,!1);const H=N.length,j=V.height+pY+O*Math.max(H,1)-(H>0?gY*2:0);p+=j,T++}):mY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=zu(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Pm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),mY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:nE,padding:hu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Bs.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Jle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+ece;hZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),hZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:NO,padding:hu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Bs.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Qle}return o-a},"drawEvents"),dZe={setConf:S(()=>{},"setConf"),draw:uZe},fZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:S(function(m){this.begin(m)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(m,v,b,x){switch(b){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return S(d,"Parser"),d.prototype=u,u.Parser=d,new d})();q9.parser=q9;var FKe=q9,Ble={};dC(Ble,{addEvent:()=>Wle,addSection:()=>Vle,addTask:()=>Hle,addTaskOrg:()=>Yle,clear:()=>$le,default:()=>$Ke,getCommonDb:()=>Fle,getDirection:()=>qle,getSections:()=>Gle,getTasks:()=>Ule,setDirection:()=>zle});var Nm="",Ple=0,_O="LR",AO=[],iC=[],Mm=[],Fle=S(()=>mD,"getCommonDb"),$le=S(function(){AO.length=0,iC.length=0,Nm="",Mm.length=0,_O="LR",Kn()},"clear"),zle=S(function(t){_O=t},"setDirection"),qle=S(function(){return _O},"getDirection"),Vle=S(function(t){Nm=t,AO.push(t)},"addSection"),Gle=S(function(){return AO},"getSections"),Ule=S(function(){let t=hY();const e=100;let r=0;for(;!t&&rr.id===Ple-1).events.push(t)},"addEvent"),Yle=S(function(t){const e={section:Nm,type:Nm,description:t,task:t,classes:[]};iC.push(e)},"addTaskOrg"),hY=S(function(){const t=S(function(r){return Mm[r].processed},"compileTask");let e=!0;for(const[r,n]of Mm.entries())t(r),e=e&&n.processed;return e},"compileTasks"),$Ke={clear:$le,getCommonDb:Fle,getDirection:qle,setDirection:zle,addSection:Vle,getSections:Gle,getTasks:Ule,addTask:Hle,addTaskOrg:Yle,addEvent:Wle},Xle=0,tE=S(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),zKe=S(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(l){const u=om().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}S(a,"smile");function s(l){const u=om().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}S(s,"sad");function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return S(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),qKe=S(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),jle=S(function(t,e){const r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),VKe=S(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}S(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,jle(t,e)},"drawLabel"),GKe=S(function(t,e,r){const n=t.append("g"),i=LO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,tE(n,i),Kle(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),V9=-1,UKe=S(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");V9++,a.append("line").attr("id",n+"-task"+V9).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),zKe(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=LO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,tE(a,o),Kle(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),HKe=S(function(t,e){tE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),WKe=S(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),LO=S(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Kle=(function(){function t(i,a,s,o,l,u,h,d){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(f,h)}S(t,"byText");function e(i,a,s,o,l,u,h,d,f){const{taskFontSize:p,taskFontFamily:m}=d,v=i.split(//gi);for(let b=0;b)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let h=0;he||i==="
    ")&&(a.pop(),u.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}S(RO,"wrap");var XKe=S(function(t,e,r,n,i,a=!1){const{theme:s,look:o}=n,l=s?.includes("redux"),u=n?.themeVariables?.THEME_COLOR_LIMIT??12,h=r%u-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+h));const f=d.append("g"),p=d.append("g"),v=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(RO,e.width).node().getBBox(),b=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=v.height+b*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),KKe(f,e,h,i,n),o==="neo"&&(d.attr("data-look","neo"),l)){const x=s.includes("dark"),C=t.node()?.ownerSVGElement??t.node(),T=kt(C),E=T.attr("id")??"",_=E?`${E}-drop-shadow`:"drop-shadow";if(T.select(`#${_}`).empty()){const R=T.select("defs");(R.empty()?T.append("defs"):R).append("filter").attr("id",_).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return e},"drawNode"),jKe=S(function(t,e,r){const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(RO,e.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),KKe=S(function(t,e,r,n,i){const{theme:a}=i,s=a?.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+Xle++).attr("class","node-bkg node-"+e.type).attr("d",l),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),Bs={drawRect:tE,drawCircle:qKe,drawSection:GKe,drawText:jle,drawLabel:VKe,drawTask:UKe,drawBackgroundRect:HKe,getTextObj:WKe,getNoteRect:LO,initGraphics:YKe,drawNode:XKe,getVirtualNodeHeight:jKe},ZKe=S(function(t,e,r,n){const i=Pe(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:h}=o,d=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=kt("#i"+e));const v=kt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);v.append("g");const b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();oe.debug("task",b),Bs.initGraphics(v,e);const C=n.db.getSections();oe.debug("sections",C);let T=0,E=0,_=0,R=0,k=50+d,L=50;R=50;let O=0,F=!0;C.forEach(function(I){const N={number:O,descr:I,section:O,width:150,padding:20,maxHeight:T},B=Bs.getVirtualNodeHeight(v,N,i);oe.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let $=0,q=0;oe.debug("tasks.length",b.length);for(const[I,N]of b.entries()){const B={number:I,descr:N,section:N.section,width:150,padding:20,maxHeight:E},M=Bs.getVirtualNodeHeight(v,B,i);oe.debug("taskHeight before draw",M),E=Math.max(E,M+20),$=Math.max($,N.events.length);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};V+=Bs.getVirtualNodeHeight(v,P,i)}N.events.length>0&&(V+=(N.events.length-1)*10),q=Math.max(q,V)}oe.debug("maxSectionHeight before draw",T),oe.debug("maxTaskHeight before draw",E),C&&C.length>0?C.forEach(I=>{const N=b.filter(U=>U.section===I),B={number:O,descr:I,section:O,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:T};oe.debug("sectionNode",B);const M=v.append("g"),V=Bs.drawNode(M,B,O,i,e);oe.debug("sectionNode output",V),M.attr("transform",`translate(${k}, ${R})`),L+=T+50,N.length>0&&dY(v,N,O,k,L,E,i,$,q,T,!1,e),k+=200*Math.max(N.length,1),L=R,O++}):(F=!1,dY(v,b,O,k,L,E,i,$,q,T,!0,e));const z=v.node().getBBox();if(oe.debug("bounds",z),x&&v.append("text").text(x).attr("x",a==="neo"?z.x*2+d:z.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=F?T+E+150:E+100,v.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",_).attr("x2",z.width+3*d).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const I=v.select("defs"),B=(I.empty()?v.append("defs"):I).append("linearGradient").attr("id",v.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}Bm(void 0,v,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),dY=S(function(t,e,r,n,i,a,s,o,l,u,h,d){for(const f of e){const p={descr:f.task,section:r,number:r,width:150,padding:20,maxHeight:a};oe.debug("taskNode",p);const m=t.append("g").attr("class","taskWrapper"),b=Bs.drawNode(m,p,r,s,d).height;if(oe.debug("taskHeight after draw",b),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,b),f.events){const x=t.append("g").attr("class","lineWrapper");let C=a;i+=100,C=C+QKe(t,f.events,r,n,i,s,d),i-=100,x.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,h&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),QKe=S(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};oe.debug("eventNode",h);const d=t.append("g").attr("class","eventWrapper"),p=Bs.drawNode(d,h,r,a,s,!0).height;o=o+p,d.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),JKe={setConf:S(()=>{},"setConf"),draw:ZKe},rE=200,uu=5,eZe=rE+uu*2,DO=rE+100,tZe=DO+uu*2,Zle=10,rZe=0,fY=20,Qle=20,pY=30,Jle=50,nZe=S(function(t,e,r,n){const i=Pe(),a=i.timeline?.leftMargin??50;oe.debug("timeline",n.db);const s=Vs(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();oe.debug("task",o),Bs.initGraphics(s);const u=n.db.getSections();oe.debug("sections",u);let h=0,d=0;const f=50+a;let p=50;const m=p,v=f,b=eZe+Qle,x=tZe+Jle,C=v+b;let T=0;const E=u&&u.length>0,_=E?C:f+b,R=Math.max(50,b+x-uu*2);u.forEach(function(I){const N={number:T,descr:I,section:T,width:R,padding:uu,maxHeight:h},B=Bs.getVirtualNodeHeight(s,N,i);oe.debug("sectionHeight before draw",B),h=Math.max(h,B)});let k=0;oe.debug("tasks.length",o.length);for(const[I,N]of o.entries()){const B={number:I,descr:N,section:N.section,width:rE,padding:uu,maxHeight:d},M=Bs.getVirtualNodeHeight(s,B,i);oe.debug("taskHeight before draw",M),d=Math.max(d,M);let V=0;for(const U of N.events){const P={descr:U,section:N.section,number:N.section,width:DO,padding:uu,maxHeight:50};V+=Bs.getVirtualNodeHeight(s,P,i)}N.events.length>0&&(V+=(N.events.length-1)*Zle),k=Math.max(k,V)+rZe}oe.debug("maxSectionHeight before draw",h),oe.debug("maxTaskHeight before draw",d);const O=Math.max(d,k)+pY;E?u.forEach(I=>{const N=o.filter(Z=>Z.section===I),B={number:T,descr:I,section:T,width:R,padding:uu,maxHeight:h};oe.debug("sectionNode",B);const M=s.append("g"),V=Bs.drawNode(M,B,T,i);oe.debug("sectionNode output",V);const U=_-b;M.attr("transform",`translate(${U}, ${p})`);const P=p+V.height+fY;N.length>0&&gY(s,N,T,_,P,d,i,O,!1);const H=N.length,X=V.height+fY+O*Math.max(H,1)-(H>0?pY*2:0);p+=X,T++}):gY(s,o,T,_,p,d,i,O,!0);let F=s.node()?.getBBox();if(!F)throw new Error("bbox not found");if(oe.debug("bounds",F),l){if(s.append("text").text(l).attr("x",F.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),F=s.node()?.getBBox(),!F)throw new Error("bbox not found");oe.debug("bounds after title",F)}const[$]=$u(i.fontSize),q=($??16)*2,z=($??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",_).attr("y1",m-q).attr("x2",_).attr("y2",F.y+F.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),Bm(void 0,s,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),gY=S(function(t,e,r,n,i,a,s,o,l){for(const u of e){const h={descr:u.task,section:r,number:r,width:rE,padding:uu,maxHeight:a};oe.debug("taskNode",h);const d=t.append("g").attr("class","taskWrapper"),f=Bs.drawNode(d,h,r,s),p=f.height;oe.debug("taskHeight after draw",p);const m=n-Qle-f.width;if(d.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,p),u.events&&u.events.length>0){const v=i,b=n+Jle;iZe(t,u.events,r,n,b,v,s)}i=i+o,l&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),iZe=S(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:DO,padding:uu,maxHeight:0};oe.debug("eventNode",u);const h=t.append("g").attr("class","eventWrapper"),f=Bs.drawNode(h,u,r,s).height;h.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),m=o+f/2;p.append("line").attr("x1",n).attr("y1",m).attr("x2",i).attr("y2",m).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+Zle}return o-a},"drawEvents"),aZe={setConf:S(()=>{},"setConf"),draw:nZe},sZe=S(t=>{const{theme:e}=gr(),r=e?.includes("dark"),n=e?.includes("color"),i=t.svgId?.replace(/^#/,"")??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let o=0;o{let e="";for(let r=0;r{let e="";for(let r=0;r{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{const{theme:e}=gr(),r=e?.includes("redux"),n=e==="neutral",i=t.svgId?.replace(/^#/,"")??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let s=0;s{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?dZe.draw(t,e,r,n):sZe.draw(t,e,r,n),"draw")},vZe={db:Ple,renderer:yZe,parser:HKe,styles:mZe};const bZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:vZe},Symbol.toStringTag,{value:"Module"})),Ca=[];for(let t=0;t<256;++t)Ca.push((t+256).toString(16).slice(1));function xZe(t,e=0){return(Ca[t[e+0]]+Ca[t[e+1]]+Ca[t[e+2]]+Ca[t[e+3]]+"-"+Ca[t[e+4]]+Ca[t[e+5]]+"-"+Ca[t[e+6]]+Ca[t[e+7]]+"-"+Ca[t[e+8]]+Ca[t[e+9]]+"-"+Ca[t[e+10]]+Ca[t[e+11]]+Ca[t[e+12]]+Ca[t[e+13]]+Ca[t[e+14]]+Ca[t[e+15]]).toLowerCase()}let OA;const TZe=new Uint8Array(16);function wZe(){if(!OA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");OA=crypto.getRandomValues.bind(crypto)}return OA(TZe)}const CZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yY={randomUUID:CZe};function SZe(t,e,r){if(yY.randomUUID&&!t)return yY.randomUUID();t=t||{};const n=t.random??t.rng?.()??wZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,xZe(n)}var U9=(function(){var t=S(function(E,_,A,k){for(A=A||{},k=E.length;k--;A[E[k]]=_);return A},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,A,k,R,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return R;case 8:R.getLogger().trace("Stop NL ");break;case 9:R.getLogger().trace("Stop EOF ");break;case 11:R.getLogger().trace("Stop NL2 ");break;case 12:R.getLogger().trace("Stop EOF2 ");break;case 15:R.getLogger().info("Node: ",F[q].id),R.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:R.getLogger().trace("Icon: ",F[q]),R.decorateNode({icon:F[q]});break;case 17:case 21:R.decorateNode({class:F[q]});break;case 18:R.getLogger().trace("SPACELIST");break;case 19:R.getLogger().trace("Node: ",F[q].id),R.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:R.decorateNode({icon:F[q]});break;case 25:R.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:R.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:R.nodeType.DEFAULT};break;case 27:R.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:R.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,A){if(A.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=A,k}},"parseError"),parse:S(function(_){var A=this,k=[0],R=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(j,"popStack");function Z(){var Me;return Me=R.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(R=Me,Me=R.pop()),Me=A.symbols_[Me]||Me),Me}S(Z,"lex");for(var X,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((X===null||typeof X>"u")&&(X=Z()),Q=$[ee]&&$[ee][X]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: +`},"getStyles"),cZe=lZe,uZe={setConf:S(()=>{},"setConf"),draw:S((t,e,r,n)=>(n?.db?.getDirection?.()??"LR")==="TD"?aZe.draw(t,e,r,n):JKe.draw(t,e,r,n),"draw")},hZe={db:Ble,renderer:uZe,parser:FKe,styles:cZe};const dZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:hZe},Symbol.toStringTag,{value:"Module"})),Ca=[];for(let t=0;t<256;++t)Ca.push((t+256).toString(16).slice(1));function fZe(t,e=0){return(Ca[t[e+0]]+Ca[t[e+1]]+Ca[t[e+2]]+Ca[t[e+3]]+"-"+Ca[t[e+4]]+Ca[t[e+5]]+"-"+Ca[t[e+6]]+Ca[t[e+7]]+"-"+Ca[t[e+8]]+Ca[t[e+9]]+"-"+Ca[t[e+10]]+Ca[t[e+11]]+Ca[t[e+12]]+Ca[t[e+13]]+Ca[t[e+14]]+Ca[t[e+15]]).toLowerCase()}let MA;const pZe=new Uint8Array(16);function gZe(){if(!MA){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");MA=crypto.getRandomValues.bind(crypto)}return MA(pZe)}const mZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),mY={randomUUID:mZe};function yZe(t,e,r){if(mY.randomUUID&&!t)return mY.randomUUID();t=t||{};const n=t.random??t.rng?.()??gZe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,fZe(n)}var G9=(function(){var t=S(function(E,_,R,k){for(R=R||{},k=E.length;k--;R[E[k]]=_);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],v=[1,34],b=[1,6,7,11,13,15,16,19,22],x={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(_,R,k,L,O,F,$){var q=F.length-1;switch(O){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",F[q].id),L.addNode(F[q-1].length,F[q].id,F[q].descr,F[q].type);break;case 16:L.getLogger().trace("Icon: ",F[q]),L.decorateNode({icon:F[q]});break;case 17:case 21:L.decorateNode({class:F[q]});break;case 18:L.getLogger().trace("SPACELIST");break;case 19:L.getLogger().trace("Node: ",F[q].id),L.addNode(0,F[q].id,F[q].descr,F[q].type);break;case 20:L.decorateNode({icon:F[q]});break;case 25:L.getLogger().trace("node found ..",F[q-2]),this.$={id:F[q-1],descr:F[q-1],type:L.getType(F[q-2],F[q])};break;case 26:this.$={id:F[q],descr:F[q],type:L.nodeType.DEFAULT};break;case 27:L.getLogger().trace("node found ..",F[q-3]),this.$={id:F[q-3],descr:F[q-1],type:L.getType(F[q-2],F[q])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:m,11:v}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:v}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(_,R){if(R.recoverable)this.trace(_);else{var k=new Error(_);throw k.hash=R,k}},"parseError"),parse:S(function(_){var R=this,k=[0],L=[],O=[null],F=[],$=this.table,q="",z=0,D=0,I=2,N=1,B=F.slice.call(arguments,1),M=Object.create(this.lexer),V={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(V.yy[U]=this.yy[U]);M.setInput(_,V.yy),V.yy.lexer=M,V.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var P=M.yylloc;F.push(P);var H=M.options&&M.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Me){k.length=k.length-2*Me,O.length=O.length-Me,F.length=F.length-Me}S(X,"popStack");function Z(){var Me;return Me=L.pop()||M.lex()||N,typeof Me!="number"&&(Me instanceof Array&&(L=Me,Me=L.pop()),Me=R.symbols_[Me]||Me),Me}S(Z,"lex");for(var j,ee,Q,he,te={},ae,ie,ne,me;;){if(ee=k[k.length-1],this.defaultActions[ee]?Q=this.defaultActions[ee]:((j===null||typeof j>"u")&&(j=Z()),Q=$[ee]&&$[ee][j]),typeof Q>"u"||!Q.length||!Q[0]){var pe="";me=[];for(ae in $[ee])this.terminals_[ae]&&ae>I&&me.push("'"+this.terminals_[ae]+"'");M.showPosition?pe="Parse error on line "+(z+1)+`: `+M.showPosition()+` -Expecting `+me.join(", ")+", got '"+(this.terminals_[X]||X)+"'":pe="Parse error on line "+(z+1)+": Unexpected "+(X==N?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(pe,{text:M.match,token:this.terminals_[X]||X,line:M.yylineno,loc:P,expected:me})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+X);switch(Q[0]){case 1:k.push(X),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),X=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:S(function(A,k){if(this.yy.parser)this.yy.parser.parseError(A,k);else throw new Error(A)},"parseError"),setInput:S(function(_,A){return this.yy=A||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var A=_.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:S(function(_){var A=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===R.length?this.yylloc.first_column:0)+R[R.length-k.length].length-k[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_){this.unput(this.match.slice(_))},"less"),pastInput:S(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _=this.pastInput(),A=new Array(_.length+1).join("-");return _+this.upcomingInput()+` -`+A+"^"},"showPosition"),test_match:S(function(_,A){var k,R,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),R=_[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,A,k,R;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FA[0].length)){if(A=k,R=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(_=this.test_match(A,O[R]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var A=this.next();return A||this.lex()},"lex"),begin:S(function(A){this.conditionStack.push(A)},"begin"),popState:S(function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:"INITIAL"},"topState"),pushState:S(function(A){this.begin(A)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(A,k,R,O){switch(R){case 0:return A.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:A.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return A.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:A.getLogger().trace("end icon"),this.popState();break;case 10:return A.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return A.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return A.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return A.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:A.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return A.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),A.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),A.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),A.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),A.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),A.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";case 35:return A.getLogger().trace("Long description:",k.yytext),20;case 36:return A.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U9.parser=U9;var EZe=U9,kZe=12,Jc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Y1,_Ze=(Y1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Jc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(kZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Jc.CIRCLE:return"mindmapCircle";case Jc.RECT:return"rect";case Jc.ROUNDED_RECT:return"rounded";case Jc.CLOUD:return"cloud";case Jc.BANG:return"bang";case Jc.HEXAGON:return"hexagon";case Jc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Jc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=gpe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+SZe()}}getLogger(){return oe}},S(Y1,"MindmapDB"),Y1),AZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram -`+t);const i=n.db,a=i.getData(),s=ty(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=rx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await Vm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}V0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),LZe={draw:AZe},RZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+j);switch(Q[0]){case 1:k.push(j),O.push(M.yytext),F.push(M.yylloc),k.push(Q[1]),j=null,D=M.yyleng,q=M.yytext,z=M.yylineno,P=M.yylloc;break;case 2:if(ie=this.productions_[Q[1]][1],te.$=O[O.length-ie],te._$={first_line:F[F.length-(ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ie||1)].first_column,last_column:F[F.length-1].last_column},H&&(te._$.range=[F[F.length-(ie||1)].range[0],F[F.length-1].range[1]]),he=this.performAction.apply(te,[q,D,z,V.yy,Q[1],O,F].concat(B)),typeof he<"u")return he;ie&&(k=k.slice(0,-1*ie*2),O=O.slice(0,-1*ie),F=F.slice(0,-1*ie)),k.push(this.productions_[Q[1]][0]),O.push(te.$),F.push(te._$),ne=$[k[k.length-2]][k[k.length-1]],k.push(ne);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:S(function(R,k){if(this.yy.parser)this.yy.parser.parseError(R,k);else throw new Error(R)},"parseError"),setInput:S(function(_,R){return this.yy=R||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var R=_.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:S(function(_){var R=_.length,k=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===L.length?this.yylloc.first_column:0)+L[L.length-k.length].length-k[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(_){this.unput(this.match.slice(_))},"less"),pastInput:S(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var _=this.pastInput(),R=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+R+"^"},"showPosition"),test_match:S(function(_,R){var k,L,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),L=_[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],k=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var F in O)this[F]=O[F];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,R,k,L;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),F=0;FR[0].length)){if(R=k,L=F,this.options.backtrack_lexer){if(_=this.test_match(k,O[F]),_!==!1)return _;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(_=this.test_match(R,O[L]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var R=this.next();return R||this.lex()},"lex"),begin:S(function(R){this.conditionStack.push(R)},"begin"),popState:S(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:S(function(R){this.begin(R)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(R,k,L,O){switch(L){case 0:return R.getLogger().trace("Found comment",k.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return R.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:R.getLogger().trace("end icon"),this.popState();break;case 10:return R.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return R.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return R.getLogger().trace("description:",k.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),R.getLogger().trace("node end ...",k.yytext),"NODE_DEND";case 30:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";case 35:return R.getLogger().trace("Long description:",k.yytext),20;case 36:return R.getLogger().trace("Long description:",k.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=C;function T(){this.yy={}}return S(T,"Parser"),T.prototype=x,x.Parser=T,new T})();G9.parser=G9;var vZe=G9,bZe=12,Qc={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},W1,xZe=(W1=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Qc,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){oe.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Pe();let o=s.mindmap?.padding??Vr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:Jr(r,s),level:e,descr:Jr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(oe.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Pe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=Jr(e.icon,r)),e.class&&(n.class=Jr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(bZe-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Pe(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=S(l=>{const h=(n.theme?.toLowerCase()??"").includes("redux");switch(l){case Qc.CIRCLE:return"mindmapCircle";case Qc.RECT:return"rect";case Qc.ROUNDED_RECT:return"rounded";case Qc.CLOUD:return"cloud";case Qc.BANG:return"bang";case Qc.HEXAGON:return"hexagon";case Qc.DEFAULT:return h?"rounded":"defaultMindmapNode";case Qc.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Pe();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Pe(),i=lpe().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};oe.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),oe.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+yZe()}}getLogger(){return oe}},S(W1,"MindmapDB"),W1),TZe=S(async(t,e,r,n)=>{oe.debug(`Rendering mindmap diagram +`+t);const i=n.db,a=i.getData(),s=ey(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=tx(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(f=>{f.shape==="rounded"?(f.radius=15,f.taper=15,f.stroke="none",f.width=0,f.padding=15):f.shape==="circle"?f.padding=10:f.shape==="rect"?(f.width=0,f.padding=10):f.shape==="hexagon"&&(f.width=0,f.height=0)}),await qm(a,s);const{themeVariables:l}=gr(),{useGradient:u,gradientStart:h,gradientStop:d}=l;if(u&&h&&d){const f=s.attr("id"),p=s.append("defs").append("linearGradient").attr("id",`${f}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");p.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),p.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}q0(s,a.config.mindmap?.padding??Vr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??Vr.mindmap.useMaxWidth)},"draw"),wZe={draw:TZe},CZe=S(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i{let n="";for(let i=0;i{let n="";for(let i=0;i{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` + }`;return n},"genGradient"),EZe=S(t=>{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` .edge { stroke-width: 3; } - ${RZe(t)} + ${CZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2817,18 +2817,18 @@ Expecting `+me.join(", ")+", got '"+(this.terminals_[X]||X)+"'":pe="Parse error [data-look="neo"].mindmap-node.section-root .text-inner-tspan { fill: ${e?.includes("redux")?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:0)]}; } - ${t.useGradient&&r&&t.mainBkg?DZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} -`},"getStyles"),MZe=NZe,OZe={get db(){return new _Ze},renderer:LZe,parser:EZe,styles:MZe};const IZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:OZe},Symbol.toStringTag,{value:"Module"}));var H9=(function(){var t=S(function(k,R,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=R);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(R,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(R,O){if(O.recoverable)this.trace(R);else{var F=new Error(R);throw F.hash=O,F}},"parseError"),parse:S(function(R){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(H.yy[j]=this.yy[j]);P.setInput(R,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var X=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Le){F.length=F.length-2*Le,q.length=q.length-Le,z.length=z.length-Le}S(ee,"popStack");function Q(){var Le;return Le=$.pop()||P.lex()||V,typeof Le!="number"&&(Le instanceof Array&&($=Le,Le=$.pop()),Le=O.symbols_[Le]||Le),Le}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: + ${t.useGradient&&r&&t.mainBkg?SZe(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} +`},"getStyles"),kZe=EZe,_Ze={get db(){return new xZe},renderer:wZe,parser:vZe,styles:kZe};const AZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:_Ze},Symbol.toStringTag,{value:"Module"}));var U9=(function(){var t=S(function(k,L,O,F){for(O=O||{},F=k.length;F--;O[k[F]]=L);return O},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,31],m=[6,7,11,24],v=[1,6,13,16,17,20,23],b=[1,35],x=[1,36],C=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:S(function(L,O,F,$,q,z,D){var I=z.length-1;switch(q){case 6:case 7:return $;case 8:$.getLogger().trace("Stop NL ");break;case 9:$.getLogger().trace("Stop EOF ");break;case 11:$.getLogger().trace("Stop NL2 ");break;case 12:$.getLogger().trace("Stop EOF2 ");break;case 15:$.getLogger().info("Node: ",z[I-1].id),$.addNode(z[I-2].length,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 16:$.getLogger().info("Node: ",z[I].id),$.addNode(z[I-1].length,z[I].id,z[I].descr,z[I].type);break;case 17:$.getLogger().trace("Icon: ",z[I]),$.decorateNode({icon:z[I]});break;case 18:case 23:$.decorateNode({class:z[I]});break;case 19:$.getLogger().trace("SPACELIST");break;case 20:$.getLogger().trace("Node: ",z[I-1].id),$.addNode(0,z[I-1].id,z[I-1].descr,z[I-1].type,z[I]);break;case 21:$.getLogger().trace("Node: ",z[I].id),$.addNode(0,z[I].id,z[I].descr,z[I].type);break;case 22:$.decorateNode({icon:z[I]});break;case 27:$.getLogger().trace("node found ..",z[I-2]),this.$={id:z[I-1],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 28:this.$={id:z[I],descr:z[I],type:0};break;case 29:$.getLogger().trace("node found ..",z[I-3]),this.$={id:z[I-3],descr:z[I-1],type:$.getType(z[I-2],z[I])};break;case 30:this.$=z[I-1]+z[I];break;case 31:this.$=z[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:h,10:23,11:d},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(m,[2,25]),t(m,[2,26]),t(m,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:h,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(v,[2,14],{7:b,11:x}),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:T}),t(m,[2,31]),{21:[1,39]},{22:[1,40]},t(v,[2,13],{7:b,11:x}),t(C,[2,11]),t(C,[2,12]),t(f,[2,15],{24:T}),t(m,[2,30]),{22:[1,41]},t(m,[2,27]),t(m,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(L,O){if(O.recoverable)this.trace(L);else{var F=new Error(L);throw F.hash=O,F}},"parseError"),parse:S(function(L){var O=this,F=[0],$=[],q=[null],z=[],D=this.table,I="",N=0,B=0,M=2,V=1,U=z.slice.call(arguments,1),P=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);P.setInput(L,H.yy),H.yy.lexer=P,H.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Z=P.yylloc;z.push(Z);var j=P.options&&P.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Ae){F.length=F.length-2*Ae,q.length=q.length-Ae,z.length=z.length-Ae}S(ee,"popStack");function Q(){var Ae;return Ae=$.pop()||P.lex()||V,typeof Ae!="number"&&(Ae instanceof Array&&($=Ae,Ae=$.pop()),Ae=O.symbols_[Ae]||Ae),Ae}S(Q,"lex");for(var he,te,ae,ie,ne={},me,pe,Me,$e;;){if(te=F[F.length-1],this.defaultActions[te]?ae=this.defaultActions[te]:((he===null||typeof he>"u")&&(he=Q()),ae=D[te]&&D[te][he]),typeof ae>"u"||!ae.length||!ae[0]){var He="";$e=[];for(me in D[te])this.terminals_[me]&&me>M&&$e.push("'"+this.terminals_[me]+"'");P.showPosition?He="Parse error on line "+(N+1)+`: `+P.showPosition()+` -Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},X&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:S(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:S(function(R,O){return this.yy=O||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var O=R.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},"input"),unput:S(function(R){var O=R.length,F=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(R){this.unput(this.match.slice(R))},"less"),pastInput:S(function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var R=this.pastInput(),O=new Array(R.length+1).join("-");return R+this.upcomingInput()+` -`+O+"^"},"showPosition"),test_match:S(function(R,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=R[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(R=this.test_match(F,q[z]),R!==!1)return R;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(R=this.test_match(O,q[$]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function A(){this.yy={}}return S(A,"Parser"),A.prototype=E,E.Parser=A,new A})();H9.parser=H9;var BZe=H9,Bo=[],MO=[],W9=0,OO={},PZe=S(()=>{Bo=[],MO=[],W9=0,OO={}},"clear"),FZe=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),zZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Zi.ROUNDED_RECT:case Zi.RECT:case Zi.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+W9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` +Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse error on line "+(N+1)+": Unexpected "+(he==V?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(He,{text:P.match,token:this.terminals_[he]||he,line:P.yylineno,loc:Z,expected:$e})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+he);switch(ae[0]){case 1:F.push(he),q.push(P.yytext),z.push(P.yylloc),F.push(ae[1]),he=null,B=P.yyleng,I=P.yytext,N=P.yylineno,Z=P.yylloc;break;case 2:if(pe=this.productions_[ae[1]][1],ne.$=q[q.length-pe],ne._$={first_line:z[z.length-(pe||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(pe||1)].first_column,last_column:z[z.length-1].last_column},j&&(ne._$.range=[z[z.length-(pe||1)].range[0],z[z.length-1].range[1]]),ie=this.performAction.apply(ne,[I,B,N,H.yy,ae[1],q,z].concat(U)),typeof ie<"u")return ie;pe&&(F=F.slice(0,-1*pe*2),q=q.slice(0,-1*pe),z=z.slice(0,-1*pe)),F.push(this.productions_[ae[1]][0]),q.push(ne.$),z.push(ne._$),Me=D[F[F.length-2]][F[F.length-1]],F.push(Me);break;case 3:return!0}}return!0},"parse")},_=(function(){var k={EOF:1,parseError:S(function(O,F){if(this.yy.parser)this.yy.parser.parseError(O,F);else throw new Error(O)},"parseError"),setInput:S(function(L,O){return this.yy=O||this.yy||{},this._input=L,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var L=this._input[0];this.yytext+=L,this.yyleng++,this.offset++,this.match+=L,this.matched+=L;var O=L.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),L},"input"),unput:S(function(L){var O=L.length,F=L.split(/(?:\r\n?|\n)/g);this._input=L+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===$.length?this.yylloc.first_column:0)+$[$.length-F.length].length-F[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(L){this.unput(this.match.slice(L))},"less"),pastInput:S(function(){var L=this.matched.substr(0,this.matched.length-this.match.length);return(L.length>20?"...":"")+L.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var L=this.match;return L.length<20&&(L+=this._input.substr(0,20-L.length)),(L.substr(0,20)+(L.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var L=this.pastInput(),O=new Array(L.length+1).join("-");return L+this.upcomingInput()+` +`+O+"^"},"showPosition"),test_match:S(function(L,O){var F,$,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),$=L[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+L[0].length},this.yytext+=L[0],this.match+=L[0],this.matches=L,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(L[0].length),this.matched+=L[0],F=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in q)this[z]=q[z];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var L,O,F,$;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),z=0;zO[0].length)){if(O=F,$=z,this.options.backtrack_lexer){if(L=this.test_match(F,q[z]),L!==!1)return L;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(L=this.test_match(O,q[$]),L!==!1?L:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var O=this.next();return O||this.lex()},"lex"),begin:S(function(O){this.conditionStack.push(O)},"begin"),popState:S(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:S(function(O){this.begin(O)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(O,F,$,q){switch($){case 0:return this.pushState("shapeData"),F.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const z=/\n\s*/g;return F.yytext=F.yytext.replace(z,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return O.getLogger().trace("Found comment",F.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:O.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return O.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:O.getLogger().trace("end icon"),this.popState();break;case 16:return O.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return O.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return O.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return O.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:O.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return O.getLogger().trace("description:",F.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),O.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),O.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),O.getLogger().trace("node end ...",F.yytext),"NODE_DEND";case 36:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),O.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),O.getLogger().trace("node end (("),"NODE_DEND";case 41:return O.getLogger().trace("Long description:",F.yytext),21;case 42:return O.getLogger().trace("Long description:",F.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return k})();E.lexer=_;function R(){this.yy={}}return S(R,"Parser"),R.prototype=E,E.Parser=R,new R})();U9.parser=U9;var LZe=U9,Bo=[],NO=[],H9=0,MO={},RZe=S(()=>{Bo=[],NO=[],H9=0,MO={}},"clear"),DZe=S(t=>{if(Bo.length===0)return null;const e=Bo[0].level;let r=null;for(let n=Bo.length-1;n>=0;n--)if(Bo[n].level===e&&!r&&(r=Bo[n]),Bo[n].levelo.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:Jr(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o?.ticket,priority:o?.priority,assigned:o?.assigned,icon:o?.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Pe()}},"getData"),MZe=S((t,e,r,n,i)=>{const a=Pe();let s=a.mindmap?.padding??Vr.mindmap.padding;switch(n){case Zi.ROUNDED_RECT:case Zi.RECT:case Zi.HEXAGON:s*=2}const o={id:Jr(e,a)||"kbn"+H9++,level:t,label:Jr(r,a),width:a.mindmap?.maxNodeWidth??Vr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let u;i.includes(` `)?u=i+` `:u=`{ `+i+` -}`;const h=LC(u,{schema:AC});if(h.shape&&(h.shape!==h.shape.toLowerCase()||h.shape.includes("_")))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);h?.shape&&h.shape==="kanbanItem"&&(o.shape=h?.shape),h?.label&&(o.label=h?.label),h?.icon&&(o.icon=h?.icon.toString()),h?.assigned&&(o.assigned=h?.assigned.toString()),h?.ticket&&(o.ticket=h?.ticket.toString()),h?.priority&&(o.priority=h?.priority)}const l=FZe(t);l?o.parentId=l.id||"kbn"+W9++:MO.push(o),Bo.push(o)},"addNode"),Zi={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},qZe=S((t,e)=>{switch(oe.debug("In get type",t,e),t){case"[":return Zi.RECT;case"(":return e===")"?Zi.ROUNDED_RECT:Zi.CLOUD;case"((":return Zi.CIRCLE;case")":return Zi.CLOUD;case"))":return Zi.BANG;case"{{":return Zi.HEXAGON;default:return Zi.DEFAULT}},"getType"),VZe=S((t,e)=>{OO[t]=e},"setElementForId"),GZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),UZe=S(t=>{switch(t){case Zi.DEFAULT:return"no-border";case Zi.RECT:return"rect";case Zi.ROUNDED_RECT:return"rounded-rect";case Zi.CIRCLE:return"circle";case Zi.CLOUD:return"cloud";case Zi.BANG:return"bang";case Zi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),HZe=S(()=>oe,"getLogger"),WZe=S(t=>OO[t],"getElementById"),YZe={clear:PZe,addNode:zZe,getSections:tce,getData:$Ze,nodeType:Zi,getType:qZe,setElementForId:VZe,decorateNode:GZe,type2Str:UZe,getLogger:HZe,getElementById:WZe},jZe=YZe,XZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram -`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Vs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await mN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(R=>R.parentId===b.id);for(const R of _){if(R.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");R.x=b.x,R.width=C-1.5*f;const F=(await HC(u,R,{config:s})).node().getBBox();R.y=E+F.height/2,await $8(R),E=R.y+F.height/2+f/2}const A=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);A.attr("height",k)}Pm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),KZe={draw:XZe},ZZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n{switch(oe.debug("In get type",t,e),t){case"[":return Zi.RECT;case"(":return e===")"?Zi.ROUNDED_RECT:Zi.CLOUD;case"((":return Zi.CIRCLE;case")":return Zi.CLOUD;case"))":return Zi.BANG;case"{{":return Zi.HEXAGON;default:return Zi.DEFAULT}},"getType"),IZe=S((t,e)=>{MO[t]=e},"setElementForId"),BZe=S(t=>{if(!t)return;const e=Pe(),r=Bo[Bo.length-1];t.icon&&(r.icon=Jr(t.icon,e)),t.class&&(r.cssClasses=Jr(t.class,e))},"decorateNode"),PZe=S(t=>{switch(t){case Zi.DEFAULT:return"no-border";case Zi.RECT:return"rect";case Zi.ROUNDED_RECT:return"rounded-rect";case Zi.CIRCLE:return"circle";case Zi.CLOUD:return"cloud";case Zi.BANG:return"bang";case Zi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),FZe=S(()=>oe,"getLogger"),$Ze=S(t=>MO[t],"getElementById"),zZe={clear:RZe,addNode:MZe,getSections:ece,getData:NZe,nodeType:Zi,getType:OZe,setElementForId:IZe,decorateNode:BZe,type2Str:PZe,getLogger:FZe,getElementById:$Ze},qZe=zZe,VZe=S(async(t,e,r,n)=>{oe.debug(`Rendering kanban diagram +`+t);const a=n.db.getData(),s=Pe();s.htmlLabels=!1;const o=Vs(e);for(const b of a.nodes)b.domId=`${e}-${b.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const h=a.nodes.filter(b=>b.isGroup);let d=0;const f=10,p=[];let m=25;for(const b of h){const x=s?.kanban?.sectionWidth||200;d=d+1,b.x=x*d+(d-1)*f/2,b.width=x,b.y=0,b.height=x*3,b.rx=5,b.ry=5,b.cssClasses=b.cssClasses+" section-"+d;const C=await gN(l,b);m=Math.max(m,C?.labelBBox?.height),p.push(C)}let v=0;for(const b of h){const x=p[v];v=v+1;const C=s?.kanban?.sectionWidth||200,T=-C*3/2+m;let E=T;const _=a.nodes.filter(L=>L.parentId===b.id);for(const L of _){if(L.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");L.x=b.x,L.width=C-1.5*f;const F=(await UC(u,L,{config:s})).node().getBBox();L.y=E+F.height/2,await F8(L),E=L.y+F.height/2+f/2}const R=x.cluster.select("rect"),k=Math.max(E-T+3*f,50)+(m-25);R.attr("height",k)}Bm(void 0,o,s.mindmap?.padding??Vr.kanban.padding,s.mindmap?.useMaxWidth??Vr.kanban.useMaxWidth)},"draw"),GZe={draw:VZe},UZe=S(t=>{let e="";for(let n=0;nt.darkMode?pt(n,i):mt(n,i),"adjuster");for(let n=0;n` + `}return e},"genSections"),HZe=S(t=>` .edge { stroke-width: 3; } - ${ZZe(t)} + ${UZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2905,17 +2905,17 @@ Expecting `+$e.join(", ")+", got '"+(this.terminals_[he]||he)+"'":He="Parse erro dominant-baseline: middle; text-align: center; } - ${bx()} -`,"getStyles"),JZe=QZe,eQe={db:jZe,renderer:KZe,parser:BZe,styles:JZe};const tQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:eQe},Symbol.toStringTag,{value:"Module"}));function vY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function rce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function IA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function rQe(t){return t.target.depth}function nQe(t){return t.depth}function iQe(t,e){return e-1-t.height}function nce(t,e){return t.sourceLinks.length?t.depth:e-1}function aQe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?rce(t.sourceLinks,rQe)-1:0}function JT(t){return function(){return t}}function bY(t,e){return sC(t.source,e.source)||t.index-e.index}function xY(t,e){return sC(t.target,e.target)||t.index-e.index}function sC(t,e){return t.y0-e.y0}function BA(t){return t.value}function sQe(t){return t.index}function oQe(t){return t.nodes}function lQe(t){return t.links}function TY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function cQe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=sQe,l=nce,u,h,d=oQe,f=lQe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),wY(I),I}m.update=function(I){return wY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:JT(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:JT(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:JT(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:JT(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=TY(B,U)),typeof P!="object"&&(P=V.target=TY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(IA(N.sourceLinks,BA),IA(N.targetLinks,BA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=vY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=rce(I,B=>(n-e-(B.length-1)*s)/IA(B,BA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/j-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),R(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,j=0;for(const{target:X,value:ee}of P.sourceLinks){let Q=ee*(X.layer-P.layer);H+=D(P,X)*Q,j+=Q}if(!(j>0))continue;let Z=(H/j-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(sC),R(U,B)}}function R(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(xY);for(const{target:{targetLinks:B}}of I)B.sort(bY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(xY),B.sort(bY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var Y9=Math.PI,j9=2*Y9,Mf=1e-6,uQe=j9-Mf;function X9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ice(){return new X9}X9.prototype=ice.prototype={constructor:X9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Mf)if(!(Math.abs(h*o-l*u)>Mf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((Y9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Mf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Mf||Math.abs(this._y1-u)>Mf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%j9+j9),d>uQe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Mf&&(this._+="A"+r+","+r+",0,"+ +(d>=Y9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function CY(t){return function(){return t}}function hQe(t){return t[0]}function dQe(t){return t[1]}var fQe=Array.prototype.slice;function pQe(t){return t.source}function gQe(t){return t.target}function mQe(t){var e=pQe,r=gQe,n=hQe,i=dQe,a=null;function s(){var o,l=fQe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=ice()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:CY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:CY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function yQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function vQe(){return mQe(yQe)}function bQe(t){return[t.source.x1,t.y0]}function xQe(t){return[t.target.x0,t.y1]}function TQe(){return vQe().source(bQe).target(xQe)}var K9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),A={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(A.yy[k]=this.yy[k]);_.setInput(l,A.yy),A.yy.lexer=_,A.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var R=_.yylloc;p.push(R);var O=_.options&&_.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: + ${vx()} +`,"getStyles"),WZe=HZe,YZe={db:qZe,renderer:GZe,parser:LZe,styles:WZe};const XZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:YZe},Symbol.toStringTag,{value:"Module"}));function yY(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function tce(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function OA(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function jZe(t){return t.target.depth}function KZe(t){return t.depth}function ZZe(t,e){return e-1-t.height}function rce(t,e){return t.sourceLinks.length?t.depth:e-1}function QZe(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?tce(t.sourceLinks,jZe)-1:0}function Q4(t){return function(){return t}}function vY(t,e){return aC(t.source,e.source)||t.index-e.index}function bY(t,e){return aC(t.target,e.target)||t.index-e.index}function aC(t,e){return t.y0-e.y0}function IA(t){return t.value}function JZe(t){return t.index}function eQe(t){return t.nodes}function tQe(t){return t.links}function xY(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function TY({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function rQe(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=JZe,l=rce,u,h,d=eQe,f=tQe,p=6;function m(){const I={nodes:d.apply(null,arguments),links:f.apply(null,arguments)};return v(I),b(I),x(I),C(I),_(I),TY(I),I}m.update=function(I){return TY(I),I},m.nodeId=function(I){return arguments.length?(o=typeof I=="function"?I:Q4(I),m):o},m.nodeAlign=function(I){return arguments.length?(l=typeof I=="function"?I:Q4(I),m):l},m.nodeSort=function(I){return arguments.length?(u=I,m):u},m.nodeWidth=function(I){return arguments.length?(i=+I,m):i},m.nodePadding=function(I){return arguments.length?(a=s=+I,m):a},m.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:Q4(I),m):d},m.links=function(I){return arguments.length?(f=typeof I=="function"?I:Q4(I),m):f},m.linkSort=function(I){return arguments.length?(h=I,m):h},m.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],m):[r-t,n-e]},m.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],m):[[t,e],[r,n]]},m.iterations=function(I){return arguments.length?(p=+I,m):p};function v({nodes:I,links:N}){for(const[M,V]of I.entries())V.index=M,V.sourceLinks=[],V.targetLinks=[];const B=new Map(I.map((M,V)=>[o(M,V,I),M]));for(const[M,V]of N.entries()){V.index=M;let{source:U,target:P}=V;typeof U!="object"&&(U=V.source=xY(B,U)),typeof P!="object"&&(P=V.target=xY(B,P)),U.sourceLinks.push(V),P.targetLinks.push(V)}if(h!=null)for(const{sourceLinks:M,targetLinks:V}of I)M.sort(h),V.sort(h)}function b({nodes:I}){for(const N of I)N.value=N.fixedValue===void 0?Math.max(OA(N.sourceLinks,IA),OA(N.targetLinks,IA)):N.fixedValue}function x({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.depth=V;for(const{target:P}of U.sourceLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function C({nodes:I}){const N=I.length;let B=new Set(I),M=new Set,V=0;for(;B.size;){for(const U of B){U.height=V;for(const{source:P}of U.targetLinks)M.add(P)}if(++V>N)throw new Error("circular link");B=M,M=new Set}}function T({nodes:I}){const N=yY(I,V=>V.depth)+1,B=(r-t-i)/(N-1),M=new Array(N);for(const V of I){const U=Math.max(0,Math.min(N-1,Math.floor(l.call(null,V,N))));V.layer=U,V.x0=t+U*B,V.x1=V.x0+i,M[U]?M[U].push(V):M[U]=[V]}if(u)for(const V of M)V.sort(u);return M}function E(I){const N=tce(I,B=>(n-e-(B.length-1)*s)/OA(B,IA));for(const B of I){let M=e;for(const V of B){V.y0=M,V.y1=M+V.value*N,M=V.y1+s;for(const U of V.sourceLinks)U.width=U.value*N}M=(n-M+s)/(B.length+1);for(let V=0;VB.length)-1)),E(N);for(let B=0;B0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(aC),L(U,B)}}function k(I,N,B){for(let M=I.length,V=M-2;V>=0;--V){const U=I[V];for(const P of U){let H=0,X=0;for(const{target:j,value:ee}of P.sourceLinks){let Q=ee*(j.layer-P.layer);H+=D(P,j)*Q,X+=Q}if(!(X>0))continue;let Z=(H/X-P.y0)*N;P.y0+=Z,P.y1+=Z,$(P)}u===void 0&&U.sort(aC),L(U,B)}}function L(I,N){const B=I.length>>1,M=I[B];F(I,M.y0-s,B-1,N),O(I,M.y1+s,B+1,N),F(I,n,I.length-1,N),O(I,e,0,N)}function O(I,N,B,M){for(;B1e-6&&(V.y0+=U,V.y1+=U),N=V.y1+s}}function F(I,N,B,M){for(;B>=0;--B){const V=I[B],U=(V.y1-N)*M;U>1e-6&&(V.y0-=U,V.y1-=U),N=V.y0-s}}function $({sourceLinks:I,targetLinks:N}){if(h===void 0){for(const{source:{sourceLinks:B}}of N)B.sort(bY);for(const{target:{targetLinks:B}}of I)B.sort(vY)}}function q(I){if(h===void 0)for(const{sourceLinks:N,targetLinks:B}of I)N.sort(bY),B.sort(vY)}function z(I,N){let B=I.y0-(I.sourceLinks.length-1)*s/2;for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B+=V+s}for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B-=V}return B}function D(I,N){let B=N.y0-(N.targetLinks.length-1)*s/2;for(const{source:M,width:V}of N.targetLinks){if(M===I)break;B+=V+s}for(const{target:M,width:V}of I.sourceLinks){if(M===N)break;B-=V}return B}return m}var W9=Math.PI,Y9=2*W9,Nf=1e-6,nQe=Y9-Nf;function X9(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function nce(){return new X9}X9.prototype=nce.prototype={constructor:X9,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,h=s-e,d=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Nf)if(!(Math.abs(h*o-l*u)>Nf)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,v=f*f+p*p,b=Math.sqrt(m),x=Math.sqrt(d),C=i*Math.tan((W9-Math.acos((m+d-v)/(2*b*x)))/2),T=C/x,E=C/b;Math.abs(T-1)>Nf&&(this._+="L"+(t+T*u)+","+(e+T*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+E*o)+","+(this._y1=e+E*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Nf||Math.abs(this._y1-u)>Nf)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%Y9+Y9),d>nQe?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>Nf&&(this._+="A"+r+","+r+",0,"+ +(d>=W9)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function wY(t){return function(){return t}}function iQe(t){return t[0]}function aQe(t){return t[1]}var sQe=Array.prototype.slice;function oQe(t){return t.source}function lQe(t){return t.target}function cQe(t){var e=oQe,r=lQe,n=iQe,i=aQe,a=null;function s(){var o,l=sQe.call(arguments),u=e.apply(this,l),h=r.apply(this,l);if(a||(a=o=nce()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=h,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:wY(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:wY(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function uQe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function hQe(){return cQe(uQe)}function dQe(t){return[t.source.x1,t.y0]}function fQe(t){return[t.target.x0,t.y1]}function pQe(){return hQe().source(dQe).target(fQe)}var j9=(function(){var t=S(function(o,l,u,h){for(u=u||{},h=o.length;h--;u[o[h]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:S(function(l,u,h,d,f,p,m){var v=p.length-1;switch(f){case 7:const b=d.findOrCreateNode(p[v-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(p[v-2].trim().replaceAll('""','"')),C=parseFloat(p[v].trim());d.addLink(b,x,C);break;case 8:case 9:case 11:this.$=p[v];break;case 10:this.$=p[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),parse:S(function(l){var u=this,h=[0],d=[],f=[null],p=[],m=this.table,v="",b=0,x=0,C=2,T=1,E=p.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);_.setInput(l,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var L=_.yylloc;p.push(L);var O=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){h.length=h.length-2*H,f.length=f.length-H,p.length=p.length-H}S(F,"popStack");function $(){var H;return H=d.pop()||_.lex()||T,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=u.symbols_[H]||H),H}S($,"lex");for(var q,z,D,I,N={},B,M,V,U;;){if(z=h[h.length-1],this.defaultActions[z]?D=this.defaultActions[z]:((q===null||typeof q>"u")&&(q=$()),D=m[z]&&m[z][q]),typeof D>"u"||!D.length||!D[0]){var P="";U=[];for(B in m[z])this.terminals_[B]&&B>C&&U.push("'"+this.terminals_[B]+"'");_.showPosition?P="Parse error on line "+(b+1)+`: `+_.showPosition()+` -Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:R,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,R=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,A.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:S(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+U.join(", ")+", got '"+(this.terminals_[q]||q)+"'":P="Parse error on line "+(b+1)+": Unexpected "+(q==T?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(P,{text:_.match,token:this.terminals_[q]||q,line:_.yylineno,loc:L,expected:U})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+q);switch(D[0]){case 1:h.push(q),f.push(_.yytext),p.push(_.yylloc),h.push(D[1]),q=null,x=_.yyleng,v=_.yytext,b=_.yylineno,L=_.yylloc;break;case 2:if(M=this.productions_[D[1]][1],N.$=f[f.length-M],N._$={first_line:p[p.length-(M||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(M||1)].first_column,last_column:p[p.length-1].last_column},O&&(N._$.range=[p[p.length-(M||1)].range[0],p[p.length-1].range[1]]),I=this.performAction.apply(N,[v,x,b,R.yy,D[1],f,p].concat(E)),typeof I<"u")return I;M&&(h=h.slice(0,-1*M*2),f=f.slice(0,-1*M),p=p.slice(0,-1*M)),h.push(this.productions_[D[1]][0]),f.push(N.$),p.push(N._$),V=m[h[h.length-2]][h[h.length-1]],h.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:S(function(u,h){if(this.yy.parser)this.yy.parser.parseError(u,h);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,h=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` `+u+"^"},"showPosition"),test_match:S(function(l,u){var h,d,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),d=l[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],h=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var p in f)this[p]=f[p];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,u,h,d;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),p=0;pu[0].length)){if(u=h,d=p,this.options.backtrack_lexer){if(l=this.test_match(h,f[p]),l!==!1)return l;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(l=this.test_match(u,f[d]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();K9.parser=K9;var oC=K9,iE=[],aE=[],lC=new Map,wQe=S(()=>{iE=[],aE=[],lC=new Map,Kn()},"clear"),j1,CQe=(j1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(j1,"SankeyLink"),j1),SQe=S((t,e,r)=>{iE.push(new CQe(t,e,r))},"addLink"),X1,EQe=(X1=class{constructor(e){this.ID=e}},S(X1,"SankeyNode"),X1),kQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=lC.get(t);return e===void 0&&(e=new EQe(t),lC.set(t,e),aE.push(e)),e},"findOrCreateNode"),_Qe=S(()=>aE,"getNodes"),AQe=S(()=>iE,"getLinks"),LQe=S(()=>({nodes:aE.map(t=>({id:t.ID})),links:iE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),RQe={nodesMap:lC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:_Qe,getLinks:AQe,getGraph:LQe,addLink:SQe,findOrCreateNode:kQe,getAccTitle:ci,setAccTitle:Xn,getAccDescription:hi,setAccDescription:ui,getDiagramTitle:Zn,setDiagramTitle:li,clear:wQe},bu,SY=(bu=class{static next(e){return new bu(e+ ++bu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(bu,"Uid"),bu.count=0,bu),DQe={left:nQe,right:iQe,center:aQe,justify:nce},NQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=pj.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=DQe[p];cQe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=Xf(G2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=SY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const A=S(({id:F,value:$})=>b?`${F} -${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=SY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(R){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=R}k.append("path").attr("d",TQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Pm(void 0,u,0,f)},"draw"),MQe={draw:NQe},OQe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing"),IQe=S(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var u=this.next();return u||this.lex()},"lex"),begin:S(function(u){this.conditionStack.push(u)},"begin"),popState:S(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:S(function(u){this.begin(u)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(u,h,d,f){switch(d){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return S(s,"Parser"),s.prototype=i,i.Parser=s,new s})();j9.parser=j9;var sC=j9,nE=[],iE=[],oC=new Map,gQe=S(()=>{nE=[],iE=[],oC=new Map,Kn()},"clear"),Y1,mQe=(Y1=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},S(Y1,"SankeyLink"),Y1),yQe=S((t,e,r)=>{nE.push(new mQe(t,e,r))},"addLink"),X1,vQe=(X1=class{constructor(e){this.ID=e}},S(X1,"SankeyNode"),X1),bQe=S(t=>{t=$t.sanitizeText(t,Pe());let e=oC.get(t);return e===void 0&&(e=new vQe(t),oC.set(t,e),iE.push(e)),e},"findOrCreateNode"),xQe=S(()=>iE,"getNodes"),TQe=S(()=>nE,"getLinks"),wQe=S(()=>({nodes:iE.map(t=>({id:t.ID})),links:nE.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),CQe={nodesMap:oC,getConfig:S(()=>Pe().sankey,"getConfig"),getNodes:xQe,getLinks:TQe,getGraph:wQe,addLink:yQe,findOrCreateNode:bQe,getAccTitle:ci,setAccTitle:jn,getAccDescription:hi,setAccDescription:ui,getDiagramTitle:Zn,setDiagramTitle:li,clear:gQe},vu,CY=(vu=class{static next(e){return new vu(e+ ++vu.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},S(vu,"Uid"),vu.count=0,vu),SQe={left:KZe,right:ZZe,center:QZe,justify:rce},EQe=S(function(t,e,r,n){const{securityLevel:i,sankey:a}=Pe(),s=fX.sankey;let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`),h=a?.width??s.width,d=a?.height??s.width,f=a?.useMaxWidth??s.useMaxWidth,p=a?.nodeAlignment??s.nodeAlignment,m=a?.prefix??s.prefix,v=a?.suffix??s.suffix,b=a?.showValues??s.showValues,x=n.db.getGraph(),C=SQe[p];rQe().nodeId(F=>F.id).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(C).extent([[0,0],[h,d]])(x);const _=Xf(B2e);u.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",F=>(F.uid=CY.next("node-")).id).attr("transform",function(F){return"translate("+F.x0+","+F.y0+")"}).attr("x",F=>F.x0).attr("y",F=>F.y0).append("rect").attr("height",F=>F.y1-F.y0).attr("width",F=>F.x1-F.x0).attr("fill",F=>_(F.id));const R=S(({id:F,value:$})=>b?`${F} +${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",F=>F.x0(F.y1+F.y0)/2).attr("dy",`${b?"0":"0.35"}em`).attr("text-anchor",F=>F.x0($.uid=CY.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);F.append("stop").attr("offset","0%").attr("stop-color",$=>_($.source.id)),F.append("stop").attr("offset","100%").attr("stop-color",$=>_($.target.id))}let O;switch(L){case"gradient":O=S(F=>F.uid,"coloring");break;case"source":O=S(F=>_(F.source.id),"coloring");break;case"target":O=S(F=>_(F.target.id),"coloring");break;default:O=L}k.append("path").attr("d",pQe()).attr("stroke",O).attr("stroke-width",F=>Math.max(1,F.width)),Bm(void 0,u,0,f)},"draw"),kQe={draw:EQe},_Qe=S(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing"),AQe=S(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),BQe=IQe,PQe=oC.parse.bind(oC);oC.parse=t=>PQe(OQe(t));var FQe={styles:BQe,parser:oC,db:RQe,renderer:MQe};const $Qe=Object.freeze(Object.defineProperty({__proto__:null,diagram:FQe},Symbol.toStringTag,{value:"Module"}));var zQe=Vr.packet,K1,ace=(K1=class{constructor(){this.packet=[],this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getConfig(){const e=ea({...zQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Kn(),this.packet=[]}},S(K1,"PacketDB"),K1),qQe=1e4,VQe=S((t,e)=>{ju(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),sce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("packet",t),r=sce.parser?.yy;if(!(r instanceof ace))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),VQe(e,r)},"parse")},UQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Vs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Ui(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())HQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),HQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),WQe={draw:UQe},YQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},jQe=S(({packet:t}={})=>{const e=ea(YQe,t);return` + }`,"getStyles"),LQe=AQe,RQe=sC.parse.bind(sC);sC.parse=t=>RQe(_Qe(t));var DQe={styles:LQe,parser:sC,db:CQe,renderer:kQe};const NQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:DQe},Symbol.toStringTag,{value:"Module"}));var MQe=Vr.packet,j1,ice=(j1=class{constructor(){this.packet=[],this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getConfig(){const e=ea({...MQe,...gr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Kn(),this.packet=[]}},S(j1,"PacketDB"),j1),OQe=1e4,IQe=S((t,e)=>{Yu(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),ace={parser:{yy:void 0},parse:S(async t=>{const e=await xc("packet",t),r=ace.parser?.yy;if(!(r instanceof ice))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");oe.debug(e),IQe(e,r)},"parse")},PQe=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,h=i.getPacket(),d=i.getDiagramTitle(),f=s+o,p=f*(h.length+1)-(d?0:s),m=l*u+2,v=Vs(e);v.attr("viewBox",`0 0 ${m} ${p}`),Ui(v,p,m,a.useMaxWidth);for(const[b,x]of h.entries())FQe(v,x,b,a);v.append("text").text(d).attr("x",m/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),FQe=S((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),h=r*(n+a)+a;for(const d of e){const f=d.start%o*s+1,p=(d.end-d.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",h).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!l)continue;const m=d.end===d.start,v=h-2;u.append("text").attr("x",f+(m?p/2:0)).attr("y",v).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(d.start),m||u.append("text").attr("x",f+p).attr("y",v).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),$Qe={draw:PQe},zQe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},qQe=S(({packet:t}={})=>{const e=ea(zQe,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2938,7 +2938,7 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles"),XQe={parser:sce,get db(){return new ace},renderer:WQe,styles:jQe};const KQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:XQe},Symbol.toStringTag,{value:"Module"}));var yg={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},oce={axes:[],curves:[],options:yg},Y0=structuredClone(oce),ZQe=Vr.radar,QQe=S(()=>ea({...ZQe,...gr().radar}),"getConfig"),lce=S(()=>Y0.axes,"getAxes"),JQe=S(()=>Y0.curves,"getCurves"),eJe=S(()=>Y0.options,"getOptions"),tJe=S(t=>{Y0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),rJe=S(t=>{Y0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:nJe(e.entries)}))},"setCurves"),nJe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=lce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),iJe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});Y0.options={showLegend:e.showLegend?.value??yg.showLegend,ticks:e.ticks?.value??yg.ticks,max:e.max?.value??yg.max,min:e.min?.value??yg.min,graticule:e.graticule?.value??yg.graticule}},"setOptions"),aJe=S(()=>{Kn(),Y0=structuredClone(oce)},"clear"),w2={getAxes:lce,getCurves:JQe,getOptions:eJe,setAxes:tJe,setCurves:rJe,setOptions:iJe,getConfig:QQe,clear:aJe,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},sJe=S(t=>{ju(t,w2);const{axes:e,curves:r,options:n}=t;w2.setAxes(e),w2.setCurves(r),w2.setOptions(n)},"populate"),oJe={parse:S(async t=>{const e=await Tc("radar",t);oe.debug(e),sJe(e)},"parse")},lJe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Vs(e),d=cJe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;uJe(d,a,m,o.ticks,o.graticule),hJe(d,a,m,l),cce(d,a,s,p,f,o.graticule,l),dce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),cJe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Ui(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),uJe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),hJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=uce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",hce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(cce,"drawCurves");function uce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(uce,"relativeRadius");function hce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(dce,"drawLegend");var dJe={draw:lJe},fJe=S((t,e)=>{let r="";for(let n=0;nea({...UQe,...gr().radar}),"getConfig"),oce=S(()=>W0.axes,"getAxes"),WQe=S(()=>W0.curves,"getCurves"),YQe=S(()=>W0.options,"getOptions"),XQe=S(t=>{W0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),jQe=S(t=>{W0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:KQe(e.entries)}))},"setCurves"),KQe=S(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=oce();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),ZQe=S(t=>{const e=t.reduce((r,n)=>(r[n.name]=n,r),{});W0.options={showLegend:e.showLegend?.value??mg.showLegend,ticks:e.ticks?.value??mg.ticks,max:e.max?.value??mg.max,min:e.min?.value??mg.min,graticule:e.graticule?.value??mg.graticule}},"setOptions"),QQe=S(()=>{Kn(),W0=structuredClone(sce)},"clear"),T2={getAxes:oce,getCurves:WQe,getOptions:YQe,setAxes:XQe,setCurves:jQe,setOptions:ZQe,getConfig:HQe,clear:QQe,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},JQe=S(t=>{Yu(t,T2);const{axes:e,curves:r,options:n}=t;T2.setAxes(e),T2.setCurves(r),T2.setOptions(n)},"populate"),eJe={parse:S(async t=>{const e=await xc("radar",t);oe.debug(e),JQe(e)},"parse")},tJe=S((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),h=Vs(e),d=rJe(h,l),f=o.max??Math.max(...s.map(v=>Math.max(...v.entries))),p=o.min,m=Math.min(l.width,l.height)/2;nJe(d,a,m,o.ticks,o.graticule),iJe(d,a,m,l),lce(d,a,s,p,f,o.graticule,l),hce(d,s,o.showLegend,l),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),rJe=S((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Ui(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),nJe=S((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{const d=2*h*Math.PI/a-Math.PI/2,f=o*Math.cos(d),p=o*Math.sin(d);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),iJe=S((t,e,r,n)=>{const i=e.length;for(let a=0;a{if(u.entries.length!==o)return;const d=u.entries.map((f,p)=>{const m=2*Math.PI*p/o-Math.PI/2,v=cce(f,n,i,l),b=v*Math.cos(m),x=v*Math.sin(m);return{x:b,y:x}});a==="circle"?t.append("path").attr("d",uce(d,s.curveTension)).attr("class",`radarCurve-${h}`):a==="polygon"&&t.append("polygon").attr("points",d.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${h}`)})}S(lce,"drawCurves");function cce(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}S(cce,"relativeRadius");function uce(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}S(hce,"drawLegend");var aJe={draw:tJe},sJe=S((t,e)=>{let r="";for(let n=0;n{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),gJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=pJe(t);return` + `}return r},"genIndexStyles"),oJe=S(t=>{const e=Ub(),r=gr(),n=ea(e,r.themeVariables),i=ea(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),lJe=S(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=oJe(t);return` .radarTitle { font-size: ${e.fontSize}; color: ${e.titleColor}; @@ -2979,13 +2979,13 @@ ${m}${Math.round($*100)/100}${v}`:F,"getText");u.append("g").attr("class","node- font-size: ${r.legendFontSize}px; dominant-baseline: hanging; } - ${fJe(e,r)} - `},"styles"),mJe={parser:oJe,db:w2,renderer:dJe,styles:gJe};const yJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:mJe},Symbol.toStringTag,{value:"Module"}));var Z9=(function(){var t=S(function(T,E,_,A){for(_=_||{},A=T.length;A--;_[T[A]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,A,k,R,O,F){var $=O.length-1;switch(R){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var A=new Error(E);throw A.hash=_,A}},"parseError"),parse:S(function(E){var _=this,A=[0],k=[],R=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){A.length=A.length-2*pe,R.length=R.length-pe,O.length=O.length-pe}S(H,"popStack");function j(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(j,"lex");for(var Z,X,ee,Q,he={},te,ae,ie,ne;;){if(X=A[A.length-1],this.defaultActions[X]?ee=this.defaultActions[X]:((Z===null||typeof Z>"u")&&(Z=j()),ee=F[X]&&F[X][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[X])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: + ${sJe(e,r)} + `},"styles"),cJe={parser:eJe,db:T2,renderer:aJe,styles:lJe};const uJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:cJe},Symbol.toStringTag,{value:"Module"}));var K9=(function(){var t=S(function(T,E,_,R){for(_=_||{},R=T.length;R--;_[T[R]]=E);return _},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],d=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],b={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:S(function(E,_,R,k,L,O,F){var $=O.length-1;switch(L){case 4:k.getLogger().debug("Rule: separator (NL) ");break;case 5:k.getLogger().debug("Rule: separator (Space) ");break;case 6:k.getLogger().debug("Rule: separator (EOF) ");break;case 7:k.getLogger().debug("Rule: hierarchy: ",O[$-1]),k.setHierarchy(O[$-1]);break;case 8:k.getLogger().debug("Stop NL ");break;case 9:k.getLogger().debug("Stop EOF ");break;case 10:k.getLogger().debug("Stop NL2 ");break;case 11:k.getLogger().debug("Stop EOF2 ");break;case 12:k.getLogger().debug("Rule: statement: ",O[$]),typeof O[$].length=="number"?this.$=O[$]:this.$=[O[$]];break;case 13:k.getLogger().debug("Rule: statement #2: ",O[$-1]),this.$=[O[$-1]].concat(O[$]);break;case 14:k.getLogger().debug("Rule: link: ",O[$],E),this.$={edgeTypeStr:O[$],label:""};break;case 15:k.getLogger().debug("Rule: LABEL link: ",O[$-3],O[$-1],O[$]),this.$={edgeTypeStr:O[$],label:O[$-1]};break;case 18:const q=parseInt(O[$]),z=k.generateId();this.$={id:z,type:"space",label:"",width:q,children:[]};break;case 23:k.getLogger().debug("Rule: (nodeStatement link node) ",O[$-2],O[$-1],O[$]," typestr: ",O[$-1].edgeTypeStr);const D=k.edgeStrToEdgeData(O[$-1].edgeTypeStr);this.$=[{id:O[$-2].id,label:O[$-2].label,type:O[$-2].type,directions:O[$-2].directions},{id:O[$-2].id+"-"+O[$].id,start:O[$-2].id,end:O[$].id,label:O[$-1].label,type:"edge",directions:O[$].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions}];break;case 24:k.getLogger().debug("Rule: nodeStatement (abc88 node size) ",O[$-1],O[$]),this.$={id:O[$-1].id,label:O[$-1].label,type:k.typeStr2Type(O[$-1].typeStr),directions:O[$-1].directions,widthInColumns:parseInt(O[$],10)};break;case 25:k.getLogger().debug("Rule: nodeStatement (node) ",O[$]),this.$={id:O[$].id,label:O[$].label,type:k.typeStr2Type(O[$].typeStr),directions:O[$].directions,widthInColumns:1};break;case 26:k.getLogger().debug("APA123",this?this:"na"),k.getLogger().debug("COLUMNS: ",O[$]),this.$={type:"column-setting",columns:O[$]==="auto"?-1:parseInt(O[$])};break;case 27:k.getLogger().debug("Rule: id-block statement : ",O[$-2],O[$-1]),k.generateId(),this.$={...O[$-2],type:"composite",children:O[$-1]};break;case 28:k.getLogger().debug("Rule: blockStatement : ",O[$-2],O[$-1],O[$]);const I=k.generateId();this.$={id:I,type:"composite",label:"",children:O[$-1]};break;case 29:k.getLogger().debug("Rule: node (NODE_ID separator): ",O[$]),this.$={id:O[$]};break;case 30:k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",O[$-1],O[$]),this.$={id:O[$-1],label:O[$].label,typeStr:O[$].typeStr,directions:O[$].directions};break;case 31:k.getLogger().debug("Rule: dirList: ",O[$]),this.$=[O[$]];break;case 32:k.getLogger().debug("Rule: dirList: ",O[$-1],O[$]),this.$=[O[$-1]].concat(O[$]);break;case 33:k.getLogger().debug("Rule: nodeShapeNLabel: ",O[$-2],O[$-1],O[$]),this.$={typeStr:O[$-2]+O[$],label:O[$-1]};break;case 34:k.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",O[$-3],O[$-2]," #3:",O[$-1],O[$]),this.$={typeStr:O[$-3]+O[$],label:O[$-2],directions:O[$-1]};break;case 35:case 36:this.$={type:"classDef",id:O[$-1].trim(),css:O[$].trim()};break;case 37:this.$={type:"applyClass",id:O[$-1].trim(),styleClass:O[$].trim()};break;case 38:this.$={type:"applyStyles",id:O[$-1].trim(),stylesStr:O[$].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(m,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},t(m,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:S(function(E,_){if(_.recoverable)this.trace(E);else{var R=new Error(E);throw R.hash=_,R}},"parseError"),parse:S(function(E){var _=this,R=[0],k=[],L=[null],O=[],F=this.table,$="",q=0,z=0,D=2,I=1,N=O.slice.call(arguments,1),B=Object.create(this.lexer),M={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(M.yy[V]=this.yy[V]);B.setInput(E,M.yy),M.yy.lexer=B,M.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var U=B.yylloc;O.push(U);var P=B.options&&B.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(pe){R.length=R.length-2*pe,L.length=L.length-pe,O.length=O.length-pe}S(H,"popStack");function X(){var pe;return pe=k.pop()||B.lex()||I,typeof pe!="number"&&(pe instanceof Array&&(k=pe,pe=k.pop()),pe=_.symbols_[pe]||pe),pe}S(X,"lex");for(var Z,j,ee,Q,he={},te,ae,ie,ne;;){if(j=R[R.length-1],this.defaultActions[j]?ee=this.defaultActions[j]:((Z===null||typeof Z>"u")&&(Z=X()),ee=F[j]&&F[j][Z]),typeof ee>"u"||!ee.length||!ee[0]){var me="";ne=[];for(te in F[j])this.terminals_[te]&&te>D&&ne.push("'"+this.terminals_[te]+"'");B.showPosition?me="Parse error on line "+(q+1)+`: `+B.showPosition()+` -Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+Z);switch(ee[0]){case 1:A.push(Z),R.push(B.yytext),O.push(B.yylloc),A.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=R[R.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],R,O].concat(N)),typeof Q<"u")return Q;ae&&(A=A.slice(0,-1*ae*2),R=R.slice(0,-1*ae),O=O.slice(0,-1*ae)),A.push(this.productions_[ee[1]][0]),R.push(he.$),O.push(he._$),ie=F[A[A.length-2]][A[A.length-1]],A.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:S(function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},"parseError"),setInput:S(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:S(function(E){var _=E.length,A=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===k.length?this.yylloc.first_column:0)+k[k.length-A.length].length-A[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error on line "+(q+1)+": Unexpected "+(Z==I?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(me,{text:B.match,token:this.terminals_[Z]||Z,line:B.yylineno,loc:U,expected:ne})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+Z);switch(ee[0]){case 1:R.push(Z),L.push(B.yytext),O.push(B.yylloc),R.push(ee[1]),Z=null,z=B.yyleng,$=B.yytext,q=B.yylineno,U=B.yylloc;break;case 2:if(ae=this.productions_[ee[1]][1],he.$=L[L.length-ae],he._$={first_line:O[O.length-(ae||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(ae||1)].first_column,last_column:O[O.length-1].last_column},P&&(he._$.range=[O[O.length-(ae||1)].range[0],O[O.length-1].range[1]]),Q=this.performAction.apply(he,[$,z,q,M.yy,ee[1],L,O].concat(N)),typeof Q<"u")return Q;ae&&(R=R.slice(0,-1*ae*2),L=L.slice(0,-1*ae),O=O.slice(0,-1*ae)),R.push(this.productions_[ee[1]][0]),L.push(he.$),O.push(he._$),ie=F[R[R.length-2]][R[R.length-1]],R.push(ie);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:S(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw new Error(_)},"parseError"),setInput:S(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:S(function(E){var _=E.length,R=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1&&(this.yylineno-=R.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===k.length?this.yylloc.first_column:0)+k[k.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(E){this.unput(this.match.slice(E))},"less"),pastInput:S(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` -`+_+"^"},"showPosition"),test_match:S(function(E,_){var A,k,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],A=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var O in R)this[O]=R[O];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,A,k;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),O=0;O_[0].length)){if(_=A,k=O,this.options.backtrack_lexer){if(E=this.test_match(A,R[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,R[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,A,k,R){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",A.yytext);break;case 4:_.getLogger().debug("_",A.yytext);break;case 5:return 5;case 6:return A.yytext=-1,28;case 7:return A.yytext=A.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",A.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",A.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",A.yytext),"STR";case 14:return A.yytext=A.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",A.yytext),21;case 15:return A.yytext="1",_.getLogger().debug("COLUMNS (LEX)",A.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",A.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",A.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",A.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",A.yytext),"DIR";case 86:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",A.yytext),"DIR";case 87:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",A.yytext),"DIR";case 88:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",A.yytext),"DIR";case 89:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",A.yytext),"DIR";case 90:return A.yytext=A.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",A.yytext),"DIR";case 91:return A.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",A.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+A.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",A.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",A.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",A.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",A.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",A.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",A.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+A.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",A.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",A.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",A.yytext),A.yytext=A.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();Z9.parser=Z9;var vJe=Z9,xl=new Map,IO=[],Q9=new Map,EY="color",kY="fill",bJe="bgFill",fce=",",xJe=Pe(),cC=new Map,BO="",TJe=S(t=>$t.sanitizeText(t,xJe),"sanitizeText"),wJe=S(function(t,e=""){let r=cC.get(t);r||(r={id:t,styles:[],textStyles:[]},cC.set(t,r)),e?.split(fce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(EY).exec(n)){const s=i.replace(kY,bJe).replace(EY,kY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),CJe=S(function(t,e=""){const r=xl.get(t);e!=null&&(r.styles=e.split(fce))},"addStyle2Node"),SJe=S(function(t,e){t.split(",").forEach(function(r){let n=xl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},xl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),pce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=TJe(s.label)),s.type==="classDef"){wJe(s.id,s.css);continue}if(s.type==="applyClass"){SJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&CJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Q9.get(s.id)??0)+1;Q9.set(s.id,o),s.id=o+"-"+s.id,IO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=xl.get(s.id);if(o===void 0?xl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&pce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),Kn(),F2={id:"root",type:"composite",children:[],columns:-1},xl=new Map([["root",F2]]),PO=[],cC=new Map,IO=[],Q9=new Map,BO=""},"clear");function gce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(gce,"typeStr2Type");function mce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(mce,"edgeTypeStr2Type");function yce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(yce,"edgeStrToEdgeData");var _Y=0,kJe=S(()=>(_Y++,"id-"+Math.random().toString(36).substr(2,12)+"-"+_Y),"generateId"),_Je=S(t=>{F2.children=t,pce(t,F2),PO=F2.children},"setHierarchy"),AJe=S(t=>{const e=xl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),LJe=S(()=>[...xl.values()],"getBlocksFlat"),RJe=S(()=>PO||[],"getBlocks"),DJe=S(()=>IO,"getEdges"),NJe=S(t=>xl.get(t),"getBlock"),MJe=S(t=>{xl.set(t.id,t)},"setBlock"),OJe=S(t=>{BO=t},"setDiagramId"),IJe=S(()=>BO,"getDiagramId"),BJe=S(()=>oe,"getLogger"),PJe=S(function(){return cC},"getClasses"),FJe={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:gce,edgeTypeStr2Type:mce,edgeStrToEdgeData:yce,getLogger:BJe,getBlocksFlat:LJe,getBlocks:RJe,getEdges:DJe,setHierarchy:_Je,getBlock:NJe,setBlock:MJe,getColumns:AJe,getClasses:PJe,clear:EJe,generateId:kJe,setDiagramId:OJe,getDiagramId:IJe},$Je=FJe,PA=S((t,e)=>{const r=pD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return fl(n,i,a,e)},"fade"),zJe=S(t=>`.label { +`+_+"^"},"showPosition"),test_match:S(function(E,_){var R,k,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),k=E[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(E[0].length),this.matched+=E[0],R=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var O in L)this[O]=L[O];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,R,k;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),O=0;O_[0].length)){if(_=R,k=O,this.options.backtrack_lexer){if(E=this.test_match(R,L[O]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,L[k]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var _=this.next();return _||this.lex()},"lex"),begin:S(function(_){this.conditionStack.push(_)},"begin"),popState:S(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:S(function(_){this.begin(_)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:S(function(_,R,k,L){switch(k){case 0:return _.getLogger().debug("Found block-beta"),10;case 1:return _.getLogger().debug("Found id-block"),29;case 2:return _.getLogger().debug("Found block"),10;case 3:_.getLogger().debug(".",R.yytext);break;case 4:_.getLogger().debug("_",R.yytext);break;case 5:return 5;case 6:return R.yytext=-1,28;case 7:return R.yytext=R.yytext.replace(/columns\s+/,""),_.getLogger().debug("COLUMNS (LEX)",R.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:_.getLogger().debug("LEX: POPPING STR:",R.yytext),this.popState();break;case 13:return _.getLogger().debug("LEX: STR end:",R.yytext),"STR";case 14:return R.yytext=R.yytext.replace(/space\:/,""),_.getLogger().debug("SPACE NUM (LEX)",R.yytext),21;case 15:return R.yytext="1",_.getLogger().debug("COLUMNS (LEX)",R.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),_.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),_.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),_.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),_.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),_.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),_.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),_.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),_.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),_.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),_.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),_.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),_.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return _.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return _.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return _.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return _.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return _.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return _.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return _.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return _.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),_.getLogger().debug("LEX ARR START"),37;case 74:return _.getLogger().debug("Lex: NODE_ID",R.yytext),31;case 75:return _.getLogger().debug("Lex: EOF",R.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:_.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:_.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return _.getLogger().debug("LEX: NODE_DESCR:",R.yytext),"NODE_DESCR";case 83:_.getLogger().debug("LEX POPPING"),this.popState();break;case 84:_.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (right): dir:",R.yytext),"DIR";case 86:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (left):",R.yytext),"DIR";case 87:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (x):",R.yytext),"DIR";case 88:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (y):",R.yytext),"DIR";case 89:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (up):",R.yytext),"DIR";case 90:return R.yytext=R.yytext.replace(/^,\s*/,""),_.getLogger().debug("Lex (down):",R.yytext),"DIR";case 91:return R.yytext="]>",_.getLogger().debug("Lex (ARROW_DIR end):",R.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return _.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 93:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 94:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 95:return _.getLogger().debug("Lex: LINK",R.yytext),15;case 96:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 97:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 98:return _.getLogger().debug("Lex: START_LINK",R.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return _.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),_.getLogger().debug("Lex: LINK","#"+R.yytext+"#"),15;case 102:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 103:return this.popState(),_.getLogger().debug("Lex: LINK",R.yytext),15;case 104:return _.getLogger().debug("Lex: COLON",R.yytext),R.yytext=R.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();b.lexer=x;function C(){this.yy={}}return S(C,"Parser"),C.prototype=b,b.Parser=C,new C})();K9.parser=K9;var hJe=K9,bl=new Map,OO=[],Z9=new Map,SY="color",EY="fill",dJe="bgFill",dce=",",fJe=Pe(),lC=new Map,IO="",pJe=S(t=>$t.sanitizeText(t,fJe),"sanitizeText"),gJe=S(function(t,e=""){let r=lC.get(t);r||(r={id:t,styles:[],textStyles:[]},lC.set(t,r)),e?.split(dce).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(SY).exec(n)){const s=i.replace(EY,dJe).replace(SY,EY);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),mJe=S(function(t,e=""){const r=bl.get(t);e!=null&&(r.styles=e.split(dce))},"addStyle2Node"),yJe=S(function(t,e){t.split(",").forEach(function(r){let n=bl.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},bl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),fce=S((t,e)=>{const r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&oe.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=pJe(s.label)),s.type==="classDef"){gJe(s.id,s.css);continue}if(s.type==="applyClass"){yJe(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&mJe(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(Z9.get(s.id)??0)+1;Z9.set(s.id,o),s.id=o+"-"+s.id,OO.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=bl.get(s.id);if(o===void 0?bl.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&fce(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u{oe.debug("Clear called"),Kn(),P2={id:"root",type:"composite",children:[],columns:-1},bl=new Map([["root",P2]]),BO=[],lC=new Map,OO=[],Z9=new Map,IO=""},"clear");function pce(t){switch(oe.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return oe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}S(pce,"typeStr2Type");function gce(t){return oe.debug("typeStr2Type",t),t==="=="?"thick":"normal"}S(gce,"edgeTypeStr2Type");function mce(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}S(mce,"edgeStrToEdgeData");var kY=0,bJe=S(()=>(kY++,"id-"+Math.random().toString(36).substr(2,12)+"-"+kY),"generateId"),xJe=S(t=>{P2.children=t,fce(t,P2),BO=P2.children},"setHierarchy"),TJe=S(t=>{const e=bl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),wJe=S(()=>[...bl.values()],"getBlocksFlat"),CJe=S(()=>BO||[],"getBlocks"),SJe=S(()=>OO,"getEdges"),EJe=S(t=>bl.get(t),"getBlock"),kJe=S(t=>{bl.set(t.id,t)},"setBlock"),_Je=S(t=>{IO=t},"setDiagramId"),AJe=S(()=>IO,"getDiagramId"),LJe=S(()=>oe,"getLogger"),RJe=S(function(){return lC},"getClasses"),DJe={getConfig:S(()=>gr().block,"getConfig"),typeStr2Type:pce,edgeTypeStr2Type:gce,edgeStrToEdgeData:mce,getLogger:LJe,getBlocksFlat:wJe,getBlocks:CJe,getEdges:SJe,setHierarchy:xJe,getBlock:EJe,setBlock:kJe,getColumns:TJe,getClasses:RJe,clear:vJe,generateId:bJe,setDiagramId:_Je,getDiagramId:AJe},NJe=DJe,BA=S((t,e)=>{const r=fD,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return dl(n,i,a,e)},"fade"),MJe=S(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -3070,9 +3070,9 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error } .node .cluster { - // fill: ${PA(t.mainBkg,.5)}; - fill: ${PA(t.clusterBkg,.5)}; - stroke: ${PA(t.clusterBorder,.2)}; + // fill: ${BA(t.mainBkg,.5)}; + fill: ${BA(t.clusterBkg,.5)}; + stroke: ${BA(t.clusterBorder,.2)}; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; stroke-width: 1px; } @@ -3107,12 +3107,12 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error font-size: 18px; fill: ${t.textColor}; } - ${bx()} -`,"getStyles"),qJe=zJe,VJe=S((t,e,r,n)=>{e.forEach(i=>{QJe[i](t,r,n)})},"insertMarkers"),GJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),UJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),HJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),WJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),YJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),jJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),XJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),KJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),ZJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),QJe={extension:GJe,composition:UJe,aggregation:HJe,dependency:WJe,lollipop:YJe,point:jJe,circle:XJe,cross:KJe,barb:ZJe},JJe=VJe,Ei=Pe()?.block?.padding??8;function J9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(J9,"calculateBlockPosition");var eet=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function uC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)uC(p,e);const s=eet(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Ei*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)uC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Ei-Ei)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(uC,"setBlockSizes");function FO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Ei;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=J9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Ei}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=J9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Ei}`),d.size){const x=f/2;h.size.x=l+Ei+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Ei} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Ei,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Ei}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&FO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(FO,"layoutBlocks");function $O(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=$O(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S($O,"findBounds");function vce(t){const e=t.getBlock("root");if(!e)return;uC(e,t,0,0),FO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=$O(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(vce,"layout");var tet=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=tet,ret=S((t,e,r,n,i)=>{e.arrowTypeStart&&AY(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&AY(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),net={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},AY=S((t,e,r,n,i,a)=>{const s=net[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),eD={},za={},iet=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Wl(u,n)),eD[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startLeft=d,C2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),za[e.id]||(za[e.id]={}),za[e.id].startRight=d,C2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endLeft=d,C2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Wl(m,n)),d.node().appendChild(p),za[e.id]||(za[e.id]={}),za[e.id].endRight=d,C2(h,e.endLabelRight)}return o},"insertEdgeLabel");function C2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(C2,"setTerminalWidth");var aet=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,eD[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Qb(n);if(t.label){const a=eD[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=za[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=za[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=za[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=za[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),set=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),oet=S((t,e,r)=>{oe.debug(`intersection calc abc89: + ${vx()} +`,"getStyles"),OJe=MJe,IJe=S((t,e,r,n)=>{e.forEach(i=>{HJe[i](t,r,n)})},"insertMarkers"),BJe=S((t,e,r)=>{oe.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),PJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),FJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),$Je=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),zJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),qJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),VJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),GJe=S((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),UJe=S((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),HJe={extension:BJe,composition:PJe,aggregation:FJe,dependency:$Je,lollipop:zJe,point:qJe,circle:VJe,cross:GJe,barb:UJe},WJe=IJe,Ei=Pe()?.block?.padding??8;function Q9(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}S(Q9,"calculateBlockPosition");var YJe=S(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};oe.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");function cC(t,e,r=0,n=0){oe.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const p of t.children)cC(p,e);const s=YJe(t);i=s.width,a=s.height,oe.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const p of t.children)p.size&&(oe.debug(`abc95 Setting size of children of ${t.id} id=${p.id} ${i} ${a} ${JSON.stringify(p.size)}`),p.size.width=i*(p.widthInColumns??1)+Ei*((p.widthInColumns??1)-1),p.size.height=a,p.size.x=0,p.size.y=0,oe.debug(`abc95 updating size of ${t.id} children child:${p.id} maxWidth:${i} maxHeight:${a}`));for(const p of t.children)cC(p,e,i,a);const o=t.columns??-1;let l=0;for(const p of t.children)l+=p.widthInColumns??1;let u=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(p>0){const m=(d-p*Ei-Ei)/p;oe.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,m);for(const v of t.children)v.size&&(v.size.width=m)}}t.size={width:d,height:f,x:0,y:0}}oe.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}S(cC,"setBlockSizes");function PO(t,e){oe.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(oe.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Ei;oe.debug("widthOfChildren 88",i,"posX");const a=new Map;{let h=0;for(const d of t.children){if(!d.size)continue;const{py:f}=Q9(r,h),p=a.get(f)??0;d.size.height>p&&a.set(f,d.size.height);let m=d?.widthInColumns??1;r>0&&(m=Math.min(m,r-h%r)),h+=m}}const s=new Map;{let h=0;const d=[...a.keys()].sort((f,p)=>f-p);for(const f of d)s.set(f,h),h+=(a.get(f)??0)+Ei}let o=0;oe.debug("abc91 block?.size?.x",t.id,t?.size?.x);let l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,u=0;for(const h of t.children){const d=t;if(!h.size)continue;const{width:f,height:p}=h.size,{px:m,py:v}=Q9(r,o);if(v!=u&&(u=v,l=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ei,oe.debug("New row in layout for block",t.id," and child ",h.id,u)),oe.debug(`abc89 layout blocks (child) id: ${h.id} Pos: ${o} (px, py) ${m},${v} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${f}${Ei}`),d.size){const x=f/2;h.size.x=l+Ei+x,oe.debug(`abc91 layout blocks (calc) px, pyid:${h.id} startingPos=X${l} new startingPosX${h.size.x} ${x} padding=${Ei} width=${f} halfWidth=${x} => x:${h.size.x} y:${h.size.y} ${h.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(h?.widthInColumns??1)/2}`),l=h.size.x+x;const C=s.get(v)??0,T=a.get(v)??p;h.size.y=d.size.y-d.size.height/2+C+T/2+Ei,oe.debug(`abc88 layout blocks (calc) px, pyid:${h.id}startingPosX${l}${Ei}${x}=>x:${h.size.x}y:${h.size.y}${h.widthInColumns}(width * (child?.w || 1)) / 2${f*(h?.widthInColumns??1)/2}`)}h.children&&PO(h);let b=h?.widthInColumns??1;r>0&&(b=Math.min(b,r-o%r)),o+=b,oe.debug("abc88 columnsPos",h,o)}}oe.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}S(PO,"layoutBlocks");function FO(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=FO(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}S(FO,"findBounds");function yce(t){const e=t.getBlock("root");if(!e)return;cC(e,t,0,0),PO(e),oe.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=FO(e),s=a-n,o=i-r;return{x:r,y:n,width:o,height:s}}S(yce,"layout");var XJe=S(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Pe(),o=gn(s);return await vs(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),hl=XJe,jJe=S((t,e,r,n,i)=>{e.arrowTypeStart&&_Y(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&_Y(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),KJe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},_Y=S((t,e,r,n,i,a)=>{const s=KJe[r];if(!s){oe.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),J9={},$a={},ZJe=S(async(t,e)=>{const r=Pe(),n=gn(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const d=o.children[0],f=kt(o);l=d.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const d=kt(o).select("text").node();d&&typeof d.getBBox=="function"&&(u=d.getBBox())}a.attr("transform",Hl(u,n)),J9[e.id]=i,e.width=l.width,e.height=l.height;let h;if(e.startLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.startLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startLeft=d,w2(h,e.startLabelLeft)}if(e.startLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(d,e.startLabelRight,e.labelStyle);h=p,f.node().appendChild(p);let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),$a[e.id]||($a[e.id]={}),$a[e.id].startRight=d,w2(h,e.startLabelRight)}if(e.endLabelLeft){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelLeft,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endLeft=d,w2(h,e.endLabelLeft)}if(e.endLabelRight){const d=t.insert("g").attr("class","edgeTerminals"),f=d.insert("g").attr("class","inner"),p=await hl(f,e.endLabelRight,e.labelStyle);h=p;let m=p.getBBox();if(n){const v=p.children[0],b=kt(p);m=v.getBoundingClientRect(),b.attr("width",m.width),b.attr("height",m.height)}f.attr("transform",Hl(m,n)),d.node().appendChild(p),$a[e.id]||($a[e.id]={}),$a[e.id].endRight=d,w2(h,e.endLabelRight)}return o},"insertEdgeLabel");function w2(t,e){gn(Pe())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}S(w2,"setTerminalWidth");var QJe=S((t,e)=>{oe.debug("Moving label abc88 ",t.id,t.label,J9[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Pe(),{subGraphTitleTotalMargin:i}=Zb(n);if(t.label){const a=J9[t.id];let s=t.x,o=t.y;if(r){const l=Lr.calcLabelPosition(r);oe.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=$a[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=$a[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=$a[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=$a[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Lr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),JJe=S((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),eet=S((t,e,r)=>{oe.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!set(e,a)&&!i){const s=oet(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),cet=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=LY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=LY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=j2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=gZ(r),v=Y2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=mC(!0)),ret(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),uet=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),het=S((t,e,r)=>{const n=uet(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function bce(t,e){return t.intersect(e)}S(bce,"intersectNode");var det=bce;function xce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(tD,"sameSign");var pet=Cce,get=Sce;function Sce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Sce,"intersectPolygon");var met=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),yet=met,Jn={node:det,circle:fet,ellipse:Tce,polygon:get,rect:yet},fa=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Du(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Du(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await rN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),xi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function El(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(El,"insertPolygonShape");var vet=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await fa(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},n},"note"),bet=vet,RY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${RY(t.classes)} ${RY(t.class)}`,"getClassesFromNode"),DY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=El(r,s,s,o);return l.attr("style",e.style),xi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Jn.polygon(e,o,u)},r},"question"),xet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Jn.circle(e,14,s)},r},"choice"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"hexagon"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=het(e.directions,n,e),u=El(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"block_arrow"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return El(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_left_inv_arrow"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_right"),ket=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_left"),_et=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"trapezoid"),Aet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"inv_trapezoid"),Let=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_right_inv_arrow"),Ret=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return xi(e,u),e.intersect=function(h){const d=Jn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),Det=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"rect"),Net=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(sE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"composite"),Met=S(async(t,e)=>{const{shapeSvg:r}=await fa(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(sE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return xi(e,n),e.intersect=function(s){return Jn.rect(e,s)},r},"labelRect");function sE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(sE,"applyNodePropertyBorders");var Oet=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},r},"stadium"),Bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),xi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Jn.circle(e,n.width/2+i,s)},r},"circle"),Pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),xi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Jn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Fet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=El(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"subroutine"),$et=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xi(e,n),e.intersect=function(i){return Jn.circle(e,7,i)},r},"start"),NY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return xi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Jn.rect(e,o)},n},"forkJoin"),zet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xi(e,i),e.intersect=function(a){return Jn.circle(e,7,a)},r},"end"),qet=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const R=b.children[0],O=kt(b);x=R.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const R=T.children[0],O=kt(T);E=R.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const A=[];if(e.classData.methods.forEach(async R=>{const O=R.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,A.push($)}),d+=i,m){let R=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+R)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,A.forEach(R=>{kt(R).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=R?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),xi(e,o),e.intersect=function(R){return Jn.rect(e,R)},s},"class_box"),MY={rhombus:DY,composite:Net,question:DY,rect:Det,labelRect:Met,rectWithTitle:Oet,choice:xet,circle:Bet,doublecircle:Pet,stadium:Iet,hexagon:Tet,block_arrow:wet,rect_left_inv_arrow:Cet,lean_right:Eet,lean_left:ket,trapezoid:_et,inv_trapezoid:Aet,rect_right_inv_arrow:Let,cylinder:Ret,start:$et,end:zet,note:bet,subroutine:Fet,fork:NY,join:NY,class_box:qet},o5={},Ece=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await MY[e.shape](n,e,r)}else i=await MY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),o5[e.id]=n,e.haveCallback&&o5[e.id].attr("class",o5[e.id].attr("class")+" clickable"),n},"insertNode"),Vet=S(t=>{const e=o5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function zO(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=JD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S(zO,"getNodeFromBlock");async function kce(t,e,r){const n=zO(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Ece(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(kce,"calculateBlockSize");async function _ce(t,e,r){const n=zO(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Ece(t,n,{config:a}),e.intersect=n?.intersect,Vet(n)}}S(_ce,"insertBlockPositioned");async function oE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await oE(t,i.children,r,n)}S(oE,"performOperations");async function Ace(t,e,r){await oE(t,e,r,kce)}S(Ace,"calculateBlockSizes");async function Lce(t,e,r){await oE(t,e,r,_ce)}S(Lce,"insertBlocks");async function Rce(t,e,r,n,i){const a=new Gs({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;cet(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await iet(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),aet({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Rce,"insertEdges");var Get=S(function(t,e){return e.db.getClasses()},"getClasses"),Uet=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);JJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await Ace(m,d,s);const v=vce(s);if(await Lce(m,d,s),await Rce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Ui(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Het={draw:Uet,getClasses:Get},Wet={parser:vJe,db:$Je,renderer:Het,styles:qJe};const Yet=Object.freeze(Object.defineProperty({__proto__:null,diagram:Wet},Symbol.toStringTag,{value:"Module"}));var Gl=new MM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),jet=S(()=>{Gl.reset(),Kn()},"clear"),Xet=S(()=>Gl.records.stack[0],"getRoot"),Ket=S(()=>Gl.records.cnt,"getCount"),Zet=Vr.treeView,Qet=S(()=>ea(Zet,gr().treeView),"getConfig"),Jet=S((t,e)=>{for(;t<=Gl.records.stack[Gl.records.stack.length-1].level;)Gl.records.stack.pop();const r={id:Gl.records.cnt++,level:t,name:e,children:[]};Gl.records.stack[Gl.records.stack.length-1].children.push(r),Gl.records.stack.push(r)},"addNode"),ett={clear:jet,addNode:Jet,getRoot:Xet,getCount:Ket,getConfig:Qet,getAccTitle:ci,getAccDescription:hi,getDiagramTitle:Zn,setAccDescription:ui,setAccTitle:Xn,setDiagramTitle:li},rD=ett,ttt=S(t=>{ju(t,rD),t.nodes.map(e=>rD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),rtt={parse:S(async t=>{const e=await Tc("treeView",t);oe.debug(e),ttt(e)},"parse")},ntt=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),OY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),itt=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);ntt(d,n,l,o,u);const{height:f,width:p}=l.BBox;OY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;OY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),att=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram -`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Vs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=itt(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Ui(o,u,h,s.useMaxWidth)},"draw"),stt={draw:att},ott=stt,ltt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},ctt=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=ea(ltt,t);return` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.xMath.abs(n-e.x)*l){let d=r.y{oe.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!JJe(e,a)&&!i){const s=eet(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),tet=S(function(t,e,r,n,i,a,s){let o=r.points;oe.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var h=a.node(e.w);h?.intersect&&u?.intersect&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(h.intersect(o[o.length-1]))),r.toCluster&&(oe.debug("to cluster abc88",n[r.toCluster]),o=AY(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(oe.debug("from cluster abc88",n[r.fromCluster]),o=AY(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const d=o.filter(E=>!Number.isNaN(E.y));let f=Y2;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:m}=pZ(r),v=W2().x(p).y(m).curve(f);let b;switch(r.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-thick";break;default:b=""}switch(r.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break}const x=t.append("path").attr("d",v(d)).attr("id",r.id).attr("class"," "+b+(r.classes?" "+r.classes:"")).attr("style",r.style);let C="";(Pe().flowchart.arrowMarkerAbsolute||Pe().state.arrowMarkerAbsolute)&&(C=gC(!0)),jJe(x,r,C,s,i);let T={};return l&&(T.updatedPath=o),T.originalPath=r.points,T},"insertEdge"),ret=S(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),net=S((t,e,r)=>{const n=ret(t),i=2,a=e.height+2*r.padding,s=a/i,o=e.width+2*s+r.padding,l=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:o/2,y:2*l},{x:o-s,y:0},{x:o,y:0},{x:o,y:-a/3},{x:o+2*l,y:-a/2},{x:o,y:-2*a/3},{x:o,y:-a},{x:o-s,y:-a},{x:o/2,y:-a-2*l},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*l,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:o-s,y:-a},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-s},{x:o,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:o,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-s},{x:o,y:-a}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-a}]:n.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a+l}]:n.has("left")?[{x:s,y:0},{x:s,y:-l},{x:o-s,y:-l},{x:o-s,y:-a+l},{x:s,y:-a+l},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-l},{x:s,y:-a+l},{x:0,y:-a+l},{x:o/2,y:-a},{x:o,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-a+l},{x:o-s,y:-a+l},{x:o-s,y:-l},{x:o,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function vce(t,e){return t.intersect(e)}S(vce,"intersectNode");var iet=vce;function bce(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x0}S(eD,"sameSign");var set=wce,oet=Cce;function Cce(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){s=Math.min(s,m.x),o=Math.min(o,m.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,h=0;h1&&a.sort(function(m,v){var b=m.x-r.x,x=m.y-r.y,C=Math.sqrt(b*b+x*x),T=v.x-r.x,E=v.y-r.y,_=Math.sqrt(T*T+E*E);return C<_?-1:C===_?0:1}),a[0]):t}S(Cce,"intersectPolygon");var cet=S((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),uet=cet,Jn={node:iet,circle:aet,ellipse:xce,polygon:oet,rect:uet},fa=S(async(t,e,r,n)=>{const i=Pe();let a;const s=e.useHtmlLabels||gn(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let h;e.labelType==="markdown"?h=vs(l,Jr(Ru(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):h=await hl(l,Jr(Ru(u),i),e.labelStyle,!1,n);let d=h.getBBox();const f=e.padding/2;if(gn(i)){const p=h.children[0],m=kt(h);await tN(p,u),d=p.getBoundingClientRect(),m.attr("width",d.width),m.attr("height",d.height)}return s?l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):l.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:d,halfPadding:f,label:l}},"labelHelper"),xi=S((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function Sl(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}S(Sl,"insertPolygonShape");var het=S(async(t,e)=>{e.useHtmlLabels||gn(Pe())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await fa(t,e,"node "+e.classes,!0);oe.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},n},"note"),det=het,LY=S(t=>t?" "+t:"","formatClass"),To=S((t,e)=>`${e||"node default"}${LY(t.classes)} ${LY(t.class)}`,"getClassesFromNode"),RY=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];oe.info("Question main (Circle)");const l=Sl(r,s,s,o);return l.attr("style",e.style),xi(e,l),e.intersect=function(u){return oe.warn("Intersect called"),Jn.polygon(e,o,u)},r},"question"),fet=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Jn.circle(e,14,s)},r},"choice"),pet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,o=n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=Sl(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"hexagon"),get=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,l=net(e.directions,n,e),u=Sl(r,o,a,l);return u.attr("style",e.style),xi(e,u),e.intersect=function(h){return Jn.polygon(e,l,h)},r},"block_arrow"),met=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Sl(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_left_inv_arrow"),yet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=Sl(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_right"),vet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=Sl(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"lean_left"),bet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=Sl(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"trapezoid"),xet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=Sl(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"inv_trapezoid"),Tet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=Sl(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"rect_right_inv_arrow"),wet=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return xi(e,u),e.intersect=function(h){const d=Jn.rect(e,h),f=d.x-e.x;if(a!=0&&(Math.abs(f)e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-e.y>0&&(p=-p),d.y+=p}return d},r},"cylinder"),Cet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(aE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"rect"),Eet=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const h=new Set(Object.keys(e.props));e.props.borders&&(aE(a,e.props.borders,s,o),h.delete("borders")),h.forEach(d=>{oe.warn(`Unknown node property ${d}`)})}return xi(e,a),e.intersect=function(h){return Jn.rect(e,h)},r},"composite"),ket=S(async(t,e)=>{const{shapeSvg:r}=await fa(t,e,"label",!0);oe.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(aE(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{oe.warn(`Unknown node property ${o}`)})}return xi(e,n),e.intersect=function(s){return Jn.rect(e,s)},r},"labelRect");function aE(t,e,r,n){const i=[],a=S(o=>{i.push(o,0)},"addBorder"),s=S(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(oe.debug("add top border"),a(r)):s(r),e.includes("r")?(oe.debug("add right border"),a(n)):s(n),e.includes("b")?(oe.debug("add bottom border"),a(r)):s(r),e.includes("l")?(oe.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}S(aE,"applyNodePropertyBorders");var _et=S(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,oe.info("Label text abc79",l,o,typeof o=="object");const u=await hl(s,l,e.labelStyle,!0,!0);let h={width:0,height:0};if(gn(Pe())){const v=u.children[0],b=kt(u);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}oe.info("Text 2",o);const d=o.slice(1,o.length);let f=u.getBBox();const p=await hl(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(gn(Pe())){const v=p.children[0],b=kt(p);h=v.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}const m=e.padding/2;return kt(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+m+5)+")"),kt(u).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return xi(e,s),e.intersect=function(o){return Jn.rect(e,o)},r},"stadium"),Let=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("Circle main"),xi(e,a),e.intersect=function(s){return oe.info("Circle intersect",e,n.width/2+i,s),Jn.circle(e,n.width/2+i,s)},r},"circle"),Ret=S(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await fa(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),oe.info("DoubleCircle main"),xi(e,o),e.intersect=function(u){return oe.info("DoubleCircle intersect",e,n.width/2+i+a,u),Jn.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Det=S(async(t,e)=>{const{shapeSvg:r,bbox:n}=await fa(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=Sl(r,i,a,s);return o.attr("style",e.style),xi(e,o),e.intersect=function(l){return Jn.polygon(e,s,l)},r},"subroutine"),Net=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xi(e,n),e.intersect=function(i){return Jn.circle(e,7,i)},r},"start"),DY=S((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return xi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Jn.rect(e,o)},n},"forkJoin"),Met=S((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xi(e,i),e.intersect=function(a){return Jn.circle(e,7,a)},r},"end"),Oet=S(async(t,e)=>{const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let h=0,d=n;const f=s.insert("g").attr("class","label");let p=0;const m=e.classData.annotations?.[0],v=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=await hl(f,v,e.labelStyle,!0,!0);let x=b.getBBox();if(gn(Pe())){const L=b.children[0],O=kt(b);x=L.getBoundingClientRect(),O.attr("width",x.width),O.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,h+=x.width);let C=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(gn(Pe())?C+="<"+e.classData.type+">":C+="<"+e.classData.type+">");const T=await hl(f,C,e.labelStyle,!0,!0);kt(T).attr("class","classTitle");let E=T.getBBox();if(gn(Pe())){const L=T.children[0],O=kt(T);E=L.getBoundingClientRect(),O.attr("width",E.width),O.attr("height",E.height)}d+=E.height+n,E.width>h&&(h=E.width);const _=[];e.classData.members.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,_.push($)}),d+=i;const R=[];if(e.classData.methods.forEach(async L=>{const O=L.getDisplayDetails();let F=O.displayText;gn(Pe())&&(F=F.replace(//g,">"));const $=await hl(f,F,O.cssStyle?O.cssStyle:e.labelStyle,!0,!0);let q=$.getBBox();if(gn(Pe())){const z=$.children[0],D=kt($);q=z.getBoundingClientRect(),D.attr("width",q.width),D.attr("height",q.height)}q.width>h&&(h=q.width),d+=q.height+n,R.push($)}),d+=i,m){let L=(h-x.width)/2;kt(b).attr("transform","translate( "+(-1*h/2+L)+", "+-1*d/2+")"),p=x.height+n}let k=(h-E.width)/2;return kt(T).attr("transform","translate( "+(-1*h/2+k)+", "+(-1*d/2+p)+")"),p+=E.height+n,l.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,_.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p+i/2)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),p+=i,u.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-d/2-r+i+p).attr("y2",-d/2-r+i+p),p+=i,R.forEach(L=>{kt(L).attr("transform","translate( "+-h/2+", "+(-1*d/2+p)+")");const O=L?.getBBox();p+=(O?.height??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(d/2)-r).attr("width",h+e.padding).attr("height",d+e.padding),xi(e,o),e.intersect=function(L){return Jn.rect(e,L)},s},"class_box"),NY={rhombus:RY,composite:Eet,question:RY,rect:Cet,labelRect:ket,rectWithTitle:_et,choice:fet,circle:Let,doublecircle:Ret,stadium:Aet,hexagon:pet,block_arrow:get,rect_left_inv_arrow:met,lean_right:yet,lean_left:vet,trapezoid:bet,inv_trapezoid:xet,rect_right_inv_arrow:Tet,cylinder:wet,start:Net,end:Met,note:det,subroutine:Det,fork:DY,join:DY,class_box:Oet},s5={},Sce=S(async(t,e,r)=>{let n,i;if(e.link){let a;Pe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await NY[e.shape](n,e,r)}else i=await NY[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),s5[e.id]=n,e.haveCallback&&s5[e.id].attr("class",s5[e.id].attr("class")+" clickable"),n},"insertNode"),Iet=S(t=>{const e=s5[t.id];oe.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function $O(t,e,r=!1){const n=t;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=QD(n?.styles??[]),u=n.label,h=n.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:d?`${d}-${n.id}`:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:o??gr()?.block?.padding??0}}S($O,"getNodeFromBlock");async function Ece(t,e,r){const n=$O(e,r,!1);if(n.type==="group")return;const i=gr(),a=await Sce(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}S(Ece,"calculateBlockSize");async function kce(t,e,r){const n=$O(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=gr();await Sce(t,n,{config:a}),e.intersect=n?.intersect,Iet(n)}}S(kce,"insertBlockPositioned");async function sE(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await sE(t,i.children,r,n)}S(sE,"performOperations");async function _ce(t,e,r){await sE(t,e,r,Ece)}S(_ce,"calculateBlockSizes");async function Ace(t,e,r){await sE(t,e,r,kce)}S(Ace,"insertBlocks");async function Lce(t,e,r,n,i){const a=new Gs({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o?.size&&l?.size){const u=o.size,h=l.size,d=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],f=i?`${i}-${s.id}`:s.id;tet(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await ZJe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),QJe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}S(Lce,"insertEdges");var Bet=S(function(t,e){return e.db.getClasses()},"getClasses"),Pet=S(async function(t,e,r,n){const{securityLevel:i,block:a}=gr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=kt("#i"+e));const l=kt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):kt(`[id="${e}"]`);WJe(u,["point","circle","cross"],n.type,e);const d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert("g").attr("class","block");await _ce(m,d,s);const v=yce(s);if(await Ace(m,d,s),await Lce(m,p,f,s,e),v){const b=v,x=Math.max(1,Math.round(.125*(b.width/b.height))),C=b.height+x+10,T=b.width+10,{useMaxWidth:E}=a;Ui(u,C,T,!!E),oe.debug("Here Bounds",v,b),u.attr("viewBox",`${b.x-5} ${b.y-5} ${b.width+10} ${b.height+10}`)}},"draw"),Fet={draw:Pet,getClasses:Bet},$et={parser:hJe,db:NJe,renderer:Fet,styles:OJe};const zet=Object.freeze(Object.defineProperty({__proto__:null,diagram:$et},Symbol.toStringTag,{value:"Module"}));var Vl=new NM(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),qet=S(()=>{Vl.reset(),Kn()},"clear"),Vet=S(()=>Vl.records.stack[0],"getRoot"),Get=S(()=>Vl.records.cnt,"getCount"),Uet=Vr.treeView,Het=S(()=>ea(Uet,gr().treeView),"getConfig"),Wet=S((t,e)=>{for(;t<=Vl.records.stack[Vl.records.stack.length-1].level;)Vl.records.stack.pop();const r={id:Vl.records.cnt++,level:t,name:e,children:[]};Vl.records.stack[Vl.records.stack.length-1].children.push(r),Vl.records.stack.push(r)},"addNode"),Yet={clear:qet,addNode:Wet,getRoot:Vet,getCount:Get,getConfig:Het,getAccTitle:ci,getAccDescription:hi,getDiagramTitle:Zn,setAccDescription:ui,setAccTitle:jn,setDiagramTitle:li},tD=Yet,Xet=S(t=>{Yu(t,tD),t.nodes.map(e=>tD.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),jet={parse:S(async t=>{const e=await xc("treeView",t);oe.debug(e),Xet(e)},"parse")},Ket=S((t,e,r,n,i)=>{const a=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:o}=a.node().getBBox(),l=s+i.paddingY*2,u=o+i.paddingX*2;a.attr("x",t+i.paddingX),a.attr("y",e+l/2),r.BBox={x:t,y:e,width:u,height:l}},"positionLabel"),MY=S((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),Zet=S((t,e,r)=>{let n=0,i=0;const a=S((o,l,u,h)=>{const d=h*(u.rowIndent+u.paddingX);Ket(d,n,l,o,u);const{height:f,width:p}=l.BBox;MY(o,d-u.rowIndent,n+f/2,d,n+f/2,u.lineThickness),i=Math.max(i,d+p),n+=f},"drawNode"),s=S((o,l=0)=>{a(t,o,r,l),o.children.forEach(f=>{s(f,l+1)});const{x:u,y:h,height:d}=o.BBox;if(o.children.length){const{y:f,height:p}=o.children[o.children.length-1].BBox;MY(t,u+r.paddingX,h+d,u+r.paddingX,f+p/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:n,totalWidth:i}},"drawTree"),Qet=S((t,e,r,n)=>{oe.debug(`Rendering treeView diagram +`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=Vs(e),l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:h}=Zet(l,a,s);o.attr("viewBox",`-${s.lineThickness/2} 0 ${h} ${u}`),Ui(o,u,h,s.useMaxWidth)},"draw"),Jet={draw:Qet},ett=Jet,ttt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},rtt=S(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n}=ea(ttt,t);return` .treeView-node-label { font-size: ${e}; fill: ${r}; @@ -3120,7 +3120,7 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error .treeView-node-line { stroke: ${n}; } - `},"styles"),utt=ctt,htt={db:rD,renderer:ott,parser:rtt,styles:utt};const dtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:htt},Symbol.toStringTag,{value:"Module"}));var l5={exports:{}},c5={exports:{}},u5={exports:{}},ftt=u5.exports,IY;function ptt(){return IY||(IY=1,(function(t,e){(function(n,i){t.exports=i()})(ftt,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&R>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(R,1);var A=T.source.owner.getEdges().indexOf(T);if(A==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(A,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),A=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,A,k,R,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),A=z.getRight(),k=z.getTop(),R=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=R,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=R,u[3]=k,I=!0):B===M&&(f>h?(u[2]=A,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,j=f+-z/M,u[2]=j,u[3]=Z;break;case 2:j=$,Z=p+q*M,u[2]=j,u[3]=Z;break;case 3:Z=F,j=f+z/M,u[2]=j,u[3]=Z;break;case 4:j=O,Z=p+-q*M,u[2]=j,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,A=void 0,k=void 0,R=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,A=C-b,R=v-x,F=x*b-v*C,$=_*R-A*k,$===0?null:(T=(k*F-R*O)/$,E=(A*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var R=_[0];_.splice(0,1),E.add(R);for(var O=R.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,A=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=A.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&R.push(D),C.set(D,N)}})}x=x.concat(R),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var A=0;Ad}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;X--){if((function(St,gt){return St&>})(X0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Le=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Le),Te=this.s[Oe]/We,ot=Le/We;this.s[Oe]=We,Oe!==pe&&(Le=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var De=0;De=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,A=u(551).Layout,k=u(551).Integer,R=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,X=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;X.has(ne)?X.get(ne).push(me):X.set(ne,[me]),X.has(me)?X.get(me).push(ne):X.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Le){if(!Me.has(Le)){ne[$e]=[],me[$e]=!1;var Oe=Le;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(X,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=X.indexOf(ie);ne>=0&&X.splice(ne,1),he--,ee--}I!=null?te=(X.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=X[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var j="DummyCompound_"+H;D.memberGroups[j]=I[H];var Z=I[H][0].getParent(),X=new p(D.graphManager);X.id=j,X.paddingLeft=Z.paddingLeft||0,X.paddingRight=Z.paddingRight||0,X.paddingBottom=Z.paddingBottom||0,X.paddingTop=Z.paddingTop||0,D.idToDummyNode[j]=X;var ee=D.getGraphManager().add(D.newGraph(),X),Q=Z.getChild();Q.add(X);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,j=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(j+N)*M,X=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(X),ee==X&&ee++):ee=Math.floor(X);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var j=0,Z=0,X=0;X0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var j;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;IeX&&(X=Z[Q].length,ee=Q);if(X0){var De={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);De.x+=we.x,De.y+=we.y}),De.x/=x.fixedNodeConstraint.length,De.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=De.x}),_.forEach(function(be,Y){_[Y]+=De.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(c5)),c5.exports}var ytt=l5.exports,PY;function vtt(){return PY||(PY=1,(function(t,e){(function(n,i){t.exports=i(mtt())})(ytt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(A){C=!0,T=A}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(j)});for(var U=0;U1){_=T[0],A=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,A=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),R;!(E=(R=k.next()).done);E=!0){var O=R.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(j){_=!0,A=j}finally{try{!E&&k.return&&k.return()}finally{if(_)throw A}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(j){return j+V}),m.yCoords=m.yCoords.map(function(j){return j+U})}else{Object.keys(m).forEach(function(j){var Z=m[j],X=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;Xx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(j){var Z=m[j];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,A=void 0,k=void 0,R=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var A=E.cy,k=E.eles,R=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(j){return typeof j=="function"},I=function(j,Z){return D(j)?j(Z):j},N=h.calcParentsWithoutChildren(A,k),B=function H(j,Z,X,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=X.getGraphManager().add(X.newGraph(),ie),H(pe,ae,X,ee)}}},M=function(j,Z,X){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(j,Z){Z.fixedNodeConstraint&&(j.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(j.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(j.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(R),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,A){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(R,k.eles,V),q.forEach(function(He){var Le=He.boundingBox();z.push({x:Le.x1+Le.w/2,y:Le.y1+Le.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=R.collection();if(k.tile){var P=new Map,H=[],j=[],Z=0,X={nodeIndexes:P,xCoords:H,yCoords:j},ee=[];if(q.forEach(function(He,Le){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(X.nodeIndexes.set(He.nodes()[We].id(),Z++),X.xCoords.push(He.nodes()[0].position().x),X.yCoords.push(He.nodes()[0].position().y))}),ee.push(Le))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(X);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Le){k.eles=He,$.push(x(k,F[Le])),p.relocateComponent(z[Le],$[Le],k)})}else q.forEach(function(He,Le){p.relocateComponent(z[Le],F[Le],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Le){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Le].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Le].xCoords[Te]-ot.boundingbox().w/2,y:F[Le].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var De=p.calcBoundingBox(ot,F[Le].xCoords,F[Le].yCoords,Oe);We.nodes.push({x:De.topLeftX,y:De.topLeftY,width:De.width,height:De.height})}else $[Le][ot.id()]&&We.nodes.push({x:$[Le][ot.id()].getLeft(),y:$[Le][ot.id()].getTop(),width:$[Le][ot.id()].getWidth(),height:$[Le][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var De=ot.source(),Ge=ot.target();if(De.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(De.id()),Ye=Oe.get(Ge.id()),je=[],at=[];if(De.isParent()){var xe=p.calcBoundingBox(De,F[Le].xCoords,F[Le].yCoords,Oe);je.push(xe.topLeftX+xe.width/2),je.push(xe.topLeftY+xe.height/2)}else je.push(F[Le].xCoords[it]),je.push(F[Le].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Le].xCoords,F[Le].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Le].xCoords[Ye]),at.push(F[Le].yCoords[Ye]);We.edges.push({startX:je[0],startY:je[1],endX:at[0],endY:at[1]})}else $[Le][De.id()]&&$[Le][Ge.id()]&&We.edges.push({startX:$[Le][De.id()].getCenterX(),startY:$[Le][De.id()].getCenterY(),endX:$[Le][Ge.id()].getCenterX(),endY:$[Le][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Le))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Le){var Oe=He.xCoords.map(function(Te){return Te+ne[Le].dx}),We=He.yCoords.map(function(Te){return Te+ne[Le].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Le){var Oe=$[He][Le];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Le,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Le=="number"&&(Le=Oe);var We=void 0,Te=void 0,ot=Le.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Le.position("x"),y:Le.position("y")}),{x:We.x,y:We.y}}else{var De=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Le.id());it!=null&&(De={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),De==null&&(De={x:Le.position("x"),y:Le.position("y")}),{x:De.x,y:De.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(R,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(A,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,A=new Map,k=[],R=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(A.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=A.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Le=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Le=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Le)throw Oe}}I=_.size;var De=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(l5)),l5.exports}var btt=vtt();const xtt=k0(btt);var FY={L:"left",R:"right",T:"top",B:"bottom"},$Y={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},e3={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},Ttt=S(function(t){return as(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),zY=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),as=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),yd=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),qO=S(function(t,e){const r=as(t)&&yd(e),n=yd(t)&&as(e);return r||n},"isArchitectureDirectionXY"),wtt=S(function(t){const e=t[0],r=t[1],n=as(e)&&yd(r),i=yd(e)&&as(r);return n||i},"isArchitecturePairXY"),Ctt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),nD=S(function(t,e){const r=`${t}${e}`;return Ctt(r)?r:void 0},"getArchitectureDirectionPair"),Stt=S(function([t,e],r){const n=r[0],i=r[1];return as(n)?yd(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:as(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ett=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),ktt=S(function(t,e){return qO(t,e)?"bend":as(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),_tt=S(function(t){return t.type==="service"},"isArchitectureService"),Att=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Dce=S(t=>t.data(),"edgeData"),Ag=S(t=>t.data(),"nodeData"),Ltt=Vr.architecture,Z1,Nce=(Z1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",Kn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(_tt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(Att)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!zY(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!zY(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=ktt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=nD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=nD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=Stt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return ea({...Ltt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(Z1,"ArchitectureDB"),Z1),Rtt=S((t,e)=>{ju(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Mce={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("architecture",t);oe.debug(e);const r=Mce.parser?.yy;if(!(r instanceof Nce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Rtt(e,r)},"parse")},Dtt=S(t=>` + `},"styles"),ntt=rtt,itt={db:tD,renderer:ett,parser:jet,styles:ntt};const att=Object.freeze(Object.defineProperty({__proto__:null,diagram:itt},Symbol.toStringTag,{value:"Module"}));var o5={exports:{}},l5={exports:{}},c5={exports:{}},stt=c5.exports,OY;function ott(){return OY||(OY=1,(function(t,e){(function(n,i){t.exports=i()})(stt,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(h,d,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=d}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(h,d){for(var f=this.getOtherEnd(h),p=d.getGraphManager().getRoot();;){if(f.getOwner()==d)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),h=i(5);function d(p,m,v,b){v==null&&b==null&&(b=m),a.call(this,b),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=b,this.edges=[],this.graphManager=p,v!=null&&m!=null?this.rect=new o(m.x,m.y,v.width,v.height):this.rect=new o}d.prototype=Object.create(a.prototype);for(var f in a)d[f]=a[f];d.prototype.getEdges=function(){return this.edges},d.prototype.getChild=function(){return this.child},d.prototype.getOwner=function(){return this.owner},d.prototype.getWidth=function(){return this.rect.width},d.prototype.setWidth=function(p){this.rect.width=p},d.prototype.getHeight=function(){return this.rect.height},d.prototype.setHeight=function(p){this.rect.height=p},d.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},d.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},d.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},d.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},d.prototype.getRect=function(){return this.rect},d.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},d.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},d.prototype.setRect=function(p,m){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=m.width,this.rect.height=m.height},d.prototype.setCenter=function(p,m){this.rect.x=p-this.rect.width/2,this.rect.y=m-this.rect.height/2},d.prototype.setLocation=function(p,m){this.rect.x=p,this.rect.y=m},d.prototype.moveBy=function(p,m){this.rect.x+=p,this.rect.y+=m},d.prototype.getEdgeListToNode=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(b.target==p){if(b.source!=v)throw"Incorrect edge source!";m.push(b)}}),m},d.prototype.getEdgesBetween=function(p){var m=[],v=this;return v.edges.forEach(function(b){if(!(b.source==v||b.target==v))throw"Incorrect edge source and/or target";(b.target==p||b.source==p)&&m.push(b)}),m},d.prototype.getNeighborsList=function(){var p=new Set,m=this;return m.edges.forEach(function(v){if(v.source==m)p.add(v.target);else{if(v.target!=m)throw"Incorrect incidency!";p.add(v.source)}}),p},d.prototype.withChildren=function(){var p=new Set,m,v;if(p.add(this),this.child!=null)for(var b=this.child.getNodes(),x=0;xm?(this.rect.x-=(this.labelWidth-m)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(m+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(v+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>v?(this.rect.y-=(this.labelHeight-v)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(v+this.labelHeight))}}},d.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},d.prototype.transform=function(p){var m=this.rect.x;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var v=this.rect.y;v>l.WORLD_BOUNDARY?v=l.WORLD_BOUNDARY:v<-l.WORLD_BOUNDARY&&(v=-l.WORLD_BOUNDARY);var b=new h(m,v),x=p.inverseTransformPoint(b);this.setLocation(x.x,x.y)},d.prototype.getLeft=function(){return this.rect.x},d.prototype.getRight=function(){return this.rect.x+this.rect.width},d.prototype.getTop=function(){return this.rect.y},d.prototype.getBottom=function(){return this.rect.y+this.rect.height},d.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=d}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),h=i(1),d=i(13),f=i(12),p=i(11);function m(b,x,C){a.call(this,C),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=b,x!=null&&x instanceof l?this.graphManager=x:x!=null&&x instanceof Layout&&(this.graphManager=x.graphManager)}m.prototype=Object.create(a.prototype);for(var v in a)m[v]=a[v];m.prototype.getNodes=function(){return this.nodes},m.prototype.getEdges=function(){return this.edges},m.prototype.getGraphManager=function(){return this.graphManager},m.prototype.getParent=function(){return this.parent},m.prototype.getLeft=function(){return this.left},m.prototype.getRight=function(){return this.right},m.prototype.getTop=function(){return this.top},m.prototype.getBottom=function(){return this.bottom},m.prototype.isConnected=function(){return this.isConnected},m.prototype.add=function(b,x,C){if(x==null&&C==null){var T=b;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(T)>-1)throw"Node already in graph!";return T.owner=this,this.getNodes().push(T),T}else{var E=b;if(!(this.getNodes().indexOf(x)>-1&&this.getNodes().indexOf(C)>-1))throw"Source or target not in graph!";if(!(x.owner==C.owner&&x.owner==this))throw"Both owners must be this graph!";return x.owner!=C.owner?null:(E.source=x,E.target=C,E.isInterGraph=!1,this.getEdges().push(E),x.edges.push(E),C!=x&&C.edges.push(E),E)}},m.prototype.remove=function(b){var x=b;if(b instanceof u){if(x==null)throw"Node is null!";if(!(x.owner!=null&&x.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var C=x.edges.slice(),T,E=C.length,_=0;_-1&&L>-1))throw"Source and/or target doesn't know this edge!";T.source.edges.splice(k,1),T.target!=T.source&&T.target.edges.splice(L,1);var R=T.source.owner.getEdges().indexOf(T);if(R==-1)throw"Not in owner's edge list!";T.source.owner.getEdges().splice(R,1)}},m.prototype.updateLeftTop=function(){for(var b=s.MAX_VALUE,x=s.MAX_VALUE,C,T,E,_=this.getNodes(),R=_.length,k=0;kC&&(b=C),x>T&&(x=T)}return b==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=x-E,this.top=b-E,new f(this.left,this.top))},m.prototype.updateBounds=function(b){for(var x=s.MAX_VALUE,C=-s.MAX_VALUE,T=s.MAX_VALUE,E=-s.MAX_VALUE,_,R,k,L,O,F=this.nodes,$=F.length,q=0;q<$;q++){var z=F[q];b&&z.child!=null&&z.updateBounds(),_=z.getLeft(),R=z.getRight(),k=z.getTop(),L=z.getBottom(),x>_&&(x=_),Ck&&(T=k),E_&&(x=_),Ck&&(T=k),E=this.nodes.length){var $=0;C.forEach(function(q){q.owner==b&&$++}),$==this.nodes.length&&(this.isConnected=!0)}},r.exports=m}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),h=this.add(l,u);return this.setRootGraph(h),this.rootGraph},o.prototype.add=function(l,u,h,d,f){if(h==null&&d==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=h,d=u,h=l;var p=d.getOwner(),m=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(m!=null&&m.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==m)return h.isInterGraph=!1,p.add(h,d,f);if(h.isInterGraph=!0,h.source=d,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(u.getEdges());for(var d,f=h.length,p=0;p=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],m=u[1]/f;u[0]p)return u[0]=h,u[1]=v,u[2]=f,u[3]=F,!1;if(df)return u[0]=m,u[1]=d,u[2]=L,u[3]=p,!1;if(hf?(u[0]=x,u[1]=C,D=!0):(u[0]=b,u[1]=v,D=!0):N===M&&(h>f?(u[0]=m,u[1]=v,D=!0):(u[0]=T,u[1]=C,D=!0)),-B===M?f>h?(u[2]=O,u[3]=F,I=!0):(u[2]=L,u[3]=k,I=!0):B===M&&(f>h?(u[2]=R,u[3]=k,I=!0):(u[2]=$,u[3]=F,I=!0)),D&&I)return!1;if(h>f?d>p?(V=this.getCardinalDirection(N,M,4),U=this.getCardinalDirection(B,M,2)):(V=this.getCardinalDirection(-N,M,3),U=this.getCardinalDirection(-B,M,1)):d>p?(V=this.getCardinalDirection(-N,M,1),U=this.getCardinalDirection(-B,M,3)):(V=this.getCardinalDirection(N,M,2),U=this.getCardinalDirection(B,M,4)),!D)switch(V){case 1:H=v,P=h+-_/M,u[0]=P,u[1]=H;break;case 2:P=T,H=d+E*M,u[0]=P,u[1]=H;break;case 3:H=C,P=h+_/M,u[0]=P,u[1]=H;break;case 4:P=x,H=d+-E*M,u[0]=P,u[1]=H;break}if(!I)switch(U){case 1:Z=k,X=f+-z/M,u[2]=X,u[3]=Z;break;case 2:X=$,Z=p+q*M,u[2]=X,u[3]=Z;break;case 3:Z=F,X=f+z/M,u[2]=X,u[3]=Z;break;case 4:X=O,Z=p+-q*M,u[2]=X,u[3]=Z;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,h){if(h==null)return this.getIntersection2(o,l,u);var d=o.x,f=o.y,p=l.x,m=l.y,v=u.x,b=u.y,x=h.x,C=h.y,T=void 0,E=void 0,_=void 0,R=void 0,k=void 0,L=void 0,O=void 0,F=void 0,$=void 0;return _=m-f,k=d-p,O=p*f-d*m,R=C-b,L=v-x,F=x*b-v*C,$=_*L-R*k,$===0?null:(T=(k*F-L*O)/$,E=(R*O-_*F)/$,new a(T,E))},s.angleOfVector=function(o,l,u,h){var d=void 0;return o!==u?(d=Math.atan((h-l)/(u-o)),u=0){var C=(-v+Math.sqrt(v*v-4*m*b))/(2*m),T=(-v-Math.sqrt(v*v-4*m*b))/(2*m),E=null;return C>=0&&C<=1?[C]:T>=0&&T<=1?[T]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function d(f,p){for(var m=0;m"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(v){if(Array.isArray(v)){for(var b=0,x=Array(v.length);b0&&b;){for(_.push(k[0]);_.length>0&&b;){var L=_[0];_.splice(0,1),E.add(L);for(var O=L.getEdges(),T=0;T-1&&k.splice(z,1)}E=new Set,R=new Map}}return v},m.prototype.createDummyNodesForBendpoints=function(v){for(var b=[],x=v.source,C=this.graphManager.calcLowestCommonAncestor(v.source,v.target),T=0;T0){for(var C=this.edgeToDummyNodes.get(x),T=0;T=0&&b.splice(F,1);var $=R.getNeighborsList();$.forEach(function(D){if(x.indexOf(D)<0){var I=C.get(D),N=I-1;N==1&&L.push(D),C.set(D,N)}})}x=x.concat(L),(b.length==1||b.length==2)&&(T=!0,E=b[0])}return E},m.prototype.setGraphManager=function(v){this.graphManager=v},r.exports=m}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var m=0,v=Array(p.length);mo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},d.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),m,v=0;v0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,v,b,x,C,T=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),E=new Set,v=0;v_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x,p.gravitationForceY=-this.gravityConstant*C)):(_=m.getEstimatedSize()*this.compoundGravityRangeFactor,(T>_||E>_)&&(p.gravitationForceX=-this.gravityConstant*x*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*C*this.compoundGravityConstant))},d.prototype.isConverged=function(){var p,m=!1;return this.totalIterations>this.maxIterations/3&&(m=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement=T.length||_>=T[0].length)){for(var R=0;Rd}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(Math.min(this.m+1,this.n)),this.U=(function(St){var gt=function ue(Mt){if(Mt.length==0)return 0;for(var xt=[],bt=0;bt0;)gt.push(0);return gt})(this.n),u=(function(St){for(var gt=[];St-- >0;)gt.push(0);return gt})(this.m),h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;B--)if(this.s[B]!==0){for(var M=B+1;M=0;j--){if((function(St,gt){return St&>})(j0;){var pe=void 0,Me=void 0;for(pe=D-2;pe>=-1&&pe!==-1;pe--)if(Math.abs(l[pe])<=me+ne*(Math.abs(this.s[pe])+Math.abs(this.s[pe+1]))){l[pe]=0;break}if(pe===D-2)Me=4;else{var $e=void 0;for($e=D-1;$e>=pe&&$e!==pe;$e--){var He=($e!==D?Math.abs(l[$e]):0)+($e!==pe+1?Math.abs(l[$e-1]):0);if(Math.abs(this.s[$e])<=me+ne*He){this.s[$e]=0;break}}$e===pe?Me=3:$e===D-1?Me=1:(Me=2,pe=$e)}switch(pe++,Me){case 1:{var Ae=l[D-2];l[D-2]=0;for(var Oe=D-2;Oe>=pe;Oe--){var We=a.hypot(this.s[Oe],Ae),Te=this.s[Oe]/We,ot=Ae/We;this.s[Oe]=We,Oe!==pe&&(Ae=-ot*l[Oe-1],l[Oe-1]=Te*l[Oe-1]);for(var Re=0;Re=this.s[pe+1]);){var Nt=this.s[pe];if(this.s[pe]=this.s[pe+1],this.s[pe+1]=Nt,peMath.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,h){for(var d=0;d2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=h,this.match_score=d,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var m=0;m=0;u--){var h=this.listeners[u];h.event===o&&h.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u{var n={45:((o,l,u)=>{var h={};h.layoutBase=u(551),h.CoSEConstants=u(806),h.CoSEEdge=u(767),h.CoSEGraph=u(880),h.CoSEGraphManager=u(578),h.CoSELayout=u(765),h.CoSENode=u(991),h.ConstraintHandler=u(902),o.exports=h}),806:((o,l,u)=>{var h=u(551).FDLayoutConstants;function d(){}for(var f in h)d[f]=h[f];d.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,d.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,d.DEFAULT_COMPONENT_SEPERATION=60,d.TILE=!0,d.TILING_PADDING_VERTICAL=10,d.TILING_PADDING_HORIZONTAL=10,d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0,d.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,d.TREE_REDUCTION_ON_INCREMENTAL=!0,d.PURE_INCREMENTAL=d.DEFAULT_INCREMENTAL,o.exports=d}),767:((o,l,u)=>{var h=u(551).FDLayoutEdge;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),880:((o,l,u)=>{var h=u(551).LGraph;function d(p,m,v){h.call(this,p,m,v)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),578:((o,l,u)=>{var h=u(551).LGraphManager;function d(p){h.call(this,p)}d.prototype=Object.create(h.prototype);for(var f in h)d[f]=h[f];o.exports=d}),765:((o,l,u)=>{var h=u(551).FDLayout,d=u(578),f=u(880),p=u(991),m=u(767),v=u(806),b=u(902),x=u(551).FDLayoutConstants,C=u(551).LayoutConstants,T=u(551).Point,E=u(551).PointD,_=u(551).DimensionD,R=u(551).Layout,k=u(551).Integer,L=u(551).IGeometry,O=u(551).LGraph,F=u(551).Transform,$=u(551).LinkedList;function q(){h.call(this),this.toBeTiled={},this.constraints={}}q.prototype=Object.create(h.prototype);for(var z in h)q[z]=h[z];q.prototype.newGraphManager=function(){var D=new d(this);return this.graphManager=D,D},q.prototype.newGraph=function(D){return new f(null,this.graphManager,D)},q.prototype.newNode=function(D){return new p(this.graphManager,D)},q.prototype.newEdge=function(D){return new m(null,null,D)},q.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(v.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=v.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=v.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=x.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=x.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=x.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},q.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/x.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},q.prototype.layout=function(){var D=C.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},q.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(v.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(V){return I.has(V)});this.graphManager.setAllNodesToApplyGravitation(N)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),N=this.nodesWithGravity.filter(function(B){return I.has(B)});this.graphManager.setAllNodesToApplyGravitation(N),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(b.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),v.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},q.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%x.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(M){return D.has(M)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),v.PURE_INCREMENTAL?this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=x.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var N=!this.isTreeGrowing&&!this.isGrowthFinished,B=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(N,B),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},q.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),I={},N=0;N0&&this.updateDisplacements();for(var N=0;N0&&(B.fixedNodeWeight=V)}}if(this.constraints.relativePlacementConstraint){var U=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(te){D.fixedNodesOnHorizontal.add(te),D.fixedNodesOnVertical.add(te)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,N=0;N=2*te.length/3;ne--)ae=Math.floor(Math.random()*(ne+1)),ie=te[ne],te[ne]=te[ae],te[ae]=ie;return te},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(ie)||(D.nodesInRelativeHorizontal.push(ie),D.nodeToRelativeConstraintMapHorizontal.set(ie,[]),D.dummyToNodeForVerticalAlignment.has(ie)?D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ie)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ie,D.idToNodeMap.get(ie).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:ie,gap:te.gap}),D.nodeToRelativeConstraintMapHorizontal.get(ie).push({left:ae,gap:te.gap})}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;D.nodesInRelativeVertical.includes(ne)||(D.nodesInRelativeVertical.push(ne),D.nodeToRelativeConstraintMapVertical.set(ne,[]),D.dummyToNodeForHorizontalAlignment.has(ne)?D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(ne,D.idToNodeMap.get(ne).getCenterY())),D.nodesInRelativeVertical.includes(me)||(D.nodesInRelativeVertical.push(me),D.nodeToRelativeConstraintMapVertical.set(me,[]),D.dummyToNodeForHorizontalAlignment.has(me)?D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(me,D.idToNodeMap.get(me).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:me,gap:te.gap}),D.nodeToRelativeConstraintMapVertical.get(me).push({top:ne,gap:te.gap})}});else{var Z=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(te){if(te.left){var ae=U.has(te.left)?U.get(te.left):te.left,ie=U.has(te.right)?U.get(te.right):te.right;Z.has(ae)?Z.get(ae).push(ie):Z.set(ae,[ie]),Z.has(ie)?Z.get(ie).push(ae):Z.set(ie,[ae])}else{var ne=P.has(te.top)?P.get(te.top):te.top,me=P.has(te.bottom)?P.get(te.bottom):te.bottom;j.has(ne)?j.get(ne).push(me):j.set(ne,[me]),j.has(me)?j.get(me).push(ne):j.set(me,[ne])}});var ee=function(ae,ie){var ne=[],me=[],pe=new $,Me=new Set,$e=0;return ae.forEach(function(He,Ae){if(!Me.has(Ae)){ne[$e]=[],me[$e]=!1;var Oe=Ae;for(pe.push(Oe),Me.add(Oe),ne[$e].push(Oe);pe.length!=0;){Oe=pe.shift(),ie.has(Oe)&&(me[$e]=!0);var We=ae.get(Oe);We.forEach(function(Te){Me.has(Te)||(pe.push(Te),Me.add(Te),ne[$e].push(Te))})}$e++}}),{components:ne,isFixed:me}},Q=ee(Z,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=Q.components,this.fixedComponentsOnHorizontal=Q.isFixed;var he=ee(j,D.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},q.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var te=D.idToNodeMap.get(he.nodeId);te.displacementX=0,te.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,N=0;N1){var P;for(P=0;PB&&(B=Math.floor(U.y)),V=Math.floor(U.x+v.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(C.WORLD_CENTER_X-U.x/2,C.WORLD_CENTER_Y-U.y/2))},q.radialLayout=function(D,I,N){var B=Math.max(this.maxDiagonalInTree(D),v.DEFAULT_RADIAL_SEPARATION);q.branchRadialLayout(I,null,0,359,0,B);var M=O.calculateBounds(D),V=new F;V.setDeviceOrgX(M.getMinX()),V.setDeviceOrgY(M.getMinY()),V.setWorldOrgX(N.x),V.setWorldOrgY(N.y);for(var U=0;U1;){var ie=ae[0];ae.splice(0,1);var ne=j.indexOf(ie);ne>=0&&j.splice(ne,1),he--,ee--}I!=null?te=(j.indexOf(ae[0])+1)%he:te=0;for(var me=Math.abs(B-N)/ee,pe=te;Q!=ee;pe=++pe%he){var Me=j[pe].getOtherEnd(D);if(Me!=I){var $e=(N+Q*me)%360,He=($e+me)%360;q.branchRadialLayout(Me,D,$e,He,M+V,V),Q++}}},q.maxDiagonalInTree=function(D){for(var I=k.MIN_VALUE,N=0;NI&&(I=M)}return I},q.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},q.prototype.groupZeroDegreeMembers=function(){var D=this,I={};this.memberGroups={},this.idToDummyNode={};for(var N=[],B=this.graphManager.getAllNodes(),M=0;M"u"&&(I[P]=[]),I[P]=I[P].concat(V)}Object.keys(I).forEach(function(H){if(I[H].length>1){var X="DummyCompound_"+H;D.memberGroups[X]=I[H];var Z=I[H][0].getParent(),j=new p(D.graphManager);j.id=X,j.paddingLeft=Z.paddingLeft||0,j.paddingRight=Z.paddingRight||0,j.paddingBottom=Z.paddingBottom||0,j.paddingTop=Z.paddingTop||0,D.idToDummyNode[X]=j;var ee=D.getGraphManager().add(D.newGraph(),j),Q=Z.getChild();Q.add(j);for(var he=0;heM?(B.rect.x-=(B.labelWidth-M)/2,B.setWidth(B.labelWidth),B.labelMarginLeft=(B.labelWidth-M)/2):B.labelPosHorizontal=="right"&&B.setWidth(M+B.labelWidth)),B.labelHeight&&(B.labelPosVertical=="top"?(B.rect.y-=B.labelHeight,B.setHeight(V+B.labelHeight),B.labelMarginTop=B.labelHeight):B.labelPosVertical=="center"&&B.labelHeight>V?(B.rect.y-=(B.labelHeight-V)/2,B.setHeight(B.labelHeight),B.labelMarginTop=(B.labelHeight-V)/2):B.labelPosVertical=="bottom"&&B.setHeight(V+B.labelHeight))}})},q.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var I=this.compoundOrder[D],N=I.id,B=I.paddingLeft,M=I.paddingTop,V=I.labelMarginLeft,U=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[N],I.rect.x,I.rect.y,B,M,V,U)}},q.prototype.repopulateZeroDegreeMembers=function(){var D=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(N){var B=D.idToDummyNode[N],M=B.paddingLeft,V=B.paddingTop,U=B.labelMarginLeft,P=B.labelMarginTop;D.adjustLocations(I[N],B.rect.x,B.rect.y,M,V,U,P)})},q.prototype.getToBeTiled=function(D){var I=D.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var N=D.getChild();if(N==null)return this.toBeTiled[I]=!1,!1;for(var B=N.getNodes(),M=0;M0)return this.toBeTiled[I]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},q.prototype.getNodeDegree=function(D){D.id;for(var I=D.getEdges(),N=0,B=0;BZ&&(Z=ee.rect.height)}N+=Z+D.verticalPadding}},q.prototype.tileCompoundMembers=function(D,I){var N=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(B){var M=I[B];if(N.tiledMemberPack[B]=N.tileNodes(D[B],M.paddingLeft+M.paddingRight),M.rect.width=N.tiledMemberPack[B].width,M.rect.height=N.tiledMemberPack[B].height,M.setCenter(N.tiledMemberPack[B].centerX,N.tiledMemberPack[B].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,v.NODE_DIMENSIONS_INCLUDE_LABELS){var V=M.rect.width,U=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(V+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>V?(M.rect.x-=(M.labelWidth-V)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-V)/2):M.labelPosHorizontal=="right"&&M.setWidth(V+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(U+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>U?(M.rect.y-=(M.labelHeight-U)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-U)/2):M.labelPosVertical=="bottom"&&M.setHeight(U+M.labelHeight))}})},q.prototype.tileNodes=function(D,I){var N=this.tileNodesByFavoringDim(D,I,!0),B=this.tileNodesByFavoringDim(D,I,!1),M=this.getOrgRatio(N),V=this.getOrgRatio(B),U;return VP&&(P=he.getWidth())});var H=V/M,X=U/M,Z=Math.pow(N-B,2)+4*(H+B)*(X+N)*M,j=(B-N+Math.sqrt(Z))/(2*(H+B)),ee;I?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var Q=ee*(H+B)-B;return P>Q&&(Q=P),Q+=B*2,Q},q.prototype.tileNodesByFavoringDim=function(D,I,N){var B=v.TILING_PADDING_VERTICAL,M=v.TILING_PADDING_HORIZONTAL,V=v.TILING_COMPARE_BY,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:B,horizontalPadding:M,centerX:0,centerY:0};V&&(U.idealRowWidth=this.calcIdealRowWidth(D,N));var P=function(te){return te.rect.width*te.rect.height},H=function(te,ae){return P(ae)-P(te)};D.sort(function(he,te){var ae=H;return U.idealRowWidth?(ae=V,ae(he.id,te.id)):ae(he,te)});for(var X=0,Z=0,j=0;j0&&(U+=D.horizontalPadding),D.rowWidth[N]=U,D.width0&&(P+=D.verticalPadding);var H=0;P>D.rowHeight[N]&&(H=D.rowHeight[N],D.rowHeight[N]=P,H=D.rowHeight[N]-H),D.height+=H,D.rows[N].push(I)},q.prototype.getShortestRowIndex=function(D){for(var I=-1,N=Number.MAX_VALUE,B=0;BN&&(I=B,N=D.rowWidth[B]);return I},q.prototype.canAddHorizontal=function(D,I,N){if(D.idealRowWidth){var B=D.rows.length-1,M=D.rowWidth[B];return M+I+D.horizontalPadding<=D.idealRowWidth}var V=this.getShortestRowIndex(D);if(V<0)return!0;var U=D.rowWidth[V];if(U+D.horizontalPadding+I<=D.width)return!0;var P=0;D.rowHeight[V]0&&(P=N+D.verticalPadding-D.rowHeight[V]);var H;D.width-U>=I+D.horizontalPadding?H=(D.height+P)/(U+I+D.horizontalPadding):H=(D.height+P)/D.width,P=N+D.verticalPadding;var X;return D.widthV&&I!=N){B.splice(-1,1),D.rows[N].push(M),D.rowWidth[I]=D.rowWidth[I]-V,D.rowWidth[N]=D.rowWidth[N]+V,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var U=Number.MIN_VALUE,P=0;PU&&(U=B[P].height);I>0&&(U+=D.verticalPadding);var H=D.rowHeight[I]+D.rowHeight[N];D.rowHeight[I]=U,D.rowHeight[N]0)for(var Q=M;Q<=V;Q++)ee[0]+=this.grid[Q][U-1].length+this.grid[Q][U].length-1;if(V0)for(var Q=U;Q<=P;Q++)ee[3]+=this.grid[M-1][Q].length+this.grid[M][Q].length-1;for(var he=k.MAX_VALUE,te,ae,ie=0;ie{var h=u(551).FDLayoutNode,d=u(551).IMath;function f(m,v,b,x){h.call(this,m,v,b,x)}f.prototype=Object.create(h.prototype);for(var p in h)f[p]=h[p];f.prototype.calculateDisplacement=function(){var m=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=m.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=m.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementX=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementX)),Math.abs(this.displacementY)>m.coolingFactor*m.maxNodeDisplacement&&(this.displacementY=m.coolingFactor*m.maxNodeDisplacement*d.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(m,v){for(var b=this.getChild().getNodes(),x,C=0;C{function h(b){if(Array.isArray(b)){for(var x=0,C=Array(b.length);x0){var Nt=0;Se.forEach(function(Et){de=="horizontal"?(_e.set(Et,T.has(Et)?E[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et)):(_e.set(Et,T.has(Et)?_[T.get(Et)]:we.get(Et)),Nt+=_e.get(Et))}),Nt=Nt/Se.length,Qe.forEach(function(Et){fe.has(Et)||_e.set(Et,Nt)})}else{var At=0;Qe.forEach(function(Et){de=="horizontal"?At+=T.has(Et)?E[T.get(Et)]:we.get(Et):At+=T.has(Et)?_[T.get(Et)]:we.get(Et)}),At=At/Qe.length,Qe.forEach(function(Et){_e.set(Et,At)})}});for(var qe=function(){var Se=et.shift(),Nt=Y.get(Se);Nt.forEach(function(At){if(_e.get(At.id)<_e.get(Se)+At.gap)if(fe&&fe.has(At.id)){var Et=void 0;if(de=="horizontal"?Et=T.has(At.id)?E[T.get(At.id)]:we.get(At.id):Et=T.has(At.id)?_[T.get(At.id)]:we.get(At.id),_e.set(At.id,Et),Et<_e.get(Se)+At.gap){var zt=_e.get(Se)+At.gap-Et;ze.get(Se).forEach(function(St){_e.set(St,_e.get(St)-zt)})}}else _e.set(At.id,_e.get(Se)+At.gap);Ue.set(At.id,Ue.get(At.id)-1),Ue.get(At.id)==0&&et.push(At.id),fe&&ze.set(At.id,Ie(ze.get(Se),ze.get(At.id)))})};et.length!=0;)qe();if(fe){var lt=new Set;Y.forEach(function(Qe,Se){Qe.length==0&<.add(Se)});var ve=[];ze.forEach(function(Qe,Se){if(lt.has(Se)){var Nt=!1,At=!0,Et=!1,zt=void 0;try{for(var St=Qe[Symbol.iterator](),gt;!(At=(gt=St.next()).done);At=!0){var ue=gt.value;fe.has(ue)&&(Nt=!0)}}catch(bt){Et=!0,zt=bt}finally{try{!At&&St.return&&St.return()}finally{if(Et)throw zt}}if(!Nt){var Mt=!1,xt=void 0;ve.forEach(function(bt,Ce){bt.has([].concat(h(Qe))[0])&&(Mt=!0,xt=Ce)}),Mt?Qe.forEach(function(bt){ve[xt].add(bt)}):ve.push(new Set(Qe))}}}),ve.forEach(function(Qe,Se){var Nt=Number.POSITIVE_INFINITY,At=Number.POSITIVE_INFINITY,Et=Number.NEGATIVE_INFINITY,zt=Number.NEGATIVE_INFINITY,St=!0,gt=!1,ue=void 0;try{for(var Mt=Qe[Symbol.iterator](),xt;!(St=(xt=Mt.next()).done);St=!0){var bt=xt.value,Ce=void 0;de=="horizontal"?Ce=T.has(bt)?E[T.get(bt)]:we.get(bt):Ce=T.has(bt)?_[T.get(bt)]:we.get(bt);var nt=_e.get(bt);CeEt&&(Et=Ce),ntzt&&(zt=nt)}}catch(Ne){gt=!0,ue=Ne}finally{try{!St&&Mt.return&&Mt.return()}finally{if(gt)throw ue}}var st=(Nt+Et)/2-(At+zt)/2,It=!0,Wt=!1,Ut=void 0;try{for(var rr=Qe[Symbol.iterator](),pr;!(It=(pr=rr.next()).done);It=!0){var vt=pr.value;_e.set(vt,_e.get(vt)+st)}}catch(Ne){Wt=!0,Ut=Ne}finally{try{!It&&rr.return&&rr.return()}finally{if(Wt)throw Ut}}})}return _e},z=function(Y){var de=0,fe=0,we=0,Ee=0;if(Y.forEach(function(ze){ze.left?E[T.get(ze.left)]-E[T.get(ze.right)]>=0?de++:fe++:_[T.get(ze.top)]-_[T.get(ze.bottom)]>=0?we++:Ee++}),de>fe&&we>Ee)for(var Ie=0;Iefe)for(var Ue=0;UeEe)for(var _e=0;_e1)x.fixedNodeConstraint.forEach(function(be,Y){B[Y]=[be.position.x,be.position.y],M[Y]=[E[T.get(be.nodeId)],_[T.get(be.nodeId)]]}),V=!0;else if(x.alignmentConstraint)(function(){var be=0;if(x.alignmentConstraint.vertical){for(var Y=x.alignmentConstraint.vertical,de=function(_e){var ze=new Set;Y[_e].forEach(function(lt){ze.add(lt)});var et=new Set([].concat(h(ze)).filter(function(lt){return P.has(lt)})),qe=void 0;et.size>0?qe=E[T.get(et.values().next().value)]:qe=$(ze).x,Y[_e].forEach(function(lt){B[be]=[qe,_[T.get(lt)]],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},fe=0;fe0?qe=E[T.get(et.values().next().value)]:qe=$(ze).y,we[_e].forEach(function(lt){B[be]=[E[T.get(lt)],qe],M[be]=[E[T.get(lt)],_[T.get(lt)]],be++})},Ie=0;Iej&&(j=Z[Q].length,ee=Q);if(j0){var Re={x:0,y:0};x.fixedNodeConstraint.forEach(function(be,Y){var de={x:E[T.get(be.nodeId)],y:_[T.get(be.nodeId)]},fe=be.position,we=F(fe,de);Re.x+=we.x,Re.y+=we.y}),Re.x/=x.fixedNodeConstraint.length,Re.y/=x.fixedNodeConstraint.length,E.forEach(function(be,Y){E[Y]+=Re.x}),_.forEach(function(be,Y){_[Y]+=Re.y}),x.fixedNodeConstraint.forEach(function(be){E[T.get(be.nodeId)]=be.position.x,_[T.get(be.nodeId)]=be.position.y})}if(x.alignmentConstraint){if(x.alignmentConstraint.vertical)for(var Ge=x.alignmentConstraint.vertical,it=function(Y){var de=new Set;Ge[Y].forEach(function(Ee){de.add(Ee)});var fe=new Set([].concat(h(de)).filter(function(Ee){return P.has(Ee)})),we=void 0;fe.size>0?we=E[T.get(fe.values().next().value)]:we=$(de).x,de.forEach(function(Ee){P.has(Ee)||(E[T.get(Ee)]=we)})},Ye=0;Ye0?we=_[T.get(fe.values().next().value)]:we=$(de).y,de.forEach(function(Ee){P.has(Ee)||(_[T.get(Ee)]=we)})},xe=0;xe{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(l5)),l5.exports}var utt=o5.exports,BY;function htt(){return BY||(BY=1,(function(t,e){(function(n,i){t.exports=i(ctt())})(utt,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,h=Array(u>1?u-1:0),d=1;d{var h=(function(){function p(m,v){var b=[],x=!0,C=!1,T=void 0;try{for(var E=m[Symbol.iterator](),_;!(x=(_=E.next()).done)&&(b.push(_.value),!(v&&b.length===v));x=!0);}catch(R){C=!0,T=R}finally{try{!x&&E.return&&E.return()}finally{if(C)throw T}}return b}return function(m,v){if(Array.isArray(m))return m;if(Symbol.iterator in Object(m))return p(m,v);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),d=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var m={},v=0;v0&&V.merge(X)});for(var U=0;U1){_=T[0],R=_.connectedEdges().length,T.forEach(function(M){M.connectedEdges().length0&&b.set("dummy"+(b.size+1),O),F},f.relocateComponent=function(p,m,v){if(!v.fixedNodeConstraint){var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;if(v.quality=="draft"){var E=!0,_=!1,R=void 0;try{for(var k=m.nodeIndexes[Symbol.iterator](),L;!(E=(L=k.next()).done);E=!0){var O=L.value,F=h(O,2),$=F[0],q=F[1],z=v.cy.getElementById($);if(z){var D=z.boundingBox(),I=m.xCoords[q]-D.w/2,N=m.xCoords[q]+D.w/2,B=m.yCoords[q]-D.h/2,M=m.yCoords[q]+D.h/2;Ix&&(x=N),BT&&(T=M)}}}catch(X){_=!0,R=X}finally{try{!E&&k.return&&k.return()}finally{if(_)throw R}}var V=p.x-(x+b)/2,U=p.y-(T+C)/2;m.xCoords=m.xCoords.map(function(X){return X+V}),m.yCoords=m.yCoords.map(function(X){return X+U})}else{Object.keys(m).forEach(function(X){var Z=m[X],j=Z.getRect().x,ee=Z.getRect().x+Z.getRect().width,Q=Z.getRect().y,he=Z.getRect().y+Z.getRect().height;jx&&(x=ee),QT&&(T=he)});var P=p.x-(x+b)/2,H=p.y-(T+C)/2;Object.keys(m).forEach(function(X){var Z=m[X];Z.setCenter(Z.getCenterX()+P,Z.getCenterY()+H)})}}},f.calcBoundingBox=function(p,m,v,b){for(var x=Number.MAX_SAFE_INTEGER,C=Number.MIN_SAFE_INTEGER,T=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,R=void 0,k=void 0,L=void 0,O=p.descendants().not(":parent"),F=O.length,$=0;$_&&(x=_),Ck&&(T=k),E{var h=u(548),d=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,m=u(140).layoutBase.DimensionD,v=u(140).layoutBase.LayoutConstants,b=u(140).layoutBase.FDLayoutConstants,x=u(140).CoSEConstants,C=function(E,_){var R=E.cy,k=E.eles,L=k.nodes(),O=k.edges(),F=void 0,$=void 0,q=void 0,z={};E.randomize&&(F=_.nodeIndexes,$=_.xCoords,q=_.yCoords);var D=function(X){return typeof X=="function"},I=function(X,Z){return D(X)?X(Z):X},N=h.calcParentsWithoutChildren(R,k),B=function H(X,Z,j,ee){for(var Q=Z.length,he=0;he0){var pe=void 0;pe=j.getGraphManager().add(j.newGraph(),ie),H(pe,ae,j,ee)}}},M=function(X,Z,j){for(var ee=0,Q=0,he=0;he0?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=ee/Q:D(E.idealEdgeLength)?x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=50:x.DEFAULT_EDGE_LENGTH=b.DEFAULT_EDGE_LENGTH=E.idealEdgeLength,x.MIN_REPULSION_DIST=b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,x.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH)},V=function(X,Z){Z.fixedNodeConstraint&&(X.constraints.fixedNodeConstraint=Z.fixedNodeConstraint),Z.alignmentConstraint&&(X.constraints.alignmentConstraint=Z.alignmentConstraint),Z.relativePlacementConstraint&&(X.constraints.relativePlacementConstraint=Z.relativePlacementConstraint)};E.nestingFactor!=null&&(x.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.nestingFactor),E.gravity!=null&&(x.DEFAULT_GRAVITY_STRENGTH=b.DEFAULT_GRAVITY_STRENGTH=E.gravity),E.numIter!=null&&(x.MAX_ITERATIONS=b.MAX_ITERATIONS=E.numIter),E.gravityRange!=null&&(x.DEFAULT_GRAVITY_RANGE_FACTOR=b.DEFAULT_GRAVITY_RANGE_FACTOR=E.gravityRange),E.gravityCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.gravityCompound),E.gravityRangeCompound!=null&&(x.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.gravityRangeCompound),E.initialEnergyOnIncremental!=null&&(x.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.initialEnergyOnIncremental),E.tilingCompareBy!=null&&(x.TILING_COMPARE_BY=E.tilingCompareBy),E.quality=="proof"?v.QUALITY=2:v.QUALITY=0,x.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=v.NODE_DIMENSIONS_INCLUDE_LABELS=E.nodeDimensionsIncludeLabels,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!E.randomize,x.ANIMATE=b.ANIMATE=v.ANIMATE=E.animate,x.TILE=E.tile,x.TILING_PADDING_VERTICAL=typeof E.tilingPaddingVertical=="function"?E.tilingPaddingVertical.call():E.tilingPaddingVertical,x.TILING_PADDING_HORIZONTAL=typeof E.tilingPaddingHorizontal=="function"?E.tilingPaddingHorizontal.call():E.tilingPaddingHorizontal,x.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=v.DEFAULT_INCREMENTAL=!0,x.PURE_INCREMENTAL=!E.randomize,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=E.uniformNodeDimensions,E.step=="transformed"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!1),E.step=="enforced"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!1),E.step=="cose"&&(x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!1,x.APPLY_LAYOUT=!0),E.step=="all"&&(E.randomize?x.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:x.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,x.ENFORCE_CONSTRAINTS=!0,x.APPLY_LAYOUT=!0),E.fixedNodeConstraint||E.alignmentConstraint||E.relativePlacementConstraint?x.TREE_REDUCTION_ON_INCREMENTAL=!1:x.TREE_REDUCTION_ON_INCREMENTAL=!0;var U=new d,P=U.newGraphManager();return B(P.addRoot(),h.getTopMostNodes(L),U,E),M(U,P,O),V(U,E),U.runLayout(),z};o.exports={coseLayout:C}}),212:((o,l,u)=>{var h=(function(){function E(_,R){for(var k=0;k0)if(N){var V=p.getTopMostNodes(k.eles.nodes());if(q=p.connectComponents(L,k.eles,V),q.forEach(function(He){var Ae=He.boundingBox();z.push({x:Ae.x1+Ae.w/2,y:Ae.y1+Ae.h/2})}),k.randomize&&q.forEach(function(He){k.eles=He,F.push(v(k))}),k.quality=="default"||k.quality=="proof"){var U=L.collection();if(k.tile){var P=new Map,H=[],X=[],Z=0,j={nodeIndexes:P,xCoords:H,yCoords:X},ee=[];if(q.forEach(function(He,Ae){He.edges().length==0&&(He.nodes().forEach(function(Oe,We){U.merge(He.nodes()[We]),Oe.isParent()||(j.nodeIndexes.set(He.nodes()[We].id(),Z++),j.xCoords.push(He.nodes()[0].position().x),j.yCoords.push(He.nodes()[0].position().y))}),ee.push(Ae))}),U.length>1){var Q=U.boundingBox();z.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),q.push(U),F.push(j);for(var he=ee.length-1;he>=0;he--)q.splice(ee[he],1),F.splice(ee[he],1),z.splice(ee[he],1)}}q.forEach(function(He,Ae){k.eles=He,$.push(x(k,F[Ae])),p.relocateComponent(z[Ae],$[Ae],k)})}else q.forEach(function(He,Ae){p.relocateComponent(z[Ae],F[Ae],k)});var te=new Set;if(q.length>1){var ae=[],ie=O.filter(function(He){return He.css("display")=="none"});q.forEach(function(He,Ae){var Oe=void 0;if(k.quality=="draft"&&(Oe=F[Ae].nodeIndexes),He.nodes().not(ie).length>0){var We={};We.edges=[],We.nodes=[];var Te=void 0;He.nodes().not(ie).forEach(function(ot){if(k.quality=="draft")if(!ot.isParent())Te=Oe.get(ot.id()),We.nodes.push({x:F[Ae].xCoords[Te]-ot.boundingbox().w/2,y:F[Ae].yCoords[Te]-ot.boundingbox().h/2,width:ot.boundingbox().w,height:ot.boundingbox().h});else{var Re=p.calcBoundingBox(ot,F[Ae].xCoords,F[Ae].yCoords,Oe);We.nodes.push({x:Re.topLeftX,y:Re.topLeftY,width:Re.width,height:Re.height})}else $[Ae][ot.id()]&&We.nodes.push({x:$[Ae][ot.id()].getLeft(),y:$[Ae][ot.id()].getTop(),width:$[Ae][ot.id()].getWidth(),height:$[Ae][ot.id()].getHeight()})}),He.edges().forEach(function(ot){var Re=ot.source(),Ge=ot.target();if(Re.css("display")!="none"&&Ge.css("display")!="none")if(k.quality=="draft"){var it=Oe.get(Re.id()),Ye=Oe.get(Ge.id()),Xe=[],at=[];if(Re.isParent()){var xe=p.calcBoundingBox(Re,F[Ae].xCoords,F[Ae].yCoords,Oe);Xe.push(xe.topLeftX+xe.width/2),Xe.push(xe.topLeftY+xe.height/2)}else Xe.push(F[Ae].xCoords[it]),Xe.push(F[Ae].yCoords[it]);if(Ge.isParent()){var Ze=p.calcBoundingBox(Ge,F[Ae].xCoords,F[Ae].yCoords,Oe);at.push(Ze.topLeftX+Ze.width/2),at.push(Ze.topLeftY+Ze.height/2)}else at.push(F[Ae].xCoords[Ye]),at.push(F[Ae].yCoords[Ye]);We.edges.push({startX:Xe[0],startY:Xe[1],endX:at[0],endY:at[1]})}else $[Ae][Re.id()]&&$[Ae][Ge.id()]&&We.edges.push({startX:$[Ae][Re.id()].getCenterX(),startY:$[Ae][Re.id()].getCenterY(),endX:$[Ae][Ge.id()].getCenterX(),endY:$[Ae][Ge.id()].getCenterY()})}),We.nodes.length>0&&(ae.push(We),te.add(Ae))}});var ne=I.packComponents(ae,k.randomize).shifts;if(k.quality=="draft")F.forEach(function(He,Ae){var Oe=He.xCoords.map(function(Te){return Te+ne[Ae].dx}),We=He.yCoords.map(function(Te){return Te+ne[Ae].dy});He.xCoords=Oe,He.yCoords=We});else{var me=0;te.forEach(function(He){Object.keys($[He]).forEach(function(Ae){var Oe=$[He][Ae];Oe.setCenter(Oe.getCenterX()+ne[me].dx,Oe.getCenterY()+ne[me].dy)}),me++})}}}else{var B=k.eles.boundingBox();if(z.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var M=v(k);F.push(M)}k.quality=="default"||k.quality=="proof"?($.push(x(k,F[0])),p.relocateComponent(z[0],$[0],k)):p.relocateComponent(z[0],F[0],k)}var pe=function(Ae,Oe){if(k.quality=="default"||k.quality=="proof"){typeof Ae=="number"&&(Ae=Oe);var We=void 0,Te=void 0,ot=Ae.data("id");return $.forEach(function(Ge){ot in Ge&&(We={x:Ge[ot].getRect().getCenterX(),y:Ge[ot].getRect().getCenterY()},Te=Ge[ot])}),k.nodeDimensionsIncludeLabels&&(Te.labelWidth&&(Te.labelPosHorizontal=="left"?We.x+=Te.labelWidth/2:Te.labelPosHorizontal=="right"&&(We.x-=Te.labelWidth/2)),Te.labelHeight&&(Te.labelPosVertical=="top"?We.y+=Te.labelHeight/2:Te.labelPosVertical=="bottom"&&(We.y-=Te.labelHeight/2))),We==null&&(We={x:Ae.position("x"),y:Ae.position("y")}),{x:We.x,y:We.y}}else{var Re=void 0;return F.forEach(function(Ge){var it=Ge.nodeIndexes.get(Ae.id());it!=null&&(Re={x:Ge.xCoords[it],y:Ge.yCoords[it]})}),Re==null&&(Re={x:Ae.position("x"),y:Ae.position("y")}),{x:Re.x,y:Re.y}}};if(k.quality=="default"||k.quality=="proof"||k.randomize){var Me=p.calcParentsWithoutChildren(L,O),$e=O.filter(function(He){return He.css("display")=="none"});k.eles=O.not($e),O.nodes().not(":parent").not($e).layoutPositions(R,k,pe),Me.length>0&&Me.forEach(function(He){He.position(pe(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),E})();o.exports=T}),657:((o,l,u)=>{var h=u(548),d=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(v){var b=v.cy,x=v.eles,C=x.nodes(),T=x.nodes(":parent"),E=new Map,_=new Map,R=new Map,k=[],L=[],O=[],F=[],$=[],q=[],z=[],D=[],I=void 0,N=1e8,B=1e-9,M=v.piTol,V=v.samplingType,U=v.nodeSeparation,P=void 0,H=function(){for(var Y=0,de=0,fe=!1;de=Ee;){Ue=we[Ee++];for(var ve=k[Ue],Qe=0;Qeet&&(et=$[Nt],qe=Nt)}return qe},Z=function(Y){var de=void 0;if(Y){de=Math.floor(Math.random()*I);for(var we=0;we=1)break;ze=_e}for(var lt=0;lt=1)break;ze=_e}for(var Qe=0;Qe0&&(de.isParent()?k[Y].push(R.get(de.id())):k[Y].push(de.id()))})});var $e=function(Y){var de=_.get(Y),fe=void 0;E.get(Y).forEach(function(we){b.getElementById(we).isParent()?fe=R.get(we):fe=we,k[de].push(fe),k[_.get(fe)].push(Y)})},He=!0,Ae=!1,Oe=void 0;try{for(var We=E.keys()[Symbol.iterator](),Te;!(He=(Te=We.next()).done);He=!0){var ot=Te.value;$e(ot)}}catch(be){Ae=!0,Oe=be}finally{try{!He&&We.return&&We.return()}finally{if(Ae)throw Oe}}I=_.size;var Re=void 0;if(I>2){P=I{var h=u(212),d=function(p){p&&p("layout","fcose",h)};typeof cytoscape<"u"&&d(cytoscape),o.exports=d}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(o5)),o5.exports}var dtt=htt();const ftt=E0(dtt);var PY={L:"left",R:"right",T:"top",B:"bottom"},FY={L:S(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:S(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:S(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:S(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},J4={L:S((t,e)=>t-e+2,"L"),R:S((t,e)=>t-2,"R"),T:S((t,e)=>t-e+2,"T"),B:S((t,e)=>t-2,"B")},ptt=S(function(t){return as(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),$Y=S(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),as=S(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),md=S(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),zO=S(function(t,e){const r=as(t)&&md(e),n=md(t)&&as(e);return r||n},"isArchitectureDirectionXY"),gtt=S(function(t){const e=t[0],r=t[1],n=as(e)&&md(r),i=md(e)&&as(r);return n||i},"isArchitecturePairXY"),mtt=S(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),rD=S(function(t,e){const r=`${t}${e}`;return mtt(r)?r:void 0},"getArchitectureDirectionPair"),ytt=S(function([t,e],r){const n=r[0],i=r[1];return as(n)?md(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:as(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),vtt=S(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),btt=S(function(t,e){return zO(t,e)?"bend":as(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),xtt=S(function(t){return t.type==="service"},"isArchitectureService"),Ttt=S(function(t){return t.type==="junction"},"isArchitectureJunction"),Rce=S(t=>t.data(),"edgeData"),_g=S(t=>t.data(),"nodeData"),wtt=Vr.architecture,K1,Dce=(K1=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",Kn()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(xtt)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(Ttt)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!$Y(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!$Y(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const h=this.nodes[e].in,d=this.nodes[r].in;if(o&&h&&d&&h==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&d&&h==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const e={},r=Object.entries(this.nodes).reduce((l,[u,h])=>(l[u]=h.edges.reduce((d,f)=>{const p=this.getNode(f.lhsId)?.in,m=this.getNode(f.rhsId)?.in;if(p&&m&&p!==m){const v=btt(f.lhsDir,f.rhsDir);v!=="bend"&&(e[p]??={},e[p][m]=v,e[m]??={},e[m][p]=v)}if(f.lhsId===u){const v=rD(f.lhsDir,f.rhsDir);v&&(d[v]=f.rhsId)}else{const v=rD(f.rhsDir,f.lhsDir);v&&(d[v]=f.lhsId)}return d},{}),l),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((l,u)=>u===n?l:{...l,[u]:1},{}),s=S(l=>{const u={[l]:[0,0]},h=[l];for(;h.length>0;){const d=h.shift();if(d){i[d]=1,delete a[d];const f=r[d],[p,m]=u[d];Object.entries(f).forEach(([v,b])=>{i[b]||(u[b]=ytt([p,m],v),h.push(b))})}}return u},"BFS"),o=[s(n)];for(;Object.keys(a).length>0;)o.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:o,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return ea({...wtt,...gr().architecture})}getConfigField(e){return this.getConfig()[e]}},S(K1,"ArchitectureDB"),K1),Ctt=S((t,e)=>{Yu(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Nce={parser:{yy:void 0},parse:S(async t=>{const e=await xc("architecture",t);oe.debug(e);const r=Nce.parser?.yy;if(!(r instanceof Dce))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ctt(e,r)},"parse")},Stt=S(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; @@ -3151,17 +3151,17 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":me="Parse error display: -webkit-box; -webkit-box-orient: vertical; } -`,"getStyles"),Ntt=Dtt,Xp=S(t=>`${t}`,"wrapIcon"),Gb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Xp('')},server:{body:Xp('')},disk:{body:Xp('')},internet:{body:Xp('')},cloud:{body:Xp('')},unknown:nQ,blank:{body:Xp("")}}},Mtt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Dce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:A}=u[0].midpoint();let{x:k,y:R}=u[0].targetEndpoint();const O=i+4;if(p&&(as(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(as(v)?k+=v==="L"?-O:O:R+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(as(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(as(v)?k+=v==="L"?s:-s:R+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${A} L${k},${R} `).attr("class","edge").attr("id",`${n}-${Ng(h,m,{prefix:"L"})}`),f){const $=as(d)?e3[d](T,o):T-l,q=yd(d)?e3[d](E,o):E-l;F.insert("polygon").attr("points",$Y[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=as(v)?e3[v](k,o):k-l,q=yd(v)?e3[v](R,o):R-l;F.insert("polygon").attr("points",$Y[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=qO(d,v)?"XY":as(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-R)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await vs(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+A+")");else if($==="Y")z.attr("transform","translate("+_+", "+A+") rotate(-90)");else if($==="XY"){const D=nD(d,v);if(D&&wtt(D)){const I=z.node().getBoundingClientRect(),[N,B]=Ett(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` - translate(${_}, ${A-I.height/2}) +`,"getStyles"),Ett=Stt,Xp=S(t=>`${t}`,"wrapIcon"),Vb={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Xp('')},server:{body:Xp('')},disk:{body:Xp('')},internet:{body:Xp('')},cloud:{body:Xp('')},unknown:rQ,blank:{body:Xp("")}}},ktt=S(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{const{source:h,sourceDir:d,sourceArrow:f,sourceGroup:p,target:m,targetDir:v,targetArrow:b,targetGroup:x,label:C}=Rce(u);let{x:T,y:E}=u[0].sourceEndpoint();const{x:_,y:R}=u[0].midpoint();let{x:k,y:L}=u[0].targetEndpoint();const O=i+4;if(p&&(as(d)?T+=d==="L"?-O:O:E+=d==="T"?-O:O+18),x&&(as(v)?k+=v==="L"?-O:O:L+=v==="T"?-O:O+18),!p&&r.getNode(h)?.type==="junction"&&(as(d)?T+=d==="L"?s:-s:E+=d==="T"?s:-s),!x&&r.getNode(m)?.type==="junction"&&(as(v)?k+=v==="L"?s:-s:L+=v==="T"?s:-s),u[0]._private.rscratch){const F=t.insert("g");if(F.insert("path").attr("d",`M ${T},${E} L ${_},${R} L${k},${L} `).attr("class","edge").attr("id",`${n}-${Dg(h,m,{prefix:"L"})}`),f){const $=as(d)?J4[d](T,o):T-l,q=md(d)?J4[d](E,o):E-l;F.insert("polygon").attr("points",FY[d](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(b){const $=as(v)?J4[v](k,o):k-l,q=md(v)?J4[v](L,o):L-l;F.insert("polygon").attr("points",FY[v](o)).attr("transform",`translate(${$},${q})`).attr("class","arrow")}if(C){const $=zO(d,v)?"XY":as(d)?"X":"Y";let q=0;$==="X"?q=Math.abs(T-k):$==="Y"?q=Math.abs(E-L)/1.5:q=Math.abs(T-k)/2;const z=F.append("g");if(await vs(z,C,{useHtmlLabels:!1,width:q,classes:"architecture-service-label"},Pe()),z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),$==="X")z.attr("transform","translate("+_+", "+R+")");else if($==="Y")z.attr("transform","translate("+_+", "+R+") rotate(-90)");else if($==="XY"){const D=rD(d,v);if(D&>t(D)){const I=z.node().getBoundingClientRect(),[N,B]=vtt(D);z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*B*45})`);const M=z.node().getBoundingClientRect();z.attr("transform",` + translate(${_}, ${R-I.height/2}) translate(${N*M.width/2}, ${B*M.height/2}) rotate(${-1*N*B*45}, 0, ${I.height/2}) - `)}}}}}))},"drawEdges"),Ott=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=Ag(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await td(h.icon,{height:a,width:a,fallbackPrefix:Gb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Itt=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await td(a.icon,{height:o,width:o,fallbackPrefix:Gb.prefix})}`);else if(a.iconText){l.html(`${await td("blank",{height:o,width:o,fallbackPrefix:Gb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Btt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");aQ([{name:Gb.prefix,icons:Gb}]);ac.use(xtt);function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Oce,"addServices");function Ice(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Ice,"addJunctions");function Bce(t,e){e.nodes().map(r=>{const n=Ag(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Bce,"positionNodes");function Pce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Pce,"addGroups");function Fce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=qO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Fce,"addEdges");function $ce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S($ce,"getAlignments");function zce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[FY[p]]:b,[FY[Ttt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S(zce,"getRelativeConstraints");function qce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ac({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Pce(r,u),Oce(t,u,i),Ice(e,u,i),Fce(n,u);const h=$ce(i,a,s),d=zce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=Ag(m),{parent:x}=Ag(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:A,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-A))/Math.sqrt(1+Math.pow((_-k)/(E-A),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const R=Math.sqrt(Math.pow(A-E,2)+Math.pow(k-_,2));C=C/R;let O=(A-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(A-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Dce(m),[A,k]=yd(_)?[T.x,E.y]:[E.x,T.y],{weights:R,distances:O}=p(T,E,A,k);m.style("segment-distances",O),m.style("segment-weights",R)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(qce,"layoutArchitecture");var Ptt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Vs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Itt(i,f,a,e),Btt(i,f,s,e);const m=await qce(a,s,o,l,i,u);await Mtt(d,m,i,e),await Ott(p,m,i,e),Bce(i,m),Pm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Ftt={draw:Ptt},$tt={parser:Mce,get db(){return new Nce},renderer:Ftt,styles:Ntt};const ztt=Object.freeze(Object.defineProperty({__proto__:null,diagram:$tt},Symbol.toStringTag,{value:"Module"}));var iD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,A,k,R){var O=k.length-1;switch(A){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],A=[null],k=[],R=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,A.length=A.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,j,Z,X,ee={},Q,he,te,ae;;){if(j=E[E.length-1],this.defaultActions[j]?Z=this.defaultActions[j]:((H===null||typeof H>"u")&&(H=P()),Z=R[j]&&R[j][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in R[j])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: + `)}}}}}))},"drawEdges"),_tt=S(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const h=_g(u);if(h.type==="group"){const{h:d,w:f,x1:p,y1:m}=u.boundingBox(),v=t.append("rect");v.attr("id",`${n}-group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",f).attr("height",d).attr("class","node-bkg");const b=t.append("g");let x=p,C=m;if(h.icon){const T=b.append("g");T.html(`${await ed(h.icon,{height:a,width:a,fallbackPrefix:Vb.prefix})}`),T.attr("transform","translate("+(x+l+1)+", "+(C+l+1)+")"),x+=a,C+=s/2-1-2}if(h.label){const T=b.append("g");await vs(T,h.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Pe()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+l+4)+", "+(C+l+2)+")")}r.setElementForId(h.id,v)}}))},"drawGroups"),Att=S(async function(t,e,r,n){const i=Pe();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const d=s.append("g");await vs(d,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`${await ed(a.icon,{height:o,width:o,fallbackPrefix:Vb.prefix})}`);else if(a.iconText){l.html(`${await ed("blank",{height:o,width:o,fallbackPrefix:Vb.prefix})}`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(Jr(a.iconText,i)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:h}=s.node().getBBox();a.width=u,a.height=h,t.setElementForId(a.id,s)}return 0},"drawServices"),Ltt=S(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");iQ([{name:Vb.prefix,icons:Vb}]);ic.use(ftt);function Mce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}S(Mce,"addServices");function Oce(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}S(Oce,"addJunctions");function Ice(t,e){e.nodes().map(r=>{const n=_g(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}S(Ice,"positionNodes");function Bce(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}S(Bce,"addGroups");function Pce(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:h,title:d}=r,f=zO(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:d,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:h,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}S(Pce,"addEdges");function Fce(t,e,r){const n=S((o,l)=>Object.entries(o).reduce((u,[h,d])=>{let f=0;const p=Object.entries(d);if(p.length===1)return u[h]=p[0][1],u;for(let m=0;m{const l={},u={};return Object.entries(o).forEach(([h,[d,f]])=>{const p=t.getNode(h)?.in??"default";l[f]??={},l[f][p]??=[],l[f][p].push(h),u[d]??={},u[d][p]??=[],u[d][p].push(h)}),{horiz:Object.values(n(l,"horizontal")).filter(h=>h.length>1),vert:Object.values(n(u,"vertical")).filter(h=>h.length>1)}}),[a,s]=i.reduce(([o,l],{horiz:u,vert:h})=>[[...o,...u],[...l,...h]],[[],[]]);return{horizontal:a,vertical:s}}S(Fce,"getAlignments");function $ce(t,e){const r=[],n=S(a=>`${a[0]},${a[1]}`,"posToStr"),i=S(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{const s=Object.fromEntries(Object.entries(a).map(([h,d])=>[n(d),h])),o=[n([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const h=o.shift();if(h){l[h]=1;const d=s[h];if(d){const f=i(h);Object.entries(u).forEach(([p,m])=>{const v=n([f[0]+m[0],f[1]+m[1]]),b=s[v];b&&!l[v]&&(o.push(v),r.push({[PY[p]]:b,[PY[ptt(p)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}S($ce,"getRelativeConstraints");function zce(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=kt("body").append("div").attr("id","cy").attr("style","display:none"),u=ic({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),Bce(r,u),Mce(t,u,i),Oce(e,u,i),Pce(n,u);const h=Fce(i,a,s),d=$ce(a,i),f=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(p){const[m,v]=p.connectedNodes(),{parent:b}=_g(m),{parent:x}=_g(v);return b===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(p){const[m,v]=p.connectedNodes(),{parent:b}=_g(m),{parent:x}=_g(v);return b===x?.45:.001},alignmentConstraint:h,relativePlacementConstraint:d});f.one("layoutstop",()=>{function p(m,v,b,x){let C,T;const{x:E,y:_}=m,{x:R,y:k}=v;T=(x-_+(E-b)*(_-k)/(E-R))/Math.sqrt(1+Math.pow((_-k)/(E-R),2)),C=Math.sqrt(Math.pow(x-_,2)+Math.pow(b-E,2)-Math.pow(T,2));const L=Math.sqrt(Math.pow(R-E,2)+Math.pow(k-_,2));C=C/L;let O=(R-E)*(x-_)-(k-_)*(b-E);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}let F=(R-E)*(b-E)+(k-_)*(x-_);switch(!0){case F>=0:F=1;break;case F<0:F=-1;break}return T=Math.abs(T)*O,C=C*F,{distances:T,weights:C}}S(p,"getSegmentWeights"),u.startBatch();for(const m of Object.values(u.edges()))if(m.data?.()){const{x:v,y:b}=m.source().position(),{x,y:C}=m.target().position();if(v!==x&&b!==C){const T=m.sourceEndpoint(),E=m.targetEndpoint(),{sourceDir:_}=Rce(m),[R,k]=md(_)?[T.x,E.y]:[E.x,T.y],{weights:L,distances:O}=p(T,E,R,k);m.style("segment-distances",O),m.style("segment-weights",L)}}u.endBatch(),f.run()}),f.run(),u.ready(p=>{oe.info("Ready",p),o(u)})})}S(zce,"layoutArchitecture");var Rtt=S(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),h=Vs(e),d=h.append("g");d.attr("class","architecture-edges");const f=h.append("g");f.attr("class","architecture-services");const p=h.append("g");p.attr("class","architecture-groups"),await Att(i,f,a,e),Ltt(i,f,s,e);const m=await zce(a,s,o,l,i,u);await ktt(d,m,i,e),await _tt(p,m,i,e),Ice(i,m),Bm(void 0,h,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),Dtt={draw:Rtt},Ntt={parser:Nce,get db(){return new Dce},renderer:Dtt,styles:Ett};const Mtt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Ntt},Symbol.toStringTag,{value:"Module"}));var nD=(function(){var t=S(function(x,C,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=C);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],h=[1,6,13,14],d=[1,23],f=[1,24],p=[1,6,7,11,13,14],m={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:S(function(C,T,E,_,R,k,L){var O=k.length-1;switch(R){case 6:case 7:return _;case 15:_.addNode(k[O-1].length,k[O].trim());break;case 16:_.addNode(0,k[O].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(h,[2,14],{7:d,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(h,[2,13],{7:d,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(C,T){if(T.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=T,E}},"parseError"),parse:S(function(C){var T=this,E=[0],_=[],R=[null],k=[],L=this.table,O="",F=0,$=0,q=2,z=1,D=k.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(N.yy[B]=this.yy[B]);I.setInput(C,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var M=I.yylloc;k.push(M);var V=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(ne){E.length=E.length-2*ne,R.length=R.length-ne,k.length=k.length-ne}S(U,"popStack");function P(){var ne;return ne=_.pop()||I.lex()||z,typeof ne!="number"&&(ne instanceof Array&&(_=ne,ne=_.pop()),ne=T.symbols_[ne]||ne),ne}S(P,"lex");for(var H,X,Z,j,ee={},Q,he,te,ae;;){if(X=E[E.length-1],this.defaultActions[X]?Z=this.defaultActions[X]:((H===null||typeof H>"u")&&(H=P()),Z=L[X]&&L[X][H]),typeof Z>"u"||!Z.length||!Z[0]){var ie="";ae=[];for(Q in L[X])this.terminals_[Q]&&Q>q&&ae.push("'"+this.terminals_[Q]+"'");I.showPosition?ie="Parse error on line "+(F+1)+`: `+I.showPosition()+` -Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+H);switch(Z[0]){case 1:E.push(H),A.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=A[A.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),X=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],A,k].concat(D)),typeof X<"u")return X;he&&(E=E.slice(0,-1*he*2),A=A.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),A.push(ee.$),k.push(ee._$),te=R[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(F+1)+": Unexpected "+(H==z?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:M,expected:ae})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+H);switch(Z[0]){case 1:E.push(H),R.push(I.yytext),k.push(I.yylloc),E.push(Z[1]),H=null,$=I.yyleng,O=I.yytext,F=I.yylineno,M=I.yylloc;break;case 2:if(he=this.productions_[Z[1]][1],ee.$=R[R.length-he],ee._$={first_line:k[k.length-(he||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(he||1)].first_column,last_column:k[k.length-1].last_column},V&&(ee._$.range=[k[k.length-(he||1)].range[0],k[k.length-1].range[1]]),j=this.performAction.apply(ee,[O,$,F,N.yy,Z[1],R,k].concat(D)),typeof j<"u")return j;he&&(E=E.slice(0,-1*he*2),R=R.slice(0,-1*he),k=k.slice(0,-1*he)),E.push(this.productions_[Z[1]][0]),R.push(ee.$),k.push(ee._$),te=L[E[E.length-2]][E[E.length-1]],E.push(te);break;case 3:return!0}}return!0},"parse")},v=(function(){var x={EOF:1,parseError:S(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:S(function(C,T){return this.yy=T||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var T=C.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:S(function(C){var T=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(C){this.unput(this.match.slice(C))},"less"),pastInput:S(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var C=this.pastInput(),T=new Array(C.length+1).join("-");return C+this.upcomingInput()+` -`+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in A)this[k]=A[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,A[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,A[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,A){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();iD.parser=iD;var qtt=iD,Q1,Vtt=(Q1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Kn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],li(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ci()}setAccTitle(e){Xn(e)}getAccDescription(){return hi()}setAccDescription(e){ui(e)}getDiagramTitle(){return Zn()}setDiagramTitle(e){li(e)}},S(Q1,"IshikawaDB"),Q1),Gtt=14,Kp=250,Utt=30,Htt=60,Wtt=5,Vce=82*Math.PI/180,qY=Math.cos(Vce),VY=Math.sin(Vce),GY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Ui(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Ytt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=zu(s.fontSize)[0]??Gtt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Vs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=Kp;const A=d?void 0:Ug(b,E,_,E,_,"ishikawa-spine");if(jtt(b,E,_,a.text,h,C),!f.length){d&&Ug(b,E,_,E,_,"ishikawa-spine",C),GY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),R=f.filter((N,B)=>B%2===1),O=UY(k),F=UY(R),$=O.total+F.total;let q=Kp,z=Kp;if($>0){const N=Kp*2,B=Kp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,Kp),A&&A.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Ug(b,E,_,0,_,"ishikawa-spine",C);else{A.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}GY(v,p,m)},"draw"),UY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),jtt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=hC(o,Gce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Xtt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Gce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Ktt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=hC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),FA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Ztt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-qY*u,d=VY*u*i,f=r+h,p=n+d;if(Ug(t,r,n,f,p,"ishikawa-branch",o),o&&FA(t,r,n,r-f,n-p,o),Ktt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Xtt(l,i),b=m.length,x=new Array(b);for(const[A,k]of v.entries())x[k]=n+d*((A+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-qY,E=VY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[A,k]of m.entries()){const R=x[A],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=HY(O.x0,O.x1,D?(R-O.y0)/D:.5),q=R,z=$-(k.childCount>0?Htt+k.childCount*Wtt:Utt),Ug(F,$,R,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,R,1,0,o),hC(F,k.text,z,R,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=HY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((R-q)/E),Ug(F,$,q,z,R,"ishikawa-sub-branch",o),o&&FA(F,$,q,$-z,q-R,o),hC(F,k.text,z,R,_,"end",s)}k.childCount>0&&C.set(A,{x0:$,y0:q,x1:z,y1:R,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Qtt=S(t=>t.split(/|\n/),"splitLines"),Gce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` -`)},"wrapText"),hC=S((t,e,r,n,i,a,s)=>{const o=Qtt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),HY=S((t,e,r)=>t+(e-t)*r,"lerp"),Ug=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),Jtt={draw:Ytt},ert=S(t=>` +`+T+"^"},"showPosition"),test_match:S(function(C,T){var E,_,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var k in R)this[k]=R[k];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,T,E,_;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),k=0;kT[0].length)){if(T=E,_=k,this.options.backtrack_lexer){if(C=this.test_match(E,R[k]),C!==!1)return C;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(C=this.test_match(T,R[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var T=this.next();return T||this.lex()},"lex"),begin:S(function(T){this.conditionStack.push(T)},"begin"),popState:S(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:S(function(T){this.begin(T)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(T,E,_,R){switch(_){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();m.lexer=v;function b(){this.yy={}}return S(b,"Parser"),b.prototype=m,m.Parser=b,new b})();nD.parser=nD;var Ott=nD,Z1,Itt=(Z1=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Kn()}getRoot(){return this.root}addNode(e,r){const n=$t.sanitizeText(r,Pe());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],li(n);return}this.baseLevel??=e;let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ci()}setAccTitle(e){jn(e)}getAccDescription(){return hi()}setAccDescription(e){ui(e)}getDiagramTitle(){return Zn()}setDiagramTitle(e){li(e)}},S(Z1,"IshikawaDB"),Z1),Btt=14,jp=250,Ptt=30,Ftt=60,$tt=5,qce=82*Math.PI/180,zY=Math.cos(qce),qY=Math.sin(qce),VY=S((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Ui(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),ztt=S((t,e,r,n)=>{const a=n.db.getRoot();if(!a)return;const s=Pe(),{look:o,handDrawnSeed:l,themeVariables:u}=s,h=$u(s.fontSize)[0]??Btt,d=o==="handDrawn",f=a.children??[],p=s.ishikawa?.diagramPadding??20,m=s.ishikawa?.useMaxWidth??!1,v=Vs(e),b=v.append("g").attr("class","ishikawa"),x=d?ar.svg(v.node()):void 0,C=x?{roughSvg:x,seed:l??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||b.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,_=jp;const R=d?void 0:Gg(b,E,_,E,_,"ishikawa-spine");if(qtt(b,E,_,a.text,h,C),!f.length){d&&Gg(b,E,_,E,_,"ishikawa-spine",C),VY(v,p,m);return}E-=20;const k=f.filter((N,B)=>B%2===0),L=f.filter((N,B)=>B%2===1),O=GY(k),F=GY(L),$=O.total+F.total;let q=jp,z=jp;if($>0){const N=jp*2,B=jp*.3;q=Math.max(B,N*(O.total/$)),z=Math.max(B,N*(F.total/$))}const D=h*2;q=Math.max(q,O.max*D),z=Math.max(z,F.max*D),_=Math.max(q,jp),R&&R.attr("y1",_).attr("y2",_),b.select(".ishikawa-head-group").attr("transform",`translate(0,${_})`);const I=Math.ceil(f.length/2);for(let N=0;NMath.min(M,V.getBBox().x),1/0)}if(d)Gg(b,E,_,0,_,"ishikawa-spine",C);else{R.attr("x1",E);const N=`url(#${T})`;b.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",N)}VY(v,p,m)},"draw"),GY=S(t=>{const e=S(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),qtt=S((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=uC(o,Vce(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),h=Math.max(60,u.width+6),d=Math.max(40,u.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${h*2.4} 0 0 ${-d/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(h-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Vtt=S((t,e)=>{const r=[],n=[],i=S((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const h=r.length,d=u.children??[];r.push({depth:o,text:Vce(u.text,15),parentIndex:s,childCount:d.length}),o%2===0?(n.push(h),d.length&&i(d,h,o+1)):(d.length&&i(d,h,o+1),n.push(h))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Gtt=S((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=uC(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const h=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>h,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),PA=S((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,h=-l*u,d=o*u,f=e,p=r,m=`M ${f} ${p} L ${f-o*u*2+h} ${p-l*u*2+d} L ${f-o*u*2-h} ${p-l*u*2-d} Z`,v=a.roughSvg.path(m,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>v)},"drawArrowMarker"),Utt=S((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),h=-zY*u,d=qY*u*i,f=r+h,p=n+d;if(Gg(t,r,n,f,p,"ishikawa-branch",o),o&&PA(t,r,n,r-f,n-p,o),Gtt(t,e.text,f,p,i,s,o),!l.length)return;const{entries:m,yOrder:v}=Vtt(l,i),b=m.length,x=new Array(b);for(const[R,k]of v.entries())x[k]=n+d*((R+1)/(b+1));const C=new Map;C.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const T=-zY,E=qY*i,_=i<0?"ishikawa-label up":"ishikawa-label down";for(const[R,k]of m.entries()){const L=x[R],O=C.get(k.parentIndex),F=t.append("g").attr("class","ishikawa-sub-group");let $=0,q=0,z=0;if(k.depth%2===0){const D=O.y1-O.y0;$=UY(O.x0,O.x1,D?(L-O.y0)/D:.5),q=L,z=$-(k.childCount>0?Ftt+k.childCount*$tt:Ptt),Gg(F,$,L,z,L,"ishikawa-sub-branch",o),o&&PA(F,$,L,1,0,o),uC(F,k.text,z,L,"ishikawa-label align","end",s)}else{const D=O.childrenDrawn++;$=UY(O.x0,O.x1,(O.childCount-D)/(O.childCount+1)),q=O.y0,z=$+T*((L-q)/E),Gg(F,$,q,z,L,"ishikawa-sub-branch",o),o&&PA(F,$,q,$-z,q-L,o),uC(F,k.text,z,L,_,"end",s)}k.childCount>0&&C.set(R,{x0:$,y0:q,x1:z,y1:L,childCount:k.childCount,childrenDrawn:0})}},"drawBranch"),Htt=S(t=>t.split(/|\n/),"splitLines"),Vce=S((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`)},"wrapText"),uC=S((t,e,r,n,i,a,s)=>{const o=Htt(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[h,d]of o.entries())u.append("tspan").attr("x",r).attr("dy",h===0?0:l).text(d);return u},"drawMultilineText"),UY=S((t,e,r)=>t+(e-t)*r,"lerp"),Gg=S((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),Wtt={draw:ztt},Ytt=S(t=>` .ishikawa .ishikawa-spine, .ishikawa .ishikawa-branch, .ishikawa .ishikawa-sub-branch { @@ -3224,18 +3224,18 @@ Expecting `+ae.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .ishikawa .ishikawa-label.down { dominant-baseline: hanging; } -`,"getStyles"),trt=ert,rrt={parser:qtt,get db(){return new Vtt},renderer:Jtt,styles:trt};const nrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:rrt},Symbol.toStringTag,{value:"Module"})),Uce=1e-10;function lE(t,e){const r=art(t),n=r.filter(o=>irt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Wce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=aD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Uce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function irt(t,e){return e.every(r=>zs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return aD(t,n)+aD(e,i)}function Hce(t,e){const r=zs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Wce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function srt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)sD(e))}function Hg(t,e){let r=0;for(let n=0;n_.fx-A.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=R.slice();return O.fx=R.fx,O.id=R.id,O});k.sort((R,O)=>R.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>A.fx?(du(T,1+h,x,-h,A),T.fx=t(T),T.fx=1)break;for(let R=1;Ro+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(du(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Hg(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function lrt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),lD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fVO(t,e,n)-r,0,t+e)}function crt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=cD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function hrt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function drt(t,e={}){let r=prt(t,e);const n=e.lossFunction||Im;if(t.length>=8){const i=frt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>hrt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+Xce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function Kce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=VO(o.radius,l.radius,zs(o,l))}else i=lE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function grt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&zs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function mrt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function uD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Zce(t,e,r){e==null&&(e=Math.PI/2);let n=eue(t).map(u=>Object.assign({},u));const i=mrt(n);for(const u of i){grt(u,e,r);const h=uD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Jce(t){const e={};for(const r of t)e[r.setid]=r;return e}function eue(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function yrt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var R=b[k]=x[C];return C+=1,C>=x.length&&(C=0),R},E=jce,_=Im;function A(k){let R=k.datum();const O=new Set;R.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),R=R.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(R.length>0){let Q=E(R,{lossFunction:_,distinct:p});o&&(Q=Zce(Q,s,f)),F=Qce(Q,r,n,i,l),$=rue(F,R,v)}const q={};R.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=xrt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return YY(te,m)}}const M=D.selectAll(".venn-area").data(R,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let j=k;N&&typeof j.transition=="function"?(j=H(k),j.selectAll("path").attrTween("d",B)):j.selectAll("path").attr("d",Q=>YY(Q.sets.map(he=>F[he])),m);const Z=j.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",$A(F,z)):Z.each("end",$A(F,z)):Z.each($A(F,z)));const X=H(M.exit()).remove();typeof M.transition=="function"&&X.selectAll("path").attrTween("d",B);const ee=X.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:j,exit:X}}return A.wrap=function(k){return arguments.length?(u=k,A):u},A.useViewBox=function(){return e=!0,A},A.width=function(k){return arguments.length?(r=k,A):r},A.height=function(k){return arguments.length?(n=k,A):n},A.padding=function(k){return arguments.length?(i=k,A):i},A.distinct=function(k){return arguments.length?(p=k,A):p},A.colours=function(k){return arguments.length?(T=k,A):T},A.colors=function(k){return arguments.length?(T=k,A):T},A.fontSize=function(k){return arguments.length?(d=k,A):d},A.round=function(k){return arguments.length?(m=k,A):m},A.duration=function(k){return arguments.length?(a=k,A):a},A.layoutFunction=function(k){return arguments.length?(E=k,A):E},A.normalize=function(k){return arguments.length?(o=k,A):o},A.scaleToFit=function(k){return arguments.length?(l=k,A):l},A.styled=function(k){return arguments.length?(h=k,A):h},A.orientation=function(k){return arguments.length?(s=k,A):s},A.orientationOrder=function(k){return arguments.length?(f=k,A):f},A.lossFunction=function(k){return arguments.length?(_=k==="default"?Im:k==="logRatio"?Kce:k,A):_},A}function $A(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function zA(t,e,r){let n=e[0].radius-zs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Yce(h=>-1*zA({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(zs(o,h)>h.radius){l=!1;break}for(const h of e)if(zs(o,h)h.p1))}function vrt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function brt(t,e,r){const n=[];return n.push(` +`,"getStyles"),Xtt=Ytt,jtt={parser:Ott,get db(){return new Itt},renderer:Wtt,styles:Xtt};const Ktt=Object.freeze(Object.defineProperty({__proto__:null,diagram:jtt},Symbol.toStringTag,{value:"Module"})),Gce=1e-10;function oE(t,e){const r=Qtt(t),n=r.filter(o=>Ztt(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=Hce(n);for(let u=0;uh.angle-u.angle);let l=n[n.length-1];for(let u=0;um.radius*2&&(T=m.radius*2),(f==null||f.width>T)&&(f={circle:m,width:T,p1:h,p2:l,large:T>m.radius,sweep:!0})}f!=null&&(s.push(f),i+=iD(f.circle.radius,f.width),l=h)}}else{let o=t[0];for(let u=1;uMath.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-Gce,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function Ztt(t,e){return e.every(r=>zs(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return iD(t,n)+iD(e,i)}function Uce(t,e){const r=zs(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),h=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-h},{x:o-u,y:l+h}]}function Hce(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function Jtt(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u=0&&(e=h),Math.abs(l)aD(e))}function Ug(t,e){let r=0;for(let n=0;n_.fx-R.fx,x=e.slice(),C=e.slice(),T=e.slice(),E=e.slice();for(let _=0;_{const O=L.slice();return O.fx=L.fx,O.id=L.id,O});k.sort((L,O)=>L.id-O.id),r.history.push({x:m[0].slice(),fx:m[0].fx,simplex:k})}f=0;for(let k=0;k=m[p-1].fx){let k=!1;if(C.fx>R.fx?(hu(T,1+h,x,-h,R),T.fx=t(T),T.fx=1)break;for(let L=1;Lo+a*i*l||u>=b)v=i;else{if(Math.abs(d)<=-s*l)return i;d*(v-m)>=0&&(v=m),m=i,b=u}return 0}for(let m=0;m<10;++m){if(hu(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),d=Ug(n.fxprime,e),u>o+a*i*l||m&&u>=h)return p(f,i,h);if(Math.abs(d)<=-s*l)return i;if(d>=0)return p(i,f,u);h=u,f=i,i*=2}return i}function trt(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),oD(s,n.fxprime,-1);for(let h=0;h{const d={};for(let f=0;fqO(t,e,n)-r,0,t+e)}function rrt(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;uo===l?0:oa.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),h=lD(l,u,a.size);n[s][o]=n[o][s]=h;let d=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?d=1:a.size<=1e-10&&(d=-1),i[s][o]=i[o][s]=d}),{distances:n,constraints:i}}function irt(t,e,r,n){for(let a=0;a0&&m<=d||f<0&&m>=d||(i+=2*v*v,e[2*a]+=4*v*(s-u),e[2*a+1]+=4*v*(o-h),e[2*l]+=4*v*(u-s),e[2*l+1]+=4*v*(h-o))}}return i}function art(t,e={}){let r=ort(t,e);const n=e.lossFunction||Om;if(t.length>=8){const i=srt(t,e),a=n(i,t),s=n(r,t);a+1e-8f.map(p=>p/o));const l=(f,p)=>irt(f,p,a,s);let u=null;for(let f=0;fd.sets.length===2);for(const d of t){let f=d.weight!=null?d.weight:1;const p=d.sets[0],m=d.sets[1];d.size+Xce>=Math.min(n[p].size,n[m].size)&&(f=0),i[p].push({set:m,size:d.size,weight:f}),i[m].push({set:p,size:d.size,weight:f})}const a=[];Object.keys(i).forEach(d=>{let f=0;for(let p=0;pt[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function jce(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=qO(o.radius,l.radius,zs(o,l))}else i=oE(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function lrt(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&zs(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function crt(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i{delete i.parent}),Array.from(n.values())}function cD(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function Kce(t,e,r){e==null&&(e=Math.PI/2);let n=Jce(t).map(u=>Object.assign({},u));const i=crt(n);for(const u of i){lrt(u,e,r);const h=cD(u);u.size=(h.xRange.max-h.xRange.min)*(h.yRange.max-h.yRange.min),u.bounds=h}i.sort((u,h)=>h.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,h,d){if(!u)return;const f=u.bounds;let p,m;if(h)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const v=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;v<0&&(p+=v)}if(d)m=a.yRange.max-f.yRange.min+s;else{m=a.yRange.max-f.yRange.max;const v=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;v<0&&(m+=v)}for(const v of u)v.x+=p,v.y+=m,n.push(v)}let l=1;for(;l({radius:h*p.radius,x:n+d+(p.x-s.min)*h,y:n+f+(p.y-o.min)*h,setid:p.setid})))}function Qce(t){const e={};for(const r of t)e[r.setid]=r;return e}function Jce(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function urt(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,h=!0,d=null,f=null,p=!1,m=null,v=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,b={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],C=0,T=function(k){if(k in b)return b[k];var L=b[k]=x[C];return C+=1,C>=x.length&&(C=0),L},E=Yce,_=Om;function R(k){let L=k.datum();const O=new Set;L.forEach(Q=>{Q.size==0&&Q.sets.length==1&&O.add(Q.sets[0])}),L=L.filter(Q=>!Q.sets.some(he=>O.has(he)));let F={},$={};if(L.length>0){let Q=E(L,{lossFunction:_,distinct:p});o&&(Q=Kce(Q,s,f)),F=Zce(Q,r,n,i,l),$=tue(F,L,v)}const q={};L.forEach(Q=>{Q.label&&(q[Q.sets]=Q.label)});function z(Q){if(Q.sets in q)return q[Q.sets];if(Q.sets.length==1)return""+Q.sets[0]}k.selectAll("svg").data([F]).enter().append("svg");const D=k.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);const I={};let N=!1;D.selectAll(".venn-area path").each(function(Q){const he=this.getAttribute("d");Q.sets.length==1&&he&&!p&&(N=!0,I[Q.sets[0]]=frt(he))});function B(Q){return he=>{const te=Q.sets.map(ae=>{let ie=I[ae],ne=F[ae];return ie||(ie={x:r/2,y:n/2,radius:1}),ne||(ne={x:r/2,y:n/2,radius:1}),{x:ie.x*(1-he)+ne.x*he,y:ie.y*(1-he)+ne.y*he,radius:ie.radius*(1-he)+ne.radius*he}});return WY(te,m)}}const M=D.selectAll(".venn-area").data(L,Q=>Q.sets),V=M.enter().append("g").attr("class",Q=>`venn-area venn-${Q.sets.length==1?"circle":"intersection"}${Q.colour||Q.color?" venn-coloured":""}`).attr("data-venn-sets",Q=>Q.sets.join("_")),U=V.append("path"),P=V.append("text").attr("class","label").text(Q=>z(Q)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);h&&(U.style("fill-opacity","0").filter(Q=>Q.sets.length==1).style("fill",Q=>Q.colour?Q.colour:Q.color?Q.color:T(Q.sets)).style("fill-opacity",".25"),P.style("fill",Q=>Q.colour||Q.color?"#FFF":t.textFill?t.textFill:Q.sets.length==1?T(Q.sets):"#444"));function H(Q){return typeof Q.transition=="function"?Q.transition("venn").duration(a):Q}let X=k;N&&typeof X.transition=="function"?(X=H(k),X.selectAll("path").attrTween("d",B)):X.selectAll("path").attr("d",Q=>WY(Q.sets.map(he=>F[he])),m);const Z=X.selectAll("text").filter(Q=>Q.sets in $).text(Q=>z(Q)).attr("x",Q=>Math.floor($[Q.sets].x)).attr("y",Q=>Math.floor($[Q.sets].y));u&&(N?"on"in Z?Z.on("end",FA(F,z)):Z.each("end",FA(F,z)):Z.each(FA(F,z)));const j=H(M.exit()).remove();typeof M.transition=="function"&&j.selectAll("path").attrTween("d",B);const ee=j.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&(P.style("font-size","0px"),Z.style("font-size",d),ee.style("font-size","0px")),{circles:F,textCentres:$,nodes:M,enter:V,update:X,exit:j}}return R.wrap=function(k){return arguments.length?(u=k,R):u},R.useViewBox=function(){return e=!0,R},R.width=function(k){return arguments.length?(r=k,R):r},R.height=function(k){return arguments.length?(n=k,R):n},R.padding=function(k){return arguments.length?(i=k,R):i},R.distinct=function(k){return arguments.length?(p=k,R):p},R.colours=function(k){return arguments.length?(T=k,R):T},R.colors=function(k){return arguments.length?(T=k,R):T},R.fontSize=function(k){return arguments.length?(d=k,R):d},R.round=function(k){return arguments.length?(m=k,R):m},R.duration=function(k){return arguments.length?(a=k,R):a},R.layoutFunction=function(k){return arguments.length?(E=k,R):E},R.normalize=function(k){return arguments.length?(o=k,R):o},R.scaleToFit=function(k){return arguments.length?(l=k,R):l},R.styled=function(k){return arguments.length?(h=k,R):h},R.orientation=function(k){return arguments.length?(s=k,R):s},R.orientationOrder=function(k){return arguments.length?(f=k,R):f},R.lossFunction=function(k){return arguments.length?(_=k==="default"?Om:k==="logRatio"?jce:k,R):_},R}function FA(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),h=[u],d=0;const f=1.1;n.textContent=null;const p=[];function m(T){const E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,p.push(E),n.append(E),E}let v=m(u);for(;u=s.pop(),!!u;){h.push(u);const T=h.join(" ");v.textContent=T,T.length>l&&v.getComputedTextLength()>i&&(h.pop(),v.textContent=h.join(" "),h=[u],v=m(u),d++)}const b=.35-d*f/2,x=n.getAttribute("x"),C=n.getAttribute("y");p.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",C),T.setAttribute("dy",`${b+E*f}em`)})}}function $A(t,e,r){let n=e[0].radius-zs(e[0],t);for(let i=1;i=a&&(i=n[h],a=d)}const s=Wce(h=>-1*$A({x:h[0],y:h[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const h of t)if(zs(o,h)>h.radius){l=!1;break}for(const h of e)if(zs(o,h)h.p1))}function hrt(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function drt(t,e,r){const n=[];return n.push(` M`,t,e),n.push(` m`,-r,0),n.push(` a`,r,r,0,1,0,r*2,0),n.push(` -a`,r,r,0,1,0,-r*2,0),n.join(" ")}function xrt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function nue(t){if(t.length===0)return[];const e={};return lE(t,e),e.arcs}function iue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return brt(n(a.x),n(a.y),n(a.radius))}const i=[` +a`,r,r,0,1,0,-r*2,0),n.join(" ")}function frt(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function rue(t){if(t.length===0)return[];const e={};return oE(t,e),e.arcs}function nue(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return drt(n(a.x),n(a.y),n(a.radius))}const i=[` M`,n(t[0].p2.x),n(t[0].p2.y)];for(const a of t){const s=n(a.circle.radius);i.push(` -A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function YY(t,e){return iue(nue(t),e)}function Trt(t,e={}){const{lossFunction:r,layoutFunction:n=jce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Im:r==="logRatio"?Kce:r,distinct:f});i&&(m=Zce(m,a,s));const v=Qce(m,o,l,u,h),b=rue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(R=>x.get(R)),A=nue(_),k=iue(A,p);return{circles:_,arcs:A,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const A of C)A.has.size>E.length&&E.every(k=>A.has.has(k))&&(_+=" "+A.path);return _}return C.map(({circles:E,arcs:_,path:A,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:A,distinctPath:A+T(k.sets)}))}var hD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,A,k,R,O){var F=R.length-1;switch(k){case 1:return R[F-1];case 2:case 3:case 4:this.$=[];break;case 5:R[F-1].push(R[F]),this.$=R[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=R[F];break;case 8:A.setDiagramTitle(R[F].substr(6)),this.$=R[F].substr(6);break;case 9:A.addSubsetData([R[F]],void 0,void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 10:A.addSubsetData([R[F-1]],R[F],void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 11:A.addSubsetData([R[F-2]],void 0,parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 12:A.addSubsetData([R[F-3]],R[F-2],parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 13:if(R[F].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F]),A.addSubsetData(R[F],void 0,void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 14:if(R[F-1].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F-1]),A.addSubsetData(R[F-1],R[F],void 0),A.setIndentMode&&A.setIndentMode(!0);break;case 15:if(R[F-2].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F-2]),A.addSubsetData(R[F-2],void 0,parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 16:if(R[F-3].length<2)throw new Error("union requires multiple identifiers");A.validateUnionIdentifiers&&A.validateUnionIdentifiers(R[F-3]),A.addSubsetData(R[F-3],R[F-2],parseFloat(R[F])),A.setIndentMode&&A.setIndentMode(!0);break;case 17:case 18:case 19:A.addTextData(R[F-1],R[F],void 0);break;case 20:case 21:A.addTextData(R[F-2],R[F-1],R[F]);break;case 23:A.addStyleData(R[F-1],R[F]);break;case 24:case 25:case 26:var $=A.getCurrentSets();if(!$)throw new Error("text requires set");A.addTextData($,R[F],void 0);break;case 27:case 28:var $=A.getCurrentSets();if(!$)throw new Error("text requires set");A.addTextData($,R[F-1],R[F]);break;case 29:case 41:this.$=[R[F]];break;case 30:case 42:this.$=[...R[F-2],R[F]];break;case 31:this.$=[R[F-2],R[F]];break;case 33:this.$=R[F].join(" ");break;case 34:this.$=[R[F]];break;case 35:R[F-1].push(R[F]),this.$=R[F-1];break;case 43:case 44:this.$=R[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],A=[],k=[null],R=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=R.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;R.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,R.length=R.length-me}S(P,"popStack");function H(){var me;return me=A.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(A=me,me=A.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var j,Z,X,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?X=this.defaultActions[Z]:((j===null||typeof j>"u")&&(j=H()),X=O[Z]&&O[Z][j]),typeof X>"u"||!X.length||!X[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: +A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function WY(t,e){return nue(rue(t),e)}function prt(t,e={}){const{lossFunction:r,layoutFunction:n=Yce,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:h=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=e;let m=n(t,{lossFunction:r==="default"||!r?Om:r==="logRatio"?jce:r,distinct:f});i&&(m=Kce(m,a,s));const v=Zce(m,o,l,u,h),b=tue(v,t,d),x=new Map(Object.keys(v).map(E=>[E,{set:E,x:v[E].x,y:v[E].y,radius:v[E].radius}])),C=t.map(E=>{const _=E.sets.map(L=>x.get(L)),R=rue(_),k=nue(R,p);return{circles:_,arcs:R,path:k,area:E,has:new Set(E.sets)}});function T(E){let _="";for(const R of C)R.has.size>E.length&&E.every(k=>R.has.has(k))&&(_+=" "+R.path);return _}return C.map(({circles:E,arcs:_,path:R,area:k})=>({data:k,text:b[k.sets],circles:E,arcs:_,path:R,distinctPath:R+T(k.sets)}))}var uD=(function(){var t=S(function(C,T,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],h=[1,56],d=[1,58],f=[1,59],p=[1,60],m=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],v={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:S(function(T,E,_,R,k,L,O){var F=L.length-1;switch(k){case 1:return L[F-1];case 2:case 3:case 4:this.$=[];break;case 5:L[F-1].push(L[F]),this.$=L[F-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=L[F];break;case 8:R.setDiagramTitle(L[F].substr(6)),this.$=L[F].substr(6);break;case 9:R.addSubsetData([L[F]],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 10:R.addSubsetData([L[F-1]],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 11:R.addSubsetData([L[F-2]],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 12:R.addSubsetData([L[F-3]],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 13:if(L[F].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F]),R.addSubsetData(L[F],void 0,void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 14:if(L[F-1].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-1]),R.addSubsetData(L[F-1],L[F],void 0),R.setIndentMode&&R.setIndentMode(!0);break;case 15:if(L[F-2].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-2]),R.addSubsetData(L[F-2],void 0,parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 16:if(L[F-3].length<2)throw new Error("union requires multiple identifiers");R.validateUnionIdentifiers&&R.validateUnionIdentifiers(L[F-3]),R.addSubsetData(L[F-3],L[F-2],parseFloat(L[F])),R.setIndentMode&&R.setIndentMode(!0);break;case 17:case 18:case 19:R.addTextData(L[F-1],L[F],void 0);break;case 20:case 21:R.addTextData(L[F-2],L[F-1],L[F]);break;case 23:R.addStyleData(L[F-1],L[F]);break;case 24:case 25:case 26:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F],void 0);break;case 27:case 28:var $=R.getCurrentSets();if(!$)throw new Error("text requires set");R.addTextData($,L[F-1],L[F]);break;case 29:case 41:this.$=[L[F]];break;case 30:case 42:this.$=[...L[F-2],L[F]];break;case 31:this.$=[L[F-2],L[F]];break;case 33:this.$=L[F].join(" ");break;case 34:this.$=[L[F]];break;case 35:L[F-1].push(L[F]),this.$=L[F-1];break;case 43:case 44:this.$=L[F];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:h,21:[1,53],28:52,29:54,30:55,31:d,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:h,31:d,32:f,33:p}),t(m,[2,34]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(m,[2,40]),t(m,[2,35])],defaultActions:{6:[2,1]},parseError:S(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:S(function(T){var E=this,_=[0],R=[],k=[null],L=[],O=this.table,F="",$=0,q=0,z=2,D=1,I=L.slice.call(arguments,1),N=Object.create(this.lexer),B={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(B.yy[M]=this.yy[M]);N.setInput(T,B.yy),B.yy.lexer=N,B.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;L.push(V);var U=N.options&&N.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(me){_.length=_.length-2*me,k.length=k.length-me,L.length=L.length-me}S(P,"popStack");function H(){var me;return me=R.pop()||N.lex()||D,typeof me!="number"&&(me instanceof Array&&(R=me,me=R.pop()),me=E.symbols_[me]||me),me}S(H,"lex");for(var X,Z,j,ee,Q={},he,te,ae,ie;;){if(Z=_[_.length-1],this.defaultActions[Z]?j=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),j=O[Z]&&O[Z][X]),typeof j>"u"||!j.length||!j[0]){var ne="";ie=[];for(he in O[Z])this.terminals_[he]&&he>z&&ie.push("'"+this.terminals_[he]+"'");N.showPosition?ne="Parse error on line "+($+1)+`: `+N.showPosition()+` -Expecting `+ie.join(", ")+", got '"+(this.terminals_[j]||j)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(j==D?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[j]||j,line:N.yylineno,loc:V,expected:ie})}if(X[0]instanceof Array&&X.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+j);switch(X[0]){case 1:_.push(j),k.push(N.yytext),R.push(N.yylloc),_.push(X[1]),j=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[X[1]][1],Q.$=k[k.length-te],Q._$={first_line:R[R.length-(te||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(te||1)].first_column,last_column:R[R.length-1].last_column},U&&(Q._$.range=[R[R.length-(te||1)].range[0],R[R.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,X[1],k,R].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),R=R.slice(0,-1*te)),_.push(this.productions_[X[1]][0]),k.push(Q.$),R.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var C={EOF:1,parseError:S(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:S(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:S(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===A.length?this.yylloc.first_column:0)+A[A.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ne="Parse error on line "+($+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(ne,{text:N.match,token:this.terminals_[X]||X,line:N.yylineno,loc:V,expected:ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+X);switch(j[0]){case 1:_.push(X),k.push(N.yytext),L.push(N.yylloc),_.push(j[1]),X=null,q=N.yyleng,F=N.yytext,$=N.yylineno,V=N.yylloc;break;case 2:if(te=this.productions_[j[1]][1],Q.$=k[k.length-te],Q._$={first_line:L[L.length-(te||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(te||1)].first_column,last_column:L[L.length-1].last_column},U&&(Q._$.range=[L[L.length-(te||1)].range[0],L[L.length-1].range[1]]),ee=this.performAction.apply(Q,[F,q,$,B.yy,j[1],k,L].concat(I)),typeof ee<"u")return ee;te&&(_=_.slice(0,-1*te*2),k=k.slice(0,-1*te),L=L.slice(0,-1*te)),_.push(this.productions_[j[1]][0]),k.push(Q.$),L.push(Q._$),ae=O[_[_.length-2]][_[_.length-1]],_.push(ae);break;case 3:return!0}}return!0},"parse")},b=(function(){var C={EOF:1,parseError:S(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:S(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:S(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===R.length?this.yylloc.first_column:0)+R[R.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(T){this.unput(this.match.slice(T))},"less"),pastInput:S(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` -`+E+"^"},"showPosition"),test_match:S(function(T,E){var _,A,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),A=T[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var R in k)this[R]=k[R];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,A;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),R=0;RE[0].length)){if(E=_,A=R,this.options.backtrack_lexer){if(T=this.test_match(_,k[R]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[A]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,A,k){switch(A){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();hD.parser=hD;var wrt=hD,GO=[],UO=[],HO=[],WO=new Set,YO,jO=!1,Crt=S((t,e,r)=>{const n=cE(t).sort(),i=r??10/Math.pow(t.length,2);YO=n,n.length===1&&WO.add(n[0]),GO.push({sets:n,size:i,label:e?Ub(e):void 0})},"addSubsetData"),Srt=S(()=>GO,"getSubsetData"),Ub=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),Ert=S(t=>t&&Ub(t),"normalizeStyleValue"),krt=S((t,e,r)=>{const n=Ub(e);UO.push({sets:cE(t).sort(),id:n,label:r?Ub(r):void 0})},"addTextData"),_rt=S((t,e)=>{const r=cE(t).sort(),n={};for(const[i,a]of e)n[i]=Ert(a)??a;HO.push({targets:r,styles:n})},"addStyleData"),Art=S(()=>HO,"getStyleData"),cE=S(t=>t.map(e=>Ub(e)),"normalizeIdentifierList"),Lrt=S(t=>{const r=cE(t).filter(n=>!WO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),Rrt=S(()=>UO,"getTextData"),Drt=S(()=>YO,"getCurrentSets"),Nrt=S(()=>jO,"getIndentMode"),Mrt=S(t=>{jO=t},"setIndentMode"),Ort=Vr.venn;function aue(){return ea(Ort,gr().venn)}S(aue,"getConfig");var Irt=S(()=>{Kn(),GO.length=0,UO.length=0,HO.length=0,WO.clear(),YO=void 0,jO=!1},"customClear"),Brt={getConfig:aue,clear:Irt,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,addSubsetData:Crt,getSubsetData:Srt,addTextData:krt,addStyleData:_rt,validateUnionIdentifiers:Lrt,getTextData:Rrt,getStyleData:Art,getCurrentSets:Drt,getIndentMode:Nrt,setIndentMode:Mrt},Prt=S(t=>` +`+E+"^"},"showPosition"),test_match:S(function(T,E){var _,R,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),R=T[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var L in k)this[L]=k[L];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,R;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),L=0;LE[0].length)){if(E=_,R=L,this.options.backtrack_lexer){if(T=this.test_match(_,k[L]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,k[R]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var E=this.next();return E||this.lex()},"lex"),begin:S(function(E){this.conditionStack.push(E)},"begin"),popState:S(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:S(function(E){this.begin(E)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(E,_,R,k){switch(R){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(_.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return _.yytext=_.yytext.slice(2,-2),14;case 17:return _.yytext=_.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return C})();v.lexer=b;function x(){this.yy={}}return S(x,"Parser"),x.prototype=v,v.Parser=x,new x})();uD.parser=uD;var grt=uD,VO=[],GO=[],UO=[],HO=new Set,WO,YO=!1,mrt=S((t,e,r)=>{const n=lE(t).sort(),i=r??10/Math.pow(t.length,2);WO=n,n.length===1&&HO.add(n[0]),VO.push({sets:n,size:i,label:e?Gb(e):void 0})},"addSubsetData"),yrt=S(()=>VO,"getSubsetData"),Gb=S(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),vrt=S(t=>t&&Gb(t),"normalizeStyleValue"),brt=S((t,e,r)=>{const n=Gb(e);GO.push({sets:lE(t).sort(),id:n,label:r?Gb(r):void 0})},"addTextData"),xrt=S((t,e)=>{const r=lE(t).sort(),n={};for(const[i,a]of e)n[i]=vrt(a)??a;UO.push({targets:r,styles:n})},"addStyleData"),Trt=S(()=>UO,"getStyleData"),lE=S(t=>t.map(e=>Gb(e)),"normalizeIdentifierList"),wrt=S(t=>{const r=lE(t).filter(n=>!HO.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),Crt=S(()=>GO,"getTextData"),Srt=S(()=>WO,"getCurrentSets"),Ert=S(()=>YO,"getIndentMode"),krt=S(t=>{YO=t},"setIndentMode"),_rt=Vr.venn;function iue(){return ea(_rt,gr().venn)}S(iue,"getConfig");var Art=S(()=>{Kn(),VO.length=0,GO.length=0,UO.length=0,HO.clear(),WO=void 0,YO=!1},"customClear"),Lrt={getConfig:iue,clear:Art,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui,addSubsetData:mrt,getSubsetData:yrt,addTextData:brt,addStyleData:xrt,validateUnionIdentifiers:wrt,getTextData:Crt,getStyleData:Trt,getCurrentSets:Srt,getIndentMode:Ert,setIndentMode:krt},Rrt=S(t=>` .venn-title { font-size: 32px; fill: ${t.vennTitleTextColor}; @@ -3257,7 +3257,7 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[j]||j)+"'":ne="Parse error font-family: ${t.fontFamily}; color: ${t.vennSetTextColor}; } -`,"getStyles"),Frt=Prt;function sue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(sue,"buildStyleByKey");var $rt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=sue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Vs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const A=kt(document.createElement("div")),k=yrt().width(v).height(b-T);A.datum(f).call(k);const R=u?ar.svg(A.select("svg").node()):void 0,O=Trt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Bh([...D.data.sets].sort());F.set(I,D)}p.length>0&&oue(a,F,A,p,C,m);const $=ys(s.background||"#f4f4f4");A.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Bh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,j=V?.["stroke-width"]||`${5*C}`;if(u&&R){const X=F.get(M);if(X&&X.circles.length>0){const ee=X.circles[0],Q=R.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:$F(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(j))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",j).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&R?A.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Bh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=R.path(P,{roughness:.7,seed:l,fill:$F(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),j=U.node();j?.parentNode?.insertBefore(H,j),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(A.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),A.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Bh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=A.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Ui(_,b,v,a?.useMaxWidth??!0)},"draw");function Bh(t){return t.join("|")}S(Bh,"stableSetsKey");function oue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Bh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),R=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=R+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",R+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),j=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);j&&Z.style("color",j)}}}S(oue,"renderTextNodes");var zrt={draw:$rt},qrt={parser:wrt,db:Brt,renderer:zrt,styles:Frt};const Vrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:qrt},Symbol.toStringTag,{value:"Module"}));var J1,lue=(J1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Xn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return ea({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{nN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Kn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(J1,"TreeMapDB"),J1);function cue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(cue,"buildHierarchy");var Grt=S((t,e)=>{ju(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Urt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=cue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Urt=S(t=>t.name?String(t.name):"","getItemName"),uue={parser:{yy:void 0},parse:S(async t=>{try{const r=await Tc("treemap",t);oe.debug("Treemap AST:",r);const n=uue.parser?.yy;if(!(n instanceof lue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Grt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Hrt=10,Zp=10,jv=25,Wrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Hrt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Vs(e),f=a.nodeWidth?a.nodeWidth*Zp:960,p=a.nodeHeight?a.nodeHeight*Zp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Ui(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Of(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Of(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Of(I||"")(N),"valueFormat")}else b=Of(D)}catch(D){oe.error("Error creating format function:",D),b=Of(",")}const x=Xf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=Xf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=Xf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=DD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=yve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?jv+Zp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Zp:0).paddingRight(D=>D.children&&D.children.length>0?Zp:0).paddingBottom(D=>D.children&&D.children.length>0?Zp:0).round(!0)(_),R=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(R).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",jv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",jv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",jv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let X=N;for(;X.length>0;){if(X=N.substring(0,X.length-1),X.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(X+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",jv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const j=8,Z=28,X=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>j;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*X))),te=H+Q+he;for(;te>P&&H>j&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*X))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,j=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+j;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Hb(),r=gr(),n=ea(e,r.themeVariables),i=ea(Xrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` +`,"getStyles"),Drt=Rrt;function aue(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}S(aue,"buildStyleByKey");var Nrt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig?.(),{themeVariables:s,look:o,handDrawnSeed:l}=gr(),u=o==="handDrawn",h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),f=i.getSubsetData(),p=i.getTextData(),m=aue(i.getStyleData()),v=a?.width??800,b=a?.height??450,C=v/1600,T=d?48*C:0,E=s.primaryTextColor??s.textColor,_=Vs(e);_.attr("viewBox",`0 0 ${v} ${b}`),d&&_.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*C}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*C).style("fill",s.vennTitleTextColor||s.titleColor);const R=kt(document.createElement("div")),k=urt().width(v).height(b-T);R.datum(f).call(k);const L=u?ar.svg(R.select("svg").node()):void 0,O=prt(f,{width:v,height:b-T,padding:a?.padding??15}),F=new Map;for(const D of O){const I=Oh([...D.data.sets].sort());F.set(I,D)}p.length>0&&sue(a,F,R,p,C,m);const $=ys(s.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(D,I){const N=kt(this),M=Oh([...D.sets].sort()),V=m.get(M),U=V?.fill||h[I%h.length]||s.primaryColor;N.classed(`venn-set-${I%8}`,!0);const P=V?.["fill-opacity"]??.1,H=V?.stroke||U,X=V?.["stroke-width"]||`${5*C}`;if(u&&L){const j=F.get(M);if(j&&j.circles.length>0){const ee=j.circles[0],Q=L.circle(ee.x,ee.y,ee.radius*2,{roughness:.7,seed:l,fill:FF(U,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+I*60,stroke:H,strokeWidth:parseFloat(String(X))});N.select("path").remove(),N.node()?.insertBefore(Q,N.select("text").node())}}else N.select("path").style("fill",U).style("fill-opacity",P).style("stroke",H).style("stroke-width",X).style("stroke-opacity",.95);const Z=V?.color||($?mt(U,30):pt(U,30));N.select("text").style("font-size",`${48*C}px`).style("fill",Z)}),u&&L?R.selectAll(".venn-intersection").each(function(D){const I=kt(this),B=Oh([...D.sets].sort()),M=m.get(B),V=M?.fill;if(V){const U=I.select("path"),P=U.attr("d");if(P){const H=L.path(P,{roughness:.7,seed:l,fill:FF(V,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=U.node();X?.parentNode?.insertBefore(H,X),U.remove()}}else I.select("path").style("fill-opacity",0);I.select("text").style("font-size",`${48*C}px`).style("fill",M?.color??s.vennSetTextColor??E)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*C}px`).style("fill",D=>{const N=Oh([...D.sets].sort());return m.get(N)?.color??s.vennSetTextColor??E}),R.selectAll(".venn-intersection path").style("fill-opacity",D=>{const N=Oh([...D.sets].sort());return m.get(N)?.fill?1:0}).style("fill",D=>{const N=Oh([...D.sets].sort());return m.get(N)?.fill??"transparent"}));const q=_.append("g").attr("transform",`translate(0, ${T})`),z=R.select("svg").node();if(z&&"childNodes"in z)for(const D of[...z.childNodes])q.node()?.appendChild(D);Ui(_,b,v,a?.useMaxWidth??!0)},"draw");function Oh(t){return t.join("|")}S(Oh,"stableSetsKey");function sue(t,e,r,n,i,a){const s=t?.useDebugLayout??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const d=Oh(h.sets),f=u.get(d);f?f.push(h):u.set(d,[h])}for(const[h,d]of u.entries()){const f=e.get(h);if(!f?.text)continue;const p=f.text.x,m=f.text.y,v=Math.min(...f.circles.map(D=>D.radius)),b=Math.min(...f.circles.map(D=>D.radius-Math.hypot(p-D.x,m-D.y)));let x=Number.isFinite(b)?Math.max(0,b):0;x===0&&Number.isFinite(v)&&(x=v*.6);const C=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&C.append("circle").attr("class","venn-text-debug-circle").attr("cx",p).attr("cy",m).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),k=(f.data.label&&f.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),L=p-T/2,O=m-E/2+k,F=Math.max(1,Math.ceil(Math.sqrt(d.length))),$=Math.max(1,Math.ceil(d.length/F)),q=T/F,z=E/$;for(const[D,I]of d.entries()){const N=D%F,B=Math.floor(D/F),M=L+q*(N+.5),V=O+z*(B+.5);s&&C.append("rect").attr("class","venn-text-debug-cell").attr("x",L+q*N).attr("y",O+z*B).attr("width",q).attr("height",z).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const U=q*.9,P=z*.9,H=C.append("foreignObject").attr("class","venn-text-node-fo").attr("width",U).attr("height",P).attr("x",M-U/2).attr("y",V-P/2).attr("overflow","visible"),X=a.get(I.id)?.color,Z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);X&&Z.style("color",X)}}}S(sue,"renderTextNodes");var Mrt={draw:Nrt},Ort={parser:grt,db:Lrt,renderer:Mrt,styles:Drt};const Irt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Ort},Symbol.toStringTag,{value:"Module"}));var Q1,oue=(Q1=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=jn,this.getAccTitle=ci,this.setDiagramTitle=li,this.getDiagramTitle=Zn,this.getAccDescription=hi,this.setAccDescription=ui}getNodes(){return this.nodes}getConfig(){const e=Vr,r=gr();return ea({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{rN(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Kn(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},S(Q1,"TreeMapDB"),Q1);function lue(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}S(lue,"buildHierarchy");var Brt=S((t,e)=>{Yu(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=Prt(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],h=u.length>0?u:void 0,d={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:h};r.push(d)}const n=lue(r),i=S((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Prt=S(t=>t.name?String(t.name):"","getItemName"),cue={parser:{yy:void 0},parse:S(async t=>{try{const r=await xc("treemap",t);oe.debug("Treemap AST:",r);const n=cue.parser?.yy;if(!(n instanceof oue))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Brt(r,n)}catch(e){throw oe.error("Error parsing treemap:",e),e}},"parse")},Frt=10,Kp=10,Yv=25,$rt=S((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Frt,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=gr();if(!l)return;const h=o?30:0,d=Vs(e),f=a.nodeWidth?a.nodeWidth*Kp:960,p=a.nodeHeight?a.nodeHeight*Kp:500,m=f,v=p+h;d.attr("viewBox",`0 0 ${m} ${v}`),Ui(d,v,m,a.useMaxWidth);let b;try{const D=a.valueFormat||",";if(D==="$0,0")b=S(I=>"$"+Mf(",")(I),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){const I=/\.\d+/.exec(D),N=I?I[0]:"";b=S(B=>"$"+Mf(","+N)(B),"valueFormat")}else if(D.startsWith("$")){const I=D.substring(1);b=S(N=>"$"+Mf(I||"")(N),"valueFormat")}else b=Mf(D)}catch(D){oe.error("Error creating format function:",D),b=Mf(",")}const x=Xf().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=Xf().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),T=Xf().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&d.append("text").attr("x",m/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const E=d.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),_=RD(l).sum(D=>D.value??0).sort((D,I)=>(I.value??0)-(D.value??0)),k=uve().size([f,p]).paddingTop(D=>D.children&&D.children.length>0?Yv+Kp:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?Kp:0).paddingRight(D=>D.children&&D.children.length>0?Kp:0).paddingBottom(D=>D.children&&D.children.length>0?Kp:0).round(!0)(_),L=k.descendants().filter(D=>D.children&&D.children.length>0),O=E.selectAll(".treemapSection").data(L).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",Yv).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),O.append("clipPath").attr("id",(D,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",Yv),O.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,I)=>`treemapSection section${I}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>C(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";const I=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),O.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",Yv/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";const I="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;const I=kt(this),N=D.data.name;I.text(N);const B=D.x1-D.x0,M=6;let V;a.showValues!==!1&&D.value?V=B-10-30-10-M:V=B-M-6;const P=Math.max(15,V),H=I.node();if(H.getComputedTextLength()>P){let j=N;for(;j.length>0;){if(j=N.substring(0,j.length-1),j.length===0){I.text("..."),H.getComputedTextLength()>P&&I.text("");break}if(I.text(j+"..."),H.getComputedTextLength()<=P)break}}}),a.showValues!==!1&&O.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",Yv/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?b(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";const I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")});const F=k.leaves(),$=E.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(D,I)=>`treemapNode treemapLeafGroup leaf${I}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);$.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tr({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(D,I)=>`clip-${e}-${I}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),$.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{const I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=tr({cssCompiledStyles:D.data.cssCompiledStyles});return I+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,I)=>`url(#clip-${e}-${I})`).text(D=>D.data.name).each(function(D){const I=kt(this),N=D.x1-D.x0,B=D.y1-D.y0,M=I.node(),V=4,U=N-2*V,P=B-2*V;if(U<10||P<10){I.style("display","none");return}let H=parseInt(I.style("font-size"),10);const X=8,Z=28,j=.6,ee=6,Q=2;for(;M.getComputedTextLength()>U&&H>X;)H--,I.style("font-size",`${H}px`);let he=Math.max(ee,Math.min(Z,Math.round(H*j))),te=H+Q+he;for(;te>P&&H>X&&(H--,he=Math.max(ee,Math.min(Z,Math.round(H*j))),!(heU||H(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{const N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",B=tr({cssCompiledStyles:I.data.cssCompiledStyles});return N+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,N)=>`url(#clip-${e}-${N})`).text(I=>I.value?b(I.value):"").each(function(I){const N=kt(this),B=this.parentNode;if(!B){N.style("display","none");return}const M=kt(B).select(".treemapLabel");if(M.empty()||M.style("display")==="none"){N.style("display","none");return}const V=parseFloat(M.style("font-size")),U=28,P=.6,H=6,X=2,Z=Math.max(H,Math.min(U,Math.round(V*P)));N.style("font-size",`${Z}px`);const ee=(I.y1-I.y0)/2+V/2+X;N.attr("y",ee);const Q=I.x1-I.x0,ae=I.y1-I.y0-4,ie=Q-8;N.node().getComputedTextLength()>ie||ee+Z>ae||Z{const e=Ub(),r=gr(),n=ea(e,r.themeVariables),i=ea(Vrt,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return` .treemapNode.section { stroke: ${i.sectionStrokeColor}; stroke-width: ${i.sectionStrokeWidth}; @@ -3280,23 +3280,23 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[j]||j)+"'":ne="Parse error fill: ${a}; font-size: ${i.titleFontSize}; } - `},"getStyles"),Zrt=Krt,Qrt={parser:uue,get db(){return new lue},renderer:jrt,styles:Zrt};const Jrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qrt},Symbol.toStringTag,{value:"Module"}));var dC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),wf=S((t,e,r)=>({x:dC(e,`${r} evolution`),y:dC(t,`${r} visibility`)}),"toCoordinates"),jY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),ent=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),tnt=S((t,e)=>{if(ju(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=wf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=wf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=wf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=dC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=jY(r.fromPort)??jY(r.toPort);const{flow:a,label:s}=ent(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=dC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=wf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=wf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=wf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=wf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),hue={parser:{yy:void 0},parse:S(async t=>{const e=await Tc("wardley",t);oe.debug(e);const r=hue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");tnt(e,r)},"parse")},em,rnt=(em=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(em,"WardleyBuilder"),em),Ts=new rnt;function _u(t){const e=Pe();return Jr(t.trim(),e)}S(_u,"textSanitizer");function due(){return Pe()["wardley-beta"]}S(due,"getConfig");function fue(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:_u(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(fue,"addNode");function pue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(pue,"addLink");function gue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(gue,"addTrend");function mue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?_u(r):void 0})}S(mue,"addAnnotation");function yue(t,e,r){Ts.addNote({text:_u(t),x:e,y:r})}S(yue,"addNote");function vue(t,e,r){Ts.addAccelerator({name:_u(t),x:e,y:r})}S(vue,"addAccelerator");function bue(t,e,r){Ts.addDeaccelerator({name:_u(t),x:e,y:r})}S(bue,"addDeaccelerator");function xue(t,e){Ts.setAnnotationsBox(t,e)}S(xue,"setAnnotationsBox");function Tue(t,e){Ts.setSize(t,e)}S(Tue,"setSize");function wue(t){Ts.startPipeline(t)}S(wue,"startPipeline");function Cue(t,e){Ts.addPipelineComponent(t,e)}S(Cue,"addPipelineComponent");function Sue(t){const e={};t.xLabel&&(e.xLabel=_u(t.xLabel)),t.yLabel&&(e.yLabel=_u(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>_u(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Sue,"updateAxes");function Eue(t){return Ts.getNode(t)}S(Eue,"getNode");function kue(){return Ts.build()}S(kue,"getWardleyData");function _ue(){Ts.clear(),Kn()}S(_ue,"clear");var nnt={getConfig:due,addNode:fue,addLink:pue,addTrend:gue,addAnnotation:mue,addNote:yue,addAccelerator:vue,addDeaccelerator:bue,setAnnotationsBox:xue,setSize:Tue,startPipeline:wue,addPipelineComponent:Cue,updateAxes:Sue,getNode:Eue,getWardleyData:kue,clear:_ue,setAccTitle:Xn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},int=["Genesis","Custom Built","Product","Commodity"],ant=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),snt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),ont=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map -`+t);const i=snt(),a=ant(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Vs(e);f.selectAll("*").remove(),Ui(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const A=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:int;if(A.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===A.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/A.length;A.forEach((H,j)=>{U.push({start:j*P,end:(j+1)*P})})}A.forEach((P,H)=>{const j=U[H],Z=i.padding+j.start*v,X=i.padding+j.end*v,ee=(Z+X)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(X=>({id:X,pos:k.get(X),node:l.nodes.find(ee=>ee.id===X)})).filter(X=>X.pos&&X.node).sort((X,ee)=>X.node.x-ee.node.x);for(let X=0;X{const ee=k.get(X);ee&&(H=Math.min(H,ee.x),j=Math.max(j,ee.x),Z=ee.y)}),H!==1/0&&j!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+j)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",j-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const R=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));R.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.x+j/X*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z);return V.y+Z/X*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.x+j/X*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,j=V.x-U.x,Z=V.y-U.y,X=Math.sqrt(j*j+Z*Z);return U.y+Z/X*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),R.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,j=U.x-V.x,Z=Math.sqrt(j*j+H*H),X=8,ee=H/Z;return P+ee*X}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,j=U.y-V.y,Z=Math.sqrt(H*H+j*j),X=8,ee=-H/Z;return P+ee*X}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,j=U.x-V.x,Z=U.y-V.y,X=Math.sqrt(j*j+Z*Z),ee=8,Q=Z/X,he=-j/X,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,j)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,j=P-V.y,Z=Math.sqrt(H*H+j*j),X=i.nodeRadius+2,ee=Z>X?U-H/Z*X:U,Q=Z>X?P-j/Z*X:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,j=11,Z=M.append("g").attr("class","wardley-annotations-box"),X=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(X.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",j).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Le=$e.getBBox();he=Math.max(he,Le.height)});const te=Q+P*2+105,ae=X.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,j=30,Z=20,X=` - M ${U} ${P-j/2} - L ${U+H-Z} ${P-j/2} - L ${U+H-Z} ${P-j/2-8} + `},"getStyles"),Urt=Grt,Hrt={parser:cue,get db(){return new oue},renderer:qrt,styles:Urt};const Wrt=Object.freeze(Object.defineProperty({__proto__:null,diagram:Hrt},Symbol.toStringTag,{value:"Module"}));var hC=S((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),Tf=S((t,e,r)=>({x:hC(e,`${r} evolution`),y:hC(t,`${r} visibility`)}),"toCoordinates"),YY=S(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),Yrt=S(t=>{if(!t?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Xrt=S((t,e)=>{if(Yu(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=Tf(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{const n=Tf(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=Tf(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=hC(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=YY(r.fromPort)??YY(r.toPort);const{flow:a,label:s}=Yrt(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(r.from,r.to,n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if(n?.y!==void 0){const i=hC(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=Tf(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=Tf(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=Tf(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=Tf(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),uue={parser:{yy:void 0},parse:S(async t=>{const e=await xc("wardley",t);oe.debug(e);const r=uue.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Xrt(e,r)},"parse")},J1,jrt=(J1=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},S(J1,"WardleyBuilder"),J1),Ts=new jrt;function ku(t){const e=Pe();return Jr(t.trim(),e)}S(ku,"textSanitizer");function hue(){return Pe()["wardley-beta"]}S(hue,"getConfig");function due(t,e,r,n,i,a,s,o,l){Ts.addNode({id:t,label:ku(e),x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}S(due,"addNode");function fue(t,e,r=!1,n,i){Ts.addLink({source:t,target:e,dashed:r,label:n,flow:i})}S(fue,"addLink");function pue(t,e,r){Ts.addTrend({nodeId:t,targetX:e,targetY:r})}S(pue,"addTrend");function gue(t,e,r){Ts.addAnnotation({number:t,coordinates:e,text:r?ku(r):void 0})}S(gue,"addAnnotation");function mue(t,e,r){Ts.addNote({text:ku(t),x:e,y:r})}S(mue,"addNote");function yue(t,e,r){Ts.addAccelerator({name:ku(t),x:e,y:r})}S(yue,"addAccelerator");function vue(t,e,r){Ts.addDeaccelerator({name:ku(t),x:e,y:r})}S(vue,"addDeaccelerator");function bue(t,e){Ts.setAnnotationsBox(t,e)}S(bue,"setAnnotationsBox");function xue(t,e){Ts.setSize(t,e)}S(xue,"setSize");function Tue(t){Ts.startPipeline(t)}S(Tue,"startPipeline");function wue(t,e){Ts.addPipelineComponent(t,e)}S(wue,"addPipelineComponent");function Cue(t){const e={};t.xLabel&&(e.xLabel=ku(t.xLabel)),t.yLabel&&(e.yLabel=ku(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>ku(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),Ts.setAxes(e)}S(Cue,"updateAxes");function Sue(t){return Ts.getNode(t)}S(Sue,"getNode");function Eue(){return Ts.build()}S(Eue,"getWardleyData");function kue(){Ts.clear(),Kn()}S(kue,"clear");var Krt={getConfig:hue,addNode:due,addLink:fue,addTrend:pue,addAnnotation:gue,addNote:mue,addAccelerator:yue,addDeaccelerator:vue,setAnnotationsBox:bue,setSize:xue,startPipeline:Tue,addPipelineComponent:wue,updateAxes:Cue,getNode:Sue,getWardleyData:Eue,clear:kue,setAccTitle:jn,getAccTitle:ci,setDiagramTitle:li,getDiagramTitle:Zn,getAccDescription:hi,setAccDescription:ui},Zrt=["Genesis","Custom Built","Product","Commodity"],Qrt=S(()=>{const{themeVariables:t}=Pe();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),Jrt=S(()=>{const t=Pe()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),ent=S((t,e,r,n)=>{oe.debug(`Rendering Wardley map +`+t);const i=Jrt(),a=Qrt(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),h=l.size?.width??i.width,d=l.size?.height??i.height,f=Vs(e);f.selectAll("*").remove(),Ui(f,d,h,i.useMaxWidth),f.attr("viewBox",`0 0 ${h} ${d}`);const p=f.append("g").attr("class","wardley-map"),m=f.append("defs");m.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",h).attr("height",d).attr("fill",a.backgroundColor);const v=h-i.padding*2,b=d-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",h/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const x=S(M=>i.padding+M/100*v,"projectX"),C=S(M=>d-i.padding-M/100*b,"projectY"),T=p.append("g").attr("class","wardley-axes");T.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const E=l.axes.xLabel??"Evolution",_=l.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+v/2).attr("y",d-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(E),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+b/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+b/2})`).text(_);const R=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:Zrt;if(R.length>0){const M=p.append("g").attr("class","wardley-stages"),V=l.axes.stageBoundaries,U=[];if(V&&V.length===R.length){let P=0;V.forEach(H=>{U.push({start:P,end:H}),P=H})}else{const P=1/R.length;R.forEach((H,X)=>{U.push({start:X*P,end:(X+1)*P})})}R.forEach((P,H)=>{const X=U[H],Z=i.padding+X.start*v,j=i.padding+X.end*v,ee=(Z+j)/2;H>0&&M.append("line").attr("x1",Z).attr("x2",Z).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),M.append("text").attr("class","wardley-stage-label").attr("x",ee).attr("y",d-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(P)})}if(i.showGrid){const M=p.append("g").attr("class","wardley-grid");for(let V=1;V<4;V++){const U=V/4,P=i.padding+v*U;M.append("line").attr("x1",P).attr("x2",P).attr("y1",i.padding).attr("y2",d-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),M.append("line").attr("x1",i.padding).attr("x2",h-i.padding).attr("y1",d-i.padding-b*U).attr("y2",d-i.padding-b*U).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const k=new Map;if(l.nodes.forEach(M=>{k.set(M.id,{x:x(M.x),y:C(M.y),node:M})}),l.pipelines.length>0){const M=p.append("g").attr("class","wardley-pipelines"),V=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach(U=>{if(U.componentIds.length===0)return;const P=U.componentIds.map(j=>({id:j,pos:k.get(j),node:l.nodes.find(ee=>ee.id===j)})).filter(j=>j.pos&&j.node).sort((j,ee)=>j.node.x-ee.node.x);for(let j=0;j{const ee=k.get(j);ee&&(H=Math.min(H,ee.x),X=Math.max(X,ee.x),Z=ee.y)}),H!==1/0&&X!==-1/0){const ee=i.nodeRadius*4,Q=Z-ee/2,he=k.get(U.nodeId);if(he){const te=(H+X)/2;he.x=te,he.y=Q-s/6}M.append("rect").attr("class","wardley-pipeline-box").attr("x",H-15).attr("y",Q).attr("width",X-H+30).attr("height",ee).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const L=p.append("g").attr("class","wardley-links"),O=new Map;l.pipelines.forEach(M=>{O.set(M.nodeId,new Set(M.componentIds))});const F=l.links.filter(M=>!(!k.has(M.source)||!k.has(M.target)||O.get(M.target)?.has(M.source)));L.selectAll("line").data(F).enter().append("line").attr("class",M=>`wardley-link${M.dashed?" wardley-link--dashed":""}`).attr("x1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.x+X/j*H}).attr("y1",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z);return V.y+Z/j*H}).attr("x2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.x+X/j*H}).attr("y2",M=>{const V=k.get(M.source),U=k.get(M.target),H=l.nodes.find(ee=>ee.id===M.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,X=V.x-U.x,Z=V.y-U.y,j=Math.sqrt(X*X+Z*Z);return U.y+Z/j*H}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",M=>M.dashed?"6 6":null).attr("marker-end",M=>M.flow==="forward"||M.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",M=>M.flow==="backward"||M.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),L.selectAll("text").data(F.filter(M=>M.label)).enter().append("text").attr("class","wardley-link-label").attr("x",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=U.y-V.y,X=U.x-V.x,Z=Math.sqrt(X*X+H*H),j=8,ee=H/Z;return P+ee*j}).attr("y",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.y+U.y)/2,H=U.x-V.x,X=U.y-V.y,Z=Math.sqrt(H*H+X*X),j=8,ee=-H/Z;return P+ee*j}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",M=>{const V=k.get(M.source),U=k.get(M.target),P=(V.x+U.x)/2,H=(V.y+U.y)/2,X=U.x-V.x,Z=U.y-V.y,j=Math.sqrt(X*X+Z*Z),ee=8,Q=Z/j,he=-X/j,te=P+Q*ee,ae=H+he*ee;let ie=Math.atan2(Z,X)*180/Math.PI;return(ie>90||ie<-90)&&(ie+=180),`rotate(${ie} ${te} ${ae})`}).text(M=>M.label);const $=p.append("g").attr("class","wardley-trends"),q=l.trends.map(M=>{const V=k.get(M.nodeId);if(!V)return null;const U=x(M.targetX),P=C(M.targetY),H=U-V.x,X=P-V.y,Z=Math.sqrt(H*H+X*X),j=i.nodeRadius+2,ee=Z>j?U-H/Z*j:U,Q=Z>j?P-X/Z*j:P;return{origin:V,targetX:U,targetY:P,adjustedX2:ee,adjustedY2:Q}}).filter(M=>M!==null);$.selectAll("line").data(q).enter().append("line").attr("class","wardley-trend").attr("x1",M=>M.origin.x).attr("y1",M=>M.origin.y).attr("x2",M=>M.adjustedX2).attr("y2",M=>M.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const D=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",M=>["wardley-node",M.className?`wardley-node--${M.className}`:""].filter(Boolean).join(" "));D.filter(M=>M.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const I=D.filter(M=>M.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>!M.isPipelineParent&&M.sourceStrategy!=="market"&&M.className!=="anchor").append("circle").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const N=i.nodeRadius*.7,B=i.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x).attr("y1",M=>k.get(M.id).y-B).attr("x2",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y2",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("y1",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("x2",M=>k.get(M.id).x).attr("y2",M=>k.get(M.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x).attr("cy",M=>k.get(M.id).y-B).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x-B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",M=>k.get(M.id).x+B*Math.cos(Math.PI/6)).attr("cy",M=>k.get(M.id).y+B*Math.sin(Math.PI/6)).attr("r",N).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(M=>M.isPipelineParent===!0).append("rect").attr("x",M=>k.get(M.id).x-s/2).attr("y",M=>k.get(M.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(M=>M.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y1",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y-U/2}).attr("x2",M=>{const V=k.get(M.id);let U=M.isPipelineParent?s/2+15:i.nodeRadius+15;return M.sourceStrategy&&(U+=i.nodeRadius+10),V.x+U}).attr("y2",M=>{const V=k.get(M.id),U=M.isPipelineParent?s:i.nodeRadius*2;return V.y+U/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetX!==void 0?V.x+M.labelOffsetX:V.x;let U=i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetX===void 0&&(U+=10);const P=M.labelOffsetX??U;return V.x+P}).attr("y",M=>{const V=k.get(M.id);if(M.className==="anchor")return M.labelOffsetY!==void 0?V.y+M.labelOffsetY:V.y-3;let U=-i.nodeLabelOffset;M.sourceStrategy&&M.labelOffsetY===void 0&&(U-=10);const P=M.labelOffsetY??U;return V.y+P}).attr("class","wardley-node-label").attr("fill",M=>M.className==="evolved"?a.evolutionStroke:M.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",M=>M.className==="anchor"?"bold":"normal").attr("text-anchor",M=>M.className==="anchor"?"middle":"start").attr("dominant-baseline",M=>M.className==="anchor"?"middle":"auto").text(M=>M.label),l.annotations.length>0){const M=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(V=>{const U=V.coordinates.map(P=>({x:x(P.x),y:C(P.y)}));if(U.length>1)for(let P=0;P{const H=M.append("g").attr("class","wardley-annotation");H.append("circle").attr("cx",P.x).attr("cy",P.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),H.append("text").attr("x",P.x).attr("y",P.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.number)})}),l.annotationsBox){let V=x(l.annotationsBox.x),U=C(l.annotationsBox.y);const P=10,H=16,X=11,Z=M.append("g").attr("class","wardley-annotations-box"),j=[...l.annotations].filter(Q=>Q.text).sort((Q,he)=>Q.number-he.number),ee=[];if(j.forEach((Q,he)=>{const te=Z.append("text").attr("x",V+P).attr("y",U+P+(he+1)*H).attr("font-size",X).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Q.number}. ${Q.text}`);ee.push(te)}),ee.length>0){let Q=0,he=0;ee.forEach(Me=>{const $e=Me.node(),He=$e.getComputedTextLength();Q=Math.max(Q,He);const Ae=$e.getBBox();he=Math.max(he,Ae.height)});const te=Q+P*2+105,ae=j.length*H+P*2+he/2,ie=i.padding,ne=h-i.padding-te,me=i.padding,pe=d-i.padding-ae;V=Math.max(ie,Math.min(V,ne)),U=Math.max(me,Math.min(U,pe)),ee.forEach((Me,$e)=>{Me.attr("x",V+P).attr("y",U+P+($e+1)*H)}),Z.insert("rect","text").attr("x",V).attr("y",U).attr("width",te).attr("height",ae).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const M=p.append("g").attr("class","wardley-notes");l.notes.forEach(V=>{const U=x(V.x),P=C(V.y);M.append("text").attr("x",U).attr("y",P).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.text)})}if(l.accelerators.length>0){const M=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` + M ${U} ${P-X/2} + L ${U+H-Z} ${P-X/2} + L ${U+H-Z} ${P-X/2-8} L ${U+H} ${P} - L ${U+H-Z} ${P+j/2+8} - L ${U+H-Z} ${P+j/2} - L ${U} ${P+j/2} + L ${U+H-Z} ${P+X/2+8} + L ${U+H-Z} ${P+X/2} + L ${U} ${P+X/2} Z - `;M.append("path").attr("d",X).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+j/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}if(l.deaccelerators.length>0){const M=p.append("g").attr("class","wardley-deaccelerators");l.deaccelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,j=30,Z=20,X=` - M ${U+H} ${P-j/2} - L ${U+Z} ${P-j/2} - L ${U+Z} ${P-j/2-8} + `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}if(l.deaccelerators.length>0){const M=p.append("g").attr("class","wardley-deaccelerators");l.deaccelerators.forEach(V=>{const U=x(V.x),P=C(V.y),H=60,X=30,Z=20,j=` + M ${U+H} ${P-X/2} + L ${U+Z} ${P-X/2} + L ${U+Z} ${P-X/2-8} L ${U} ${P} - L ${U+Z} ${P+j/2+8} - L ${U+Z} ${P+j/2} - L ${U+H} ${P+j/2} + L ${U+Z} ${P+X/2+8} + L ${U+Z} ${P+X/2} + L ${U+H} ${P+X/2} Z - `;M.append("path").attr("d",X).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+j/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),lnt={draw:ont},cnt={parser:hue,db:nnt,renderer:lnt,styles:S(()=>"","styles")};const unt=Object.freeze(Object.defineProperty({__proto__:null,diagram:cnt},Symbol.toStringTag,{value:"Module"})),hnt=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Yse,createInfoServices:jse},Symbol.toStringTag,{value:"Module"})),dnt=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Xse,createPacketServices:Kse},Symbol.toStringTag,{value:"Module"})),fnt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Zse,createPieServices:Qse},Symbol.toStringTag,{value:"Module"})),pnt=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Jse,createTreeViewServices:eoe},Symbol.toStringTag,{value:"Module"})),gnt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:toe,createArchitectureServices:roe},Symbol.toStringTag,{value:"Module"})),mnt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hse,createGitGraphServices:Wse},Symbol.toStringTag,{value:"Module"})),ynt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:noe,createRadarServices:ioe},Symbol.toStringTag,{value:"Module"})),vnt=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qse,createTreemapServices:Vse},Symbol.toStringTag,{value:"Module"})),bnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Gse,createWardleyServices:Use},Symbol.toStringTag,{value:"Module"}))});export default xnt(); + `;M.append("path").attr("d",j).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),M.append("text").attr("x",U+H/2).attr("y",P+X/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(V.name)})}},"draw"),tnt={draw:ent},rnt={parser:uue,db:Krt,renderer:tnt,styles:S(()=>"","styles")};const nnt=Object.freeze(Object.defineProperty({__proto__:null,diagram:rnt},Symbol.toStringTag,{value:"Module"})),int=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Wse,createInfoServices:Yse},Symbol.toStringTag,{value:"Module"})),ant=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Xse,createPacketServices:jse},Symbol.toStringTag,{value:"Module"})),snt=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Kse,createPieServices:Zse},Symbol.toStringTag,{value:"Module"})),ont=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:Qse,createTreeViewServices:Jse},Symbol.toStringTag,{value:"Module"})),lnt=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:eoe,createArchitectureServices:toe},Symbol.toStringTag,{value:"Module"})),cnt=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Use,createGitGraphServices:Hse},Symbol.toStringTag,{value:"Module"})),unt=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:roe,createRadarServices:noe},Symbol.toStringTag,{value:"Module"})),hnt=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:zse,createTreemapServices:qse},Symbol.toStringTag,{value:"Module"})),dnt=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Vse,createWardleyServices:Gse},Symbol.toStringTag,{value:"Module"}))});export default fnt(); diff --git a/extension/src/webview_template/webview_new/assets/index-nKLF7ikl.css b/extension/src/webview_template/webview_new/assets/index-nKLF7ikl.css deleted file mode 100644 index fb80368..0000000 --- a/extension/src/webview_template/webview_new/assets/index-nKLF7ikl.css +++ /dev/null @@ -1 +0,0 @@ -*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--vscode-editor-foreground);background-color:var(--vscode-sideBar-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body{background-color:var(--vscode-sideBar-background);color:var(--vscode-editor-foreground)}.page-title{margin-bottom:30px}._tree_app_container_jdoxw_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._flowsheet_steps_main_container_jdoxw_12,._flowsheet_steps_container_jdoxw_18{display:flex;flex-direction:column;gap:10px}._flowsheet_file_section_jdoxw_24{margin-bottom:20px}._section_label_jdoxw_28{display:block;margin:0 0 10px;font-size:13px;color:var(--vscode-foreground)}._section_hint_jdoxw_35{margin:5px 0 0;font-size:11px;color:var(--vscode-descriptionForeground, #cccccc);font-style:italic}._steps_container_jdoxw_42{display:flex;flex-direction:column;gap:10px}._steps_actions_footer_jdoxw_48{margin-top:15px;display:flex;flex-direction:column;gap:15px}._package_warnings_container_jdoxw_55{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}._package_warning_item_jdoxw_62{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-left:3px solid var(--vscode-editorWarning-foreground, #cca700);background-color:var(--vscode-inputValidation-warningBackground, rgba(204, 167, 0, .08));border-radius:0 3px 3px 0}._package_warning_title_jdoxw_72{font-size:12px;font-weight:600;color:var(--vscode-editorWarning-foreground, #cca700)}._package_warning_cmd_jdoxw_78{font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);word-break:break-all}._init_error_box_jdoxw_85{padding:8px;border:1px solid var(--vscode-errorForeground, #f44747);border-radius:4px}._init_error_text_jdoxw_91{font-size:12px;color:var(--vscode-errorForeground, #f44747);margin:0}._step_selector_container_jdoxw_97{display:flex;flex-direction:row;gap:10px}._python_env_container_jdoxw_103{margin-bottom:20px}._python_env_label_jdoxw_107{display:block;margin:0 0 5px;font-size:13px;color:var(--vscode-foreground)}._python_env_actions_jdoxw_114{display:flex;flex-direction:row;align-items:center;gap:6px;padding:2px 0 6px}._python_env_path_text_jdoxw_122{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-descriptionForeground, #9d9d9d);padding:2px 4px}._python_env_icon_btn_jdoxw_134{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--vscode-foreground);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}._python_env_icon_btn_jdoxw_134:hover:not(:disabled){opacity:1;border-color:var(--vscode-focusBorder, #007fd4)}._python_env_icon_btn_jdoxw_134:disabled{opacity:.3;cursor:not-allowed}._dropdown_select_jdoxw_159{width:100%;padding:6px;background-color:var(--vscode-dropdown-background);color:var(--vscode-dropdown-foreground);border:1px solid var(--vscode-dropdown-border);border-radius:2px;cursor:pointer}._open_results_view_label_jdoxw_169{display:block;font-size:18px;margin-bottom:10px;color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:3px;cursor:pointer;position:relative;background-color:var(--vscode-sideBar-background);border:1px solid var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked{background-color:var(--vscode-editor-foreground)}._step_selector_checkbox_jdoxw_176:checked:after{content:"✔";color:var(--vscode-sideBar-background);font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._open_results_view_container_jdoxw_204{width:100%}._open_results_view_btn_jdoxw_208{width:100%;padding:8px;background-color:transparent;border:1px solid var(--vscode-editor-foreground);color:var(--vscode-editor-foreground);cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-family:var(--vscode-font-family)}._open_results_view_btn_jdoxw_208:hover{background-color:var(--vscode-toolbar-hoverBackground, rgba(255,255,255,.1))}._view_switch_container_jdoxw_228{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;gap:20px;border-bottom:1px solid var(--vscode-editorGroupHeader-tabsBorder, #252526);background-color:var(--vscode-editorGroupHeader-tabsBackground, #1e1e1e)}._view_switch_container_jdoxw_228 li{padding:10px;width:160px;text-align:center;cursor:pointer;font-size:13px;font-family:var(--vscode-font-family);text-transform:uppercase;color:var(--vscode-tab-inactiveForeground, #969696);background-color:transparent;border-top:2px solid transparent}._view_switch_container_jdoxw_228 li:hover{color:var(--vscode-tab-activeForeground, #ffffff)}._view_switch_container_jdoxw_228 li._active_jdoxw_256{color:var(--vscode-tab-activeForeground, #ffffff);border-top:2px solid var(--vscode-tab-activeBorderTop, #1a85ff)}._config_title_8m99f_1{font-size:18px;font-weight:medium;margin-bottom:20px}._config_control_8m99f_7{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}._config_control_8m99f_7>label{font-size:14px;font-weight:medium;text-transform:capitalize}._update_button_8m99f_20{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}._button_group_8m99f_25{display:flex;gap:10px;margin-top:15px}._cancel_button_8m99f_31{background-color:transparent;border:1px solid var(--vscode-button-background);color:var(--vscode-button-background)}._run_flowsheet_section_ajmxp_1{width:100%}._run_flowsheet_button_container_ajmxp_4{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}._run_flowsheet_button_ajmxp_4{width:90%;background-color:var(--vscode-editor-foreground, #fff);color:var(--vscode-editor-background, #000);border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:500}._run_flowsheet_animation_container_ajmxp_28{display:flex;flex-direction:row;margin-top:20px;gap:10px}._running_time_container_ajmxp_35{display:flex;flex-direction:row;align-items:center;gap:10px}._running_timer_container_hidden_ajmxp_42{display:none}._running_time_label_ajmxp_46{font-weight:700}._running_dots_ajmxp_50{display:inline-block;width:15px;text-align:left}._running_time_ajmxp_35{font-weight:700}._cancel_flowsheet_run_btn_ajmxp_60{width:90%;background-color:var(--vscode-editorError-foreground, #f14c4c);color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;font-weight:500}._cancel_flowsheet_run_btn_hidden_ajmxp_71{display:none}._error_banner_ajmxp_75{margin-top:15px;padding:10px;background-color:var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, .1));border:1px solid var(--vscode-inputValidation-errorBorder, red);color:var(--vscode-errorForeground, red);cursor:pointer;border-radius:4px;text-align:center;font-weight:700}._error_banner_ajmxp_75:hover{background-color:var(--vscode-list-errorBackground, rgba(255, 0, 0, .2))}._navContainer_1o0u5_1{display:flex;flex-direction:row;align-items:center;width:100%}._container_1qs3w_1{display:flex;flex-direction:column;gap:20px;padding:10px 0;color:var(--vscode-editor-foreground);font-family:var(--vscode-font-family)}._controlBar_1qs3w_10{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}._searchBox_1qs3w_18{flex:1;width:100%;max-width:100%;padding:8px 12px;background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);border:1px solid var(--vscode-input-border, transparent);border-radius:4px;font-family:inherit;font-size:14px;box-sizing:border-box}._searchBox_1qs3w_18:focus{border-color:var(--vscode-focusBorder);outline:none}._searchBox_1qs3w_18:disabled{opacity:.6;cursor:not-allowed}._actionGroup_1qs3w_42{display:flex;align-items:center;gap:15px;width:100%;padding-top:10px}._runCount_1qs3w_50{font-size:13px;color:var(--vscode-descriptionForeground)}._primaryButton_1qs3w_55{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500}._primaryButton_1qs3w_55:hover{background-color:var(--vscode-button-hoverBackground)}._tableContainer_1qs3w_70{border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background-color:var(--vscode-editor-background)}._headerRow_1qs3w_76{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:10px;background-color:var(--vscode-editorGroupHeader-tabsBackground);border-bottom:1px solid var(--vscode-panel-border, #333);border-top-left-radius:6px;border-top-right-radius:6px;font-size:14px;color:var(--vscode-editor-foreground);gap:10px}._dataRowContainer_1qs3w_89{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding-bottom:60px}._dataRow_1qs3w_89{display:grid;grid-template-columns:50px 70px 1fr 60px;padding:12px 10px;border-bottom:1px solid var(--vscode-panel-border, #333);align-items:center;cursor:pointer;font-size:13px;transition:background-color .1s ease;gap:10px}._dataRow_1qs3w_89:hover{background-color:var(--vscode-list-hoverBackground)}._dataRow_1qs3w_89:last-child{border-bottom:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px}._colStatus_1qs3w_119{text-align:center;font-size:14px}._colTime_1qs3w_124{color:var(--vscode-textPreformat-foreground, #ccc)}._colTags_1qs3w_128{display:flex;flex-wrap:wrap;gap:6px}._tagBadge_1qs3w_134{background-color:var(--vscode-badge-background, #1a4d80);color:var(--vscode-badge-foreground, #fff);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}._emptyMessage_1qs3w_143{padding:20px;text-align:center;color:var(--vscode-descriptionForeground);font-size:13px;font-style:italic}._status-icon_1qs3w_152{width:18px;height:18px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto}._status-icon--success_1qs3w_165{background-color:#3fb950}._status-icon--fail_1qs3w_169{background-color:#f85149;position:relative;cursor:help}._cssTooltip_1qs3w_175{visibility:hidden;width:max-content;max-width:250px;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);text-align:left;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400;font-family:var(--vscode-editor-font-family, monospace);word-wrap:break-word;white-space:pre-wrap;position:absolute;z-index:999;top:0;left:100%;margin-left:15px;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #0006}._status-icon--fail_1qs3w_169:hover ._cssTooltip_1qs3w_175{visibility:visible;opacity:1}._colFlowsheet_1qs3w_211{position:relative;min-width:0}._flowsheetText_1qs3w_216{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;font-family:var(--vscode-editor-font-family);color:var(--vscode-editor-foreground)}._pathTooltip_1qs3w_225{visibility:hidden;position:absolute;top:100%;left:0;margin-top:5px;z-index:999;background-color:var(--vscode-editorHoverWidget-background, #252526);color:var(--vscode-editorHoverWidget-foreground, #ccc);border:1px solid var(--vscode-editorHoverWidget-border, #454545);padding:8px 12px;border-radius:4px;font-size:12px;word-break:break-all;max-width:300px;white-space:normal;box-shadow:0 4px 12px #0006;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none}._colFlowsheet_1qs3w_211:hover ._pathTooltip_1qs3w_225{visibility:visible;opacity:1}._mermaid_container_lewih_1{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px;position:relative;box-sizing:border-box}._mermaid_title_lewih_12{font-size:18px;font-weight:medium}._diagram_container_lewih_17{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:auto}._diagram_lewih_17{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}._ipopt_container_87gan_1{padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._ipopt_container_87gan_1 ._solver_output_title_87gan_11{margin:16px 0 8px;padding-bottom:4px;font-size:20px;color:var(--vscode-editor-foreground)}._solver_output_87gan_11{flex:1;margin:0;padding:12px;white-space:pre-wrap;word-wrap:break-word;color:var(--vscode-editor-foreground);font-size:16px;font-family:var(--vscode-terminal-font-family, var(--vscode-editor-font-family));background-color:var(--vscode-editor-background);border-radius:4px;overflow-x:auto;overflow-y:auto}._tabs_87gan_35{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px;margin-top:10px}._tab_87gan_35{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_87gan_35:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_87gan_58{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_87gan_64{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._run_error_87gan_73{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_87gan_82{margin:0 0 10px;font-weight:700}._run_error_body_87gan_87{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_87gan_92{margin:0;color:var(--vscode-editor-foreground, #ccc)}._container_kuhn9_2{padding:16px 24px;font-family:var(--vscode-font-family, sans-serif);color:var(--vscode-foreground);max-width:900px}._page_title_kuhn9_9{font-size:1.4rem;font-weight:600;margin:0 0 16px}._empty_msg_kuhn9_15{color:var(--vscode-descriptionForeground, #888);font-style:italic}._tabs_kuhn9_21{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_kuhn9_21{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_kuhn9_21:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_kuhn9_43{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._tab_content_kuhn9_49{padding-top:4px}._group_kuhn9_54{margin-bottom:20px}._group_header_kuhn9_58{display:flex;align-items:center;gap:8px;margin-bottom:8px}._group_title_kuhn9_65{font-size:1.05rem;font-weight:700}._badge_warning_kuhn9_70{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._badge_caution_kuhn9_84{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:#e6a817;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}._toggle_btns_kuhn9_99{margin-left:12px;font-size:.8rem;color:var(--vscode-descriptionForeground, #888)}._toggle_btn_kuhn9_99{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vscode-textLink-foreground, #3794ff)}._toggle_btn_kuhn9_99:hover{text-decoration:underline}._toggle_sep_kuhn9_115{margin:0 6px;color:var(--vscode-descriptionForeground, #666)}._group_body_kuhn9_121{padding-left:28px;border-left:2px solid var(--vscode-panel-border, #444);margin-left:10px}._summary_item_kuhn9_127{margin-bottom:2px}._summary_line_kuhn9_131{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.88rem;line-height:1.4}._summary_line_kuhn9_131._clickable_kuhn9_140{cursor:pointer;-webkit-user-select:none;user-select:none}._summary_line_kuhn9_131._clickable_kuhn9_140:hover{color:var(--vscode-textLink-foreground, #3794ff)}._arrow_kuhn9_149{font-size:.7rem;width:14px;flex-shrink:0;color:var(--vscode-descriptionForeground, #888)}._summary_count_kuhn9_156{font-weight:700;min-width:28px;text-align:right;flex-shrink:0}._summary_text_kuhn9_163{color:var(--vscode-foreground)}._detail_list_kuhn9_168{list-style:none;margin:2px 0 8px 42px;border-left:1px solid var(--vscode-panel-border, #555);padding:0 0 0 12px}._detail_list_kuhn9_168 li{font-family:var(--vscode-editor-font-family, monospace);font-size:.78rem;padding:1px 0;color:var(--vscode-descriptionForeground, #aaa);word-break:break-all}._detail_list_kuhn9_168 li:hover{color:var(--vscode-foreground)}._run_error_kuhn9_189{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_kuhn9_198{margin:0 0 10px;font-weight:700}._run_error_body_kuhn9_203{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_kuhn9_208{margin:0;color:var(--vscode-editor-foreground, #ccc)}._webview_page_container_nknwf_1{width:100vw;min-height:100vh;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:10px;padding:10px}._variable_container_nknwf_12{width:100%;padding:20px}._run_error_nknwf_18{color:var(--vscode-editorError-foreground, #f88);padding:10px;border:1px solid var(--vscode-editorError-foreground, #f88);border-radius:4px;margin-top:10px;background-color:var(--vscode-editorError-background, transparent)}._run_error_title_nknwf_27{margin:0 0 10px;font-weight:700}._run_error_body_nknwf_32{margin:0 0 10px;color:var(--vscode-editor-foreground, #ccc)}._run_error_hint_nknwf_37{margin:0;color:var(--vscode-editor-foreground, #ccc)}._tabs_1froz_2{display:flex;gap:0;border-bottom:2px solid var(--vscode-panel-border, #444);margin-bottom:16px}._tab_1froz_2{padding:8px 20px;background:transparent;color:var(--vscode-foreground);font-size:.9rem;cursor:pointer;border-top:2px solid transparent;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}._tab_1froz_2:hover{color:var(--vscode-textLink-foreground, #3794ff)}._tab_active_1froz_24{border-top-color:var(--vscode-textLink-foreground, #3794ff);color:var(--vscode-textLink-foreground, #3794ff);font-weight:600}._logs_main_container_1froz_30{height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}._tab_content_1froz_39{padding-top:4px;display:flex;flex-direction:column;flex:1;overflow:hidden}._content_section_1froz_47{display:flex;flex-direction:column;flex:1;min-height:0}._logs_container_1froz_54{background-color:var(--vscode-editorWidget-background, #1e1e1e);border:1px solid var(--vscode-widget-border, transparent);padding:15px;border-radius:5px;overflow-y:auto;flex:1;font-family:var(--vscode-editor-font-family, monospace);color:var(--vscode-editor-foreground);margin-top:10px;margin-bottom:10px}._logs_header_1froz_67{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vscode-panel-border, #444);padding-bottom:10px;margin-bottom:15px}._logs_title_1froz_76{margin:0;color:var(--vscode-foreground);font-size:1.2em}._clear_logs_button_1froz_82{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground);border:none;padding:6px 12px;border-radius:2px;cursor:pointer;font-size:13px}._clear_logs_button_1froz_82:hover{background-color:var(--vscode-button-hoverBackground)}._log_item_1froz_96{color:var(--vscode-editorError-foreground, #f14c4c);margin-bottom:8px;word-break:break-all;font-family:var(--vscode-editor-font-family, monospace);white-space:pre-wrap}._no_logs_1froz_104{color:var(--vscode-descriptionForeground, #888);font-style:italic}._main_display_container_xlfzb_1{width:100vw;height:100vh;overflow:hidden;padding:0 20px;box-sizing:border-box;display:flex;flex-direction:column}._nav_xlfzb_11{display:flex;justify-content:flex-start;align-items:center;background-color:var(--vscode-sideBar-background);position:sticky;top:0;z-index:100;margin:0 0 20px;padding:0;border-bottom:1px solid var(--vscode-panel-border, #444)}._nav_item_xlfzb_25{list-style:none;color:var(--vscode-panelTitle-inactiveForeground, #888);cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:400;padding:10px;margin-right:15px;border-top:1px solid transparent;display:flex;align-items:center;gap:4px}._nav_item_xlfzb_25:hover{color:var(--vscode-panelTitle-activeForeground, #e7e7e7)}._nav_item_active_xlfzb_44{color:var(--vscode-panelTitle-activeForeground, #e7e7e7);border-top:1px solid var(--vscode-panelTitle-activeBorder, #007acc)}._blue_dot_xlfzb_49{display:inline-block;width:6px;height:6px;background-color:var(--vscode-textLink-foreground, #3794ff);border-radius:50%}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}@keyframes flashBlueBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-focusBorder, #007acc);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-highlight{animation:flashBlueBorder .5s ease-in-out 3}@keyframes flashRedBorder{0%{outline:3px solid transparent;outline-offset:-3px}50%{outline:3px solid var(--vscode-errorForeground, red);outline-offset:-3px}to{outline:3px solid transparent;outline-offset:-3px}}.flash-red-highlight{animation:flashRedBorder .6s ease-in-out 5} diff --git a/extension/src/webview_template/webview_new/index.html b/extension/src/webview_template/webview_new/index.html index 0a9cb88..7a7e1a3 100644 --- a/extension/src/webview_template/webview_new/index.html +++ b/extension/src/webview_template/webview_new/index.html @@ -5,8 +5,8 @@ webview_ui - - + +
    From f982978b06497a757f2a52ec33d17aa7dedaab1c Mon Sep 17 00:00:00 2001 From: Sheng Pang Date: Fri, 12 Jun 2026 13:04:09 -0700 Subject: [PATCH 35/36] Simplify Python env: read-only display + VS Code picker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove environment list, switching, and discovery logic. The extension now only reads the currently-active interpreter and broadcasts it on ready and on change. Switching is left to VS Code's own "Python: Select Interpreter" status-bar command, opened via a "Change Interpreter…" button in the sidebar. Removes: listPythonEnvs, setActivePythonEnv, broadcastPythonEnvUpdate, onDidChangeKnownPythonEnvs, triggerPythonEnvRefresh, IPythonEnvListItem, PythonEnvInfo, the env dropdown, and the debounced discovery listener that caused slow scans on first open. --- extension/src/tree_view/treeview.ts | 13 +- extension/src/util/activate_tab_handler.ts | 15 +- extension/src/util/python_env.ts | 259 +++--------------- .../util/webview_receive_message_handler.ts | 19 +- webview_ui/src/App.tsx | 4 +- webview_ui/src/context.tsx | 8 +- webview_ui/src/contextProvider.tsx | 8 +- webview_ui/src/css/tree_app.module.css | 18 ++ webview_ui/src/interface/interface.tsx | 5 +- webview_ui/src/treeview/flowsheet_steps.tsx | 51 ++-- 10 files changed, 87 insertions(+), 313 deletions(-) diff --git a/extension/src/tree_view/treeview.ts b/extension/src/tree_view/treeview.ts index da13bec..cfae456 100644 --- a/extension/src/tree_view/treeview.ts +++ b/extension/src/tree_view/treeview.ts @@ -7,7 +7,7 @@ import webviewReceiveMessageHandler from "../util/webview_receive_message_handle import { checkActivePythonEnv } from '../util/extension_initial_check'; import { checkRequiredPackages } from '../util/check_required_packages'; import { runFiSteps } from '../util/run_fi_steps'; -import { getActivePythonEnv, broadcastPythonEnvUpdate, triggerPythonEnvRefresh, listPythonEnvs } from '../util/python_env'; +import { getActivePythonEnv, broadcastCurrentPythonEnv } from '../util/python_env'; import { getPlatform } from '../util/platform_config'; export default function treeview(context: vscode.ExtensionContext) { @@ -150,16 +150,7 @@ export default function treeview(context: vscode.ExtensionContext) { } else if (message.frontendInstruction === 'ready') { reactReady = true; initializeApp(); - // Push the env list immediately so the dropdown fills - // on first open. Only trigger a re-discovery pass when - // the list is empty — avoids kicking off a slow full - // scan on every sidebar open when envs are already known. - broadcastPythonEnvUpdate().then(async () => { - const { envs } = await listPythonEnvs(); - if (envs.length === 0) { - triggerPythonEnvRefresh().catch((e) => console.error(`Failed to refresh python envs: ${e}`)); - } - }).catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); + broadcastCurrentPythonEnv().catch((e) => console.error(`Failed to broadcast python env: ${e}`)); } else { webviewReceiveMessageHandler(context, message); } diff --git a/extension/src/util/activate_tab_handler.ts b/extension/src/util/activate_tab_handler.ts index 8498718..4b5612a 100644 --- a/extension/src/util/activate_tab_handler.ts +++ b/extension/src/util/activate_tab_handler.ts @@ -5,7 +5,7 @@ import { trimFileName } from './trim_file_name'; import { checkActivePythonEnv } from './extension_initial_check'; import { checkRequiredPackages } from './check_required_packages'; import { runFiSteps } from './run_fi_steps'; -import { onDidChangeActivePythonEnv, onDidChangeKnownPythonEnvs, broadcastPythonEnvUpdate, getActivePythonEnv } from './python_env'; +import { onDidChangeActivePythonEnv, broadcastCurrentPythonEnv, getActivePythonEnv } from './python_env'; function getOpenPythonFiles() { const pyFiles: { name: string, path: string }[] = []; @@ -157,21 +157,10 @@ export default function activateTabListener(context: vscode.ExtensionContext) { // stale "package not installed" warning instead of stranding the user. // Also push the refreshed env list so the tree view selector stays in sync. onDidChangeActivePythonEnv(() => { - broadcastPythonEnvUpdate().catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); + broadcastCurrentPythonEnv().catch((e) => console.error(`Failed to broadcast python env: ${e}`)); handleActiveEditor(vscode.window.activeTextEditor); }).then((disposable) => { if (disposable) { context.subscriptions.push(disposable); } }); - // Environment discovery is async and trickles in after activation — push - // the refreshed list to the UI as environments are found (debounced, - // since discovery fires one event per env). - let envRefreshTimer: NodeJS.Timeout | undefined; - onDidChangeKnownPythonEnvs(() => { - clearTimeout(envRefreshTimer); - envRefreshTimer = setTimeout(() => { - broadcastPythonEnvUpdate().catch((e) => console.error(`Failed to broadcast python envs: ${e}`)); - }, 500); - }).then((disposable) => { if (disposable) { context.subscriptions.push(disposable); } }); - // Fire immediately for the file already open when the extension first activates handleActiveEditor(vscode.window.activeTextEditor); } \ No newline at end of file diff --git a/extension/src/util/python_env.ts b/extension/src/util/python_env.ts index 502aefe..c2a43b2 100644 --- a/extension/src/util/python_env.ts +++ b/extension/src/util/python_env.ts @@ -2,25 +2,17 @@ * Resolves the Python environment the user has selected in VS Code, via the * official Python extension (`ms-python.python`) API. * - * This lets us run fi-steps / fi-run with the user's chosen interpreter - * directly — no `conda activate`, no shell init, no PowerShell ExecutionPolicy - * changes. The Python extension already normalizes conda / venv / pyenv / - * poetry / global into a single interpreter path, so we get support for ALL - * environment managers for free and stay in sync with the user's selection. + * We only read the currently-active interpreter — switching is intentionally + * left to VS Code's own "Python: Select Interpreter" status-bar command so we + * don't have to maintain a parallel environment list or fight with VS Code's + * picker. When the user changes their interpreter we react via + * {@link onDidChangeActivePythonEnv} and re-run fi-steps automatically. */ import * as vscode from 'vscode'; import * as path from 'path'; import { isWindows } from './platform_config'; import { brodcastMessage } from './webview_handler'; -/** One entry in the Python extension's list of discovered environments. */ -interface IKnownEnvironment { - id: string; - path: string; - environment?: { type?: string; folderUri?: vscode.Uri; name?: string }; - executable?: { uri?: vscode.Uri }; -} - /** Minimal shape of the bits of the Python extension API we use. */ interface IPythonEnvApi { environments: { @@ -30,24 +22,13 @@ interface IPythonEnvApi { environment?: { type?: string; folderUri?: vscode.Uri; name?: string }; } | undefined>; onDidChangeActiveEnvironmentPath: vscode.Event<{ id: string; path: string; resource?: vscode.Uri }>; - onDidChangeEnvironments: vscode.Event; - readonly known: readonly IKnownEnvironment[]; - refreshEnvironments(): Promise; - updateActiveEnvironmentPath(environmentPath: string, resource?: vscode.Uri): Promise; }; } /** * Locates and returns the VS Code Python extension's public API. * - * Looks up the `ms-python.python` extension and activates it if it hasn't - * been activated yet (activation is required before `exports` is populated). - * All other helpers in this file go through this function so the activation - * handshake lives in one place. - * - * @returns The Python extension API, or `undefined` if the extension is not - * installed (should not happen in practice — it is declared in - * `extensionDependencies` — but callers still handle it defensively). + * @returns The Python extension API, or `undefined` if the extension is not installed. */ async function getPythonApi(): Promise { const ext = vscode.extensions.getExtension('ms-python.python'); @@ -63,15 +44,13 @@ async function getPythonApi(): Promise { /** * Subscribes to "the user changed the selected interpreter" events. * - * Fires whenever the active interpreter changes, regardless of how it was - * changed — via the VS Code status-bar picker, the "Python: Select - * Interpreter" command, or our own {@link setActivePythonEnv}. Used to re-run - * fi-steps and refresh the tree view whenever the user switches environment. + * Fires whenever the active interpreter changes — via the VS Code status-bar + * picker or the "Python: Select Interpreter" command. Used to re-run fi-steps + * and refresh the tree view whenever the user switches environment. * * @param listener Callback invoked (with no arguments) on every interpreter change. - * @returns A Disposable that unsubscribes the listener (push it onto - * `context.subscriptions`), or `undefined` if the Python extension - * is unavailable. + * @returns A Disposable to push onto `context.subscriptions`, or `undefined` if + * the Python extension is unavailable. */ export async function onDidChangeActivePythonEnv(listener: () => void): Promise { const api = await getPythonApi(); @@ -81,29 +60,6 @@ export async function onDidChangeActivePythonEnv(listener: () => void): Promise< return api.environments.onDidChangeActiveEnvironmentPath(() => listener()); } -/** - * Subscribes to changes in the *set* of Python environments VS Code knows about. - * - * Environment discovery is asynchronous: after the Python extension activates, - * environments "trickle in" one event at a time as the machine is scanned. - * Listening to this lets the UI fill its environment dropdown progressively - * instead of showing only whatever was discovered at first render. Callers - * should debounce, as discovery can fire many events in a short burst. - * - * @param listener Callback invoked (with no arguments) each time an - * environment is added, removed, or updated. - * @returns A Disposable that unsubscribes the listener (push it onto - * `context.subscriptions`), or `undefined` if the Python extension - * is unavailable. - */ -export async function onDidChangeKnownPythonEnvs(listener: () => void): Promise { - const api = await getPythonApi(); - if (!api?.environments?.onDidChangeEnvironments) { - return undefined; - } - return api.environments.onDidChangeEnvironments(() => listener()); -} - export interface IResolvedPythonEnv { /** Absolute path to the interpreter (python / python.exe). */ interpreterPath: string; @@ -127,17 +83,12 @@ export interface IResolvedPythonEnv { * * Asks the Python extension for the active interpreter and resolves it into * everything needed to run tools from that environment without any shell - * activation: the interpreter path, the env prefix (root folder), the bin/ - * Scripts directory holding console-script entry points (fi-steps, fi-run), - * and the PATH segments a child process needs for compiled dependencies - * (numpy/scipy DLLs on Windows) to load — i.e. what `conda activate` would - * have put on PATH. + * activation: the interpreter path, the env prefix, the bin/Scripts directory, + * and the PATH segments a child process needs for compiled dependencies to load. * - * @param resource Optional file/workspace URI; in multi-root workspaces the - * selected interpreter can differ per folder, so pass the - * flowsheet file when available. - * @returns The resolved environment, or `undefined` if the Python extension - * is not installed or no interpreter has been selected yet. + * @param resource Optional file/workspace URI for per-folder interpreter + * resolution in multi-root workspaces. + * @returns The resolved environment, or `undefined` if no interpreter is selected. */ export async function getActivePythonEnv(resource?: vscode.Uri): Promise { const api = await getPythonApi(); @@ -154,13 +105,10 @@ export async function getActivePythonEnv(resource?: vscode.Uri): Promise/bin` on Unix and - * `\Scripts` on Windows; this resolves into that directory and adds - * the `.exe` suffix on Windows. The result is passed directly to - * `child_process.spawn` — no shell or PATH lookup involved. - * - * @param env The environment resolved by {@link getActivePythonEnv}. - * @param tool The console-script name without extension, e.g. `"fi-steps"`. - * @returns Absolute path to the tool's executable inside the environment. - */ -export function pythonToolPath(env: IResolvedPythonEnv, tool: string): string { - return path.join(env.binDir, isWindows() ? `${tool}.exe` : tool); -} - /** * Builds the environment-variable map for spawning a tool from a Python env, * mimicking what `conda activate` / venv activation would do to PATH. * - * Takes the current process env and prepends the environment's directories - * (bin/Scripts, plus conda's `Library\bin` etc. on Windows) to PATH so that - * the spawned tool and its compiled dependencies (DLLs on Windows, shared - * libs on Unix) resolve correctly. Looks up the existing PATH key - * case-insensitively because Windows uses `Path` while Unix uses `PATH`. - * * @param env The environment resolved by {@link getActivePythonEnv}. - * @returns A copy of `process.env` with the environment's dirs prepended to - * PATH, ready to pass as `options.env` to `child_process.spawn`. + * @returns A copy of `process.env` with the environment's dirs prepended to PATH. */ export function activatedProcessEnv(env: IResolvedPythonEnv): NodeJS.ProcessEnv { const result: NodeJS.ProcessEnv = { ...process.env }; @@ -215,148 +139,31 @@ export function activatedProcessEnv(env: IResolvedPythonEnv): NodeJS.ProcessEnv return result; } -/** A Python environment entry for display in the UI. */ -export interface IPythonEnvListItem { - id: string; - /** Interpreter path — used as the